@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.
@@ -667,6 +667,10 @@ export type EmbeddingProvider = {
667
667
  * Overlap between adjacent chunks.
668
668
  */
669
669
  chunk_overlap: number;
670
+ /**
671
+ * Maximum number of simultaneous embedding requests VibeXP issues to this provider. Keep at 1 for single-threaded providers.
672
+ */
673
+ concurrency: number;
670
674
  is_default: boolean;
671
675
  base_url?: string | null;
672
676
  configuration: string;
@@ -695,6 +699,10 @@ export type CreateEmbeddingProviderRequest = {
695
699
  * Optional chunk overlap; defaults to 200 when omitted.
696
700
  */
697
701
  chunk_overlap?: number;
702
+ /**
703
+ * Optional max simultaneous embedding requests to this provider; defaults to 1 when omitted.
704
+ */
705
+ concurrency?: number;
698
706
  is_default?: boolean;
699
707
  base_url?: string;
700
708
  api_key?: string | null;
@@ -708,6 +716,7 @@ export type UpdateEmbeddingProviderRequest = {
708
716
  model?: string;
709
717
  chunk_size?: number;
710
718
  chunk_overlap?: number;
719
+ concurrency?: number;
711
720
  is_default?: boolean;
712
721
  base_url?: string;
713
722
  api_key?: string;
@@ -747,6 +756,128 @@ export type ValidateEmbeddingProviderResponse = {
747
756
  error_details?: string;
748
757
  };
749
758
  };
759
+ /**
760
+ * 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.
761
+ */
762
+ export type EmbeddingCoverageItem = {
763
+ /**
764
+ * The embeddable entity type this row reports on.
765
+ */
766
+ entity_type: 'prompt' | 'artifact' | 'memory' | 'blueprint' | 'feed_item';
767
+ /**
768
+ * Total embeddable entities of this type owned by the team.
769
+ */
770
+ total: number;
771
+ /**
772
+ * Entities of this type that already have an embedding under the team's active model.
773
+ */
774
+ embedded: number;
775
+ /**
776
+ * Entities still missing an embedding (total − embedded).
777
+ */
778
+ pending: number;
779
+ /**
780
+ * Rounded percentage of entities embedded (embedded / total * 100); 0 when there are no entities of this type.
781
+ */
782
+ embedded_percent: number;
783
+ };
784
+ /**
785
+ * 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%).
786
+ */
787
+ export type EmbeddingCoverageResponse = {
788
+ /**
789
+ * Whether the team has an active embedding provider configured.
790
+ */
791
+ has_active_provider: boolean;
792
+ /**
793
+ * The active provider's embedding model the embedded counts are measured against, or null when no provider is configured.
794
+ */
795
+ active_model: string | null;
796
+ /**
797
+ * One entry per embeddable entity type, in a stable order.
798
+ */
799
+ coverage: Array<EmbeddingCoverageItem>;
800
+ };
801
+ export type ModelProvider = {
802
+ id: string;
803
+ user_id: string;
804
+ /**
805
+ * Team that owns this provider.
806
+ */
807
+ team_id?: string | null;
808
+ name: string;
809
+ provider_type: string;
810
+ /**
811
+ * Chat/completion model this provider requests.
812
+ */
813
+ model: string;
814
+ is_default: boolean;
815
+ base_url?: string | null;
816
+ configuration: string;
817
+ created_at: string;
818
+ updated_at: string;
819
+ /**
820
+ * 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.
821
+ */
822
+ version: number;
823
+ };
824
+ export type ModelProviderResponse = ModelProvider & {
825
+ has_api_key: boolean;
826
+ };
827
+ export type CreateModelProviderRequest = {
828
+ name: string;
829
+ provider_type: string;
830
+ /**
831
+ * Chat/completion model to use.
832
+ */
833
+ model: string;
834
+ is_default?: boolean;
835
+ base_url?: string;
836
+ api_key?: string | null;
837
+ configuration?: {
838
+ [key: string]: unknown;
839
+ };
840
+ };
841
+ export type UpdateModelProviderRequest = {
842
+ name?: string;
843
+ provider_type?: string;
844
+ model?: string;
845
+ is_default?: boolean;
846
+ base_url?: string;
847
+ api_key?: string;
848
+ configuration?: {
849
+ [key: string]: unknown;
850
+ };
851
+ };
852
+ export type ModelProviderListResponse = {
853
+ model_providers: Array<ModelProviderResponse>;
854
+ total_count: number;
855
+ page: number;
856
+ per_page: number;
857
+ total_pages: number;
858
+ };
859
+ export type ModelProviderResponseList = Array<ModelProviderResponse>;
860
+ export type ValidateModelProviderRequest = {
861
+ provider_type: string;
862
+ /**
863
+ * Chat/completion model to probe for reachability and auth.
864
+ */
865
+ model: string;
866
+ base_url: string;
867
+ api_key?: string | null;
868
+ configuration?: {
869
+ [key: string]: unknown;
870
+ };
871
+ };
872
+ export type ValidateModelProviderResponse = {
873
+ is_valid: boolean;
874
+ message: string;
875
+ details?: {
876
+ response_time_ms?: number;
877
+ status_code?: number;
878
+ error_details?: string;
879
+ };
880
+ };
750
881
  export type ResourceUsageItem = {
751
882
  /**
752
883
  * Type of resource (e.g., prompt, memory, artifact)
@@ -2266,55 +2397,6 @@ export type UserActivityRow = {
2266
2397
  */
2267
2398
  total_agent_executions_run?: number;
2268
2399
  };
2269
- /**
2270
- * 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.
2271
- */
2272
- export type EmbeddingBackfillRequest = {
2273
- /**
2274
- * Backfill every supported entity type. Mutually exclusive with `entity_types`.
2275
- */
2276
- all?: boolean;
2277
- /**
2278
- * Restrict the run to these entity types. Mutually exclusive with `all`.
2279
- */
2280
- entity_types?: Array<'prompt' | 'artifact' | 'memory' | 'blueprint' | 'feed_item'>;
2281
- /**
2282
- * When true, only publish for entities that do not already have an embedding for the currently configured model. Honored by `dry_run`.
2283
- */
2284
- missing_only?: boolean;
2285
- /**
2286
- * When true, count the entities that would be republished without publishing any event.
2287
- */
2288
- dry_run?: boolean;
2289
- };
2290
- /**
2291
- * Per-entity-type outcome of a backfill run.
2292
- */
2293
- export type EmbeddingBackfillTypeResult = {
2294
- entity_type: string;
2295
- /**
2296
- * Number of source entities seen for this type.
2297
- */
2298
- total: number;
2299
- /**
2300
- * Number of `.created` events successfully republished (0 on a dry run).
2301
- */
2302
- published: number;
2303
- /**
2304
- * Number of entities whose event publish failed (log-and-continue).
2305
- */
2306
- failed: number;
2307
- };
2308
- /**
2309
- * Aggregated result of an embedding backfill run.
2310
- */
2311
- export type EmbeddingBackfillResult = {
2312
- dry_run: boolean;
2313
- results: Array<EmbeddingBackfillTypeResult>;
2314
- total_seen: number;
2315
- total_published: number;
2316
- total_failed: number;
2317
- };
2318
2400
  /**
2319
2401
  * Usage and growth data response
2320
2402
  */
@@ -6753,34 +6835,6 @@ export type GetUsageAndGrowthResponses = {
6753
6835
  200: UsageAndGrowthResponse;
6754
6836
  };
6755
6837
  export type GetUsageAndGrowthResponse = GetUsageAndGrowthResponses[keyof GetUsageAndGrowthResponses];
6756
- export type BackfillEmbeddingsData = {
6757
- body: EmbeddingBackfillRequest;
6758
- path?: never;
6759
- query?: never;
6760
- url: '/bo/v1/embeddings/backfill';
6761
- };
6762
- export type BackfillEmbeddingsErrors = {
6763
- /**
6764
- * 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.
6765
- */
6766
- 400: ErrorResponse;
6767
- /**
6768
- * Unauthorized - Missing or invalid back office admin API key
6769
- */
6770
- 401: ErrorResponse;
6771
- /**
6772
- * Internal server error
6773
- */
6774
- 500: ErrorResponse;
6775
- };
6776
- export type BackfillEmbeddingsError = BackfillEmbeddingsErrors[keyof BackfillEmbeddingsErrors];
6777
- export type BackfillEmbeddingsResponses = {
6778
- /**
6779
- * Backfill completed; per-entity-type and aggregate counts returned.
6780
- */
6781
- 200: EmbeddingBackfillResult;
6782
- };
6783
- export type BackfillEmbeddingsResponse = BackfillEmbeddingsResponses[keyof BackfillEmbeddingsResponses];
6784
6838
  export type GetGitHubStatusData = {
6785
6839
  body?: never;
6786
6840
  path: {
@@ -10049,6 +10103,35 @@ export type CreateEmbeddingProviderResponses = {
10049
10103
  200: EmbeddingProviderResponse;
10050
10104
  };
10051
10105
  export type CreateEmbeddingProviderResponse = CreateEmbeddingProviderResponses[keyof CreateEmbeddingProviderResponses];
10106
+ export type GetEmbeddingCoverageData = {
10107
+ body?: never;
10108
+ path: {
10109
+ /**
10110
+ * Team whose embedding coverage is reported.
10111
+ */
10112
+ team_id: string;
10113
+ };
10114
+ query?: never;
10115
+ url: '/api/v1/{team_id}/embedding-providers/coverage';
10116
+ };
10117
+ export type GetEmbeddingCoverageErrors = {
10118
+ /**
10119
+ * Unauthorized
10120
+ */
10121
+ 401: ErrorResponse;
10122
+ /**
10123
+ * Failed to retrieve embedding coverage (`DATABASE_ERROR`)
10124
+ */
10125
+ 500: ErrorResponse;
10126
+ };
10127
+ export type GetEmbeddingCoverageError = GetEmbeddingCoverageErrors[keyof GetEmbeddingCoverageErrors];
10128
+ export type GetEmbeddingCoverageResponses = {
10129
+ /**
10130
+ * Embedding coverage retrieved successfully
10131
+ */
10132
+ 200: EmbeddingCoverageResponse;
10133
+ };
10134
+ export type GetEmbeddingCoverageResponse = GetEmbeddingCoverageResponses[keyof GetEmbeddingCoverageResponses];
10052
10135
  export type DeleteEmbeddingProviderData = {
10053
10136
  body?: never;
10054
10137
  path: {
@@ -10168,6 +10251,43 @@ export type UpdateEmbeddingProviderResponses = {
10168
10251
  200: EmbeddingProviderResponse;
10169
10252
  };
10170
10253
  export type UpdateEmbeddingProviderResponse = UpdateEmbeddingProviderResponses[keyof UpdateEmbeddingProviderResponses];
10254
+ export type ReprocessEmbeddingProviderData = {
10255
+ body?: never;
10256
+ path: {
10257
+ /**
10258
+ * Team that owns the embedding provider(s).
10259
+ */
10260
+ team_id: string;
10261
+ /**
10262
+ * Embedding provider ID
10263
+ */
10264
+ id: string;
10265
+ };
10266
+ query?: never;
10267
+ url: '/api/v1/{team_id}/embedding-providers/{id}/reprocess';
10268
+ };
10269
+ export type ReprocessEmbeddingProviderErrors = {
10270
+ /**
10271
+ * Unauthorized
10272
+ */
10273
+ 401: ErrorResponse;
10274
+ /**
10275
+ * Embedding provider not found (`PROVIDER_NOT_FOUND`)
10276
+ */
10277
+ 404: ErrorResponse;
10278
+ /**
10279
+ * Failed to load the provider before reprocess (`DATABASE_ERROR`)
10280
+ */
10281
+ 500: ErrorResponse;
10282
+ };
10283
+ export type ReprocessEmbeddingProviderError = ReprocessEmbeddingProviderErrors[keyof ReprocessEmbeddingProviderErrors];
10284
+ export type ReprocessEmbeddingProviderResponses = {
10285
+ /**
10286
+ * Reprocess accepted; embeddings are regenerated in the background.
10287
+ */
10288
+ 202: SuccessResponse;
10289
+ };
10290
+ export type ReprocessEmbeddingProviderResponse = ReprocessEmbeddingProviderResponses[keyof ReprocessEmbeddingProviderResponses];
10171
10291
  export type ValidateEmbeddingProviderData = {
10172
10292
  body: ValidateEmbeddingProviderRequest;
10173
10293
  path: {
@@ -10267,6 +10387,35 @@ export type CreateEmbeddingProviderSettingsResponses = {
10267
10387
  200: EmbeddingProviderResponse;
10268
10388
  };
10269
10389
  export type CreateEmbeddingProviderSettingsResponse = CreateEmbeddingProviderSettingsResponses[keyof CreateEmbeddingProviderSettingsResponses];
10390
+ export type GetEmbeddingCoverageSettingsData = {
10391
+ body?: never;
10392
+ path: {
10393
+ /**
10394
+ * Team whose embedding coverage is reported.
10395
+ */
10396
+ team_id: string;
10397
+ };
10398
+ query?: never;
10399
+ url: '/api/v1/{team_id}/settings/embedding-providers/coverage';
10400
+ };
10401
+ export type GetEmbeddingCoverageSettingsErrors = {
10402
+ /**
10403
+ * Unauthorized
10404
+ */
10405
+ 401: ErrorResponse;
10406
+ /**
10407
+ * Failed to retrieve embedding coverage (`DATABASE_ERROR`)
10408
+ */
10409
+ 500: ErrorResponse;
10410
+ };
10411
+ export type GetEmbeddingCoverageSettingsError = GetEmbeddingCoverageSettingsErrors[keyof GetEmbeddingCoverageSettingsErrors];
10412
+ export type GetEmbeddingCoverageSettingsResponses = {
10413
+ /**
10414
+ * Embedding coverage retrieved successfully
10415
+ */
10416
+ 200: EmbeddingCoverageResponse;
10417
+ };
10418
+ export type GetEmbeddingCoverageSettingsResponse = GetEmbeddingCoverageSettingsResponses[keyof GetEmbeddingCoverageSettingsResponses];
10270
10419
  export type DeleteEmbeddingProviderSettingsData = {
10271
10420
  body?: never;
10272
10421
  path: {
@@ -10386,6 +10535,43 @@ export type UpdateEmbeddingProviderSettingsResponses = {
10386
10535
  200: EmbeddingProviderResponse;
10387
10536
  };
10388
10537
  export type UpdateEmbeddingProviderSettingsResponse = UpdateEmbeddingProviderSettingsResponses[keyof UpdateEmbeddingProviderSettingsResponses];
10538
+ export type ReprocessEmbeddingProviderSettingsData = {
10539
+ body?: never;
10540
+ path: {
10541
+ /**
10542
+ * Team that owns the embedding provider(s).
10543
+ */
10544
+ team_id: string;
10545
+ /**
10546
+ * Embedding provider ID
10547
+ */
10548
+ id: string;
10549
+ };
10550
+ query?: never;
10551
+ url: '/api/v1/{team_id}/settings/embedding-providers/{id}/reprocess';
10552
+ };
10553
+ export type ReprocessEmbeddingProviderSettingsErrors = {
10554
+ /**
10555
+ * Unauthorized
10556
+ */
10557
+ 401: ErrorResponse;
10558
+ /**
10559
+ * Embedding provider not found (`PROVIDER_NOT_FOUND`)
10560
+ */
10561
+ 404: ErrorResponse;
10562
+ /**
10563
+ * Failed to load the provider before reprocess (`DATABASE_ERROR`)
10564
+ */
10565
+ 500: ErrorResponse;
10566
+ };
10567
+ export type ReprocessEmbeddingProviderSettingsError = ReprocessEmbeddingProviderSettingsErrors[keyof ReprocessEmbeddingProviderSettingsErrors];
10568
+ export type ReprocessEmbeddingProviderSettingsResponses = {
10569
+ /**
10570
+ * Reprocess accepted; embeddings are regenerated in the background.
10571
+ */
10572
+ 202: SuccessResponse;
10573
+ };
10574
+ export type ReprocessEmbeddingProviderSettingsResponse = ReprocessEmbeddingProviderSettingsResponses[keyof ReprocessEmbeddingProviderSettingsResponses];
10389
10575
  export type ValidateEmbeddingProviderSettingsData = {
10390
10576
  body: ValidateEmbeddingProviderRequest;
10391
10577
  path: {
@@ -10419,6 +10605,442 @@ export type ValidateEmbeddingProviderSettingsResponses = {
10419
10605
  200: ValidateEmbeddingProviderResponse;
10420
10606
  };
10421
10607
  export type ValidateEmbeddingProviderSettingsResponse = ValidateEmbeddingProviderSettingsResponses[keyof ValidateEmbeddingProviderSettingsResponses];
10608
+ export type ListModelProvidersData = {
10609
+ body?: never;
10610
+ path: {
10611
+ /**
10612
+ * Team that owns the model provider(s).
10613
+ */
10614
+ team_id: string;
10615
+ };
10616
+ query?: never;
10617
+ url: '/api/v1/{team_id}/model-providers';
10618
+ };
10619
+ export type ListModelProvidersErrors = {
10620
+ /**
10621
+ * Unauthorized
10622
+ */
10623
+ 401: ErrorResponse;
10624
+ /**
10625
+ * Failed to retrieve model providers (`DATABASE_ERROR`)
10626
+ */
10627
+ 500: ErrorResponse;
10628
+ };
10629
+ export type ListModelProvidersError = ListModelProvidersErrors[keyof ListModelProvidersErrors];
10630
+ export type ListModelProvidersResponses = {
10631
+ /**
10632
+ * Model providers retrieved successfully
10633
+ */
10634
+ 200: ModelProviderResponseList;
10635
+ };
10636
+ export type ListModelProvidersResponse = ListModelProvidersResponses[keyof ListModelProvidersResponses];
10637
+ export type CreateModelProviderData = {
10638
+ body: CreateModelProviderRequest;
10639
+ path: {
10640
+ /**
10641
+ * Team that owns the model provider(s).
10642
+ */
10643
+ team_id: string;
10644
+ };
10645
+ query?: never;
10646
+ url: '/api/v1/{team_id}/model-providers';
10647
+ };
10648
+ export type CreateModelProviderErrors = {
10649
+ /**
10650
+ * Malformed JSON body (`BAD_REQUEST`) or missing required fields (`MODEL_PROVIDER_VALIDATION_FAILED` with `validation_errors`)
10651
+ */
10652
+ 400: ErrorResponse;
10653
+ /**
10654
+ * Unauthorized
10655
+ */
10656
+ 401: ErrorResponse;
10657
+ /**
10658
+ * A provider with the same name already exists (`MODEL_PROVIDER_ALREADY_EXISTS`)
10659
+ */
10660
+ 409: ErrorResponse;
10661
+ /**
10662
+ * Provider creation failed (`MODEL_PROVIDER_CREATE_FAILED`)
10663
+ */
10664
+ 500: ErrorResponse;
10665
+ };
10666
+ export type CreateModelProviderError = CreateModelProviderErrors[keyof CreateModelProviderErrors];
10667
+ export type CreateModelProviderResponses = {
10668
+ /**
10669
+ * Model provider created successfully
10670
+ */
10671
+ 200: ModelProviderResponse;
10672
+ };
10673
+ export type CreateModelProviderResponse = CreateModelProviderResponses[keyof CreateModelProviderResponses];
10674
+ export type DeleteModelProviderData = {
10675
+ body?: never;
10676
+ path: {
10677
+ /**
10678
+ * Team that owns the model provider(s).
10679
+ */
10680
+ team_id: string;
10681
+ /**
10682
+ * Model provider ID
10683
+ */
10684
+ id: string;
10685
+ };
10686
+ query?: never;
10687
+ url: '/api/v1/{team_id}/model-providers/{id}';
10688
+ };
10689
+ export type DeleteModelProviderErrors = {
10690
+ /**
10691
+ * Cannot delete the last model provider (`MODEL_PROVIDER_LAST_DELETE_BLOCKED`)
10692
+ */
10693
+ 400: ErrorResponse;
10694
+ /**
10695
+ * Unauthorized
10696
+ */
10697
+ 401: ErrorResponse;
10698
+ /**
10699
+ * Model provider not found (`MODEL_PROVIDER_NOT_FOUND`)
10700
+ */
10701
+ 404: ErrorResponse;
10702
+ /**
10703
+ * Provider deletion failed (`MODEL_PROVIDER_DELETE_FAILED`)
10704
+ */
10705
+ 500: ErrorResponse;
10706
+ };
10707
+ export type DeleteModelProviderError = DeleteModelProviderErrors[keyof DeleteModelProviderErrors];
10708
+ export type DeleteModelProviderResponses = {
10709
+ /**
10710
+ * Model provider deleted successfully (no body)
10711
+ */
10712
+ 204: void;
10713
+ };
10714
+ export type DeleteModelProviderResponse = DeleteModelProviderResponses[keyof DeleteModelProviderResponses];
10715
+ export type GetModelProviderData = {
10716
+ body?: never;
10717
+ path: {
10718
+ /**
10719
+ * Team that owns the model provider(s).
10720
+ */
10721
+ team_id: string;
10722
+ /**
10723
+ * Model provider ID
10724
+ */
10725
+ id: string;
10726
+ };
10727
+ query?: never;
10728
+ url: '/api/v1/{team_id}/model-providers/{id}';
10729
+ };
10730
+ export type GetModelProviderErrors = {
10731
+ /**
10732
+ * Unauthorized
10733
+ */
10734
+ 401: ErrorResponse;
10735
+ /**
10736
+ * Model provider not found (`MODEL_PROVIDER_NOT_FOUND`)
10737
+ */
10738
+ 404: ErrorResponse;
10739
+ /**
10740
+ * Failed to retrieve model provider (`DATABASE_ERROR`)
10741
+ */
10742
+ 500: ErrorResponse;
10743
+ };
10744
+ export type GetModelProviderError = GetModelProviderErrors[keyof GetModelProviderErrors];
10745
+ export type GetModelProviderResponses = {
10746
+ /**
10747
+ * Model provider retrieved successfully
10748
+ */
10749
+ 200: ModelProviderResponse;
10750
+ };
10751
+ export type GetModelProviderResponse = GetModelProviderResponses[keyof GetModelProviderResponses];
10752
+ export type UpdateModelProviderData = {
10753
+ body: UpdateModelProviderRequest;
10754
+ path: {
10755
+ /**
10756
+ * Team that owns the model provider(s).
10757
+ */
10758
+ team_id: string;
10759
+ /**
10760
+ * Model provider ID
10761
+ */
10762
+ id: string;
10763
+ };
10764
+ query?: never;
10765
+ url: '/api/v1/{team_id}/model-providers/{id}';
10766
+ };
10767
+ export type UpdateModelProviderErrors = {
10768
+ /**
10769
+ * Malformed JSON body (`BAD_REQUEST`)
10770
+ */
10771
+ 400: ErrorResponse;
10772
+ /**
10773
+ * Unauthorized
10774
+ */
10775
+ 401: ErrorResponse;
10776
+ /**
10777
+ * Model provider not found (`MODEL_PROVIDER_NOT_FOUND`)
10778
+ */
10779
+ 404: ErrorResponse;
10780
+ /**
10781
+ * Provider update failed (`MODEL_PROVIDER_UPDATE_FAILED`)
10782
+ */
10783
+ 500: ErrorResponse;
10784
+ };
10785
+ export type UpdateModelProviderError = UpdateModelProviderErrors[keyof UpdateModelProviderErrors];
10786
+ export type UpdateModelProviderResponses = {
10787
+ /**
10788
+ * Model provider updated successfully
10789
+ */
10790
+ 200: ModelProviderResponse;
10791
+ };
10792
+ export type UpdateModelProviderResponse = UpdateModelProviderResponses[keyof UpdateModelProviderResponses];
10793
+ export type ValidateModelProviderData = {
10794
+ body: ValidateModelProviderRequest;
10795
+ path: {
10796
+ /**
10797
+ * Team that owns the model provider(s).
10798
+ */
10799
+ team_id: string;
10800
+ };
10801
+ query?: never;
10802
+ url: '/api/v1/{team_id}/model-providers/validate';
10803
+ };
10804
+ export type ValidateModelProviderErrors = {
10805
+ /**
10806
+ * Malformed JSON body (`BAD_REQUEST`) or missing required fields (`MODEL_PROVIDER_VALIDATION_FAILED` with `validation_errors`)
10807
+ */
10808
+ 400: ErrorResponse;
10809
+ /**
10810
+ * Unauthorized
10811
+ */
10812
+ 401: ErrorResponse;
10813
+ /**
10814
+ * Validation failed due to an internal service error (`INTERNAL_ERROR`)
10815
+ */
10816
+ 500: ErrorResponse;
10817
+ };
10818
+ export type ValidateModelProviderError = ValidateModelProviderErrors[keyof ValidateModelProviderErrors];
10819
+ export type ValidateModelProviderResponses = {
10820
+ /**
10821
+ * Validation completed (check `is_valid` for the outcome)
10822
+ */
10823
+ 200: ValidateModelProviderResponse;
10824
+ };
10825
+ export type ValidateModelProviderResponse2 = ValidateModelProviderResponses[keyof ValidateModelProviderResponses];
10826
+ export type ListModelProvidersSettingsData = {
10827
+ body?: never;
10828
+ path: {
10829
+ /**
10830
+ * Team that owns the model provider(s).
10831
+ */
10832
+ team_id: string;
10833
+ };
10834
+ query?: never;
10835
+ url: '/api/v1/{team_id}/settings/model-providers';
10836
+ };
10837
+ export type ListModelProvidersSettingsErrors = {
10838
+ /**
10839
+ * Unauthorized
10840
+ */
10841
+ 401: ErrorResponse;
10842
+ /**
10843
+ * Failed to retrieve model providers (`DATABASE_ERROR`)
10844
+ */
10845
+ 500: ErrorResponse;
10846
+ };
10847
+ export type ListModelProvidersSettingsError = ListModelProvidersSettingsErrors[keyof ListModelProvidersSettingsErrors];
10848
+ export type ListModelProvidersSettingsResponses = {
10849
+ /**
10850
+ * Model providers retrieved successfully
10851
+ */
10852
+ 200: ModelProviderResponseList;
10853
+ };
10854
+ export type ListModelProvidersSettingsResponse = ListModelProvidersSettingsResponses[keyof ListModelProvidersSettingsResponses];
10855
+ export type CreateModelProviderSettingsData = {
10856
+ body: CreateModelProviderRequest;
10857
+ path: {
10858
+ /**
10859
+ * Team that owns the model provider(s).
10860
+ */
10861
+ team_id: string;
10862
+ };
10863
+ query?: never;
10864
+ url: '/api/v1/{team_id}/settings/model-providers';
10865
+ };
10866
+ export type CreateModelProviderSettingsErrors = {
10867
+ /**
10868
+ * Malformed JSON body (`BAD_REQUEST`) or missing required fields (`MODEL_PROVIDER_VALIDATION_FAILED` with `validation_errors`)
10869
+ */
10870
+ 400: ErrorResponse;
10871
+ /**
10872
+ * Unauthorized
10873
+ */
10874
+ 401: ErrorResponse;
10875
+ /**
10876
+ * A provider with the same name already exists (`MODEL_PROVIDER_ALREADY_EXISTS`)
10877
+ */
10878
+ 409: ErrorResponse;
10879
+ /**
10880
+ * Provider creation failed (`MODEL_PROVIDER_CREATE_FAILED`)
10881
+ */
10882
+ 500: ErrorResponse;
10883
+ };
10884
+ export type CreateModelProviderSettingsError = CreateModelProviderSettingsErrors[keyof CreateModelProviderSettingsErrors];
10885
+ export type CreateModelProviderSettingsResponses = {
10886
+ /**
10887
+ * Model provider created successfully
10888
+ */
10889
+ 200: ModelProviderResponse;
10890
+ };
10891
+ export type CreateModelProviderSettingsResponse = CreateModelProviderSettingsResponses[keyof CreateModelProviderSettingsResponses];
10892
+ export type DeleteModelProviderSettingsData = {
10893
+ body?: never;
10894
+ path: {
10895
+ /**
10896
+ * Team that owns the model provider(s).
10897
+ */
10898
+ team_id: string;
10899
+ /**
10900
+ * Model provider ID
10901
+ */
10902
+ id: string;
10903
+ };
10904
+ query?: never;
10905
+ url: '/api/v1/{team_id}/settings/model-providers/{id}';
10906
+ };
10907
+ export type DeleteModelProviderSettingsErrors = {
10908
+ /**
10909
+ * Cannot delete the last model provider (`MODEL_PROVIDER_LAST_DELETE_BLOCKED`)
10910
+ */
10911
+ 400: ErrorResponse;
10912
+ /**
10913
+ * Unauthorized
10914
+ */
10915
+ 401: ErrorResponse;
10916
+ /**
10917
+ * Model provider not found (`MODEL_PROVIDER_NOT_FOUND`)
10918
+ */
10919
+ 404: ErrorResponse;
10920
+ /**
10921
+ * Provider deletion failed (`MODEL_PROVIDER_DELETE_FAILED`)
10922
+ */
10923
+ 500: ErrorResponse;
10924
+ };
10925
+ export type DeleteModelProviderSettingsError = DeleteModelProviderSettingsErrors[keyof DeleteModelProviderSettingsErrors];
10926
+ export type DeleteModelProviderSettingsResponses = {
10927
+ /**
10928
+ * Model provider deleted successfully (no body)
10929
+ */
10930
+ 204: void;
10931
+ };
10932
+ export type DeleteModelProviderSettingsResponse = DeleteModelProviderSettingsResponses[keyof DeleteModelProviderSettingsResponses];
10933
+ export type GetModelProviderSettingsData = {
10934
+ body?: never;
10935
+ path: {
10936
+ /**
10937
+ * Team that owns the model provider(s).
10938
+ */
10939
+ team_id: string;
10940
+ /**
10941
+ * Model provider ID
10942
+ */
10943
+ id: string;
10944
+ };
10945
+ query?: never;
10946
+ url: '/api/v1/{team_id}/settings/model-providers/{id}';
10947
+ };
10948
+ export type GetModelProviderSettingsErrors = {
10949
+ /**
10950
+ * Unauthorized
10951
+ */
10952
+ 401: ErrorResponse;
10953
+ /**
10954
+ * Model provider not found (`MODEL_PROVIDER_NOT_FOUND`)
10955
+ */
10956
+ 404: ErrorResponse;
10957
+ /**
10958
+ * Failed to retrieve model provider (`DATABASE_ERROR`)
10959
+ */
10960
+ 500: ErrorResponse;
10961
+ };
10962
+ export type GetModelProviderSettingsError = GetModelProviderSettingsErrors[keyof GetModelProviderSettingsErrors];
10963
+ export type GetModelProviderSettingsResponses = {
10964
+ /**
10965
+ * Model provider retrieved successfully
10966
+ */
10967
+ 200: ModelProviderResponse;
10968
+ };
10969
+ export type GetModelProviderSettingsResponse = GetModelProviderSettingsResponses[keyof GetModelProviderSettingsResponses];
10970
+ export type UpdateModelProviderSettingsData = {
10971
+ body: UpdateModelProviderRequest;
10972
+ path: {
10973
+ /**
10974
+ * Team that owns the model provider(s).
10975
+ */
10976
+ team_id: string;
10977
+ /**
10978
+ * Model provider ID
10979
+ */
10980
+ id: string;
10981
+ };
10982
+ query?: never;
10983
+ url: '/api/v1/{team_id}/settings/model-providers/{id}';
10984
+ };
10985
+ export type UpdateModelProviderSettingsErrors = {
10986
+ /**
10987
+ * Malformed JSON body (`BAD_REQUEST`)
10988
+ */
10989
+ 400: ErrorResponse;
10990
+ /**
10991
+ * Unauthorized
10992
+ */
10993
+ 401: ErrorResponse;
10994
+ /**
10995
+ * Model provider not found (`MODEL_PROVIDER_NOT_FOUND`)
10996
+ */
10997
+ 404: ErrorResponse;
10998
+ /**
10999
+ * Provider update failed (`MODEL_PROVIDER_UPDATE_FAILED`)
11000
+ */
11001
+ 500: ErrorResponse;
11002
+ };
11003
+ export type UpdateModelProviderSettingsError = UpdateModelProviderSettingsErrors[keyof UpdateModelProviderSettingsErrors];
11004
+ export type UpdateModelProviderSettingsResponses = {
11005
+ /**
11006
+ * Model provider updated successfully
11007
+ */
11008
+ 200: ModelProviderResponse;
11009
+ };
11010
+ export type UpdateModelProviderSettingsResponse = UpdateModelProviderSettingsResponses[keyof UpdateModelProviderSettingsResponses];
11011
+ export type ValidateModelProviderSettingsData = {
11012
+ body: ValidateModelProviderRequest;
11013
+ path: {
11014
+ /**
11015
+ * Team that owns the model provider(s).
11016
+ */
11017
+ team_id: string;
11018
+ };
11019
+ query?: never;
11020
+ url: '/api/v1/{team_id}/settings/model-providers/validate';
11021
+ };
11022
+ export type ValidateModelProviderSettingsErrors = {
11023
+ /**
11024
+ * Malformed JSON body (`BAD_REQUEST`) or missing required fields (`MODEL_PROVIDER_VALIDATION_FAILED` with `validation_errors`)
11025
+ */
11026
+ 400: ErrorResponse;
11027
+ /**
11028
+ * Unauthorized
11029
+ */
11030
+ 401: ErrorResponse;
11031
+ /**
11032
+ * Validation failed due to an internal service error (`INTERNAL_ERROR`)
11033
+ */
11034
+ 500: ErrorResponse;
11035
+ };
11036
+ export type ValidateModelProviderSettingsError = ValidateModelProviderSettingsErrors[keyof ValidateModelProviderSettingsErrors];
11037
+ export type ValidateModelProviderSettingsResponses = {
11038
+ /**
11039
+ * Validation completed (check `is_valid` for the outcome)
11040
+ */
11041
+ 200: ValidateModelProviderResponse;
11042
+ };
11043
+ export type ValidateModelProviderSettingsResponse = ValidateModelProviderSettingsResponses[keyof ValidateModelProviderSettingsResponses];
10422
11044
  export type ListProjectsData = {
10423
11045
  body?: never;
10424
11046
  path: {