@vibexp/api-client 0.8.0 → 0.10.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
@@ -1322,35 +1322,6 @@ export interface paths {
1322
1322
  patch?: never;
1323
1323
  trace?: never;
1324
1324
  };
1325
- "/bo/v1/embeddings/backfill": {
1326
- parameters: {
1327
- query?: never;
1328
- header?: never;
1329
- path?: never;
1330
- cookie?: never;
1331
- };
1332
- get?: never;
1333
- put?: never;
1334
- /**
1335
- * Regenerate embeddings
1336
- * @description Republishes the `.created` event for embeddable entities (prompts,
1337
- * artifacts, memories, blueprints, and feed items) so the embedding pipeline
1338
- * regenerates vectors under the currently configured embedding model. This is
1339
- * the operational step after an embedding model or dimension change. The
1340
- * operation is idempotent (the pipeline uses delete-then-insert per entity).
1341
- *
1342
- * The scope is explicit: the request body must set exactly one of `all` or a
1343
- * non-empty `entity_types`. Set `missing_only` to limit the run to entities
1344
- * that lack an embedding for the configured model. This endpoint is for
1345
- * administrative purposes only and requires the back office admin API key.
1346
- */
1347
- post: operations["backfillEmbeddings"];
1348
- delete?: never;
1349
- options?: never;
1350
- head?: never;
1351
- patch?: never;
1352
- trace?: never;
1353
- };
1354
1325
  "/api/v1/{team_id}/integrations/github/status": {
1355
1326
  parameters: {
1356
1327
  query?: never;
@@ -2708,6 +2679,34 @@ export interface paths {
2708
2679
  patch?: never;
2709
2680
  trace?: never;
2710
2681
  };
2682
+ "/api/v1/{team_id}/embedding-providers/coverage": {
2683
+ parameters: {
2684
+ query?: never;
2685
+ header?: never;
2686
+ path: {
2687
+ /** @description Team whose embedding coverage is reported. */
2688
+ team_id: string;
2689
+ };
2690
+ cookie?: never;
2691
+ };
2692
+ /**
2693
+ * Get embedding coverage
2694
+ * @description Returns derived, team-scoped embedding coverage per entity type under the
2695
+ * team's active provider model: how many entities exist (`total`), how many
2696
+ * have an embedding (`embedded`), how many are still pending, and the
2697
+ * embedded percentage. Counts are computed from existing rows — there is no
2698
+ * per-entity state. When the team has no active provider, the response
2699
+ * reports every type as all-pending (0%) rather than an error.
2700
+ */
2701
+ get: operations["getEmbeddingCoverage"];
2702
+ put?: never;
2703
+ post?: never;
2704
+ delete?: never;
2705
+ options?: never;
2706
+ head?: never;
2707
+ patch?: never;
2708
+ trace?: never;
2709
+ };
2711
2710
  "/api/v1/{team_id}/embedding-providers/{id}": {
2712
2711
  parameters: {
2713
2712
  query?: never;
@@ -2745,6 +2744,40 @@ export interface paths {
2745
2744
  patch?: never;
2746
2745
  trace?: never;
2747
2746
  };
2747
+ "/api/v1/{team_id}/embedding-providers/{id}/reprocess": {
2748
+ parameters: {
2749
+ query?: never;
2750
+ header?: never;
2751
+ path: {
2752
+ /** @description Team that owns the embedding provider(s). */
2753
+ team_id: string;
2754
+ };
2755
+ cookie?: never;
2756
+ };
2757
+ get?: never;
2758
+ put?: never;
2759
+ /**
2760
+ * Reprocess missing embeddings
2761
+ * @description Re-drives embedding generation for the team's entities that are still
2762
+ * missing an embedding, through the concurrency-bounded embedding path so a
2763
+ * large run never fans out beyond the provider's configured concurrency. It
2764
+ * is the sanctioned replacement for the removed back-office backfill
2765
+ * endpoint.
2766
+ *
2767
+ * The provider `{id}` is validated and authorized, but the work is
2768
+ * team-scoped: an embedding provider is per-team, so reprocess enqueues the
2769
+ * team's entity set (generated via the team's active provider). It returns
2770
+ * 202 immediately and runs in the background; generation is idempotent
2771
+ * (delete-then-insert per entity) and a per-team in-flight guard makes
2772
+ * repeat calls safe (no double fan-out).
2773
+ */
2774
+ post: operations["reprocessEmbeddingProvider"];
2775
+ delete?: never;
2776
+ options?: never;
2777
+ head?: never;
2778
+ patch?: never;
2779
+ trace?: never;
2780
+ };
2748
2781
  "/api/v1/{team_id}/embedding-providers/validate": {
2749
2782
  parameters: {
2750
2783
  query?: never;
@@ -2803,6 +2836,31 @@ export interface paths {
2803
2836
  patch?: never;
2804
2837
  trace?: never;
2805
2838
  };
2839
+ "/api/v1/{team_id}/settings/embedding-providers/coverage": {
2840
+ parameters: {
2841
+ query?: never;
2842
+ header?: never;
2843
+ path: {
2844
+ /** @description Team whose embedding coverage is reported. */
2845
+ team_id: string;
2846
+ };
2847
+ cookie?: never;
2848
+ };
2849
+ /**
2850
+ * Get embedding coverage (Settings)
2851
+ * @description Returns derived, team-scoped embedding coverage per entity type under the
2852
+ * team's active provider model (settings route). See `getEmbeddingCoverage`
2853
+ * for the payload semantics.
2854
+ */
2855
+ get: operations["getEmbeddingCoverageSettings"];
2856
+ put?: never;
2857
+ post?: never;
2858
+ delete?: never;
2859
+ options?: never;
2860
+ head?: never;
2861
+ patch?: never;
2862
+ trace?: never;
2863
+ };
2806
2864
  "/api/v1/{team_id}/settings/embedding-providers/{id}": {
2807
2865
  parameters: {
2808
2866
  query?: never;
@@ -2841,6 +2899,35 @@ export interface paths {
2841
2899
  patch?: never;
2842
2900
  trace?: never;
2843
2901
  };
2902
+ "/api/v1/{team_id}/settings/embedding-providers/{id}/reprocess": {
2903
+ parameters: {
2904
+ query?: never;
2905
+ header?: never;
2906
+ path: {
2907
+ /** @description Team that owns the embedding provider(s). */
2908
+ team_id: string;
2909
+ };
2910
+ cookie?: never;
2911
+ };
2912
+ get?: never;
2913
+ put?: never;
2914
+ /**
2915
+ * Reprocess missing embeddings (Settings)
2916
+ * @description Re-drives embedding generation for the team's entities that are still
2917
+ * missing an embedding, through the concurrency-bounded embedding path
2918
+ * (settings route). The provider `{id}` is validated and authorized, but the
2919
+ * work is team-scoped: an embedding provider is per-team, so reprocess
2920
+ * enqueues the team's entity set. It returns 202 immediately and runs in the
2921
+ * background; generation is idempotent and a per-team in-flight guard makes
2922
+ * repeat calls safe.
2923
+ */
2924
+ post: operations["reprocessEmbeddingProviderSettings"];
2925
+ delete?: never;
2926
+ options?: never;
2927
+ head?: never;
2928
+ patch?: never;
2929
+ trace?: never;
2930
+ };
2844
2931
  "/api/v1/{team_id}/settings/embedding-providers/validate": {
2845
2932
  parameters: {
2846
2933
  query?: never;
@@ -2868,6 +2955,203 @@ export interface paths {
2868
2955
  patch?: never;
2869
2956
  trace?: never;
2870
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
+ };
2871
3155
  "/api/v1/{team_id}/projects": {
2872
3156
  parameters: {
2873
3157
  query?: never;
@@ -4108,6 +4392,11 @@ export interface components {
4108
4392
  * @example 200
4109
4393
  */
4110
4394
  chunk_overlap: number;
4395
+ /**
4396
+ * @description Maximum number of simultaneous embedding requests VibeXP issues to this provider. Keep at 1 for single-threaded providers.
4397
+ * @example 1
4398
+ */
4399
+ concurrency: number;
4111
4400
  /** @example false */
4112
4401
  is_default: boolean;
4113
4402
  /**
@@ -4152,6 +4441,11 @@ export interface components {
4152
4441
  * @example 200
4153
4442
  */
4154
4443
  chunk_overlap?: number;
4444
+ /**
4445
+ * @description Optional max simultaneous embedding requests to this provider; defaults to 1 when omitted.
4446
+ * @example 1
4447
+ */
4448
+ concurrency?: number;
4155
4449
  /** @example false */
4156
4450
  is_default?: boolean;
4157
4451
  /**
@@ -4170,6 +4464,7 @@ export interface components {
4170
4464
  model?: string;
4171
4465
  chunk_size?: number;
4172
4466
  chunk_overlap?: number;
4467
+ concurrency?: number;
4173
4468
  is_default?: boolean;
4174
4469
  /** Format: uri */
4175
4470
  base_url?: string;
@@ -4222,38 +4517,203 @@ export interface components {
4222
4517
  error_details?: string;
4223
4518
  };
4224
4519
  };
4225
- ResourceUsageItem: {
4520
+ /** @description Embedding coverage for a single entity type: how many entities exist, how many have an embedding under the team's active model, how many are still pending, and the embedded percentage. */
4521
+ EmbeddingCoverageItem: {
4226
4522
  /**
4227
- * @description Type of resource (e.g., prompt, memory, artifact)
4523
+ * @description The embeddable entity type this row reports on.
4228
4524
  * @example prompt
4525
+ * @enum {string}
4229
4526
  */
4230
- resource_type?: string;
4527
+ entity_type: "prompt" | "artifact" | "memory" | "blueprint" | "feed_item";
4231
4528
  /**
4232
- * @description Current usage count
4233
- * @example 5
4529
+ * Format: int64
4530
+ * @description Total embeddable entities of this type owned by the team.
4531
+ * @example 120
4234
4532
  */
4235
- count?: number;
4533
+ total: number;
4236
4534
  /**
4237
- * @description Maximum allowed for the subscription plan
4238
- * @example 20
4535
+ * Format: int64
4536
+ * @description Entities of this type that already have an embedding under the team's active model.
4537
+ * @example 90
4239
4538
  */
4240
- limit?: number;
4539
+ embedded: number;
4241
4540
  /**
4242
- * @description Usage percentage
4243
- * @example 25
4541
+ * Format: int64
4542
+ * @description Entities still missing an embedding (total − embedded).
4543
+ * @example 30
4244
4544
  */
4245
- percentage?: number;
4545
+ pending: number;
4546
+ /**
4547
+ * @description Rounded percentage of entities embedded (embedded / total * 100); 0 when there are no entities of this type.
4548
+ * @example 75
4549
+ */
4550
+ embedded_percent: number;
4246
4551
  };
4247
- ResourceUsageResponse: {
4552
+ /** @description Derived, team-scoped embedding coverage per entity type under the team's active provider model. Counts are computed from existing rows (no per-entity state); a non-decreasing pending count is the signal that embedding is stuck. When the team has no active provider, has_active_provider is false, active_model is null, and every type reports all entities as pending (0%). */
4553
+ EmbeddingCoverageResponse: {
4248
4554
  /**
4249
- * Format: uuid
4250
- * @description ID of the user
4251
- * @example f3a1b20c-e2d3-4e4f-a5f6-d7c8b9a0b1c2
4555
+ * @description Whether the team has an active embedding provider configured.
4556
+ * @example true
4252
4557
  */
4253
- user_id?: string;
4558
+ has_active_provider: boolean;
4254
4559
  /**
4255
- * Format: date-time
4256
- * @description Start of the subscription period
4560
+ * @description The active provider's embedding model the embedded counts are measured against, or null when no provider is configured.
4561
+ * @example text-embedding-3-small
4562
+ */
4563
+ active_model: string | null;
4564
+ /** @description One entry per embeddable entity type, in a stable order. */
4565
+ coverage: components["schemas"]["EmbeddingCoverageItem"][];
4566
+ };
4567
+ ModelProvider: {
4568
+ /** @example provider_123 */
4569
+ id: string;
4570
+ /** @example user_123 */
4571
+ user_id: string;
4572
+ /**
4573
+ * Format: uuid
4574
+ * @description Team that owns this provider.
4575
+ * @example b1234567-89ab-cdef-0123-456789abcdef
4576
+ */
4577
+ team_id?: string | null;
4578
+ /** @example OpenAI GPT-4o */
4579
+ name: string;
4580
+ /** @example openai_compatible */
4581
+ provider_type: string;
4582
+ /**
4583
+ * @description Chat/completion model this provider requests.
4584
+ * @example gpt-4o-mini
4585
+ */
4586
+ model: string;
4587
+ /** @example false */
4588
+ is_default: boolean;
4589
+ /**
4590
+ * Format: uri
4591
+ * @example https://api.openai.com/v1
4592
+ */
4593
+ base_url?: string | null;
4594
+ /** @example {"temperature": 0.7, "max_tokens": 1024} */
4595
+ configuration: string;
4596
+ /** Format: date-time */
4597
+ created_at: string;
4598
+ /** Format: date-time */
4599
+ updated_at: string;
4600
+ /**
4601
+ * Format: int64
4602
+ * @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.
4603
+ * @example 1
4604
+ */
4605
+ version: number;
4606
+ };
4607
+ ModelProviderResponse: components["schemas"]["ModelProvider"] & {
4608
+ /** @example true */
4609
+ has_api_key: boolean;
4610
+ };
4611
+ CreateModelProviderRequest: {
4612
+ /** @example OpenAI GPT-4o */
4613
+ name: string;
4614
+ /** @example openai_compatible */
4615
+ provider_type: string;
4616
+ /**
4617
+ * @description Chat/completion model to use.
4618
+ * @example gpt-4o-mini
4619
+ */
4620
+ model: string;
4621
+ /** @example false */
4622
+ is_default?: boolean;
4623
+ /**
4624
+ * Format: uri
4625
+ * @example https://api.openai.com/v1
4626
+ */
4627
+ base_url?: string;
4628
+ api_key?: string | null;
4629
+ configuration?: {
4630
+ [key: string]: unknown;
4631
+ };
4632
+ };
4633
+ UpdateModelProviderRequest: {
4634
+ name?: string;
4635
+ provider_type?: string;
4636
+ model?: string;
4637
+ is_default?: boolean;
4638
+ /** Format: uri */
4639
+ base_url?: string;
4640
+ api_key?: string;
4641
+ configuration?: {
4642
+ [key: string]: unknown;
4643
+ };
4644
+ };
4645
+ ModelProviderListResponse: {
4646
+ model_providers: components["schemas"]["ModelProviderResponse"][];
4647
+ total_count: number;
4648
+ page: number;
4649
+ per_page: number;
4650
+ total_pages: number;
4651
+ };
4652
+ ModelProviderResponseList: components["schemas"]["ModelProviderResponse"][];
4653
+ ValidateModelProviderRequest: {
4654
+ /** @example openai_compatible */
4655
+ provider_type: string;
4656
+ /**
4657
+ * @description Chat/completion model to probe for reachability and auth.
4658
+ * @example gpt-4o-mini
4659
+ */
4660
+ model: string;
4661
+ /**
4662
+ * Format: uri
4663
+ * @example https://api.openai.com/v1
4664
+ */
4665
+ base_url: string;
4666
+ api_key?: string | null;
4667
+ configuration?: {
4668
+ [key: string]: unknown;
4669
+ };
4670
+ };
4671
+ ValidateModelProviderResponse: {
4672
+ /** @example true */
4673
+ is_valid: boolean;
4674
+ /** @example Provider configuration is valid */
4675
+ message: string;
4676
+ details?: {
4677
+ /** @example 150 */
4678
+ response_time_ms?: number;
4679
+ /** @example 200 */
4680
+ status_code?: number;
4681
+ /** @example Connection timeout */
4682
+ error_details?: string;
4683
+ };
4684
+ };
4685
+ ResourceUsageItem: {
4686
+ /**
4687
+ * @description Type of resource (e.g., prompt, memory, artifact)
4688
+ * @example prompt
4689
+ */
4690
+ resource_type?: string;
4691
+ /**
4692
+ * @description Current usage count
4693
+ * @example 5
4694
+ */
4695
+ count?: number;
4696
+ /**
4697
+ * @description Maximum allowed for the subscription plan
4698
+ * @example 20
4699
+ */
4700
+ limit?: number;
4701
+ /**
4702
+ * @description Usage percentage
4703
+ * @example 25
4704
+ */
4705
+ percentage?: number;
4706
+ };
4707
+ ResourceUsageResponse: {
4708
+ /**
4709
+ * Format: uuid
4710
+ * @description ID of the user
4711
+ * @example f3a1b20c-e2d3-4e4f-a5f6-d7c8b9a0b1c2
4712
+ */
4713
+ user_id?: string;
4714
+ /**
4715
+ * Format: date-time
4716
+ * @description Start of the subscription period
4257
4717
  * @example 2025-10-01T00:00:00Z
4258
4718
  */
4259
4719
  period_start?: string;
@@ -6117,63 +6577,6 @@ export interface components {
6117
6577
  /** @description Total number of agent executions run by user */
6118
6578
  total_agent_executions_run?: number;
6119
6579
  };
6120
- /** @description Configuration for an embedding backfill run. The scope is explicit: set exactly one of `all` or a non-empty `entity_types`. Sending neither, or both, is rejected with a 400. */
6121
- EmbeddingBackfillRequest: {
6122
- /**
6123
- * @description Backfill every supported entity type. Mutually exclusive with `entity_types`.
6124
- * @default false
6125
- */
6126
- all: boolean;
6127
- /**
6128
- * @description Restrict the run to these entity types. Mutually exclusive with `all`.
6129
- * @example [
6130
- * "prompt",
6131
- * "artifact"
6132
- * ]
6133
- */
6134
- entity_types?: ("prompt" | "artifact" | "memory" | "blueprint" | "feed_item")[];
6135
- /**
6136
- * @description When true, only publish for entities that do not already have an embedding for the currently configured model. Honored by `dry_run`.
6137
- * @default false
6138
- */
6139
- missing_only: boolean;
6140
- /**
6141
- * @description When true, count the entities that would be republished without publishing any event.
6142
- * @default false
6143
- */
6144
- dry_run: boolean;
6145
- };
6146
- /** @description Per-entity-type outcome of a backfill run. */
6147
- EmbeddingBackfillTypeResult: {
6148
- /** @example prompt */
6149
- entity_type: string;
6150
- /**
6151
- * @description Number of source entities seen for this type.
6152
- * @example 42
6153
- */
6154
- total: number;
6155
- /**
6156
- * @description Number of `.created` events successfully republished (0 on a dry run).
6157
- * @example 42
6158
- */
6159
- published: number;
6160
- /**
6161
- * @description Number of entities whose event publish failed (log-and-continue).
6162
- * @example 0
6163
- */
6164
- failed: number;
6165
- };
6166
- /** @description Aggregated result of an embedding backfill run. */
6167
- EmbeddingBackfillResult: {
6168
- dry_run: boolean;
6169
- results: components["schemas"]["EmbeddingBackfillTypeResult"][];
6170
- /** @example 42 */
6171
- total_seen: number;
6172
- /** @example 42 */
6173
- total_published: number;
6174
- /** @example 0 */
6175
- total_failed: number;
6176
- };
6177
6580
  /** @description Usage and growth data response */
6178
6581
  UsageAndGrowthResponse: {
6179
6582
  /** @description Weekly usage metrics */
@@ -12023,57 +12426,6 @@ export interface operations {
12023
12426
  };
12024
12427
  };
12025
12428
  };
12026
- backfillEmbeddings: {
12027
- parameters: {
12028
- query?: never;
12029
- header?: never;
12030
- path?: never;
12031
- cookie?: never;
12032
- };
12033
- requestBody: {
12034
- content: {
12035
- "application/json": components["schemas"]["EmbeddingBackfillRequest"];
12036
- };
12037
- };
12038
- responses: {
12039
- /** @description Backfill completed; per-entity-type and aggregate counts returned. */
12040
- 200: {
12041
- headers: {
12042
- [name: string]: unknown;
12043
- };
12044
- content: {
12045
- "application/json": components["schemas"]["EmbeddingBackfillResult"];
12046
- };
12047
- };
12048
- /** @description Invalid request body, no scope (`all` and `entity_types` both empty), an ambiguous scope (both `all` and `entity_types` set), or an unsupported entity type was requested. */
12049
- 400: {
12050
- headers: {
12051
- [name: string]: unknown;
12052
- };
12053
- content: {
12054
- "application/problem+json": components["schemas"]["ErrorResponse"];
12055
- };
12056
- };
12057
- /** @description Unauthorized - Missing or invalid back office admin API key */
12058
- 401: {
12059
- headers: {
12060
- [name: string]: unknown;
12061
- };
12062
- content: {
12063
- "application/problem+json": components["schemas"]["ErrorResponse"];
12064
- };
12065
- };
12066
- /** @description Internal server error */
12067
- 500: {
12068
- headers: {
12069
- [name: string]: unknown;
12070
- };
12071
- content: {
12072
- "application/problem+json": components["schemas"]["ErrorResponse"];
12073
- };
12074
- };
12075
- };
12076
- };
12077
12429
  getGitHubStatus: {
12078
12430
  parameters: {
12079
12431
  query?: never;
@@ -16985,6 +17337,47 @@ export interface operations {
16985
17337
  };
16986
17338
  };
16987
17339
  };
17340
+ getEmbeddingCoverage: {
17341
+ parameters: {
17342
+ query?: never;
17343
+ header?: never;
17344
+ path: {
17345
+ /** @description Team whose embedding coverage is reported. */
17346
+ team_id: string;
17347
+ };
17348
+ cookie?: never;
17349
+ };
17350
+ requestBody?: never;
17351
+ responses: {
17352
+ /** @description Embedding coverage retrieved successfully */
17353
+ 200: {
17354
+ headers: {
17355
+ [name: string]: unknown;
17356
+ };
17357
+ content: {
17358
+ "application/json": components["schemas"]["EmbeddingCoverageResponse"];
17359
+ };
17360
+ };
17361
+ /** @description Unauthorized */
17362
+ 401: {
17363
+ headers: {
17364
+ [name: string]: unknown;
17365
+ };
17366
+ content: {
17367
+ "application/problem+json": components["schemas"]["ErrorResponse"];
17368
+ };
17369
+ };
17370
+ /** @description Failed to retrieve embedding coverage (`DATABASE_ERROR`) */
17371
+ 500: {
17372
+ headers: {
17373
+ [name: string]: unknown;
17374
+ };
17375
+ content: {
17376
+ "application/problem+json": components["schemas"]["ErrorResponse"];
17377
+ };
17378
+ };
17379
+ };
17380
+ };
16988
17381
  getEmbeddingProvider: {
16989
17382
  parameters: {
16990
17383
  query?: never;
@@ -17161,19 +17554,71 @@ export interface operations {
17161
17554
  };
17162
17555
  };
17163
17556
  };
17164
- validateEmbeddingProvider: {
17557
+ reprocessEmbeddingProvider: {
17165
17558
  parameters: {
17166
17559
  query?: never;
17167
17560
  header?: never;
17168
17561
  path: {
17169
17562
  /** @description Team that owns the embedding provider(s). */
17170
17563
  team_id: string;
17564
+ /** @description Embedding provider ID */
17565
+ id: string;
17171
17566
  };
17172
17567
  cookie?: never;
17173
17568
  };
17174
- requestBody: {
17175
- content: {
17176
- "application/json": components["schemas"]["ValidateEmbeddingProviderRequest"];
17569
+ requestBody?: never;
17570
+ responses: {
17571
+ /** @description Reprocess accepted; embeddings are regenerated in the background. */
17572
+ 202: {
17573
+ headers: {
17574
+ [name: string]: unknown;
17575
+ };
17576
+ content: {
17577
+ "application/json": components["schemas"]["SuccessResponse"];
17578
+ };
17579
+ };
17580
+ /** @description Unauthorized */
17581
+ 401: {
17582
+ headers: {
17583
+ [name: string]: unknown;
17584
+ };
17585
+ content: {
17586
+ "application/problem+json": components["schemas"]["ErrorResponse"];
17587
+ };
17588
+ };
17589
+ /** @description Embedding provider not found (`PROVIDER_NOT_FOUND`) */
17590
+ 404: {
17591
+ headers: {
17592
+ [name: string]: unknown;
17593
+ };
17594
+ content: {
17595
+ "application/problem+json": components["schemas"]["ErrorResponse"];
17596
+ };
17597
+ };
17598
+ /** @description Failed to load the provider before reprocess (`DATABASE_ERROR`) */
17599
+ 500: {
17600
+ headers: {
17601
+ [name: string]: unknown;
17602
+ };
17603
+ content: {
17604
+ "application/problem+json": components["schemas"]["ErrorResponse"];
17605
+ };
17606
+ };
17607
+ };
17608
+ };
17609
+ validateEmbeddingProvider: {
17610
+ parameters: {
17611
+ query?: never;
17612
+ header?: never;
17613
+ path: {
17614
+ /** @description Team that owns the embedding provider(s). */
17615
+ team_id: string;
17616
+ };
17617
+ cookie?: never;
17618
+ };
17619
+ requestBody: {
17620
+ content: {
17621
+ "application/json": components["schemas"]["ValidateEmbeddingProviderRequest"];
17177
17622
  };
17178
17623
  };
17179
17624
  responses: {
@@ -17319,6 +17764,47 @@ export interface operations {
17319
17764
  };
17320
17765
  };
17321
17766
  };
17767
+ getEmbeddingCoverageSettings: {
17768
+ parameters: {
17769
+ query?: never;
17770
+ header?: never;
17771
+ path: {
17772
+ /** @description Team whose embedding coverage is reported. */
17773
+ team_id: string;
17774
+ };
17775
+ cookie?: never;
17776
+ };
17777
+ requestBody?: never;
17778
+ responses: {
17779
+ /** @description Embedding coverage retrieved successfully */
17780
+ 200: {
17781
+ headers: {
17782
+ [name: string]: unknown;
17783
+ };
17784
+ content: {
17785
+ "application/json": components["schemas"]["EmbeddingCoverageResponse"];
17786
+ };
17787
+ };
17788
+ /** @description Unauthorized */
17789
+ 401: {
17790
+ headers: {
17791
+ [name: string]: unknown;
17792
+ };
17793
+ content: {
17794
+ "application/problem+json": components["schemas"]["ErrorResponse"];
17795
+ };
17796
+ };
17797
+ /** @description Failed to retrieve embedding coverage (`DATABASE_ERROR`) */
17798
+ 500: {
17799
+ headers: {
17800
+ [name: string]: unknown;
17801
+ };
17802
+ content: {
17803
+ "application/problem+json": components["schemas"]["ErrorResponse"];
17804
+ };
17805
+ };
17806
+ };
17807
+ };
17322
17808
  getEmbeddingProviderSettings: {
17323
17809
  parameters: {
17324
17810
  query?: never;
@@ -17495,6 +17981,58 @@ export interface operations {
17495
17981
  };
17496
17982
  };
17497
17983
  };
17984
+ reprocessEmbeddingProviderSettings: {
17985
+ parameters: {
17986
+ query?: never;
17987
+ header?: never;
17988
+ path: {
17989
+ /** @description Team that owns the embedding provider(s). */
17990
+ team_id: string;
17991
+ /** @description Embedding provider ID */
17992
+ id: string;
17993
+ };
17994
+ cookie?: never;
17995
+ };
17996
+ requestBody?: never;
17997
+ responses: {
17998
+ /** @description Reprocess accepted; embeddings are regenerated in the background. */
17999
+ 202: {
18000
+ headers: {
18001
+ [name: string]: unknown;
18002
+ };
18003
+ content: {
18004
+ "application/json": components["schemas"]["SuccessResponse"];
18005
+ };
18006
+ };
18007
+ /** @description Unauthorized */
18008
+ 401: {
18009
+ headers: {
18010
+ [name: string]: unknown;
18011
+ };
18012
+ content: {
18013
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18014
+ };
18015
+ };
18016
+ /** @description Embedding provider not found (`PROVIDER_NOT_FOUND`) */
18017
+ 404: {
18018
+ headers: {
18019
+ [name: string]: unknown;
18020
+ };
18021
+ content: {
18022
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18023
+ };
18024
+ };
18025
+ /** @description Failed to load the provider before reprocess (`DATABASE_ERROR`) */
18026
+ 500: {
18027
+ headers: {
18028
+ [name: string]: unknown;
18029
+ };
18030
+ content: {
18031
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18032
+ };
18033
+ };
18034
+ };
18035
+ };
17498
18036
  validateEmbeddingProviderSettings: {
17499
18037
  parameters: {
17500
18038
  query?: never;
@@ -17549,6 +18087,674 @@ export interface operations {
17549
18087
  };
17550
18088
  };
17551
18089
  };
18090
+ listModelProviders: {
18091
+ parameters: {
18092
+ query?: never;
18093
+ header?: never;
18094
+ path: {
18095
+ /** @description Team that owns the model provider(s). */
18096
+ team_id: string;
18097
+ };
18098
+ cookie?: never;
18099
+ };
18100
+ requestBody?: never;
18101
+ responses: {
18102
+ /** @description Model providers retrieved successfully */
18103
+ 200: {
18104
+ headers: {
18105
+ [name: string]: unknown;
18106
+ };
18107
+ content: {
18108
+ "application/json": components["schemas"]["ModelProviderResponseList"];
18109
+ };
18110
+ };
18111
+ /** @description Unauthorized */
18112
+ 401: {
18113
+ headers: {
18114
+ [name: string]: unknown;
18115
+ };
18116
+ content: {
18117
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18118
+ };
18119
+ };
18120
+ /** @description Failed to retrieve model providers (`DATABASE_ERROR`) */
18121
+ 500: {
18122
+ headers: {
18123
+ [name: string]: unknown;
18124
+ };
18125
+ content: {
18126
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18127
+ };
18128
+ };
18129
+ };
18130
+ };
18131
+ createModelProvider: {
18132
+ parameters: {
18133
+ query?: never;
18134
+ header?: never;
18135
+ path: {
18136
+ /** @description Team that owns the model provider(s). */
18137
+ team_id: string;
18138
+ };
18139
+ cookie?: never;
18140
+ };
18141
+ requestBody: {
18142
+ content: {
18143
+ "application/json": components["schemas"]["CreateModelProviderRequest"];
18144
+ };
18145
+ };
18146
+ responses: {
18147
+ /** @description Model provider created successfully */
18148
+ 200: {
18149
+ headers: {
18150
+ [name: string]: unknown;
18151
+ };
18152
+ content: {
18153
+ "application/json": components["schemas"]["ModelProviderResponse"];
18154
+ };
18155
+ };
18156
+ /** @description Malformed JSON body (`BAD_REQUEST`) or missing required fields (`MODEL_PROVIDER_VALIDATION_FAILED` with `validation_errors`) */
18157
+ 400: {
18158
+ headers: {
18159
+ [name: string]: unknown;
18160
+ };
18161
+ content: {
18162
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18163
+ };
18164
+ };
18165
+ /** @description Unauthorized */
18166
+ 401: {
18167
+ headers: {
18168
+ [name: string]: unknown;
18169
+ };
18170
+ content: {
18171
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18172
+ };
18173
+ };
18174
+ /** @description A provider with the same name already exists (`MODEL_PROVIDER_ALREADY_EXISTS`) */
18175
+ 409: {
18176
+ headers: {
18177
+ [name: string]: unknown;
18178
+ };
18179
+ content: {
18180
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18181
+ };
18182
+ };
18183
+ /** @description Provider creation failed (`MODEL_PROVIDER_CREATE_FAILED`) */
18184
+ 500: {
18185
+ headers: {
18186
+ [name: string]: unknown;
18187
+ };
18188
+ content: {
18189
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18190
+ };
18191
+ };
18192
+ };
18193
+ };
18194
+ getModelProvider: {
18195
+ parameters: {
18196
+ query?: never;
18197
+ header?: never;
18198
+ path: {
18199
+ /** @description Team that owns the model provider(s). */
18200
+ team_id: string;
18201
+ /** @description Model provider ID */
18202
+ id: string;
18203
+ };
18204
+ cookie?: never;
18205
+ };
18206
+ requestBody?: never;
18207
+ responses: {
18208
+ /** @description Model provider retrieved successfully */
18209
+ 200: {
18210
+ headers: {
18211
+ [name: string]: unknown;
18212
+ };
18213
+ content: {
18214
+ "application/json": components["schemas"]["ModelProviderResponse"];
18215
+ };
18216
+ };
18217
+ /** @description Unauthorized */
18218
+ 401: {
18219
+ headers: {
18220
+ [name: string]: unknown;
18221
+ };
18222
+ content: {
18223
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18224
+ };
18225
+ };
18226
+ /** @description Model provider not found (`MODEL_PROVIDER_NOT_FOUND`) */
18227
+ 404: {
18228
+ headers: {
18229
+ [name: string]: unknown;
18230
+ };
18231
+ content: {
18232
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18233
+ };
18234
+ };
18235
+ /** @description Failed to retrieve model provider (`DATABASE_ERROR`) */
18236
+ 500: {
18237
+ headers: {
18238
+ [name: string]: unknown;
18239
+ };
18240
+ content: {
18241
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18242
+ };
18243
+ };
18244
+ };
18245
+ };
18246
+ updateModelProvider: {
18247
+ parameters: {
18248
+ query?: never;
18249
+ header?: never;
18250
+ path: {
18251
+ /** @description Team that owns the model provider(s). */
18252
+ team_id: string;
18253
+ /** @description Model provider ID */
18254
+ id: string;
18255
+ };
18256
+ cookie?: never;
18257
+ };
18258
+ requestBody: {
18259
+ content: {
18260
+ "application/json": components["schemas"]["UpdateModelProviderRequest"];
18261
+ };
18262
+ };
18263
+ responses: {
18264
+ /** @description Model provider updated successfully */
18265
+ 200: {
18266
+ headers: {
18267
+ [name: string]: unknown;
18268
+ };
18269
+ content: {
18270
+ "application/json": components["schemas"]["ModelProviderResponse"];
18271
+ };
18272
+ };
18273
+ /** @description Malformed JSON body (`BAD_REQUEST`) */
18274
+ 400: {
18275
+ headers: {
18276
+ [name: string]: unknown;
18277
+ };
18278
+ content: {
18279
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18280
+ };
18281
+ };
18282
+ /** @description Unauthorized */
18283
+ 401: {
18284
+ headers: {
18285
+ [name: string]: unknown;
18286
+ };
18287
+ content: {
18288
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18289
+ };
18290
+ };
18291
+ /** @description Model provider not found (`MODEL_PROVIDER_NOT_FOUND`) */
18292
+ 404: {
18293
+ headers: {
18294
+ [name: string]: unknown;
18295
+ };
18296
+ content: {
18297
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18298
+ };
18299
+ };
18300
+ /** @description Provider update failed (`MODEL_PROVIDER_UPDATE_FAILED`) */
18301
+ 500: {
18302
+ headers: {
18303
+ [name: string]: unknown;
18304
+ };
18305
+ content: {
18306
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18307
+ };
18308
+ };
18309
+ };
18310
+ };
18311
+ deleteModelProvider: {
18312
+ parameters: {
18313
+ query?: never;
18314
+ header?: never;
18315
+ path: {
18316
+ /** @description Team that owns the model provider(s). */
18317
+ team_id: string;
18318
+ /** @description Model provider ID */
18319
+ id: string;
18320
+ };
18321
+ cookie?: never;
18322
+ };
18323
+ requestBody?: never;
18324
+ responses: {
18325
+ /** @description Model provider deleted successfully (no body) */
18326
+ 204: {
18327
+ headers: {
18328
+ [name: string]: unknown;
18329
+ };
18330
+ content?: never;
18331
+ };
18332
+ /** @description Cannot delete the last model provider (`MODEL_PROVIDER_LAST_DELETE_BLOCKED`) */
18333
+ 400: {
18334
+ headers: {
18335
+ [name: string]: unknown;
18336
+ };
18337
+ content: {
18338
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18339
+ };
18340
+ };
18341
+ /** @description Unauthorized */
18342
+ 401: {
18343
+ headers: {
18344
+ [name: string]: unknown;
18345
+ };
18346
+ content: {
18347
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18348
+ };
18349
+ };
18350
+ /** @description Model provider not found (`MODEL_PROVIDER_NOT_FOUND`) */
18351
+ 404: {
18352
+ headers: {
18353
+ [name: string]: unknown;
18354
+ };
18355
+ content: {
18356
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18357
+ };
18358
+ };
18359
+ /** @description Provider deletion failed (`MODEL_PROVIDER_DELETE_FAILED`) */
18360
+ 500: {
18361
+ headers: {
18362
+ [name: string]: unknown;
18363
+ };
18364
+ content: {
18365
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18366
+ };
18367
+ };
18368
+ };
18369
+ };
18370
+ validateModelProvider: {
18371
+ parameters: {
18372
+ query?: never;
18373
+ header?: never;
18374
+ path: {
18375
+ /** @description Team that owns the model provider(s). */
18376
+ team_id: string;
18377
+ };
18378
+ cookie?: never;
18379
+ };
18380
+ requestBody: {
18381
+ content: {
18382
+ "application/json": components["schemas"]["ValidateModelProviderRequest"];
18383
+ };
18384
+ };
18385
+ responses: {
18386
+ /** @description Validation completed (check `is_valid` for the outcome) */
18387
+ 200: {
18388
+ headers: {
18389
+ [name: string]: unknown;
18390
+ };
18391
+ content: {
18392
+ "application/json": components["schemas"]["ValidateModelProviderResponse"];
18393
+ };
18394
+ };
18395
+ /** @description Malformed JSON body (`BAD_REQUEST`) or missing required fields (`MODEL_PROVIDER_VALIDATION_FAILED` with `validation_errors`) */
18396
+ 400: {
18397
+ headers: {
18398
+ [name: string]: unknown;
18399
+ };
18400
+ content: {
18401
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18402
+ };
18403
+ };
18404
+ /** @description Unauthorized */
18405
+ 401: {
18406
+ headers: {
18407
+ [name: string]: unknown;
18408
+ };
18409
+ content: {
18410
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18411
+ };
18412
+ };
18413
+ /** @description Validation failed due to an internal service error (`INTERNAL_ERROR`) */
18414
+ 500: {
18415
+ headers: {
18416
+ [name: string]: unknown;
18417
+ };
18418
+ content: {
18419
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18420
+ };
18421
+ };
18422
+ };
18423
+ };
18424
+ listModelProvidersSettings: {
18425
+ parameters: {
18426
+ query?: never;
18427
+ header?: never;
18428
+ path: {
18429
+ /** @description Team that owns the model provider(s). */
18430
+ team_id: string;
18431
+ };
18432
+ cookie?: never;
18433
+ };
18434
+ requestBody?: never;
18435
+ responses: {
18436
+ /** @description Model providers retrieved successfully */
18437
+ 200: {
18438
+ headers: {
18439
+ [name: string]: unknown;
18440
+ };
18441
+ content: {
18442
+ "application/json": components["schemas"]["ModelProviderResponseList"];
18443
+ };
18444
+ };
18445
+ /** @description Unauthorized */
18446
+ 401: {
18447
+ headers: {
18448
+ [name: string]: unknown;
18449
+ };
18450
+ content: {
18451
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18452
+ };
18453
+ };
18454
+ /** @description Failed to retrieve model providers (`DATABASE_ERROR`) */
18455
+ 500: {
18456
+ headers: {
18457
+ [name: string]: unknown;
18458
+ };
18459
+ content: {
18460
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18461
+ };
18462
+ };
18463
+ };
18464
+ };
18465
+ createModelProviderSettings: {
18466
+ parameters: {
18467
+ query?: never;
18468
+ header?: never;
18469
+ path: {
18470
+ /** @description Team that owns the model provider(s). */
18471
+ team_id: string;
18472
+ };
18473
+ cookie?: never;
18474
+ };
18475
+ requestBody: {
18476
+ content: {
18477
+ "application/json": components["schemas"]["CreateModelProviderRequest"];
18478
+ };
18479
+ };
18480
+ responses: {
18481
+ /** @description Model provider created successfully */
18482
+ 200: {
18483
+ headers: {
18484
+ [name: string]: unknown;
18485
+ };
18486
+ content: {
18487
+ "application/json": components["schemas"]["ModelProviderResponse"];
18488
+ };
18489
+ };
18490
+ /** @description Malformed JSON body (`BAD_REQUEST`) or missing required fields (`MODEL_PROVIDER_VALIDATION_FAILED` with `validation_errors`) */
18491
+ 400: {
18492
+ headers: {
18493
+ [name: string]: unknown;
18494
+ };
18495
+ content: {
18496
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18497
+ };
18498
+ };
18499
+ /** @description Unauthorized */
18500
+ 401: {
18501
+ headers: {
18502
+ [name: string]: unknown;
18503
+ };
18504
+ content: {
18505
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18506
+ };
18507
+ };
18508
+ /** @description A provider with the same name already exists (`MODEL_PROVIDER_ALREADY_EXISTS`) */
18509
+ 409: {
18510
+ headers: {
18511
+ [name: string]: unknown;
18512
+ };
18513
+ content: {
18514
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18515
+ };
18516
+ };
18517
+ /** @description Provider creation failed (`MODEL_PROVIDER_CREATE_FAILED`) */
18518
+ 500: {
18519
+ headers: {
18520
+ [name: string]: unknown;
18521
+ };
18522
+ content: {
18523
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18524
+ };
18525
+ };
18526
+ };
18527
+ };
18528
+ getModelProviderSettings: {
18529
+ parameters: {
18530
+ query?: never;
18531
+ header?: never;
18532
+ path: {
18533
+ /** @description Team that owns the model provider(s). */
18534
+ team_id: string;
18535
+ /** @description Model provider ID */
18536
+ id: string;
18537
+ };
18538
+ cookie?: never;
18539
+ };
18540
+ requestBody?: never;
18541
+ responses: {
18542
+ /** @description Model provider retrieved successfully */
18543
+ 200: {
18544
+ headers: {
18545
+ [name: string]: unknown;
18546
+ };
18547
+ content: {
18548
+ "application/json": components["schemas"]["ModelProviderResponse"];
18549
+ };
18550
+ };
18551
+ /** @description Unauthorized */
18552
+ 401: {
18553
+ headers: {
18554
+ [name: string]: unknown;
18555
+ };
18556
+ content: {
18557
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18558
+ };
18559
+ };
18560
+ /** @description Model provider not found (`MODEL_PROVIDER_NOT_FOUND`) */
18561
+ 404: {
18562
+ headers: {
18563
+ [name: string]: unknown;
18564
+ };
18565
+ content: {
18566
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18567
+ };
18568
+ };
18569
+ /** @description Failed to retrieve model provider (`DATABASE_ERROR`) */
18570
+ 500: {
18571
+ headers: {
18572
+ [name: string]: unknown;
18573
+ };
18574
+ content: {
18575
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18576
+ };
18577
+ };
18578
+ };
18579
+ };
18580
+ updateModelProviderSettings: {
18581
+ parameters: {
18582
+ query?: never;
18583
+ header?: never;
18584
+ path: {
18585
+ /** @description Team that owns the model provider(s). */
18586
+ team_id: string;
18587
+ /** @description Model provider ID */
18588
+ id: string;
18589
+ };
18590
+ cookie?: never;
18591
+ };
18592
+ requestBody: {
18593
+ content: {
18594
+ "application/json": components["schemas"]["UpdateModelProviderRequest"];
18595
+ };
18596
+ };
18597
+ responses: {
18598
+ /** @description Model provider updated successfully */
18599
+ 200: {
18600
+ headers: {
18601
+ [name: string]: unknown;
18602
+ };
18603
+ content: {
18604
+ "application/json": components["schemas"]["ModelProviderResponse"];
18605
+ };
18606
+ };
18607
+ /** @description Malformed JSON body (`BAD_REQUEST`) */
18608
+ 400: {
18609
+ headers: {
18610
+ [name: string]: unknown;
18611
+ };
18612
+ content: {
18613
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18614
+ };
18615
+ };
18616
+ /** @description Unauthorized */
18617
+ 401: {
18618
+ headers: {
18619
+ [name: string]: unknown;
18620
+ };
18621
+ content: {
18622
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18623
+ };
18624
+ };
18625
+ /** @description Model provider not found (`MODEL_PROVIDER_NOT_FOUND`) */
18626
+ 404: {
18627
+ headers: {
18628
+ [name: string]: unknown;
18629
+ };
18630
+ content: {
18631
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18632
+ };
18633
+ };
18634
+ /** @description Provider update failed (`MODEL_PROVIDER_UPDATE_FAILED`) */
18635
+ 500: {
18636
+ headers: {
18637
+ [name: string]: unknown;
18638
+ };
18639
+ content: {
18640
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18641
+ };
18642
+ };
18643
+ };
18644
+ };
18645
+ deleteModelProviderSettings: {
18646
+ parameters: {
18647
+ query?: never;
18648
+ header?: never;
18649
+ path: {
18650
+ /** @description Team that owns the model provider(s). */
18651
+ team_id: string;
18652
+ /** @description Model provider ID */
18653
+ id: string;
18654
+ };
18655
+ cookie?: never;
18656
+ };
18657
+ requestBody?: never;
18658
+ responses: {
18659
+ /** @description Model provider deleted successfully (no body) */
18660
+ 204: {
18661
+ headers: {
18662
+ [name: string]: unknown;
18663
+ };
18664
+ content?: never;
18665
+ };
18666
+ /** @description Cannot delete the last model provider (`MODEL_PROVIDER_LAST_DELETE_BLOCKED`) */
18667
+ 400: {
18668
+ headers: {
18669
+ [name: string]: unknown;
18670
+ };
18671
+ content: {
18672
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18673
+ };
18674
+ };
18675
+ /** @description Unauthorized */
18676
+ 401: {
18677
+ headers: {
18678
+ [name: string]: unknown;
18679
+ };
18680
+ content: {
18681
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18682
+ };
18683
+ };
18684
+ /** @description Model provider not found (`MODEL_PROVIDER_NOT_FOUND`) */
18685
+ 404: {
18686
+ headers: {
18687
+ [name: string]: unknown;
18688
+ };
18689
+ content: {
18690
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18691
+ };
18692
+ };
18693
+ /** @description Provider deletion failed (`MODEL_PROVIDER_DELETE_FAILED`) */
18694
+ 500: {
18695
+ headers: {
18696
+ [name: string]: unknown;
18697
+ };
18698
+ content: {
18699
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18700
+ };
18701
+ };
18702
+ };
18703
+ };
18704
+ validateModelProviderSettings: {
18705
+ parameters: {
18706
+ query?: never;
18707
+ header?: never;
18708
+ path: {
18709
+ /** @description Team that owns the model provider(s). */
18710
+ team_id: string;
18711
+ };
18712
+ cookie?: never;
18713
+ };
18714
+ requestBody: {
18715
+ content: {
18716
+ "application/json": components["schemas"]["ValidateModelProviderRequest"];
18717
+ };
18718
+ };
18719
+ responses: {
18720
+ /** @description Validation completed (check `is_valid` for the outcome) */
18721
+ 200: {
18722
+ headers: {
18723
+ [name: string]: unknown;
18724
+ };
18725
+ content: {
18726
+ "application/json": components["schemas"]["ValidateModelProviderResponse"];
18727
+ };
18728
+ };
18729
+ /** @description Malformed JSON body (`BAD_REQUEST`) or missing required fields (`MODEL_PROVIDER_VALIDATION_FAILED` with `validation_errors`) */
18730
+ 400: {
18731
+ headers: {
18732
+ [name: string]: unknown;
18733
+ };
18734
+ content: {
18735
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18736
+ };
18737
+ };
18738
+ /** @description Unauthorized */
18739
+ 401: {
18740
+ headers: {
18741
+ [name: string]: unknown;
18742
+ };
18743
+ content: {
18744
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18745
+ };
18746
+ };
18747
+ /** @description Validation failed due to an internal service error (`INTERNAL_ERROR`) */
18748
+ 500: {
18749
+ headers: {
18750
+ [name: string]: unknown;
18751
+ };
18752
+ content: {
18753
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18754
+ };
18755
+ };
18756
+ };
18757
+ };
17552
18758
  listProjects: {
17553
18759
  parameters: {
17554
18760
  query?: {