@vibexp/api-client 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/schema.d.ts CHANGED
@@ -2955,6 +2955,203 @@ export interface paths {
2955
2955
  patch?: never;
2956
2956
  trace?: never;
2957
2957
  };
2958
+ "/api/v1/{team_id}/model-providers": {
2959
+ parameters: {
2960
+ query?: never;
2961
+ header?: never;
2962
+ path: {
2963
+ /** @description Team that owns the model provider(s). */
2964
+ team_id: string;
2965
+ };
2966
+ cookie?: never;
2967
+ };
2968
+ /**
2969
+ * List model providers
2970
+ * @description Retrieves all model providers belonging to the authenticated user.
2971
+ * Returns a bare JSON array (no pagination envelope). Encrypted API keys
2972
+ * are never included; each item carries a `has_api_key` boolean instead.
2973
+ */
2974
+ get: operations["listModelProviders"];
2975
+ put?: never;
2976
+ /**
2977
+ * Create model provider
2978
+ * @description Creates a new model provider configuration for the authenticated user.
2979
+ * The `api_key` supplied in the request is encrypted at rest and is never
2980
+ * returned by the API — responses expose only a `has_api_key` boolean.
2981
+ * Returns 200 (not 201) on success.
2982
+ */
2983
+ post: operations["createModelProvider"];
2984
+ delete?: never;
2985
+ options?: never;
2986
+ head?: never;
2987
+ patch?: never;
2988
+ trace?: never;
2989
+ };
2990
+ "/api/v1/{team_id}/model-providers/{id}": {
2991
+ parameters: {
2992
+ query?: never;
2993
+ header?: never;
2994
+ path: {
2995
+ /** @description Team that owns the model provider(s). */
2996
+ team_id: string;
2997
+ };
2998
+ cookie?: never;
2999
+ };
3000
+ /**
3001
+ * Get model provider
3002
+ * @description Retrieves a single model provider owned by the authenticated user.
3003
+ * The encrypted API key is never returned; `has_api_key` indicates whether
3004
+ * one is stored.
3005
+ */
3006
+ get: operations["getModelProvider"];
3007
+ /**
3008
+ * Update model provider
3009
+ * @description Updates an existing model provider. All fields are optional; only
3010
+ * provided fields are changed. A supplied `api_key` replaces the stored
3011
+ * (encrypted) key and is never echoed back in the response. A blank/omitted
3012
+ * `api_key` preserves the stored key.
3013
+ */
3014
+ put: operations["updateModelProvider"];
3015
+ post?: never;
3016
+ /**
3017
+ * Delete model provider
3018
+ * @description Deletes a model provider owned by the authenticated user. Deleting the
3019
+ * team's last remaining provider is blocked with a 400
3020
+ * `MODEL_PROVIDER_LAST_DELETE_BLOCKED` error.
3021
+ */
3022
+ delete: operations["deleteModelProvider"];
3023
+ options?: never;
3024
+ head?: never;
3025
+ patch?: never;
3026
+ trace?: never;
3027
+ };
3028
+ "/api/v1/{team_id}/model-providers/validate": {
3029
+ parameters: {
3030
+ query?: never;
3031
+ header?: never;
3032
+ path: {
3033
+ /** @description Team that owns the model provider(s). */
3034
+ team_id: string;
3035
+ };
3036
+ cookie?: never;
3037
+ };
3038
+ get?: never;
3039
+ put?: never;
3040
+ /**
3041
+ * Validate model provider configuration
3042
+ * @description Validates a model provider configuration (connectivity/credentials)
3043
+ * without persisting anything. The probe attempts `GET {base_url}/models`
3044
+ * and falls back to `POST {base_url}/chat/completions`. Validation outcome —
3045
+ * including an invalid configuration — is reported in the 200 response body
3046
+ * (`is_valid`, `message`, `details`); 500 is returned only for internal
3047
+ * service errors.
3048
+ */
3049
+ post: operations["validateModelProvider"];
3050
+ delete?: never;
3051
+ options?: never;
3052
+ head?: never;
3053
+ patch?: never;
3054
+ trace?: never;
3055
+ };
3056
+ "/api/v1/{team_id}/settings/model-providers": {
3057
+ parameters: {
3058
+ query?: never;
3059
+ header?: never;
3060
+ path: {
3061
+ /** @description Team that owns the model provider(s). */
3062
+ team_id: string;
3063
+ };
3064
+ cookie?: never;
3065
+ };
3066
+ /**
3067
+ * List model providers (Settings)
3068
+ * @description Retrieves all model providers belonging to the authenticated user (settings route).
3069
+ * Returns a bare JSON array (no pagination envelope). Encrypted API keys
3070
+ * are never included; each item carries a `has_api_key` boolean instead.
3071
+ */
3072
+ get: operations["listModelProvidersSettings"];
3073
+ put?: never;
3074
+ /**
3075
+ * Create model provider (Settings)
3076
+ * @description Creates a new model provider configuration for the authenticated user (settings route).
3077
+ * The `api_key` supplied in the request is encrypted at rest and is never
3078
+ * returned by the API — responses expose only a `has_api_key` boolean.
3079
+ * Returns 200 (not 201) on success.
3080
+ */
3081
+ post: operations["createModelProviderSettings"];
3082
+ delete?: never;
3083
+ options?: never;
3084
+ head?: never;
3085
+ patch?: never;
3086
+ trace?: never;
3087
+ };
3088
+ "/api/v1/{team_id}/settings/model-providers/{id}": {
3089
+ parameters: {
3090
+ query?: never;
3091
+ header?: never;
3092
+ path: {
3093
+ /** @description Team that owns the model provider(s). */
3094
+ team_id: string;
3095
+ };
3096
+ cookie?: never;
3097
+ };
3098
+ /**
3099
+ * Get model provider (Settings)
3100
+ * @description Retrieves a single model provider owned by the authenticated user (settings route).
3101
+ * The encrypted API key is never returned; `has_api_key` indicates whether
3102
+ * one is stored.
3103
+ */
3104
+ get: operations["getModelProviderSettings"];
3105
+ /**
3106
+ * Update model provider (Settings)
3107
+ * @description Updates an existing model provider (settings route). All fields are
3108
+ * optional; only provided fields are changed. A supplied `api_key`
3109
+ * replaces the stored (encrypted) key and is never echoed back in the
3110
+ * response. A blank/omitted `api_key` preserves the stored key.
3111
+ */
3112
+ put: operations["updateModelProviderSettings"];
3113
+ post?: never;
3114
+ /**
3115
+ * Delete model provider (Settings)
3116
+ * @description Deletes a model provider owned by the authenticated user (settings route).
3117
+ * Deleting the team's last remaining provider is blocked with a 400
3118
+ * `MODEL_PROVIDER_LAST_DELETE_BLOCKED` error.
3119
+ */
3120
+ delete: operations["deleteModelProviderSettings"];
3121
+ options?: never;
3122
+ head?: never;
3123
+ patch?: never;
3124
+ trace?: never;
3125
+ };
3126
+ "/api/v1/{team_id}/settings/model-providers/validate": {
3127
+ parameters: {
3128
+ query?: never;
3129
+ header?: never;
3130
+ path: {
3131
+ /** @description Team that owns the model provider(s). */
3132
+ team_id: string;
3133
+ };
3134
+ cookie?: never;
3135
+ };
3136
+ get?: never;
3137
+ put?: never;
3138
+ /**
3139
+ * Validate model provider configuration (Settings)
3140
+ * @description Validates a model provider configuration (connectivity/credentials)
3141
+ * without persisting anything (settings route). The probe attempts
3142
+ * `GET {base_url}/models` and falls back to
3143
+ * `POST {base_url}/chat/completions`. Validation outcome — including an
3144
+ * invalid configuration — is reported in the 200 response body
3145
+ * (`is_valid`, `message`, `details`); 500 is returned only for internal
3146
+ * service errors.
3147
+ */
3148
+ post: operations["validateModelProviderSettings"];
3149
+ delete?: never;
3150
+ options?: never;
3151
+ head?: never;
3152
+ patch?: never;
3153
+ trace?: never;
3154
+ };
2958
3155
  "/api/v1/{team_id}/projects": {
2959
3156
  parameters: {
2960
3157
  query?: never;
@@ -4200,6 +4397,16 @@ export interface components {
4200
4397
  * @example 1
4201
4398
  */
4202
4399
  concurrency: number;
4400
+ /**
4401
+ * @description Instruction prefix prepended to search queries before they are embedded (only the text sent to the provider; nothing extra is stored). Asymmetric models require this — e.g. mxbai/BGE English expect "Represent this sentence for searching relevant passages: ", E5 expects "query: ". Empty/null means no prefix (default behaviour).
4402
+ * @example Represent this sentence for searching relevant passages:
4403
+ */
4404
+ query_prefix?: string | null;
4405
+ /**
4406
+ * @description Instruction prefix prepended to document chunks before they are embedded (applied only to the text sent to the provider; the stored chunk content is unchanged). E5 expects "passage: "; mxbai/BGE embed documents raw. Changing this invalidates stored vectors and triggers a team re-embed. Empty/null means no prefix (default behaviour).
4407
+ * @example passage:
4408
+ */
4409
+ document_prefix?: string | null;
4203
4410
  /** @example false */
4204
4411
  is_default: boolean;
4205
4412
  /**
@@ -4249,6 +4456,16 @@ export interface components {
4249
4456
  * @example 1
4250
4457
  */
4251
4458
  concurrency?: number;
4459
+ /**
4460
+ * @description Optional instruction prefix prepended to search queries before embedding. Defaults to empty (no prefix) when omitted.
4461
+ * @example Represent this sentence for searching relevant passages:
4462
+ */
4463
+ query_prefix?: string | null;
4464
+ /**
4465
+ * @description Optional instruction prefix prepended to document chunks before embedding. Defaults to empty (no prefix) when omitted.
4466
+ * @example passage:
4467
+ */
4468
+ document_prefix?: string | null;
4252
4469
  /** @example false */
4253
4470
  is_default?: boolean;
4254
4471
  /**
@@ -4268,6 +4485,10 @@ export interface components {
4268
4485
  chunk_size?: number;
4269
4486
  chunk_overlap?: number;
4270
4487
  concurrency?: number;
4488
+ /** @description Instruction prefix prepended to search queries before embedding. Send an empty string to clear a previously configured prefix. */
4489
+ query_prefix?: string | null;
4490
+ /** @description Instruction prefix prepended to document chunks before embedding. Changing it triggers a team re-embed. Send an empty string to clear. */
4491
+ document_prefix?: string | null;
4271
4492
  is_default?: boolean;
4272
4493
  /** Format: uri */
4273
4494
  base_url?: string;
@@ -4367,6 +4588,124 @@ export interface components {
4367
4588
  /** @description One entry per embeddable entity type, in a stable order. */
4368
4589
  coverage: components["schemas"]["EmbeddingCoverageItem"][];
4369
4590
  };
4591
+ ModelProvider: {
4592
+ /** @example provider_123 */
4593
+ id: string;
4594
+ /** @example user_123 */
4595
+ user_id: string;
4596
+ /**
4597
+ * Format: uuid
4598
+ * @description Team that owns this provider.
4599
+ * @example b1234567-89ab-cdef-0123-456789abcdef
4600
+ */
4601
+ team_id?: string | null;
4602
+ /** @example OpenAI GPT-4o */
4603
+ name: string;
4604
+ /** @example openai_compatible */
4605
+ provider_type: string;
4606
+ /**
4607
+ * @description Chat/completion model this provider requests.
4608
+ * @example gpt-4o-mini
4609
+ */
4610
+ model: string;
4611
+ /** @example false */
4612
+ is_default: boolean;
4613
+ /**
4614
+ * Format: uri
4615
+ * @example https://api.openai.com/v1
4616
+ */
4617
+ base_url?: string | null;
4618
+ /** @example {"temperature": 0.7, "max_tokens": 1024} */
4619
+ configuration: string;
4620
+ /** Format: date-time */
4621
+ created_at: string;
4622
+ /** Format: date-time */
4623
+ updated_at: string;
4624
+ /**
4625
+ * Format: int64
4626
+ * @description Optimistic-concurrency version counter, incremented on each update. Note: create responses currently return 0 (the persisted row starts at 1) — read it from get/list/update responses instead.
4627
+ * @example 1
4628
+ */
4629
+ version: number;
4630
+ };
4631
+ ModelProviderResponse: components["schemas"]["ModelProvider"] & {
4632
+ /** @example true */
4633
+ has_api_key: boolean;
4634
+ };
4635
+ CreateModelProviderRequest: {
4636
+ /** @example OpenAI GPT-4o */
4637
+ name: string;
4638
+ /** @example openai_compatible */
4639
+ provider_type: string;
4640
+ /**
4641
+ * @description Chat/completion model to use.
4642
+ * @example gpt-4o-mini
4643
+ */
4644
+ model: string;
4645
+ /** @example false */
4646
+ is_default?: boolean;
4647
+ /**
4648
+ * Format: uri
4649
+ * @example https://api.openai.com/v1
4650
+ */
4651
+ base_url?: string;
4652
+ api_key?: string | null;
4653
+ configuration?: {
4654
+ [key: string]: unknown;
4655
+ };
4656
+ };
4657
+ UpdateModelProviderRequest: {
4658
+ name?: string;
4659
+ provider_type?: string;
4660
+ model?: string;
4661
+ is_default?: boolean;
4662
+ /** Format: uri */
4663
+ base_url?: string;
4664
+ api_key?: string;
4665
+ configuration?: {
4666
+ [key: string]: unknown;
4667
+ };
4668
+ };
4669
+ ModelProviderListResponse: {
4670
+ model_providers: components["schemas"]["ModelProviderResponse"][];
4671
+ total_count: number;
4672
+ page: number;
4673
+ per_page: number;
4674
+ total_pages: number;
4675
+ };
4676
+ ModelProviderResponseList: components["schemas"]["ModelProviderResponse"][];
4677
+ ValidateModelProviderRequest: {
4678
+ /** @example openai_compatible */
4679
+ provider_type: string;
4680
+ /**
4681
+ * @description Chat/completion model to probe for reachability and auth.
4682
+ * @example gpt-4o-mini
4683
+ */
4684
+ model: string;
4685
+ /**
4686
+ * Format: uri
4687
+ * @example https://api.openai.com/v1
4688
+ */
4689
+ base_url: string;
4690
+ api_key?: string | null;
4691
+ configuration?: {
4692
+ [key: string]: unknown;
4693
+ };
4694
+ };
4695
+ ValidateModelProviderResponse: {
4696
+ /** @example true */
4697
+ is_valid: boolean;
4698
+ /** @example Provider configuration is valid */
4699
+ message: string;
4700
+ details?: {
4701
+ /** @example 150 */
4702
+ response_time_ms?: number;
4703
+ /** @example 200 */
4704
+ status_code?: number;
4705
+ /** @example Connection timeout */
4706
+ error_details?: string;
4707
+ };
4708
+ };
4370
4709
  ResourceUsageItem: {
4371
4710
  /**
4372
4711
  * @description Type of resource (e.g., prompt, memory, artifact)
@@ -17772,6 +18111,674 @@ export interface operations {
17772
18111
  };
17773
18112
  };
17774
18113
  };
18114
+ listModelProviders: {
18115
+ parameters: {
18116
+ query?: never;
18117
+ header?: never;
18118
+ path: {
18119
+ /** @description Team that owns the model provider(s). */
18120
+ team_id: string;
18121
+ };
18122
+ cookie?: never;
18123
+ };
18124
+ requestBody?: never;
18125
+ responses: {
18126
+ /** @description Model providers retrieved successfully */
18127
+ 200: {
18128
+ headers: {
18129
+ [name: string]: unknown;
18130
+ };
18131
+ content: {
18132
+ "application/json": components["schemas"]["ModelProviderResponseList"];
18133
+ };
18134
+ };
18135
+ /** @description Unauthorized */
18136
+ 401: {
18137
+ headers: {
18138
+ [name: string]: unknown;
18139
+ };
18140
+ content: {
18141
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18142
+ };
18143
+ };
18144
+ /** @description Failed to retrieve model providers (`DATABASE_ERROR`) */
18145
+ 500: {
18146
+ headers: {
18147
+ [name: string]: unknown;
18148
+ };
18149
+ content: {
18150
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18151
+ };
18152
+ };
18153
+ };
18154
+ };
18155
+ createModelProvider: {
18156
+ parameters: {
18157
+ query?: never;
18158
+ header?: never;
18159
+ path: {
18160
+ /** @description Team that owns the model provider(s). */
18161
+ team_id: string;
18162
+ };
18163
+ cookie?: never;
18164
+ };
18165
+ requestBody: {
18166
+ content: {
18167
+ "application/json": components["schemas"]["CreateModelProviderRequest"];
18168
+ };
18169
+ };
18170
+ responses: {
18171
+ /** @description Model provider created successfully */
18172
+ 200: {
18173
+ headers: {
18174
+ [name: string]: unknown;
18175
+ };
18176
+ content: {
18177
+ "application/json": components["schemas"]["ModelProviderResponse"];
18178
+ };
18179
+ };
18180
+ /** @description Malformed JSON body (`BAD_REQUEST`) or missing required fields (`MODEL_PROVIDER_VALIDATION_FAILED` with `validation_errors`) */
18181
+ 400: {
18182
+ headers: {
18183
+ [name: string]: unknown;
18184
+ };
18185
+ content: {
18186
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18187
+ };
18188
+ };
18189
+ /** @description Unauthorized */
18190
+ 401: {
18191
+ headers: {
18192
+ [name: string]: unknown;
18193
+ };
18194
+ content: {
18195
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18196
+ };
18197
+ };
18198
+ /** @description A provider with the same name already exists (`MODEL_PROVIDER_ALREADY_EXISTS`) */
18199
+ 409: {
18200
+ headers: {
18201
+ [name: string]: unknown;
18202
+ };
18203
+ content: {
18204
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18205
+ };
18206
+ };
18207
+ /** @description Provider creation failed (`MODEL_PROVIDER_CREATE_FAILED`) */
18208
+ 500: {
18209
+ headers: {
18210
+ [name: string]: unknown;
18211
+ };
18212
+ content: {
18213
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18214
+ };
18215
+ };
18216
+ };
18217
+ };
18218
+ getModelProvider: {
18219
+ parameters: {
18220
+ query?: never;
18221
+ header?: never;
18222
+ path: {
18223
+ /** @description Team that owns the model provider(s). */
18224
+ team_id: string;
18225
+ /** @description Model provider ID */
18226
+ id: string;
18227
+ };
18228
+ cookie?: never;
18229
+ };
18230
+ requestBody?: never;
18231
+ responses: {
18232
+ /** @description Model provider retrieved successfully */
18233
+ 200: {
18234
+ headers: {
18235
+ [name: string]: unknown;
18236
+ };
18237
+ content: {
18238
+ "application/json": components["schemas"]["ModelProviderResponse"];
18239
+ };
18240
+ };
18241
+ /** @description Unauthorized */
18242
+ 401: {
18243
+ headers: {
18244
+ [name: string]: unknown;
18245
+ };
18246
+ content: {
18247
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18248
+ };
18249
+ };
18250
+ /** @description Model provider not found (`MODEL_PROVIDER_NOT_FOUND`) */
18251
+ 404: {
18252
+ headers: {
18253
+ [name: string]: unknown;
18254
+ };
18255
+ content: {
18256
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18257
+ };
18258
+ };
18259
+ /** @description Failed to retrieve model provider (`DATABASE_ERROR`) */
18260
+ 500: {
18261
+ headers: {
18262
+ [name: string]: unknown;
18263
+ };
18264
+ content: {
18265
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18266
+ };
18267
+ };
18268
+ };
18269
+ };
18270
+ updateModelProvider: {
18271
+ parameters: {
18272
+ query?: never;
18273
+ header?: never;
18274
+ path: {
18275
+ /** @description Team that owns the model provider(s). */
18276
+ team_id: string;
18277
+ /** @description Model provider ID */
18278
+ id: string;
18279
+ };
18280
+ cookie?: never;
18281
+ };
18282
+ requestBody: {
18283
+ content: {
18284
+ "application/json": components["schemas"]["UpdateModelProviderRequest"];
18285
+ };
18286
+ };
18287
+ responses: {
18288
+ /** @description Model provider updated successfully */
18289
+ 200: {
18290
+ headers: {
18291
+ [name: string]: unknown;
18292
+ };
18293
+ content: {
18294
+ "application/json": components["schemas"]["ModelProviderResponse"];
18295
+ };
18296
+ };
18297
+ /** @description Malformed JSON body (`BAD_REQUEST`) */
18298
+ 400: {
18299
+ headers: {
18300
+ [name: string]: unknown;
18301
+ };
18302
+ content: {
18303
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18304
+ };
18305
+ };
18306
+ /** @description Unauthorized */
18307
+ 401: {
18308
+ headers: {
18309
+ [name: string]: unknown;
18310
+ };
18311
+ content: {
18312
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18313
+ };
18314
+ };
18315
+ /** @description Model provider not found (`MODEL_PROVIDER_NOT_FOUND`) */
18316
+ 404: {
18317
+ headers: {
18318
+ [name: string]: unknown;
18319
+ };
18320
+ content: {
18321
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18322
+ };
18323
+ };
18324
+ /** @description Provider update failed (`MODEL_PROVIDER_UPDATE_FAILED`) */
18325
+ 500: {
18326
+ headers: {
18327
+ [name: string]: unknown;
18328
+ };
18329
+ content: {
18330
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18331
+ };
18332
+ };
18333
+ };
18334
+ };
18335
+ deleteModelProvider: {
18336
+ parameters: {
18337
+ query?: never;
18338
+ header?: never;
18339
+ path: {
18340
+ /** @description Team that owns the model provider(s). */
18341
+ team_id: string;
18342
+ /** @description Model provider ID */
18343
+ id: string;
18344
+ };
18345
+ cookie?: never;
18346
+ };
18347
+ requestBody?: never;
18348
+ responses: {
18349
+ /** @description Model provider deleted successfully (no body) */
18350
+ 204: {
18351
+ headers: {
18352
+ [name: string]: unknown;
18353
+ };
18354
+ content?: never;
18355
+ };
18356
+ /** @description Cannot delete the last model provider (`MODEL_PROVIDER_LAST_DELETE_BLOCKED`) */
18357
+ 400: {
18358
+ headers: {
18359
+ [name: string]: unknown;
18360
+ };
18361
+ content: {
18362
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18363
+ };
18364
+ };
18365
+ /** @description Unauthorized */
18366
+ 401: {
18367
+ headers: {
18368
+ [name: string]: unknown;
18369
+ };
18370
+ content: {
18371
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18372
+ };
18373
+ };
18374
+ /** @description Model provider not found (`MODEL_PROVIDER_NOT_FOUND`) */
18375
+ 404: {
18376
+ headers: {
18377
+ [name: string]: unknown;
18378
+ };
18379
+ content: {
18380
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18381
+ };
18382
+ };
18383
+ /** @description Provider deletion failed (`MODEL_PROVIDER_DELETE_FAILED`) */
18384
+ 500: {
18385
+ headers: {
18386
+ [name: string]: unknown;
18387
+ };
18388
+ content: {
18389
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18390
+ };
18391
+ };
18392
+ };
18393
+ };
18394
+ validateModelProvider: {
18395
+ parameters: {
18396
+ query?: never;
18397
+ header?: never;
18398
+ path: {
18399
+ /** @description Team that owns the model provider(s). */
18400
+ team_id: string;
18401
+ };
18402
+ cookie?: never;
18403
+ };
18404
+ requestBody: {
18405
+ content: {
18406
+ "application/json": components["schemas"]["ValidateModelProviderRequest"];
18407
+ };
18408
+ };
18409
+ responses: {
18410
+ /** @description Validation completed (check `is_valid` for the outcome) */
18411
+ 200: {
18412
+ headers: {
18413
+ [name: string]: unknown;
18414
+ };
18415
+ content: {
18416
+ "application/json": components["schemas"]["ValidateModelProviderResponse"];
18417
+ };
18418
+ };
18419
+ /** @description Malformed JSON body (`BAD_REQUEST`) or missing required fields (`MODEL_PROVIDER_VALIDATION_FAILED` with `validation_errors`) */
18420
+ 400: {
18421
+ headers: {
18422
+ [name: string]: unknown;
18423
+ };
18424
+ content: {
18425
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18426
+ };
18427
+ };
18428
+ /** @description Unauthorized */
18429
+ 401: {
18430
+ headers: {
18431
+ [name: string]: unknown;
18432
+ };
18433
+ content: {
18434
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18435
+ };
18436
+ };
18437
+ /** @description Validation failed due to an internal service error (`INTERNAL_ERROR`) */
18438
+ 500: {
18439
+ headers: {
18440
+ [name: string]: unknown;
18441
+ };
18442
+ content: {
18443
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18444
+ };
18445
+ };
18446
+ };
18447
+ };
18448
+ listModelProvidersSettings: {
18449
+ parameters: {
18450
+ query?: never;
18451
+ header?: never;
18452
+ path: {
18453
+ /** @description Team that owns the model provider(s). */
18454
+ team_id: string;
18455
+ };
18456
+ cookie?: never;
18457
+ };
18458
+ requestBody?: never;
18459
+ responses: {
18460
+ /** @description Model providers retrieved successfully */
18461
+ 200: {
18462
+ headers: {
18463
+ [name: string]: unknown;
18464
+ };
18465
+ content: {
18466
+ "application/json": components["schemas"]["ModelProviderResponseList"];
18467
+ };
18468
+ };
18469
+ /** @description Unauthorized */
18470
+ 401: {
18471
+ headers: {
18472
+ [name: string]: unknown;
18473
+ };
18474
+ content: {
18475
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18476
+ };
18477
+ };
18478
+ /** @description Failed to retrieve model providers (`DATABASE_ERROR`) */
18479
+ 500: {
18480
+ headers: {
18481
+ [name: string]: unknown;
18482
+ };
18483
+ content: {
18484
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18485
+ };
18486
+ };
18487
+ };
18488
+ };
18489
+ createModelProviderSettings: {
18490
+ parameters: {
18491
+ query?: never;
18492
+ header?: never;
18493
+ path: {
18494
+ /** @description Team that owns the model provider(s). */
18495
+ team_id: string;
18496
+ };
18497
+ cookie?: never;
18498
+ };
18499
+ requestBody: {
18500
+ content: {
18501
+ "application/json": components["schemas"]["CreateModelProviderRequest"];
18502
+ };
18503
+ };
18504
+ responses: {
18505
+ /** @description Model provider created successfully */
18506
+ 200: {
18507
+ headers: {
18508
+ [name: string]: unknown;
18509
+ };
18510
+ content: {
18511
+ "application/json": components["schemas"]["ModelProviderResponse"];
18512
+ };
18513
+ };
18514
+ /** @description Malformed JSON body (`BAD_REQUEST`) or missing required fields (`MODEL_PROVIDER_VALIDATION_FAILED` with `validation_errors`) */
18515
+ 400: {
18516
+ headers: {
18517
+ [name: string]: unknown;
18518
+ };
18519
+ content: {
18520
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18521
+ };
18522
+ };
18523
+ /** @description Unauthorized */
18524
+ 401: {
18525
+ headers: {
18526
+ [name: string]: unknown;
18527
+ };
18528
+ content: {
18529
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18530
+ };
18531
+ };
18532
+ /** @description A provider with the same name already exists (`MODEL_PROVIDER_ALREADY_EXISTS`) */
18533
+ 409: {
18534
+ headers: {
18535
+ [name: string]: unknown;
18536
+ };
18537
+ content: {
18538
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18539
+ };
18540
+ };
18541
+ /** @description Provider creation failed (`MODEL_PROVIDER_CREATE_FAILED`) */
18542
+ 500: {
18543
+ headers: {
18544
+ [name: string]: unknown;
18545
+ };
18546
+ content: {
18547
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18548
+ };
18549
+ };
18550
+ };
18551
+ };
18552
+ getModelProviderSettings: {
18553
+ parameters: {
18554
+ query?: never;
18555
+ header?: never;
18556
+ path: {
18557
+ /** @description Team that owns the model provider(s). */
18558
+ team_id: string;
18559
+ /** @description Model provider ID */
18560
+ id: string;
18561
+ };
18562
+ cookie?: never;
18563
+ };
18564
+ requestBody?: never;
18565
+ responses: {
18566
+ /** @description Model provider retrieved successfully */
18567
+ 200: {
18568
+ headers: {
18569
+ [name: string]: unknown;
18570
+ };
18571
+ content: {
18572
+ "application/json": components["schemas"]["ModelProviderResponse"];
18573
+ };
18574
+ };
18575
+ /** @description Unauthorized */
18576
+ 401: {
18577
+ headers: {
18578
+ [name: string]: unknown;
18579
+ };
18580
+ content: {
18581
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18582
+ };
18583
+ };
18584
+ /** @description Model provider not found (`MODEL_PROVIDER_NOT_FOUND`) */
18585
+ 404: {
18586
+ headers: {
18587
+ [name: string]: unknown;
18588
+ };
18589
+ content: {
18590
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18591
+ };
18592
+ };
18593
+ /** @description Failed to retrieve model provider (`DATABASE_ERROR`) */
18594
+ 500: {
18595
+ headers: {
18596
+ [name: string]: unknown;
18597
+ };
18598
+ content: {
18599
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18600
+ };
18601
+ };
18602
+ };
18603
+ };
18604
+ updateModelProviderSettings: {
18605
+ parameters: {
18606
+ query?: never;
18607
+ header?: never;
18608
+ path: {
18609
+ /** @description Team that owns the model provider(s). */
18610
+ team_id: string;
18611
+ /** @description Model provider ID */
18612
+ id: string;
18613
+ };
18614
+ cookie?: never;
18615
+ };
18616
+ requestBody: {
18617
+ content: {
18618
+ "application/json": components["schemas"]["UpdateModelProviderRequest"];
18619
+ };
18620
+ };
18621
+ responses: {
18622
+ /** @description Model provider updated successfully */
18623
+ 200: {
18624
+ headers: {
18625
+ [name: string]: unknown;
18626
+ };
18627
+ content: {
18628
+ "application/json": components["schemas"]["ModelProviderResponse"];
18629
+ };
18630
+ };
18631
+ /** @description Malformed JSON body (`BAD_REQUEST`) */
18632
+ 400: {
18633
+ headers: {
18634
+ [name: string]: unknown;
18635
+ };
18636
+ content: {
18637
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18638
+ };
18639
+ };
18640
+ /** @description Unauthorized */
18641
+ 401: {
18642
+ headers: {
18643
+ [name: string]: unknown;
18644
+ };
18645
+ content: {
18646
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18647
+ };
18648
+ };
18649
+ /** @description Model provider not found (`MODEL_PROVIDER_NOT_FOUND`) */
18650
+ 404: {
18651
+ headers: {
18652
+ [name: string]: unknown;
18653
+ };
18654
+ content: {
18655
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18656
+ };
18657
+ };
18658
+ /** @description Provider update failed (`MODEL_PROVIDER_UPDATE_FAILED`) */
18659
+ 500: {
18660
+ headers: {
18661
+ [name: string]: unknown;
18662
+ };
18663
+ content: {
18664
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18665
+ };
18666
+ };
18667
+ };
18668
+ };
18669
+ deleteModelProviderSettings: {
18670
+ parameters: {
18671
+ query?: never;
18672
+ header?: never;
18673
+ path: {
18674
+ /** @description Team that owns the model provider(s). */
18675
+ team_id: string;
18676
+ /** @description Model provider ID */
18677
+ id: string;
18678
+ };
18679
+ cookie?: never;
18680
+ };
18681
+ requestBody?: never;
18682
+ responses: {
18683
+ /** @description Model provider deleted successfully (no body) */
18684
+ 204: {
18685
+ headers: {
18686
+ [name: string]: unknown;
18687
+ };
18688
+ content?: never;
18689
+ };
18690
+ /** @description Cannot delete the last model provider (`MODEL_PROVIDER_LAST_DELETE_BLOCKED`) */
18691
+ 400: {
18692
+ headers: {
18693
+ [name: string]: unknown;
18694
+ };
18695
+ content: {
18696
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18697
+ };
18698
+ };
18699
+ /** @description Unauthorized */
18700
+ 401: {
18701
+ headers: {
18702
+ [name: string]: unknown;
18703
+ };
18704
+ content: {
18705
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18706
+ };
18707
+ };
18708
+ /** @description Model provider not found (`MODEL_PROVIDER_NOT_FOUND`) */
18709
+ 404: {
18710
+ headers: {
18711
+ [name: string]: unknown;
18712
+ };
18713
+ content: {
18714
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18715
+ };
18716
+ };
18717
+ /** @description Provider deletion failed (`MODEL_PROVIDER_DELETE_FAILED`) */
18718
+ 500: {
18719
+ headers: {
18720
+ [name: string]: unknown;
18721
+ };
18722
+ content: {
18723
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18724
+ };
18725
+ };
18726
+ };
18727
+ };
18728
+ validateModelProviderSettings: {
18729
+ parameters: {
18730
+ query?: never;
18731
+ header?: never;
18732
+ path: {
18733
+ /** @description Team that owns the model provider(s). */
18734
+ team_id: string;
18735
+ };
18736
+ cookie?: never;
18737
+ };
18738
+ requestBody: {
18739
+ content: {
18740
+ "application/json": components["schemas"]["ValidateModelProviderRequest"];
18741
+ };
18742
+ };
18743
+ responses: {
18744
+ /** @description Validation completed (check `is_valid` for the outcome) */
18745
+ 200: {
18746
+ headers: {
18747
+ [name: string]: unknown;
18748
+ };
18749
+ content: {
18750
+ "application/json": components["schemas"]["ValidateModelProviderResponse"];
18751
+ };
18752
+ };
18753
+ /** @description Malformed JSON body (`BAD_REQUEST`) or missing required fields (`MODEL_PROVIDER_VALIDATION_FAILED` with `validation_errors`) */
18754
+ 400: {
18755
+ headers: {
18756
+ [name: string]: unknown;
18757
+ };
18758
+ content: {
18759
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18760
+ };
18761
+ };
18762
+ /** @description Unauthorized */
18763
+ 401: {
18764
+ headers: {
18765
+ [name: string]: unknown;
18766
+ };
18767
+ content: {
18768
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18769
+ };
18770
+ };
18771
+ /** @description Validation failed due to an internal service error (`INTERNAL_ERROR`) */
18772
+ 500: {
18773
+ headers: {
18774
+ [name: string]: unknown;
18775
+ };
18776
+ content: {
18777
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18778
+ };
18779
+ };
18780
+ };
18781
+ };
17775
18782
  listProjects: {
17776
18783
  parameters: {
17777
18784
  query?: {