@bodhiapp/ts-client 0.1.25 → 0.1.27

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.
@@ -127,7 +127,7 @@ export type ApiAliasResponse = {
127
127
  /**
128
128
  * API format/protocol specification
129
129
  */
130
- export type ApiFormat = 'openai' | 'placeholder';
130
+ export type ApiFormat = 'openai' | 'openai_responses' | 'placeholder';
131
131
 
132
132
  /**
133
133
  * Response containing available API formats
@@ -288,519 +288,42 @@ export type AuthInitiateRequest = {
288
288
  client_id: string;
289
289
  };
290
290
 
291
- /**
292
- * Change user role request
293
- */
294
- export type ChangeRoleRequest = {
295
- /**
296
- * Role to assign to the user
297
- */
298
- role: ResourceRole;
299
- };
300
-
301
- export type ChatChoice = {
302
- /**
303
- * The index of the choice in the list of choices.
304
- */
305
- index: number;
306
- message: ChatCompletionResponseMessage;
307
- finish_reason?: null | FinishReason;
308
- logprobs?: null | ChatChoiceLogprobs;
309
- };
310
-
311
- export type ChatChoiceLogprobs = {
312
- /**
313
- * A list of message content tokens with log probability information.
314
- */
315
- content?: Array<ChatCompletionTokenLogprob> | null;
316
- refusal?: Array<ChatCompletionTokenLogprob> | null;
317
- };
318
-
319
- export type ChatChoiceStream = {
320
- /**
321
- * The index of the choice in the list of choices.
322
- */
323
- index: number;
324
- delta: ChatCompletionStreamResponseDelta;
325
- finish_reason?: null | FinishReason;
326
- logprobs?: null | ChatChoiceLogprobs;
327
- };
328
-
329
- export type ChatCompletionAllowedTools = {
330
- /**
331
- * Constrains the tools available to the model to a pre-defined set.
332
- *
333
- * `auto` allows the model to pick from among the allowed tools and generate a
334
- * message.
335
- *
336
- * `required` requires the model to call one or more of the allowed tools.
337
- */
338
- mode: ToolChoiceAllowedMode;
339
- /**
340
- * A list of tool definitions that the model should be allowed to call.
341
- *
342
- * For the Chat Completions API, the list of tool definitions might look like:
343
- * ```json
344
- * [
345
- * { "type": "function", "function": { "name": "get_weather" } },
346
- * { "type": "function", "function": { "name": "get_time" } }
347
- * ]
348
- * ```
349
- */
350
- tools: Array<unknown>;
351
- };
352
-
353
- export type ChatCompletionAllowedToolsChoice = {
354
- allowed_tools: Array<ChatCompletionAllowedTools>;
355
- };
356
-
357
- export type ChatCompletionAudio = {
358
- /**
359
- * The voice the model uses to respond. Supported built-in voices are `alloy`, `ash`,
360
- * `ballad`, `coral`, `echo`, `fable`, `nova`, `onyx`, `sage`, `shimmer`, `marin`, and `cedar`.
361
- */
362
- voice: ChatCompletionAudioVoice;
363
- /**
364
- * Specifies the output audio format. Must be one of `wav`, `aac`, `mp3`, `flac`, `opus`, or `pcm16`.
365
- */
366
- format: ChatCompletionAudioFormat;
367
- };
368
-
369
- export type ChatCompletionAudioFormat = 'wav' | 'aac' | 'mp3' | 'flac' | 'opus' | 'pcm16';
370
-
371
- export type ChatCompletionAudioVoice = 'alloy' | 'ash' | 'ballad' | 'coral' | 'echo' | 'fable' | 'nova' | 'onyx' | 'sage' | 'shimmer' | {
372
- other: string;
373
- };
374
-
375
- export type ChatCompletionFunctionCall = 'none' | 'auto' | {
376
- /**
377
- * Forces the model to call the specified function.
378
- */
379
- Function: {
380
- name: string;
381
- };
382
- };
383
-
384
- export type ChatCompletionFunctions = {
385
- /**
386
- * The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.
387
- */
388
- name: string;
389
- /**
390
- * A description of what the function does, used by the model to choose when and how to call the function.
391
- */
392
- description?: string | null;
393
- /**
394
- * The parameters the functions accepts, described as a JSON Schema object. See the [guide](https://platform.openai.com/docs/guides/text-generation/function-calling) for examples, and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format.
395
- *
396
- * Omitting `parameters` defines a function with an empty parameter list.
397
- */
398
- parameters: unknown;
399
- };
400
-
401
- export type ChatCompletionMessageCustomToolCall = {
402
- /**
403
- * The ID of the tool call.
404
- */
405
- id: string;
406
- /**
407
- * The custom tool that the model called.
408
- */
409
- custom_tool: CustomTool;
410
- };
411
-
412
- export type ChatCompletionMessageToolCall = {
413
- /**
414
- * The ID of the tool call.
415
- */
416
- id: string;
417
- /**
418
- * The function that the model called.
419
- */
420
- function: FunctionCall;
421
- };
422
-
423
- export type ChatCompletionMessageToolCallChunk = {
424
- index: number;
425
- /**
426
- * The ID of the tool call.
427
- */
428
- id?: string | null;
429
- type?: null | FunctionType;
430
- function?: null | FunctionCallStream;
431
- };
432
-
433
- export type ChatCompletionMessageToolCalls = (ChatCompletionMessageToolCall & {
434
- type: 'function';
435
- }) | (ChatCompletionMessageCustomToolCall & {
436
- type: 'custom';
437
- });
438
-
439
- /**
440
- * Specifies a tool the model should use. Use to force the model to call a specific function.
441
- */
442
- export type ChatCompletionNamedToolChoice = {
443
- function: FunctionName;
444
- };
445
-
446
- export type ChatCompletionNamedToolChoiceCustom = {
447
- custom: CustomName;
448
- };
449
-
450
- export type ChatCompletionRequestAssistantMessage = {
451
- content?: null | ChatCompletionRequestAssistantMessageContent;
452
- /**
453
- * The refusal message by the assistant.
454
- */
455
- refusal?: string | null;
456
- /**
457
- * An optional name for the participant. Provides the model information to differentiate between participants of the same role.
458
- */
459
- name?: string | null;
460
- audio?: null | ChatCompletionRequestAssistantMessageAudio;
461
- tool_calls?: Array<ChatCompletionMessageToolCalls> | null;
462
- function_call?: null | FunctionCall;
463
- };
464
-
465
- export type ChatCompletionRequestAssistantMessageAudio = {
466
- /**
467
- * Unique identifier for a previous audio response from the model.
468
- */
469
- id: string;
470
- };
471
-
472
- export type ChatCompletionRequestAssistantMessageContent = string | Array<ChatCompletionRequestAssistantMessageContentPart>;
473
-
474
- export type ChatCompletionRequestAssistantMessageContentPart = (ChatCompletionRequestMessageContentPartText & {
475
- type: 'text';
476
- }) | (ChatCompletionRequestMessageContentPartRefusal & {
477
- type: 'refusal';
478
- });
479
-
480
- export type ChatCompletionRequestDeveloperMessage = {
481
- /**
482
- * The contents of the developer message.
483
- */
484
- content: ChatCompletionRequestDeveloperMessageContent;
485
- /**
486
- * An optional name for the participant. Provides the model information to differentiate between participants of the same role.
487
- */
488
- name?: string | null;
489
- };
490
-
491
- export type ChatCompletionRequestDeveloperMessageContent = string | Array<ChatCompletionRequestDeveloperMessageContentPart>;
492
-
493
- export type ChatCompletionRequestDeveloperMessageContentPart = ChatCompletionRequestMessageContentPartText & {
494
- type: 'text';
495
- };
496
-
497
- export type ChatCompletionRequestFunctionMessage = {
498
- /**
499
- * The return value from the function call, to return to the model.
500
- */
501
- content?: string | null;
502
- /**
503
- * The name of the function to call.
504
- */
505
- name: string;
506
- };
507
-
508
- export type ChatCompletionRequestMessage = (ChatCompletionRequestDeveloperMessage & {
509
- role: 'developer';
510
- }) | (ChatCompletionRequestSystemMessage & {
511
- role: 'system';
512
- }) | (ChatCompletionRequestUserMessage & {
513
- role: 'user';
514
- }) | (ChatCompletionRequestAssistantMessage & {
515
- role: 'assistant';
516
- }) | (ChatCompletionRequestToolMessage & {
517
- role: 'tool';
518
- }) | (ChatCompletionRequestFunctionMessage & {
519
- role: 'function';
520
- });
521
-
522
- /**
523
- * Learn about [audio inputs](https://platform.openai.com/docs/guides/audio).
524
- */
525
- export type ChatCompletionRequestMessageContentPartAudio = {
526
- input_audio: InputAudio;
527
- };
528
-
529
- export type ChatCompletionRequestMessageContentPartFile = {
530
- file: FileObject;
531
- };
532
-
533
- export type ChatCompletionRequestMessageContentPartImage = {
534
- image_url: ImageUrl;
535
- };
536
-
537
- export type ChatCompletionRequestMessageContentPartRefusal = {
538
- /**
539
- * The refusal message generated by the model.
540
- */
541
- refusal: string;
542
- };
543
-
544
- export type ChatCompletionRequestMessageContentPartText = {
545
- text: string;
546
- };
547
-
548
- export type ChatCompletionRequestSystemMessage = {
549
- /**
550
- * The contents of the system message.
551
- */
552
- content: ChatCompletionRequestSystemMessageContent;
553
- /**
554
- * An optional name for the participant. Provides the model information to differentiate between participants of the same role.
555
- */
556
- name?: string | null;
557
- };
558
-
559
- export type ChatCompletionRequestSystemMessageContent = string | Array<ChatCompletionRequestSystemMessageContentPart>;
560
-
561
- export type ChatCompletionRequestSystemMessageContentPart = ChatCompletionRequestMessageContentPartText & {
562
- type: 'text';
563
- };
564
-
565
- /**
566
- * Tool message
567
- */
568
- export type ChatCompletionRequestToolMessage = {
569
- /**
570
- * The contents of the tool message.
571
- */
572
- content: ChatCompletionRequestToolMessageContent;
573
- tool_call_id: string;
574
- };
575
-
576
- export type ChatCompletionRequestToolMessageContent = string | Array<ChatCompletionRequestToolMessageContentPart>;
577
-
578
- export type ChatCompletionRequestToolMessageContentPart = ChatCompletionRequestMessageContentPartText & {
579
- type: 'text';
580
- };
581
-
582
- export type ChatCompletionRequestUserMessage = {
583
- /**
584
- * The contents of the user message.
585
- */
586
- content: ChatCompletionRequestUserMessageContent;
587
- /**
588
- * An optional name for the participant. Provides the model information to differentiate between participants of the same role.
589
- */
590
- name?: string | null;
591
- };
592
-
593
- export type ChatCompletionRequestUserMessageContent = string | Array<ChatCompletionRequestUserMessageContentPart>;
594
-
595
- export type ChatCompletionRequestUserMessageContentPart = (ChatCompletionRequestMessageContentPartText & {
596
- type: 'text';
597
- }) | (ChatCompletionRequestMessageContentPartImage & {
598
- type: 'image_url';
599
- }) | (ChatCompletionRequestMessageContentPartAudio & {
600
- type: 'input_audio';
601
- }) | (ChatCompletionRequestMessageContentPartFile & {
602
- type: 'file';
603
- });
604
-
605
- /**
606
- * A chat completion message generated by the model.
607
- */
608
- export type ChatCompletionResponseMessage = {
609
- /**
610
- * The contents of the message.
611
- */
612
- content?: string | null;
291
+ export type BodhiApiError = {
613
292
  /**
614
- * The refusal message generated by the model.
615
- */
616
- refusal?: string | null;
617
- /**
618
- * The tool calls generated by the model, such as function calls.
619
- */
620
- tool_calls?: Array<ChatCompletionMessageToolCalls> | null;
621
- annotations?: Array<ChatCompletionResponseMessageAnnotation> | null;
622
- /**
623
- * The role of the author of this message.
624
- */
625
- role: Role;
626
- function_call?: null | FunctionCall;
627
- audio?: null | ChatCompletionResponseMessageAudio;
628
- /**
629
- * The contents of the reasoning message.
630
- */
631
- reasoning_content?: string | null;
632
- };
633
-
634
- export type ChatCompletionResponseMessageAnnotation = {
635
- url_citation: UrlCitation;
636
- type: 'url_citation';
637
- };
638
-
639
- export type ChatCompletionResponseMessageAudio = {
640
- /**
641
- * Unique identifier for this audio response.
642
- */
643
- id: string;
644
- /**
645
- * The Unix timestamp (in seconds) for when this audio response will no longer be accessible on the server for use in multi-turn conversations.
646
- */
647
- expires_at: number;
648
- /**
649
- * Base64 encoded audio bytes generated by the model, in the format specified in the request.
650
- */
651
- data: string;
652
- /**
653
- * Transcript of the audio generated by the model.
654
- */
655
- transcript: string;
656
- };
657
-
658
- /**
659
- * Options for streaming response. Only set this when you set `stream: true`.
660
- */
661
- export type ChatCompletionStreamOptions = {
662
- /**
663
- * If set, an additional chunk will be streamed before the `data: [DONE]`
664
- * message. The `usage` field on this chunk shows the token usage statistics
665
- * for the entire request, and the `choices` field will always be an empty
666
- * array.
667
- *
668
- * All other chunks will also include a `usage` field, but with a null
669
- * value. **NOTE:** If the stream is interrupted, you may not receive the
670
- * final usage chunk which contains the total token usage for the request.
671
- */
672
- include_usage?: boolean | null;
673
- /**
674
- * When true, stream obfuscation will be enabled. Stream obfuscation adds
675
- * random characters to an `obfuscation` field on streaming delta events to
676
- * normalize payload sizes as a mitigation to certain side-channel attacks.
677
- * These obfuscation fields are included by default, but add a small amount
678
- * of overhead to the data stream. You can set `include_obfuscation` to
679
- * false to optimize for bandwidth if you trust the network links between
680
- * your application and the OpenAI API.
681
- */
682
- include_obfuscation?: boolean | null;
683
- };
684
-
685
- /**
686
- * A chat completion delta generated by streamed model responses.
687
- */
688
- export type ChatCompletionStreamResponseDelta = {
689
- /**
690
- * The contents of the chunk message.
691
- */
692
- content?: string | null;
693
- function_call?: null | FunctionCallStream;
694
- tool_calls?: Array<ChatCompletionMessageToolCallChunk> | null;
695
- role?: null | Role;
696
- /**
697
- * The refusal message generated by the model.
698
- */
699
- refusal?: string | null;
700
- /**
701
- * The contents of the chunk reasoning message.
293
+ * Error details following OpenAI API error format
702
294
  */
703
- reasoning_content?: string | null;
295
+ error: BodhiErrorBody;
704
296
  };
705
297
 
706
- export type ChatCompletionTokenLogprob = {
707
- /**
708
- * The token.
709
- */
710
- token: string;
298
+ export type BodhiErrorBody = {
711
299
  /**
712
- * The log probability of this token, if it is within the top 20 most likely tokens. Otherwise, the value `-9999.0` is used to signify that the token is very unlikely.
713
- */
714
- logprob: number;
715
- /**
716
- * A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be `null` if there is no bytes representation for the token.
717
- */
718
- bytes?: Array<number> | null;
719
- /**
720
- * List of the most likely tokens and their log probability, at this token position. In rare cases, there may be fewer than the number of requested `top_logprobs` returned.
300
+ * Human-readable error message describing what went wrong
721
301
  */
722
- top_logprobs: Array<TopLogprobs>;
723
- };
724
-
725
- export type ChatCompletionTool = {
726
- function: FunctionObject;
727
- };
728
-
729
- /**
730
- * Controls which (if any) tool is called by the model.
731
- * `none` means the model will not call any tool and instead generates a message.
732
- * `auto` means the model can pick between generating a message or calling one or more tools.
733
- * `required` means the model must call one or more tools.
734
- * Specifying a particular tool via `{"type": "function", "function": {"name": "my_function"}}` forces the model to call that tool.
735
- *
736
- * `none` is the default when no tools are present. `auto` is the default if tools are present.
737
- */
738
- export type ChatCompletionToolChoiceOption = (ChatCompletionAllowedToolsChoice & {
739
- type: 'allowed_tools';
740
- }) | (ChatCompletionNamedToolChoice & {
741
- type: 'function';
742
- }) | (ChatCompletionNamedToolChoiceCustom & {
743
- type: 'custom';
744
- }) | (ToolChoiceOptions & {
745
- type: 'mode';
746
- });
747
-
748
- export type ChatCompletionTools = (ChatCompletionTool & {
749
- type: 'function';
750
- }) | (CustomToolChatCompletions & {
751
- type: 'custom';
752
- });
753
-
754
- export type ChatRequest = {
755
- model: string;
756
- messages: Array<Message>;
757
- stream?: boolean | null;
758
- format?: string | null;
759
- keep_alive?: null | Duration;
760
- options?: null | Options;
761
- };
762
-
763
- /**
764
- * Breakdown of tokens used in a completion.
765
- */
766
- export type CompletionTokensDetails = {
767
- accepted_prediction_tokens?: number | null;
302
+ message: string;
768
303
  /**
769
- * Audio input tokens generated by the model.
304
+ * Error type categorizing the kind of error that occurred
770
305
  */
771
- audio_tokens?: number | null;
306
+ type: string;
772
307
  /**
773
- * Tokens generated by the model for reasoning.
308
+ * Specific error code for programmatic error handling
774
309
  */
775
- reasoning_tokens?: number | null;
310
+ code?: string | null;
776
311
  /**
777
- * When using Predicted Outputs, the number of tokens in the
778
- * prediction that did not appear in the completion. However, like
779
- * reasoning tokens, these tokens are still counted in the total
780
- * completion tokens for purposes of billing, output, and context
781
- * window limits.
312
+ * Additional error parameters as key-value pairs (for validation errors)
782
313
  */
783
- rejected_prediction_tokens?: number | null;
314
+ param?: {
315
+ [key: string]: string;
316
+ } | null;
784
317
  };
785
318
 
786
319
  /**
787
- * Usage statistics for the completion request.
320
+ * Change user role request
788
321
  */
789
- export type CompletionUsage = {
790
- /**
791
- * Number of tokens in the prompt.
792
- */
793
- prompt_tokens: number;
794
- /**
795
- * Number of tokens in the generated completion.
796
- */
797
- completion_tokens: number;
322
+ export type ChangeRoleRequest = {
798
323
  /**
799
- * Total number of tokens used in the request (prompt + completion).
324
+ * Role to assign to the user
800
325
  */
801
- total_tokens: number;
802
- prompt_tokens_details?: null | PromptTokensDetails;
803
- completion_tokens_details?: null | CompletionTokensDetails;
326
+ role: ResourceRole;
804
327
  };
805
328
 
806
329
  export type ContextLimits = {
@@ -813,348 +336,51 @@ export type CopyAliasRequest = {
813
336
  };
814
337
 
815
338
  /**
816
- * Request for creating an app access request
817
- */
818
- export type CreateAccessRequest = {
819
- /**
820
- * App client ID from Keycloak
821
- */
822
- app_client_id: string;
823
- /**
824
- * Flow type: "redirect" or "popup"
825
- */
826
- flow_type: FlowType;
827
- /**
828
- * Redirect URL for result notification (required for redirect flow)
829
- */
830
- redirect_url?: string | null;
831
- /**
832
- * Role requested for the external app (scope_user_user or scope_user_power_user)
833
- */
834
- requested_role: UserScope;
835
- /**
836
- * Resources requested (tools, etc.)
837
- */
838
- requested: RequestedResources;
839
- };
840
-
841
- export type CreateAccessRequestResponse = {
842
- /**
843
- * Access request ID
844
- */
845
- id: string;
846
- /**
847
- * Status (always "draft")
848
- */
849
- status: AppAccessRequestStatus;
850
- /**
851
- * Review URL for user to approve/deny
852
- */
853
- review_url: string;
854
- };
855
-
856
- /**
857
- * Wrapper for creating auth configs with server_id in body instead of path
858
- */
859
- export type CreateAuthConfig = CreateMcpAuthConfigRequest & {
860
- mcp_server_id: string;
861
- };
862
-
863
- export type CreateChatCompletionRequest = {
864
- /**
865
- * A list of messages comprising the conversation so far. Depending on the
866
- * [model](https://platform.openai.com/docs/models) you use, different message types (modalities)
867
- * are supported, like [text](https://platform.openai.com/docs/guides/text-generation),
868
- * [images](https://platform.openai.com/docs/guides/vision), and
869
- * [audio](https://platform.openai.com/docs/guides/audio).
870
- */
871
- messages: Array<ChatCompletionRequestMessage>;
872
- /**
873
- * Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI
874
- * offers a wide range of models with different capabilities, performance
875
- * characteristics, and price points. Refer to the
876
- * [model guide](https://platform.openai.com/docs/models)
877
- * to browse and compare available models.
878
- */
879
- model: string;
880
- /**
881
- * Output types that you would like the model to generate. Most models are capable of generating
882
- * text, which is the default:
883
- *
884
- * `["text"]`
885
- * The `gpt-4o-audio-preview` model can also be used to
886
- * [generate audio](https://platform.openai.com/docs/guides/audio). To request that this model
887
- * generate both text and audio responses, you can use:
888
- *
889
- * `["text", "audio"]`
890
- */
891
- modalities?: Array<ResponseModalities> | null;
892
- verbosity?: null | Verbosity;
893
- reasoning_effort?: null | ReasoningEffort;
894
- /**
895
- * An upper bound for the number of tokens that can be generated for a completion, including
896
- * visible output tokens and [reasoning tokens](https://platform.openai.com/docs/guides/reasoning).
897
- */
898
- max_completion_tokens?: number | null;
899
- /**
900
- * Number between -2.0 and 2.0. Positive values penalize new tokens based on
901
- * their existing frequency in the text so far, decreasing the model's
902
- * likelihood to repeat the same line verbatim.
903
- */
904
- frequency_penalty?: number | null;
905
- /**
906
- * Number between -2.0 and 2.0. Positive values penalize new tokens based on
907
- * whether they appear in the text so far, increasing the model's likelihood
908
- * to talk about new topics.
909
- */
910
- presence_penalty?: number | null;
911
- web_search_options?: null | WebSearchOptions;
912
- /**
913
- * An integer between 0 and 20 specifying the number of most likely tokens to
914
- * return at each token position, each with an associated log probability.
915
- * `logprobs` must be set to `true` if this parameter is used.
916
- */
917
- top_logprobs?: number | null;
918
- response_format?: null | ResponseFormat;
919
- audio?: null | ChatCompletionAudio;
920
- /**
921
- * Whether or not to store the output of this chat completion request for
922
- * use in our [model distillation](https://platform.openai.com/docs/guides/distillation) or
923
- * [evals](https://platform.openai.com/docs/guides/evals) products.
924
- *
925
- * Supports text and image inputs. Note: image inputs over 8MB will be dropped.
926
- */
927
- store?: boolean | null;
928
- /**
929
- * If set to true, the model response data will be streamed to the client
930
- * as it is generated using [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format).
931
- * See the [Streaming section below](https://platform.openai.com/docs/api-reference/chat/streaming)
932
- * for more information, along with the [streaming responses](https://platform.openai.com/docs/guides/streaming-responses)
933
- * guide for more information on how to handle the streaming events.
934
- */
935
- stream?: boolean | null;
936
- stop?: null | StopConfiguration;
937
- /**
938
- * Modify the likelihood of specified tokens appearing in the completion.
939
- *
940
- * Accepts a json object that maps tokens (specified by their token ID in the tokenizer) to an associated bias value from -100 to 100.
941
- * Mathematically, the bias is added to the logits generated by the model prior to sampling.
942
- * The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection;
943
- * values like -100 or 100 should result in a ban or exclusive selection of the relevant token.
944
- */
945
- logit_bias?: {
946
- [key: string]: number;
947
- } | null;
948
- /**
949
- * Whether to return log probabilities of the output tokens or not. If true,
950
- * returns the log probabilities of each output token returned in the `content` of `message`.
951
- */
952
- logprobs?: boolean | null;
953
- /**
954
- * The maximum number of [tokens](https://platform.openai.com/tokenizer) that can be generated in
955
- * the chat completion. This value can be used to control [costs](https://openai.com/api/pricing/) for text generated via API.
956
- * This value is now deprecated in favor of `max_completion_tokens`, and is
957
- * not compatible with [o-series models](https://platform.openai.com/docs/guides/reasoning).
958
- * @deprecated
959
- */
960
- max_tokens?: number | null;
961
- /**
962
- * How many chat completion choices to generate for each input message. Note that you will be
963
- * charged based on the number of generated tokens across all of the choices. Keep `n` as `1` to
964
- * minimize costs.
965
- */
966
- n?: number | null;
967
- prediction?: null | PredictionContent;
968
- /**
969
- * This feature is in Beta.
970
- *
971
- * If specified, our system will make a best effort to sample deterministically, such that
972
- * repeated requests with the same `seed` and parameters should return the same result.
973
- *
974
- * Determinism is not guaranteed, and you should refer to the `system_fingerprint` response
975
- * parameter to monitor changes in the backend.
976
- * @deprecated
977
- */
978
- seed?: number | null;
979
- stream_options?: null | ChatCompletionStreamOptions;
980
- service_tier?: null | ServiceTier;
981
- /**
982
- * What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random,
983
- * while lower values like 0.2 will make it more focused and deterministic.
984
- *
985
- * We generally recommend altering this or `top_p` but not both.
986
- */
987
- temperature?: number | null;
988
- /**
989
- * An alternative to sampling with temperature, called nucleus sampling,
990
- * where the model considers the results of the tokens with top_p probability mass.
991
- * So 0.1 means only the tokens comprising the top 10% probability mass are considered.
992
- *
993
- * We generally recommend altering this or `temperature` but not both.
994
- */
995
- top_p?: number | null;
996
- /**
997
- * A list of tools the model may call. You can provide either
998
- * [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) or
999
- * [function tools](https://platform.openai.com/docs/guides/function-calling).
1000
- */
1001
- tools?: Array<ChatCompletionTools> | null;
1002
- tool_choice?: null | ChatCompletionToolChoiceOption;
1003
- /**
1004
- * Whether to enable [parallel function calling](https://platform.openai.com/docs/guides/function-calling#configuring-parallel-function-calling)
1005
- * during tool use.
1006
- */
1007
- parallel_tool_calls?: boolean | null;
1008
- /**
1009
- * This field is being replaced by `safety_identifier` and `prompt_cache_key`. Use `prompt_cache_key`
1010
- * instead to maintain caching optimizations.
1011
- * A stable identifier for your end-users.
1012
- * Used to boost cache hit rates by better bucketing similar requests and to help OpenAI detect and
1013
- * prevent abuse. [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
1014
- * @deprecated
1015
- */
1016
- user?: string | null;
1017
- /**
1018
- * A stable identifier used to help detect users of your application that may be violating OpenAI's
1019
- * usage policies.
1020
- *
1021
- * The IDs should be a string that uniquely identifies each user. We recommend hashing their username
1022
- * or email address, in order to avoid sending us any identifying information. [Learn
1023
- * more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
1024
- */
1025
- safety_identifier?: string | null;
1026
- /**
1027
- * Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces
1028
- * the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
1029
- */
1030
- prompt_cache_key?: string | null;
1031
- function_call?: null | ChatCompletionFunctionCall;
1032
- /**
1033
- * Deprecated in favor of `tools`.
1034
- *
1035
- * A list of functions the model may generate JSON inputs for.
1036
- * @deprecated
1037
- */
1038
- functions?: Array<ChatCompletionFunctions> | null;
1039
- metadata?: null | Metadata;
1040
- /**
1041
- * llama.cpp compatible extra params in request
1042
- */
1043
- chat_template_kwargs?: {} | null;
1044
- };
1045
-
1046
- /**
1047
- * Represents a chat completion response returned by model, based on the provided input.
1048
- */
1049
- export type CreateChatCompletionResponse = {
1050
- /**
1051
- * A unique identifier for the chat completion.
1052
- */
1053
- id: string;
1054
- /**
1055
- * A list of chat completion choices. Can be more than one if `n` is greater than 1.
1056
- */
1057
- choices: Array<ChatChoice>;
1058
- /**
1059
- * The Unix timestamp (in seconds) of when the chat completion was created.
1060
- */
1061
- created: number;
1062
- /**
1063
- * The model used for the chat completion.
1064
- */
1065
- model: string;
1066
- service_tier?: null | ServiceTier;
1067
- /**
1068
- * This fingerprint represents the backend configuration that the model runs with.
1069
- *
1070
- * Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made that might impact determinism.
1071
- * @deprecated
1072
- */
1073
- system_fingerprint?: string | null;
1074
- /**
1075
- * The object type, which is always `chat.completion`.
1076
- */
1077
- object: string;
1078
- usage?: null | CompletionUsage;
1079
- };
1080
-
1081
- /**
1082
- * Represents a streamed chunk of a chat completion response returned by the model, based on the provided input. [Learn more](https://platform.openai.com/docs/guides/streaming-responses).
1083
- */
1084
- export type CreateChatCompletionStreamResponse = {
1085
- /**
1086
- * A unique identifier for the chat completion. Each chunk has the same ID.
1087
- */
1088
- id: string;
1089
- /**
1090
- * A list of chat completion choices. Can contain more than one elements if `n` is greater than 1. Can also be empty for the last chunk if you set `stream_options: {"include_usage": true}`.
1091
- */
1092
- choices: Array<ChatChoiceStream>;
1093
- /**
1094
- * The Unix timestamp (in seconds) of when the chat completion was created. Each chunk has the same timestamp.
1095
- */
1096
- created: number;
1097
- /**
1098
- * The model to generate the completion.
1099
- */
1100
- model: string;
1101
- service_tier?: null | ServiceTier;
1102
- /**
1103
- * This fingerprint represents the backend configuration that the model runs with.
1104
- * Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made that might impact determinism.
1105
- * @deprecated
1106
- */
1107
- system_fingerprint?: string | null;
339
+ * Request for creating an app access request
340
+ */
341
+ export type CreateAccessRequest = {
1108
342
  /**
1109
- * The object type, which is always `chat.completion.chunk`.
343
+ * App client ID from Keycloak
1110
344
  */
1111
- object: string;
1112
- usage?: null | CompletionUsage;
1113
- };
1114
-
1115
- export type CreateEmbeddingRequest = {
345
+ app_client_id: string;
1116
346
  /**
1117
- * ID of the model to use. You can use the [List models](https://platform.openai.com/docs/api-reference/models/list)
1118
- * API to see all of your available models, or see our [Model overview](https://platform.openai.com/docs/models)
1119
- * for descriptions of them.
347
+ * Flow type: "redirect" or "popup"
1120
348
  */
1121
- model: string;
349
+ flow_type: FlowType;
1122
350
  /**
1123
- * Input text to embed, encoded as a string or array of tokens. To embed multiple inputs in a single
1124
- * request, pass an array of strings or array of token arrays. The input must not exceed the max
1125
- * input tokens for the model (8192 tokens for all embedding models), cannot be an empty string, and
1126
- * any array must be 2048 dimensions or less. [Example Python
1127
- * code](https://cookbook.openai.com/examples/how_to_count_tokens_with_tiktoken) for counting tokens.
1128
- * In addition to the per-input token limit, all embedding models enforce a maximum of 300,000
1129
- * tokens summed across all inputs in a single request.
351
+ * Redirect URL for result notification (required for redirect flow)
1130
352
  */
1131
- input: EmbeddingInput;
1132
- encoding_format?: null | EncodingFormat;
353
+ redirect_url?: string | null;
1133
354
  /**
1134
- * A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.
1135
- * [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#end-user-ids).
355
+ * Role requested for the external app (scope_user_user or scope_user_power_user)
1136
356
  */
1137
- user?: string | null;
357
+ requested_role: UserScope;
1138
358
  /**
1139
- * The number of dimensions the resulting output embeddings should have. Only supported in `text-embedding-3` and later models.
359
+ * Resources requested (tools, etc.)
1140
360
  */
1141
- dimensions?: number | null;
361
+ requested: RequestedResources;
1142
362
  };
1143
363
 
1144
- export type CreateEmbeddingResponse = {
1145
- object: string;
364
+ export type CreateAccessRequestResponse = {
1146
365
  /**
1147
- * The name of the model used to generate the embedding.
366
+ * Access request ID
1148
367
  */
1149
- model: string;
368
+ id: string;
1150
369
  /**
1151
- * The list of embeddings generated by the model.
370
+ * Status (always "draft")
1152
371
  */
1153
- data: Array<Embedding>;
372
+ status: AppAccessRequestStatus;
1154
373
  /**
1155
- * The usage information for the request.
374
+ * Review URL for user to approve/deny
1156
375
  */
1157
- usage: EmbeddingUsage;
376
+ review_url: string;
377
+ };
378
+
379
+ /**
380
+ * Wrapper for creating auth configs with server_id in body instead of path
381
+ */
382
+ export type CreateAuthConfig = CreateMcpAuthConfigRequest & {
383
+ mcp_server_id: string;
1158
384
  };
1159
385
 
1160
386
  /**
@@ -1203,61 +429,6 @@ export type CreateTokenRequest = {
1203
429
  scope: TokenScope;
1204
430
  };
1205
431
 
1206
- export type CustomGrammarFormatParam = {
1207
- /**
1208
- * The grammar definition.
1209
- */
1210
- definition: string;
1211
- /**
1212
- * The syntax of the grammar definition. One of `lark` or `regex`.
1213
- */
1214
- syntax: GrammarSyntax;
1215
- };
1216
-
1217
- export type CustomName = {
1218
- /**
1219
- * The name of the custom tool to call.
1220
- */
1221
- name: string;
1222
- };
1223
-
1224
- export type CustomTool = {
1225
- /**
1226
- * The name of the custom tool to call.
1227
- */
1228
- name: string;
1229
- /**
1230
- * The input for the custom tool call generated by the model.
1231
- */
1232
- input: string;
1233
- };
1234
-
1235
- export type CustomToolChatCompletions = {
1236
- custom: CustomToolProperties;
1237
- };
1238
-
1239
- export type CustomToolProperties = {
1240
- /**
1241
- * The name of the custom tool, used to identify it in tool calls.
1242
- */
1243
- name: string;
1244
- /**
1245
- * Optional description of the custom tool, used to provide more context.
1246
- */
1247
- description?: string | null;
1248
- /**
1249
- * The input format for the custom tool. Default is unconstrained text.
1250
- */
1251
- format: CustomToolPropertiesFormat;
1252
- };
1253
-
1254
- export type CustomToolPropertiesFormat = {
1255
- type: 'text';
1256
- } | {
1257
- grammar: CustomGrammarFormatParam;
1258
- type: 'grammar';
1259
- };
1260
-
1261
432
  /**
1262
433
  * Dashboard user information from a validated dashboard session token
1263
434
  */
@@ -1285,8 +456,6 @@ export type DownloadRequest = {
1285
456
 
1286
457
  export type DownloadStatus = 'pending' | 'completed' | 'error';
1287
458
 
1288
- export type Duration = string;
1289
-
1290
459
  export type DynamicRegisterRequest = {
1291
460
  registration_endpoint: string;
1292
461
  redirect_uri: string;
@@ -1301,61 +470,6 @@ export type DynamicRegisterResponse = {
1301
470
  registration_access_token?: string | null;
1302
471
  };
1303
472
 
1304
- /**
1305
- * Represents an embedding vector returned by embedding endpoint.
1306
- */
1307
- export type Embedding = {
1308
- /**
1309
- * The index of the embedding in the list of embeddings.
1310
- */
1311
- index: number;
1312
- /**
1313
- * The object type, which is always "embedding".
1314
- */
1315
- object: string;
1316
- /**
1317
- * The embedding vector, which is a list of floats. The length of vector
1318
- * depends on the model as listed in the [embedding guide](https://platform.openai.com/docs/guides/embeddings).
1319
- */
1320
- embedding: Array<number>;
1321
- };
1322
-
1323
- export type EmbeddingInput = string | Array<string> | Array<number> | Array<Array<number>>;
1324
-
1325
- export type EmbeddingUsage = {
1326
- /**
1327
- * The number of tokens used by the prompt.
1328
- */
1329
- prompt_tokens: number;
1330
- /**
1331
- * The total number of tokens used by the request.
1332
- */
1333
- total_tokens: number;
1334
- };
1335
-
1336
- export type EncodingFormat = 'float' | 'base64';
1337
-
1338
- export type ErrorBody = {
1339
- /**
1340
- * Human-readable error message describing what went wrong
1341
- */
1342
- message: string;
1343
- /**
1344
- * Error type categorizing the kind of error that occurred
1345
- */
1346
- type: string;
1347
- /**
1348
- * Specific error code for programmatic error handling
1349
- */
1350
- code?: string | null;
1351
- /**
1352
- * Additional error parameters as key-value pairs (for validation errors)
1353
- */
1354
- param?: {
1355
- [key: string]: string;
1356
- } | null;
1357
- };
1358
-
1359
473
  /**
1360
474
  * Request to fetch available models from provider
1361
475
  */
@@ -1377,110 +491,8 @@ export type FetchModelsResponse = {
1377
491
  models: Array<string>;
1378
492
  };
1379
493
 
1380
- export type FileObject = {
1381
- /**
1382
- * The base64 encoded file data, used when passing the file to the model
1383
- * as a string.
1384
- */
1385
- file_data?: string | null;
1386
- /**
1387
- * The ID of an uploaded file to use as input.
1388
- */
1389
- file_id?: string | null;
1390
- /**
1391
- * The name of the file, used when passing the file to the model as a
1392
- * string.
1393
- */
1394
- filename?: string | null;
1395
- };
1396
-
1397
- export type FinishReason = 'stop' | 'length' | 'tool_calls' | 'content_filter' | 'function_call';
1398
-
1399
494
  export type FlowType = 'redirect' | 'popup';
1400
495
 
1401
- /**
1402
- * The name and arguments of a function that should be called, as generated by the model.
1403
- */
1404
- export type FunctionCall = {
1405
- /**
1406
- * The name of the function to call.
1407
- */
1408
- name: string;
1409
- /**
1410
- * The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.
1411
- */
1412
- arguments: string;
1413
- };
1414
-
1415
- export type FunctionCallStream = {
1416
- /**
1417
- * The name of the function to call.
1418
- */
1419
- name?: string | null;
1420
- /**
1421
- * The arguments to call the function with, as generated by the model in JSON format.
1422
- * Note that the model does not always generate valid JSON, and may hallucinate
1423
- * parameters not defined by your function schema. Validate the arguments in your
1424
- * code before calling your function.
1425
- */
1426
- arguments?: string | null;
1427
- };
1428
-
1429
- export type FunctionName = {
1430
- /**
1431
- * The name of the function to call.
1432
- */
1433
- name: string;
1434
- };
1435
-
1436
- export type FunctionObject = {
1437
- /**
1438
- * The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.
1439
- */
1440
- name: string;
1441
- /**
1442
- * A description of what the function does, used by the model to choose when and how to call the function.
1443
- */
1444
- description?: string | null;
1445
- /**
1446
- * The parameters the functions accepts, described as a JSON Schema object. See the [guide](https://platform.openai.com/docs/guides/text-generation/function-calling) for examples, and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format.
1447
- *
1448
- * Omitting `parameters` defines a function with an empty parameter list.
1449
- */
1450
- parameters?: unknown;
1451
- /**
1452
- * Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](https://platform.openai.com/docs/guides/function-calling).
1453
- */
1454
- strict?: boolean | null;
1455
- };
1456
-
1457
- export type FunctionType = 'function';
1458
-
1459
- export type GrammarSyntax = 'lark' | 'regex';
1460
-
1461
- export type ImageDetail = 'auto' | 'low' | 'high';
1462
-
1463
- export type ImageUrl = {
1464
- /**
1465
- * Either a URL of the image or the base64 encoded image data.
1466
- */
1467
- url: string;
1468
- detail?: null | ImageDetail;
1469
- };
1470
-
1471
- export type InputAudio = {
1472
- /**
1473
- * Base64 encoded audio data.
1474
- */
1475
- data: string;
1476
- /**
1477
- * The format of the encoded audio data. Currently supports "wav" and "mp3".
1478
- */
1479
- format: InputAudioFormat;
1480
- };
1481
-
1482
- export type InputAudioFormat = 'wav' | 'mp3';
1483
-
1484
496
  export type JsonVec = Array<string>;
1485
497
 
1486
498
  export type ListMcpServersResponse = {
@@ -1491,11 +503,6 @@ export type ListMcpsResponse = {
1491
503
  mcps: Array<Mcp>;
1492
504
  };
1493
505
 
1494
- export type ListModelResponse = {
1495
- object: string;
1496
- data: Array<Model>;
1497
- };
1498
-
1499
506
  /**
1500
507
  * List users query parameters. Intentionally omits sort fields (unlike PaginationSortParams)
1501
508
  * because user listing is fetched from the auth service which handles its own ordering.
@@ -1546,9 +553,9 @@ export type Mcp = {
1546
553
  */
1547
554
  enabled: boolean;
1548
555
  /**
1549
- * MCP proxy endpoint path for this instance
556
+ * MCP proxy path for this instance
1550
557
  */
1551
- mcp_endpoint: string;
558
+ path: string;
1552
559
  auth_type: McpAuthType;
1553
560
  /**
1554
561
  * Reference to the auth config (mcp_auth_configs.id)
@@ -1642,6 +649,10 @@ export type McpAuthType = 'public' | 'header' | 'oauth';
1642
649
 
1643
650
  export type McpInstance = {
1644
651
  id: string;
652
+ /**
653
+ * MCP proxy path for this instance (e.g. `/bodhi/v1/apps/mcps/{id}/mcp`)
654
+ */
655
+ path: string;
1645
656
  };
1646
657
 
1647
658
  /**
@@ -1782,44 +793,6 @@ export type McpServerReviewInfo = {
1782
793
  instances: Array<Mcp>;
1783
794
  };
1784
795
 
1785
- export type Message = {
1786
- role: string;
1787
- content: string;
1788
- images?: Array<string> | null;
1789
- };
1790
-
1791
- /**
1792
- * Set of 16 key-value pairs that can be attached to an object.
1793
- * This can be useful for storing additional information about the
1794
- * object in a structured format, and querying for objects via API
1795
- * or the dashboard. Keys are strings with a maximum length of 64
1796
- * characters. Values are strings with a maximum length of 512
1797
- * characters.
1798
- */
1799
- export type Metadata = unknown;
1800
-
1801
- /**
1802
- * Describes an OpenAI model offering that can be used with the API.
1803
- */
1804
- export type Model = {
1805
- /**
1806
- * The model identifier, which can be referenced in the API endpoints.
1807
- */
1808
- id: string;
1809
- /**
1810
- * The object type, which is always "model".
1811
- */
1812
- object: string;
1813
- /**
1814
- * The Unix timestamp (in seconds) when the model was created.
1815
- */
1816
- created: number;
1817
- /**
1818
- * The organization that owns the model.
1819
- */
1820
- owned_by: string;
1821
- };
1822
-
1823
796
  export type ModelAlias = {
1824
797
  alias: string;
1825
798
  repo: string;
@@ -1853,15 +826,6 @@ export type ModelCapabilities = {
1853
826
  tools: ToolCapabilities;
1854
827
  };
1855
828
 
1856
- export type ModelDetails = {
1857
- parent_model?: string | null;
1858
- format: string;
1859
- family: string;
1860
- families?: Array<string> | null;
1861
- parameter_size: string;
1862
- quantization_level: string;
1863
- };
1864
-
1865
829
  /**
1866
830
  * Model metadata for API responses
1867
831
  */
@@ -1872,10 +836,6 @@ export type ModelMetadata = {
1872
836
  chat_template?: string | null;
1873
837
  };
1874
838
 
1875
- export type ModelsResponse = {
1876
- models: Array<OllamaModel>;
1877
- };
1878
-
1879
839
  /**
1880
840
  * Request for creating a new download request
1881
841
  */
@@ -1951,57 +911,6 @@ export type OAuthTokenResponse = {
1951
911
  updated_at: string;
1952
912
  };
1953
913
 
1954
- export type OllamaError = {
1955
- error: string;
1956
- };
1957
-
1958
- export type OllamaModel = {
1959
- model: string;
1960
- modified_at: number;
1961
- size: number;
1962
- digest: string;
1963
- details: ModelDetails;
1964
- };
1965
-
1966
- export type OpenAiApiError = {
1967
- /**
1968
- * Error details following OpenAI API error format
1969
- */
1970
- error: ErrorBody;
1971
- };
1972
-
1973
- export type Options = {
1974
- num_keep?: number | null;
1975
- seed?: number | null;
1976
- num_predict?: number | null;
1977
- top_k?: number | null;
1978
- top_p?: number | null;
1979
- tfs_z?: number | null;
1980
- typical_p?: number | null;
1981
- repeat_last_n?: number | null;
1982
- temperature?: number | null;
1983
- repeat_penalty?: number | null;
1984
- presence_penalty?: number | null;
1985
- frequency_penalty?: number | null;
1986
- mirostat?: number | null;
1987
- mirostat_tau?: number | null;
1988
- mirostat_eta?: number | null;
1989
- penalize_newline?: boolean | null;
1990
- stop?: Array<string> | null;
1991
- numa?: boolean | null;
1992
- num_ctx?: number | null;
1993
- num_batch?: number | null;
1994
- num_gpu?: number | null;
1995
- main_gpu?: number | null;
1996
- low_vram?: boolean | null;
1997
- f16_kv?: boolean | null;
1998
- logits_all?: boolean | null;
1999
- vocab_only?: boolean | null;
2000
- use_mmap?: boolean | null;
2001
- use_mlock?: boolean | null;
2002
- num_thread?: number | null;
2003
- };
2004
-
2005
914
  /**
2006
915
  * Paginated list of all model aliases (user, model, and API)
2007
916
  */
@@ -2103,38 +1012,6 @@ export type PingResponse = {
2103
1012
  message: string;
2104
1013
  };
2105
1014
 
2106
- /**
2107
- * The type of the predicted content you want to provide. This type is
2108
- * currently always `content`.
2109
- */
2110
- export type PredictionContent = {
2111
- /**
2112
- * The type of the predicted content you want to provide. This type is
2113
- * currently always `content`.
2114
- */
2115
- content: PredictionContentContent;
2116
- type: 'content';
2117
- };
2118
-
2119
- /**
2120
- * The content that should be matched when generating a model response. If generated tokens would match this content, the entire model response can be returned much more quickly.
2121
- */
2122
- export type PredictionContentContent = string | Array<ChatCompletionRequestMessageContentPartText>;
2123
-
2124
- /**
2125
- * Breakdown of tokens used in a completion.
2126
- */
2127
- export type PromptTokensDetails = {
2128
- /**
2129
- * Audio input tokens present in the prompt.
2130
- */
2131
- audio_tokens?: number | null;
2132
- /**
2133
- * Cached tokens present in the prompt.
2134
- */
2135
- cached_tokens?: number | null;
2136
- };
2137
-
2138
1015
  /**
2139
1016
  * Response for queue status operations
2140
1017
  */
@@ -2145,8 +1022,6 @@ export type QueueStatusResponse = {
2145
1022
  status: string;
2146
1023
  };
2147
1024
 
2148
- export type ReasoningEffort = 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
2149
-
2150
1025
  export type RedirectResponse = {
2151
1026
  /**
2152
1027
  * The URL to redirect to (OAuth authorization URL or application home page)
@@ -2198,71 +1073,24 @@ export type RefreshSource = 'all' | 'model';
2198
1073
  * OAuth 2.1 registration type: pre-registered client or dynamic client registration (DCR).
2199
1074
  */
2200
1075
  export type RegistrationType = 'pre_registered' | 'dynamic_registration';
2201
-
2202
- export type RequestedMcpServer = {
2203
- url: string;
2204
- };
2205
-
2206
- /**
2207
- * Versioned envelope for requested resources.
2208
- * The `version` tag is mandatory — clients must specify which version they are using.
2209
- */
2210
- export type RequestedResources = RequestedResourcesV1 & {
2211
- version: '1';
2212
- };
2213
-
2214
- export type RequestedResourcesV1 = {
2215
- mcp_servers?: Array<RequestedMcpServer>;
2216
- };
2217
-
2218
- export type ResourceRole = 'resource_anonymous' | 'resource_guest' | 'resource_user' | 'resource_power_user' | 'resource_manager' | 'resource_admin';
2219
-
2220
- export type ResponseFormat = {
2221
- type: 'text';
2222
- } | {
2223
- type: 'json_object';
2224
- } | {
2225
- json_schema: ResponseFormatJsonSchema;
2226
- type: 'json_schema';
2227
- };
2228
-
2229
- export type ResponseFormatJsonSchema = {
2230
- /**
2231
- * A description of what the response format is for, used by the model to determine how to respond in the format.
2232
- */
2233
- description?: string | null;
2234
- /**
2235
- * The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.
2236
- */
2237
- name: string;
2238
- /**
2239
- * The schema for the response format, described as a JSON Schema object.
2240
- * Learn how to build JSON schemas [here](https://json-schema.org/).
2241
- */
2242
- schema?: unknown;
2243
- /**
2244
- * Whether to enable strict schema adherence when generating the output.
2245
- * If set to true, the model will always follow the exact schema defined
2246
- * in the `schema` field. Only a subset of JSON Schema is supported when
2247
- * `strict` is `true`. To learn more, read the [Structured Outputs
2248
- * guide](https://platform.openai.com/docs/guides/structured-outputs).
2249
- */
2250
- strict?: boolean | null;
1076
+
1077
+ export type RequestedMcpServer = {
1078
+ url: string;
2251
1079
  };
2252
1080
 
2253
1081
  /**
2254
- * Output types that you would like the model to generate for this request.
2255
- *
2256
- * Most models are capable of generating text, which is the default: `["text"]`
2257
- *
2258
- * The `gpt-4o-audio-preview` model can also be used to [generate
2259
- * audio](https://platform.openai.com/docs/guides/audio). To request that this model generate both text and audio responses, you can use: `["text", "audio"]`
1082
+ * Versioned envelope for requested resources.
1083
+ * The `version` tag is mandatory — clients must specify which version they are using.
2260
1084
  */
2261
- export type ResponseModalities = 'text' | 'audio';
1085
+ export type RequestedResources = RequestedResourcesV1 & {
1086
+ version: '1';
1087
+ };
2262
1088
 
2263
- export type Role = 'system' | 'user' | 'assistant' | 'tool' | 'function';
1089
+ export type RequestedResourcesV1 = {
1090
+ mcp_servers?: Array<RequestedMcpServer>;
1091
+ };
2264
1092
 
2265
- export type ServiceTier = 'auto' | 'default' | 'flex' | 'scale' | 'priority';
1093
+ export type ResourceRole = 'resource_anonymous' | 'resource_guest' | 'resource_user' | 'resource_power_user' | 'resource_manager' | 'resource_admin';
2266
1094
 
2267
1095
  export type SettingInfo = {
2268
1096
  key: string;
@@ -2311,22 +1139,6 @@ export type SetupResponse = {
2311
1139
  status: AppStatus;
2312
1140
  };
2313
1141
 
2314
- export type ShowRequest = {
2315
- name: string;
2316
- };
2317
-
2318
- export type ShowResponse = {
2319
- details: ModelDetails;
2320
- license: string;
2321
- model_info: {};
2322
- modelfile: string;
2323
- modified_at: number;
2324
- parameters: string;
2325
- template: string;
2326
- };
2327
-
2328
- export type StopConfiguration = string | Array<string>;
2329
-
2330
1142
  export type TenantListItem = {
2331
1143
  client_id: string;
2332
1144
  name: string;
@@ -2377,6 +1189,10 @@ export type TestPromptRequest = {
2377
1189
  * Test prompt (max 30 characters for cost control)
2378
1190
  */
2379
1191
  prompt: string;
1192
+ /**
1193
+ * API format to use for the test request (defaults to OpenAI Chat Completions)
1194
+ */
1195
+ api_format?: ApiFormat;
2380
1196
  };
2381
1197
 
2382
1198
  /**
@@ -2422,25 +1238,6 @@ export type ToolCapabilities = {
2422
1238
  structured_output?: boolean | null;
2423
1239
  };
2424
1240
 
2425
- export type ToolChoiceAllowedMode = 'auto' | 'required';
2426
-
2427
- export type ToolChoiceOptions = 'none' | 'auto' | 'required';
2428
-
2429
- export type TopLogprobs = {
2430
- /**
2431
- * The token.
2432
- */
2433
- token: string;
2434
- /**
2435
- * The log probability of this token.
2436
- */
2437
- logprob: number;
2438
- /**
2439
- * A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be `null` if there is no bytes representation for the token.
2440
- */
2441
- bytes?: Array<number> | null;
2442
- };
2443
-
2444
1241
  /**
2445
1242
  * Request to update a setting value
2446
1243
  */
@@ -2462,25 +1259,6 @@ export type UpdateTokenRequest = {
2462
1259
  status: TokenStatus;
2463
1260
  };
2464
1261
 
2465
- export type UrlCitation = {
2466
- /**
2467
- * The index of the last character of the URL citation in the message.
2468
- */
2469
- end_index: number;
2470
- /**
2471
- * The index of the first character of the URL citation in the message.
2472
- */
2473
- start_index: number;
2474
- /**
2475
- * The title of the web resource.
2476
- */
2477
- title: string;
2478
- /**
2479
- * The URL of the web resource.
2480
- */
2481
- url: string;
2482
- };
2483
-
2484
1262
  /**
2485
1263
  * User access request output type for API responses
2486
1264
  */
@@ -2614,176 +1392,6 @@ export type UserResponse = {
2614
1392
 
2615
1393
  export type UserScope = 'scope_user_user' | 'scope_user_power_user';
2616
1394
 
2617
- /**
2618
- * Constrains the verbosity of the model's response. Lower values will result in more concise responses, while higher values will result in more verbose responses. Currently supported values are `low`, `medium`, and `high`.
2619
- */
2620
- export type Verbosity = 'low' | 'medium' | 'high';
2621
-
2622
- /**
2623
- * The amount of context window space to use for the search.
2624
- */
2625
- export type WebSearchContextSize = 'low' | 'medium' | 'high';
2626
-
2627
- /**
2628
- * Approximate location parameters for the search.
2629
- */
2630
- export type WebSearchLocation = {
2631
- /**
2632
- * The two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of the user, e.g. `US`.
2633
- */
2634
- country?: string | null;
2635
- /**
2636
- * Free text input for the region of the user, e.g. `California`.
2637
- */
2638
- region?: string | null;
2639
- /**
2640
- * Free text input for the city of the user, e.g. `San Francisco`.
2641
- */
2642
- city?: string | null;
2643
- /**
2644
- * The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`.
2645
- */
2646
- timezone?: string | null;
2647
- };
2648
-
2649
- /**
2650
- * Options for the web search tool.
2651
- */
2652
- export type WebSearchOptions = {
2653
- search_context_size?: null | WebSearchContextSize;
2654
- user_location?: null | WebSearchUserLocation;
2655
- };
2656
-
2657
- export type WebSearchUserLocation = {
2658
- type: WebSearchUserLocationType;
2659
- approximate: WebSearchLocation;
2660
- };
2661
-
2662
- export type WebSearchUserLocationType = 'approximate';
2663
-
2664
- export type ChatOllamaModelData = {
2665
- /**
2666
- * Chat request in Ollama format
2667
- */
2668
- body: ChatRequest;
2669
- path?: never;
2670
- query?: never;
2671
- url: '/api/chat';
2672
- };
2673
-
2674
- export type ChatOllamaModelErrors = {
2675
- /**
2676
- * Invalid request parameters
2677
- */
2678
- 400: OpenAiApiError;
2679
- /**
2680
- * Not authenticated
2681
- */
2682
- 401: OpenAiApiError;
2683
- /**
2684
- * Insufficient permissions
2685
- */
2686
- 403: OpenAiApiError;
2687
- /**
2688
- * Model not found
2689
- */
2690
- 404: OllamaError;
2691
- /**
2692
- * Internal server error
2693
- */
2694
- 500: OpenAiApiError;
2695
- };
2696
-
2697
- export type ChatOllamaModelError = ChatOllamaModelErrors[keyof ChatOllamaModelErrors];
2698
-
2699
- export type ChatOllamaModelResponses = {
2700
- /**
2701
- * Chat response
2702
- */
2703
- 200: unknown;
2704
- };
2705
-
2706
- export type ShowOllamaModelData = {
2707
- /**
2708
- * Model name to get details for
2709
- */
2710
- body: ShowRequest;
2711
- path?: never;
2712
- query?: never;
2713
- url: '/api/show';
2714
- };
2715
-
2716
- export type ShowOllamaModelErrors = {
2717
- /**
2718
- * Invalid request parameters
2719
- */
2720
- 400: OpenAiApiError;
2721
- /**
2722
- * Not authenticated
2723
- */
2724
- 401: OpenAiApiError;
2725
- /**
2726
- * Insufficient permissions
2727
- */
2728
- 403: OpenAiApiError;
2729
- /**
2730
- * Model not found
2731
- */
2732
- 404: OllamaError;
2733
- /**
2734
- * Internal server error
2735
- */
2736
- 500: OpenAiApiError;
2737
- };
2738
-
2739
- export type ShowOllamaModelError = ShowOllamaModelErrors[keyof ShowOllamaModelErrors];
2740
-
2741
- export type ShowOllamaModelResponses = {
2742
- /**
2743
- * Model details
2744
- */
2745
- 200: ShowResponse;
2746
- };
2747
-
2748
- export type ShowOllamaModelResponse = ShowOllamaModelResponses[keyof ShowOllamaModelResponses];
2749
-
2750
- export type ListOllamaModelsData = {
2751
- body?: never;
2752
- path?: never;
2753
- query?: never;
2754
- url: '/api/tags';
2755
- };
2756
-
2757
- export type ListOllamaModelsErrors = {
2758
- /**
2759
- * Invalid request parameters
2760
- */
2761
- 400: OpenAiApiError;
2762
- /**
2763
- * Not authenticated
2764
- */
2765
- 401: OpenAiApiError;
2766
- /**
2767
- * Insufficient permissions
2768
- */
2769
- 403: OpenAiApiError;
2770
- /**
2771
- * Internal server error
2772
- */
2773
- 500: OpenAiApiError;
2774
- };
2775
-
2776
- export type ListOllamaModelsError = ListOllamaModelsErrors[keyof ListOllamaModelsErrors];
2777
-
2778
- export type ListOllamaModelsResponses = {
2779
- /**
2780
- * List of available models
2781
- */
2782
- 200: ModelsResponse;
2783
- };
2784
-
2785
- export type ListOllamaModelsResponse = ListOllamaModelsResponses[keyof ListOllamaModelsResponses];
2786
-
2787
1395
  export type ListAllAccessRequestsData = {
2788
1396
  body?: never;
2789
1397
  path?: never;
@@ -2812,19 +1420,19 @@ export type ListAllAccessRequestsErrors = {
2812
1420
  /**
2813
1421
  * Invalid request parameters
2814
1422
  */
2815
- 400: OpenAiApiError;
1423
+ 400: BodhiApiError;
2816
1424
  /**
2817
1425
  * Not authenticated
2818
1426
  */
2819
- 401: OpenAiApiError;
1427
+ 401: BodhiApiError;
2820
1428
  /**
2821
1429
  * Insufficient permissions
2822
1430
  */
2823
- 403: OpenAiApiError;
1431
+ 403: BodhiApiError;
2824
1432
  /**
2825
1433
  * Internal server error
2826
1434
  */
2827
- 500: OpenAiApiError;
1435
+ 500: BodhiApiError;
2828
1436
  };
2829
1437
 
2830
1438
  export type ListAllAccessRequestsError = ListAllAccessRequestsErrors[keyof ListAllAccessRequestsErrors];
@@ -2866,19 +1474,19 @@ export type ListPendingAccessRequestsErrors = {
2866
1474
  /**
2867
1475
  * Invalid request parameters
2868
1476
  */
2869
- 400: OpenAiApiError;
1477
+ 400: BodhiApiError;
2870
1478
  /**
2871
1479
  * Not authenticated
2872
1480
  */
2873
- 401: OpenAiApiError;
1481
+ 401: BodhiApiError;
2874
1482
  /**
2875
1483
  * Insufficient permissions
2876
1484
  */
2877
- 403: OpenAiApiError;
1485
+ 403: BodhiApiError;
2878
1486
  /**
2879
1487
  * Internal server error
2880
1488
  */
2881
- 500: OpenAiApiError;
1489
+ 500: BodhiApiError;
2882
1490
  };
2883
1491
 
2884
1492
  export type ListPendingAccessRequestsError = ListPendingAccessRequestsErrors[keyof ListPendingAccessRequestsErrors];
@@ -2911,23 +1519,23 @@ export type ApproveAccessRequestErrors = {
2911
1519
  /**
2912
1520
  * Invalid request parameters
2913
1521
  */
2914
- 400: OpenAiApiError;
1522
+ 400: BodhiApiError;
2915
1523
  /**
2916
1524
  * Not authenticated
2917
1525
  */
2918
- 401: OpenAiApiError;
1526
+ 401: BodhiApiError;
2919
1527
  /**
2920
1528
  * Insufficient permissions
2921
1529
  */
2922
- 403: OpenAiApiError;
1530
+ 403: BodhiApiError;
2923
1531
  /**
2924
1532
  * Request not found
2925
1533
  */
2926
- 404: OpenAiApiError;
1534
+ 404: BodhiApiError;
2927
1535
  /**
2928
1536
  * Internal server error
2929
1537
  */
2930
- 500: OpenAiApiError;
1538
+ 500: BodhiApiError;
2931
1539
  };
2932
1540
 
2933
1541
  export type ApproveAccessRequestError = ApproveAccessRequestErrors[keyof ApproveAccessRequestErrors];
@@ -2958,27 +1566,27 @@ export type ApproveAppsAccessRequestErrors = {
2958
1566
  /**
2959
1567
  * Invalid request parameters
2960
1568
  */
2961
- 400: OpenAiApiError;
1569
+ 400: BodhiApiError;
2962
1570
  /**
2963
1571
  * Not authenticated
2964
1572
  */
2965
- 401: OpenAiApiError;
1573
+ 401: BodhiApiError;
2966
1574
  /**
2967
1575
  * Insufficient permissions
2968
1576
  */
2969
- 403: OpenAiApiError;
1577
+ 403: BodhiApiError;
2970
1578
  /**
2971
1579
  * Not found
2972
1580
  */
2973
- 404: OpenAiApiError;
1581
+ 404: BodhiApiError;
2974
1582
  /**
2975
1583
  * Already processed
2976
1584
  */
2977
- 409: OpenAiApiError;
1585
+ 409: BodhiApiError;
2978
1586
  /**
2979
1587
  * Internal server error
2980
1588
  */
2981
- 500: OpenAiApiError;
1589
+ 500: BodhiApiError;
2982
1590
  };
2983
1591
 
2984
1592
  export type ApproveAppsAccessRequestError = ApproveAppsAccessRequestErrors[keyof ApproveAppsAccessRequestErrors];
@@ -3008,27 +1616,27 @@ export type DenyAccessRequestErrors = {
3008
1616
  /**
3009
1617
  * Invalid request parameters
3010
1618
  */
3011
- 400: OpenAiApiError;
1619
+ 400: BodhiApiError;
3012
1620
  /**
3013
1621
  * Not authenticated
3014
1622
  */
3015
- 401: OpenAiApiError;
1623
+ 401: BodhiApiError;
3016
1624
  /**
3017
1625
  * Insufficient permissions
3018
1626
  */
3019
- 403: OpenAiApiError;
1627
+ 403: BodhiApiError;
3020
1628
  /**
3021
1629
  * Not found
3022
1630
  */
3023
- 404: OpenAiApiError;
1631
+ 404: BodhiApiError;
3024
1632
  /**
3025
1633
  * Already processed
3026
1634
  */
3027
- 409: OpenAiApiError;
1635
+ 409: BodhiApiError;
3028
1636
  /**
3029
1637
  * Internal server error
3030
1638
  */
3031
- 500: OpenAiApiError;
1639
+ 500: BodhiApiError;
3032
1640
  };
3033
1641
 
3034
1642
  export type DenyAccessRequestError = DenyAccessRequestErrors[keyof DenyAccessRequestErrors];
@@ -3058,23 +1666,23 @@ export type RejectAccessRequestErrors = {
3058
1666
  /**
3059
1667
  * Invalid request parameters
3060
1668
  */
3061
- 400: OpenAiApiError;
1669
+ 400: BodhiApiError;
3062
1670
  /**
3063
1671
  * Not authenticated
3064
1672
  */
3065
- 401: OpenAiApiError;
1673
+ 401: BodhiApiError;
3066
1674
  /**
3067
1675
  * Insufficient permissions
3068
1676
  */
3069
- 403: OpenAiApiError;
1677
+ 403: BodhiApiError;
3070
1678
  /**
3071
1679
  * Request not found
3072
1680
  */
3073
- 404: OpenAiApiError;
1681
+ 404: BodhiApiError;
3074
1682
  /**
3075
1683
  * Internal server error
3076
1684
  */
3077
- 500: OpenAiApiError;
1685
+ 500: BodhiApiError;
3078
1686
  };
3079
1687
 
3080
1688
  export type RejectAccessRequestError = RejectAccessRequestErrors[keyof RejectAccessRequestErrors];
@@ -3102,27 +1710,27 @@ export type GetAccessRequestReviewErrors = {
3102
1710
  /**
3103
1711
  * Invalid request parameters
3104
1712
  */
3105
- 400: OpenAiApiError;
1713
+ 400: BodhiApiError;
3106
1714
  /**
3107
1715
  * Not authenticated
3108
1716
  */
3109
- 401: OpenAiApiError;
1717
+ 401: BodhiApiError;
3110
1718
  /**
3111
1719
  * Insufficient permissions
3112
1720
  */
3113
- 403: OpenAiApiError;
1721
+ 403: BodhiApiError;
3114
1722
  /**
3115
1723
  * Not found
3116
1724
  */
3117
- 404: OpenAiApiError;
1725
+ 404: BodhiApiError;
3118
1726
  /**
3119
1727
  * Request expired
3120
1728
  */
3121
- 410: OpenAiApiError;
1729
+ 410: BodhiApiError;
3122
1730
  /**
3123
1731
  * Internal server error
3124
1732
  */
3125
- 500: OpenAiApiError;
1733
+ 500: BodhiApiError;
3126
1734
  };
3127
1735
 
3128
1736
  export type GetAccessRequestReviewError = GetAccessRequestReviewErrors[keyof GetAccessRequestReviewErrors];
@@ -3157,23 +1765,23 @@ export type GetAccessRequestStatusErrors = {
3157
1765
  /**
3158
1766
  * Invalid request parameters
3159
1767
  */
3160
- 400: OpenAiApiError;
1768
+ 400: BodhiApiError;
3161
1769
  /**
3162
1770
  * Not authenticated
3163
1771
  */
3164
- 401: OpenAiApiError;
1772
+ 401: BodhiApiError;
3165
1773
  /**
3166
1774
  * Insufficient permissions
3167
1775
  */
3168
- 403: OpenAiApiError;
1776
+ 403: BodhiApiError;
3169
1777
  /**
3170
1778
  * Not found or app_client_id mismatch
3171
1779
  */
3172
- 404: OpenAiApiError;
1780
+ 404: BodhiApiError;
3173
1781
  /**
3174
1782
  * Internal server error
3175
1783
  */
3176
- 500: OpenAiApiError;
1784
+ 500: BodhiApiError;
3177
1785
  };
3178
1786
 
3179
1787
  export type GetAccessRequestStatusError = GetAccessRequestStatusErrors[keyof GetAccessRequestStatusErrors];
@@ -3198,19 +1806,19 @@ export type AppsListMcpsErrors = {
3198
1806
  /**
3199
1807
  * Invalid request parameters
3200
1808
  */
3201
- 400: OpenAiApiError;
1809
+ 400: BodhiApiError;
3202
1810
  /**
3203
1811
  * Not authenticated
3204
1812
  */
3205
- 401: OpenAiApiError;
1813
+ 401: BodhiApiError;
3206
1814
  /**
3207
1815
  * Insufficient permissions
3208
1816
  */
3209
- 403: OpenAiApiError;
1817
+ 403: BodhiApiError;
3210
1818
  /**
3211
1819
  * Internal server error
3212
1820
  */
3213
- 500: OpenAiApiError;
1821
+ 500: BodhiApiError;
3214
1822
  };
3215
1823
 
3216
1824
  export type AppsListMcpsError = AppsListMcpsErrors[keyof AppsListMcpsErrors];
@@ -3240,15 +1848,15 @@ export type AppsGetMcpErrors = {
3240
1848
  /**
3241
1849
  * Invalid request parameters
3242
1850
  */
3243
- 400: OpenAiApiError;
1851
+ 400: BodhiApiError;
3244
1852
  /**
3245
1853
  * Not authenticated
3246
1854
  */
3247
- 401: OpenAiApiError;
1855
+ 401: BodhiApiError;
3248
1856
  /**
3249
1857
  * Insufficient permissions
3250
1858
  */
3251
- 403: OpenAiApiError;
1859
+ 403: BodhiApiError;
3252
1860
  /**
3253
1861
  * MCP not found
3254
1862
  */
@@ -3256,7 +1864,7 @@ export type AppsGetMcpErrors = {
3256
1864
  /**
3257
1865
  * Internal server error
3258
1866
  */
3259
- 500: OpenAiApiError;
1867
+ 500: BodhiApiError;
3260
1868
  };
3261
1869
 
3262
1870
  export type AppsGetMcpError = AppsGetMcpErrors[keyof AppsGetMcpErrors];
@@ -3286,19 +1894,19 @@ export type McpProxyErrors = {
3286
1894
  /**
3287
1895
  * Invalid request parameters
3288
1896
  */
3289
- 400: OpenAiApiError;
1897
+ 400: BodhiApiError;
3290
1898
  /**
3291
1899
  * Not authenticated
3292
1900
  */
3293
- 401: OpenAiApiError;
1901
+ 401: BodhiApiError;
3294
1902
  /**
3295
1903
  * Insufficient permissions
3296
1904
  */
3297
- 403: OpenAiApiError;
1905
+ 403: BodhiApiError;
3298
1906
  /**
3299
1907
  * Internal server error
3300
1908
  */
3301
- 500: OpenAiApiError;
1909
+ 500: BodhiApiError;
3302
1910
  };
3303
1911
 
3304
1912
  export type McpProxyError = McpProxyErrors[keyof McpProxyErrors];
@@ -3324,23 +1932,23 @@ export type CreateAccessRequestErrors = {
3324
1932
  /**
3325
1933
  * Invalid request parameters
3326
1934
  */
3327
- 400: OpenAiApiError;
1935
+ 400: BodhiApiError;
3328
1936
  /**
3329
1937
  * Not authenticated
3330
1938
  */
3331
- 401: OpenAiApiError;
1939
+ 401: BodhiApiError;
3332
1940
  /**
3333
1941
  * Insufficient permissions
3334
1942
  */
3335
- 403: OpenAiApiError;
1943
+ 403: BodhiApiError;
3336
1944
  /**
3337
1945
  * App client not found
3338
1946
  */
3339
- 404: OpenAiApiError;
1947
+ 404: BodhiApiError;
3340
1948
  /**
3341
1949
  * Internal server error
3342
1950
  */
3343
- 500: OpenAiApiError;
1951
+ 500: BodhiApiError;
3344
1952
  };
3345
1953
 
3346
1954
  export type CreateAccessRequestError = CreateAccessRequestErrors[keyof CreateAccessRequestErrors];
@@ -3368,23 +1976,23 @@ export type CompleteOAuthFlowErrors = {
3368
1976
  /**
3369
1977
  * Invalid request parameters
3370
1978
  */
3371
- 400: OpenAiApiError;
1979
+ 400: BodhiApiError;
3372
1980
  /**
3373
1981
  * Not authenticated
3374
1982
  */
3375
- 401: OpenAiApiError;
1983
+ 401: BodhiApiError;
3376
1984
  /**
3377
1985
  * Insufficient permissions
3378
1986
  */
3379
- 403: OpenAiApiError;
1987
+ 403: BodhiApiError;
3380
1988
  /**
3381
1989
  * OAuth error, invalid request parameters, or state mismatch
3382
1990
  */
3383
- 422: OpenAiApiError;
1991
+ 422: BodhiApiError;
3384
1992
  /**
3385
1993
  * Internal server error
3386
1994
  */
3387
- 500: OpenAiApiError;
1995
+ 500: BodhiApiError;
3388
1996
  };
3389
1997
 
3390
1998
  export type CompleteOAuthFlowError = CompleteOAuthFlowErrors[keyof CompleteOAuthFlowErrors];
@@ -3412,19 +2020,19 @@ export type CompleteDashboardOAuthFlowErrors = {
3412
2020
  /**
3413
2021
  * Invalid request parameters
3414
2022
  */
3415
- 400: OpenAiApiError;
2023
+ 400: BodhiApiError;
3416
2024
  /**
3417
2025
  * Not authenticated
3418
2026
  */
3419
- 401: OpenAiApiError;
2027
+ 401: BodhiApiError;
3420
2028
  /**
3421
2029
  * Insufficient permissions
3422
2030
  */
3423
- 403: OpenAiApiError;
2031
+ 403: BodhiApiError;
3424
2032
  /**
3425
2033
  * Internal server error
3426
2034
  */
3427
- 500: OpenAiApiError;
2035
+ 500: BodhiApiError;
3428
2036
  };
3429
2037
 
3430
2038
  export type CompleteDashboardOAuthFlowError = CompleteDashboardOAuthFlowErrors[keyof CompleteDashboardOAuthFlowErrors];
@@ -3449,19 +2057,19 @@ export type InitiateDashboardOAuthFlowErrors = {
3449
2057
  /**
3450
2058
  * Invalid request parameters
3451
2059
  */
3452
- 400: OpenAiApiError;
2060
+ 400: BodhiApiError;
3453
2061
  /**
3454
2062
  * Not authenticated
3455
2063
  */
3456
- 401: OpenAiApiError;
2064
+ 401: BodhiApiError;
3457
2065
  /**
3458
2066
  * Insufficient permissions
3459
2067
  */
3460
- 403: OpenAiApiError;
2068
+ 403: BodhiApiError;
3461
2069
  /**
3462
2070
  * Internal server error
3463
2071
  */
3464
- 500: OpenAiApiError;
2072
+ 500: BodhiApiError;
3465
2073
  };
3466
2074
 
3467
2075
  export type InitiateDashboardOAuthFlowError = InitiateDashboardOAuthFlowErrors[keyof InitiateDashboardOAuthFlowErrors];
@@ -3493,19 +2101,19 @@ export type InitiateOAuthFlowErrors = {
3493
2101
  /**
3494
2102
  * Invalid request parameters
3495
2103
  */
3496
- 400: OpenAiApiError;
2104
+ 400: BodhiApiError;
3497
2105
  /**
3498
2106
  * Not authenticated
3499
2107
  */
3500
- 401: OpenAiApiError;
2108
+ 401: BodhiApiError;
3501
2109
  /**
3502
2110
  * Insufficient permissions
3503
2111
  */
3504
- 403: OpenAiApiError;
2112
+ 403: BodhiApiError;
3505
2113
  /**
3506
2114
  * Internal server error
3507
2115
  */
3508
- 500: OpenAiApiError;
2116
+ 500: BodhiApiError;
3509
2117
  };
3510
2118
 
3511
2119
  export type InitiateOAuthFlowError = InitiateOAuthFlowErrors[keyof InitiateOAuthFlowErrors];
@@ -3534,11 +2142,11 @@ export type GetAppInfoErrors = {
3534
2142
  /**
3535
2143
  * Invalid request parameters
3536
2144
  */
3537
- 400: OpenAiApiError;
2145
+ 400: BodhiApiError;
3538
2146
  /**
3539
2147
  * Internal server error
3540
2148
  */
3541
- 500: OpenAiApiError;
2149
+ 500: BodhiApiError;
3542
2150
  };
3543
2151
 
3544
2152
  export type GetAppInfoError = GetAppInfoErrors[keyof GetAppInfoErrors];
@@ -3563,19 +2171,19 @@ export type LogoutUserErrors = {
3563
2171
  /**
3564
2172
  * Invalid request parameters
3565
2173
  */
3566
- 400: OpenAiApiError;
2174
+ 400: BodhiApiError;
3567
2175
  /**
3568
2176
  * Not authenticated
3569
2177
  */
3570
- 401: OpenAiApiError;
2178
+ 401: BodhiApiError;
3571
2179
  /**
3572
2180
  * Insufficient permissions
3573
2181
  */
3574
- 403: OpenAiApiError;
2182
+ 403: BodhiApiError;
3575
2183
  /**
3576
2184
  * Internal server error
3577
2185
  */
3578
- 500: OpenAiApiError;
2186
+ 500: BodhiApiError;
3579
2187
  };
3580
2188
 
3581
2189
  export type LogoutUserError = LogoutUserErrors[keyof LogoutUserErrors];
@@ -3600,19 +2208,19 @@ export type ListMcpsErrors = {
3600
2208
  /**
3601
2209
  * Invalid request parameters
3602
2210
  */
3603
- 400: OpenAiApiError;
2211
+ 400: BodhiApiError;
3604
2212
  /**
3605
2213
  * Not authenticated
3606
2214
  */
3607
- 401: OpenAiApiError;
2215
+ 401: BodhiApiError;
3608
2216
  /**
3609
2217
  * Insufficient permissions
3610
2218
  */
3611
- 403: OpenAiApiError;
2219
+ 403: BodhiApiError;
3612
2220
  /**
3613
2221
  * Internal server error
3614
2222
  */
3615
- 500: OpenAiApiError;
2223
+ 500: BodhiApiError;
3616
2224
  };
3617
2225
 
3618
2226
  export type ListMcpsError = ListMcpsErrors[keyof ListMcpsErrors];
@@ -3637,19 +2245,19 @@ export type CreateMcpErrors = {
3637
2245
  /**
3638
2246
  * Invalid request parameters
3639
2247
  */
3640
- 400: OpenAiApiError;
2248
+ 400: BodhiApiError;
3641
2249
  /**
3642
2250
  * Not authenticated
3643
2251
  */
3644
- 401: OpenAiApiError;
2252
+ 401: BodhiApiError;
3645
2253
  /**
3646
2254
  * Insufficient permissions
3647
2255
  */
3648
- 403: OpenAiApiError;
2256
+ 403: BodhiApiError;
3649
2257
  /**
3650
2258
  * Internal server error
3651
2259
  */
3652
- 500: OpenAiApiError;
2260
+ 500: BodhiApiError;
3653
2261
  };
3654
2262
 
3655
2263
  export type CreateMcpError = CreateMcpErrors[keyof CreateMcpErrors];
@@ -3676,19 +2284,19 @@ export type ListMcpAuthConfigsErrors = {
3676
2284
  /**
3677
2285
  * Invalid request parameters
3678
2286
  */
3679
- 400: OpenAiApiError;
2287
+ 400: BodhiApiError;
3680
2288
  /**
3681
2289
  * Not authenticated
3682
2290
  */
3683
- 401: OpenAiApiError;
2291
+ 401: BodhiApiError;
3684
2292
  /**
3685
2293
  * Insufficient permissions
3686
2294
  */
3687
- 403: OpenAiApiError;
2295
+ 403: BodhiApiError;
3688
2296
  /**
3689
2297
  * Internal server error
3690
2298
  */
3691
- 500: OpenAiApiError;
2299
+ 500: BodhiApiError;
3692
2300
  };
3693
2301
 
3694
2302
  export type ListMcpAuthConfigsError = ListMcpAuthConfigsErrors[keyof ListMcpAuthConfigsErrors];
@@ -3713,19 +2321,19 @@ export type CreateMcpAuthConfigErrors = {
3713
2321
  /**
3714
2322
  * Invalid request parameters
3715
2323
  */
3716
- 400: OpenAiApiError;
2324
+ 400: BodhiApiError;
3717
2325
  /**
3718
2326
  * Not authenticated
3719
2327
  */
3720
- 401: OpenAiApiError;
2328
+ 401: BodhiApiError;
3721
2329
  /**
3722
2330
  * Insufficient permissions
3723
2331
  */
3724
- 403: OpenAiApiError;
2332
+ 403: BodhiApiError;
3725
2333
  /**
3726
2334
  * Internal server error
3727
2335
  */
3728
- 500: OpenAiApiError;
2336
+ 500: BodhiApiError;
3729
2337
  };
3730
2338
 
3731
2339
  export type CreateMcpAuthConfigError = CreateMcpAuthConfigErrors[keyof CreateMcpAuthConfigErrors];
@@ -3755,15 +2363,15 @@ export type DeleteMcpAuthConfigErrors = {
3755
2363
  /**
3756
2364
  * Invalid request parameters
3757
2365
  */
3758
- 400: OpenAiApiError;
2366
+ 400: BodhiApiError;
3759
2367
  /**
3760
2368
  * Not authenticated
3761
2369
  */
3762
- 401: OpenAiApiError;
2370
+ 401: BodhiApiError;
3763
2371
  /**
3764
2372
  * Insufficient permissions
3765
2373
  */
3766
- 403: OpenAiApiError;
2374
+ 403: BodhiApiError;
3767
2375
  /**
3768
2376
  * Not found
3769
2377
  */
@@ -3771,7 +2379,7 @@ export type DeleteMcpAuthConfigErrors = {
3771
2379
  /**
3772
2380
  * Internal server error
3773
2381
  */
3774
- 500: OpenAiApiError;
2382
+ 500: BodhiApiError;
3775
2383
  };
3776
2384
 
3777
2385
  export type DeleteMcpAuthConfigError = DeleteMcpAuthConfigErrors[keyof DeleteMcpAuthConfigErrors];
@@ -3801,15 +2409,15 @@ export type GetMcpAuthConfigErrors = {
3801
2409
  /**
3802
2410
  * Invalid request parameters
3803
2411
  */
3804
- 400: OpenAiApiError;
2412
+ 400: BodhiApiError;
3805
2413
  /**
3806
2414
  * Not authenticated
3807
2415
  */
3808
- 401: OpenAiApiError;
2416
+ 401: BodhiApiError;
3809
2417
  /**
3810
2418
  * Insufficient permissions
3811
2419
  */
3812
- 403: OpenAiApiError;
2420
+ 403: BodhiApiError;
3813
2421
  /**
3814
2422
  * Not found
3815
2423
  */
@@ -3817,7 +2425,7 @@ export type GetMcpAuthConfigErrors = {
3817
2425
  /**
3818
2426
  * Internal server error
3819
2427
  */
3820
- 500: OpenAiApiError;
2428
+ 500: BodhiApiError;
3821
2429
  };
3822
2430
 
3823
2431
  export type GetMcpAuthConfigError = GetMcpAuthConfigErrors[keyof GetMcpAuthConfigErrors];
@@ -3847,15 +2455,15 @@ export type McpOAuthLoginErrors = {
3847
2455
  /**
3848
2456
  * Invalid request parameters
3849
2457
  */
3850
- 400: OpenAiApiError;
2458
+ 400: BodhiApiError;
3851
2459
  /**
3852
2460
  * Not authenticated
3853
2461
  */
3854
- 401: OpenAiApiError;
2462
+ 401: BodhiApiError;
3855
2463
  /**
3856
2464
  * Insufficient permissions
3857
2465
  */
3858
- 403: OpenAiApiError;
2466
+ 403: BodhiApiError;
3859
2467
  /**
3860
2468
  * Auth config not found
3861
2469
  */
@@ -3863,7 +2471,7 @@ export type McpOAuthLoginErrors = {
3863
2471
  /**
3864
2472
  * Internal server error
3865
2473
  */
3866
- 500: OpenAiApiError;
2474
+ 500: BodhiApiError;
3867
2475
  };
3868
2476
 
3869
2477
  export type McpOAuthLoginError = McpOAuthLoginErrors[keyof McpOAuthLoginErrors];
@@ -3893,15 +2501,15 @@ export type McpOAuthTokenExchangeErrors = {
3893
2501
  /**
3894
2502
  * Invalid request parameters
3895
2503
  */
3896
- 400: OpenAiApiError;
2504
+ 400: BodhiApiError;
3897
2505
  /**
3898
2506
  * Not authenticated
3899
2507
  */
3900
- 401: OpenAiApiError;
2508
+ 401: BodhiApiError;
3901
2509
  /**
3902
2510
  * Insufficient permissions
3903
2511
  */
3904
- 403: OpenAiApiError;
2512
+ 403: BodhiApiError;
3905
2513
  /**
3906
2514
  * Auth config not found
3907
2515
  */
@@ -3909,7 +2517,7 @@ export type McpOAuthTokenExchangeErrors = {
3909
2517
  /**
3910
2518
  * Internal server error
3911
2519
  */
3912
- 500: OpenAiApiError;
2520
+ 500: BodhiApiError;
3913
2521
  };
3914
2522
 
3915
2523
  export type McpOAuthTokenExchangeError = McpOAuthTokenExchangeErrors[keyof McpOAuthTokenExchangeErrors];
@@ -3939,15 +2547,15 @@ export type DeleteMcpOAuthTokenErrors = {
3939
2547
  /**
3940
2548
  * Invalid request parameters
3941
2549
  */
3942
- 400: OpenAiApiError;
2550
+ 400: BodhiApiError;
3943
2551
  /**
3944
2552
  * Not authenticated
3945
2553
  */
3946
- 401: OpenAiApiError;
2554
+ 401: BodhiApiError;
3947
2555
  /**
3948
2556
  * Insufficient permissions
3949
2557
  */
3950
- 403: OpenAiApiError;
2558
+ 403: BodhiApiError;
3951
2559
  /**
3952
2560
  * Not found
3953
2561
  */
@@ -3955,7 +2563,7 @@ export type DeleteMcpOAuthTokenErrors = {
3955
2563
  /**
3956
2564
  * Internal server error
3957
2565
  */
3958
- 500: OpenAiApiError;
2566
+ 500: BodhiApiError;
3959
2567
  };
3960
2568
 
3961
2569
  export type DeleteMcpOAuthTokenError = DeleteMcpOAuthTokenErrors[keyof DeleteMcpOAuthTokenErrors];
@@ -3985,15 +2593,15 @@ export type GetMcpOAuthTokenErrors = {
3985
2593
  /**
3986
2594
  * Invalid request parameters
3987
2595
  */
3988
- 400: OpenAiApiError;
2596
+ 400: BodhiApiError;
3989
2597
  /**
3990
2598
  * Not authenticated
3991
2599
  */
3992
- 401: OpenAiApiError;
2600
+ 401: BodhiApiError;
3993
2601
  /**
3994
2602
  * Insufficient permissions
3995
2603
  */
3996
- 403: OpenAiApiError;
2604
+ 403: BodhiApiError;
3997
2605
  /**
3998
2606
  * Not found
3999
2607
  */
@@ -4001,7 +2609,7 @@ export type GetMcpOAuthTokenErrors = {
4001
2609
  /**
4002
2610
  * Internal server error
4003
2611
  */
4004
- 500: OpenAiApiError;
2612
+ 500: BodhiApiError;
4005
2613
  };
4006
2614
 
4007
2615
  export type GetMcpOAuthTokenError = GetMcpOAuthTokenErrors[keyof GetMcpOAuthTokenErrors];
@@ -4026,19 +2634,19 @@ export type McpOAuthDiscoverAsErrors = {
4026
2634
  /**
4027
2635
  * Invalid request parameters
4028
2636
  */
4029
- 400: OpenAiApiError;
2637
+ 400: BodhiApiError;
4030
2638
  /**
4031
2639
  * Not authenticated
4032
2640
  */
4033
- 401: OpenAiApiError;
2641
+ 401: BodhiApiError;
4034
2642
  /**
4035
2643
  * Insufficient permissions
4036
2644
  */
4037
- 403: OpenAiApiError;
2645
+ 403: BodhiApiError;
4038
2646
  /**
4039
2647
  * Internal server error
4040
2648
  */
4041
- 500: OpenAiApiError;
2649
+ 500: BodhiApiError;
4042
2650
  };
4043
2651
 
4044
2652
  export type McpOAuthDiscoverAsError = McpOAuthDiscoverAsErrors[keyof McpOAuthDiscoverAsErrors];
@@ -4063,19 +2671,19 @@ export type McpOAuthDiscoverMcpErrors = {
4063
2671
  /**
4064
2672
  * Invalid request parameters
4065
2673
  */
4066
- 400: OpenAiApiError;
2674
+ 400: BodhiApiError;
4067
2675
  /**
4068
2676
  * Not authenticated
4069
2677
  */
4070
- 401: OpenAiApiError;
2678
+ 401: BodhiApiError;
4071
2679
  /**
4072
2680
  * Insufficient permissions
4073
2681
  */
4074
- 403: OpenAiApiError;
2682
+ 403: BodhiApiError;
4075
2683
  /**
4076
2684
  * Internal server error
4077
2685
  */
4078
- 500: OpenAiApiError;
2686
+ 500: BodhiApiError;
4079
2687
  };
4080
2688
 
4081
2689
  export type McpOAuthDiscoverMcpError = McpOAuthDiscoverMcpErrors[keyof McpOAuthDiscoverMcpErrors];
@@ -4100,19 +2708,19 @@ export type McpOAuthDynamicRegisterStandaloneErrors = {
4100
2708
  /**
4101
2709
  * Invalid request parameters
4102
2710
  */
4103
- 400: OpenAiApiError;
2711
+ 400: BodhiApiError;
4104
2712
  /**
4105
2713
  * Not authenticated
4106
2714
  */
4107
- 401: OpenAiApiError;
2715
+ 401: BodhiApiError;
4108
2716
  /**
4109
2717
  * Insufficient permissions
4110
2718
  */
4111
- 403: OpenAiApiError;
2719
+ 403: BodhiApiError;
4112
2720
  /**
4113
2721
  * Internal server error
4114
2722
  */
4115
- 500: OpenAiApiError;
2723
+ 500: BodhiApiError;
4116
2724
  };
4117
2725
 
4118
2726
  export type McpOAuthDynamicRegisterStandaloneError = McpOAuthDynamicRegisterStandaloneErrors[keyof McpOAuthDynamicRegisterStandaloneErrors];
@@ -4142,19 +2750,19 @@ export type ListMcpServersErrors = {
4142
2750
  /**
4143
2751
  * Invalid request parameters
4144
2752
  */
4145
- 400: OpenAiApiError;
2753
+ 400: BodhiApiError;
4146
2754
  /**
4147
2755
  * Not authenticated
4148
2756
  */
4149
- 401: OpenAiApiError;
2757
+ 401: BodhiApiError;
4150
2758
  /**
4151
2759
  * Insufficient permissions
4152
2760
  */
4153
- 403: OpenAiApiError;
2761
+ 403: BodhiApiError;
4154
2762
  /**
4155
2763
  * Internal server error
4156
2764
  */
4157
- 500: OpenAiApiError;
2765
+ 500: BodhiApiError;
4158
2766
  };
4159
2767
 
4160
2768
  export type ListMcpServersError = ListMcpServersErrors[keyof ListMcpServersErrors];
@@ -4179,15 +2787,15 @@ export type CreateMcpServerErrors = {
4179
2787
  /**
4180
2788
  * Invalid request parameters
4181
2789
  */
4182
- 400: OpenAiApiError;
2790
+ 400: BodhiApiError;
4183
2791
  /**
4184
2792
  * Not authenticated
4185
2793
  */
4186
- 401: OpenAiApiError;
2794
+ 401: BodhiApiError;
4187
2795
  /**
4188
2796
  * Insufficient permissions
4189
2797
  */
4190
- 403: OpenAiApiError;
2798
+ 403: BodhiApiError;
4191
2799
  /**
4192
2800
  * URL already exists
4193
2801
  */
@@ -4195,7 +2803,7 @@ export type CreateMcpServerErrors = {
4195
2803
  /**
4196
2804
  * Internal server error
4197
2805
  */
4198
- 500: OpenAiApiError;
2806
+ 500: BodhiApiError;
4199
2807
  };
4200
2808
 
4201
2809
  export type CreateMcpServerError = CreateMcpServerErrors[keyof CreateMcpServerErrors];
@@ -4225,15 +2833,15 @@ export type GetMcpServerErrors = {
4225
2833
  /**
4226
2834
  * Invalid request parameters
4227
2835
  */
4228
- 400: OpenAiApiError;
2836
+ 400: BodhiApiError;
4229
2837
  /**
4230
2838
  * Not authenticated
4231
2839
  */
4232
- 401: OpenAiApiError;
2840
+ 401: BodhiApiError;
4233
2841
  /**
4234
2842
  * Insufficient permissions
4235
2843
  */
4236
- 403: OpenAiApiError;
2844
+ 403: BodhiApiError;
4237
2845
  /**
4238
2846
  * Not found
4239
2847
  */
@@ -4241,7 +2849,7 @@ export type GetMcpServerErrors = {
4241
2849
  /**
4242
2850
  * Internal server error
4243
2851
  */
4244
- 500: OpenAiApiError;
2852
+ 500: BodhiApiError;
4245
2853
  };
4246
2854
 
4247
2855
  export type GetMcpServerError = GetMcpServerErrors[keyof GetMcpServerErrors];
@@ -4271,15 +2879,15 @@ export type UpdateMcpServerErrors = {
4271
2879
  /**
4272
2880
  * Invalid request parameters
4273
2881
  */
4274
- 400: OpenAiApiError;
2882
+ 400: BodhiApiError;
4275
2883
  /**
4276
2884
  * Not authenticated
4277
2885
  */
4278
- 401: OpenAiApiError;
2886
+ 401: BodhiApiError;
4279
2887
  /**
4280
2888
  * Insufficient permissions
4281
2889
  */
4282
- 403: OpenAiApiError;
2890
+ 403: BodhiApiError;
4283
2891
  /**
4284
2892
  * Not found
4285
2893
  */
@@ -4291,7 +2899,7 @@ export type UpdateMcpServerErrors = {
4291
2899
  /**
4292
2900
  * Internal server error
4293
2901
  */
4294
- 500: OpenAiApiError;
2902
+ 500: BodhiApiError;
4295
2903
  };
4296
2904
 
4297
2905
  export type UpdateMcpServerError = UpdateMcpServerErrors[keyof UpdateMcpServerErrors];
@@ -4321,15 +2929,15 @@ export type DeleteMcpErrors = {
4321
2929
  /**
4322
2930
  * Invalid request parameters
4323
2931
  */
4324
- 400: OpenAiApiError;
2932
+ 400: BodhiApiError;
4325
2933
  /**
4326
2934
  * Not authenticated
4327
2935
  */
4328
- 401: OpenAiApiError;
2936
+ 401: BodhiApiError;
4329
2937
  /**
4330
2938
  * Insufficient permissions
4331
2939
  */
4332
- 403: OpenAiApiError;
2940
+ 403: BodhiApiError;
4333
2941
  /**
4334
2942
  * MCP not found
4335
2943
  */
@@ -4337,7 +2945,7 @@ export type DeleteMcpErrors = {
4337
2945
  /**
4338
2946
  * Internal server error
4339
2947
  */
4340
- 500: OpenAiApiError;
2948
+ 500: BodhiApiError;
4341
2949
  };
4342
2950
 
4343
2951
  export type DeleteMcpError = DeleteMcpErrors[keyof DeleteMcpErrors];
@@ -4367,15 +2975,15 @@ export type GetMcpErrors = {
4367
2975
  /**
4368
2976
  * Invalid request parameters
4369
2977
  */
4370
- 400: OpenAiApiError;
2978
+ 400: BodhiApiError;
4371
2979
  /**
4372
2980
  * Not authenticated
4373
2981
  */
4374
- 401: OpenAiApiError;
2982
+ 401: BodhiApiError;
4375
2983
  /**
4376
2984
  * Insufficient permissions
4377
2985
  */
4378
- 403: OpenAiApiError;
2986
+ 403: BodhiApiError;
4379
2987
  /**
4380
2988
  * MCP not found
4381
2989
  */
@@ -4383,7 +2991,7 @@ export type GetMcpErrors = {
4383
2991
  /**
4384
2992
  * Internal server error
4385
2993
  */
4386
- 500: OpenAiApiError;
2994
+ 500: BodhiApiError;
4387
2995
  };
4388
2996
 
4389
2997
  export type GetMcpError = GetMcpErrors[keyof GetMcpErrors];
@@ -4413,15 +3021,15 @@ export type UpdateMcpErrors = {
4413
3021
  /**
4414
3022
  * Invalid request parameters
4415
3023
  */
4416
- 400: OpenAiApiError;
3024
+ 400: BodhiApiError;
4417
3025
  /**
4418
3026
  * Not authenticated
4419
3027
  */
4420
- 401: OpenAiApiError;
3028
+ 401: BodhiApiError;
4421
3029
  /**
4422
3030
  * Insufficient permissions
4423
3031
  */
4424
- 403: OpenAiApiError;
3032
+ 403: BodhiApiError;
4425
3033
  /**
4426
3034
  * MCP not found
4427
3035
  */
@@ -4429,7 +3037,7 @@ export type UpdateMcpErrors = {
4429
3037
  /**
4430
3038
  * Internal server error
4431
3039
  */
4432
- 500: OpenAiApiError;
3040
+ 500: BodhiApiError;
4433
3041
  };
4434
3042
 
4435
3043
  export type UpdateMcpError = UpdateMcpErrors[keyof UpdateMcpErrors];
@@ -4471,19 +3079,19 @@ export type ListAllModelsErrors = {
4471
3079
  /**
4472
3080
  * Invalid request parameters
4473
3081
  */
4474
- 400: OpenAiApiError;
3082
+ 400: BodhiApiError;
4475
3083
  /**
4476
3084
  * Not authenticated
4477
3085
  */
4478
- 401: OpenAiApiError;
3086
+ 401: BodhiApiError;
4479
3087
  /**
4480
3088
  * Insufficient permissions
4481
3089
  */
4482
- 403: OpenAiApiError;
3090
+ 403: BodhiApiError;
4483
3091
  /**
4484
3092
  * Internal server error
4485
3093
  */
4486
- 500: OpenAiApiError;
3094
+ 500: BodhiApiError;
4487
3095
  };
4488
3096
 
4489
3097
  export type ListAllModelsError = ListAllModelsErrors[keyof ListAllModelsErrors];
@@ -4508,19 +3116,19 @@ export type ModelsAliasCreateErrors = {
4508
3116
  /**
4509
3117
  * Invalid request parameters
4510
3118
  */
4511
- 400: OpenAiApiError;
3119
+ 400: BodhiApiError;
4512
3120
  /**
4513
3121
  * Not authenticated
4514
3122
  */
4515
- 401: OpenAiApiError;
3123
+ 401: BodhiApiError;
4516
3124
  /**
4517
3125
  * Insufficient permissions
4518
3126
  */
4519
- 403: OpenAiApiError;
3127
+ 403: BodhiApiError;
4520
3128
  /**
4521
3129
  * Internal server error
4522
3130
  */
4523
- 500: OpenAiApiError;
3131
+ 500: BodhiApiError;
4524
3132
  };
4525
3133
 
4526
3134
  export type ModelsAliasCreateError = ModelsAliasCreateErrors[keyof ModelsAliasCreateErrors];
@@ -4550,15 +3158,15 @@ export type ModelsAliasDestroyErrors = {
4550
3158
  /**
4551
3159
  * Invalid request parameters
4552
3160
  */
4553
- 400: OpenAiApiError;
3161
+ 400: BodhiApiError;
4554
3162
  /**
4555
3163
  * Not authenticated
4556
3164
  */
4557
- 401: OpenAiApiError;
3165
+ 401: BodhiApiError;
4558
3166
  /**
4559
3167
  * Insufficient permissions
4560
3168
  */
4561
- 403: OpenAiApiError;
3169
+ 403: BodhiApiError;
4562
3170
  /**
4563
3171
  * Alias not found
4564
3172
  */
@@ -4566,7 +3174,7 @@ export type ModelsAliasDestroyErrors = {
4566
3174
  /**
4567
3175
  * Internal server error
4568
3176
  */
4569
- 500: OpenAiApiError;
3177
+ 500: BodhiApiError;
4570
3178
  };
4571
3179
 
4572
3180
  export type ModelsAliasDestroyError = ModelsAliasDestroyErrors[keyof ModelsAliasDestroyErrors];
@@ -4594,19 +3202,19 @@ export type ModelsAliasUpdateErrors = {
4594
3202
  /**
4595
3203
  * Invalid request parameters
4596
3204
  */
4597
- 400: OpenAiApiError;
3205
+ 400: BodhiApiError;
4598
3206
  /**
4599
3207
  * Not authenticated
4600
3208
  */
4601
- 401: OpenAiApiError;
3209
+ 401: BodhiApiError;
4602
3210
  /**
4603
3211
  * Insufficient permissions
4604
3212
  */
4605
- 403: OpenAiApiError;
3213
+ 403: BodhiApiError;
4606
3214
  /**
4607
3215
  * Internal server error
4608
3216
  */
4609
- 500: OpenAiApiError;
3217
+ 500: BodhiApiError;
4610
3218
  };
4611
3219
 
4612
3220
  export type ModelsAliasUpdateError = ModelsAliasUpdateErrors[keyof ModelsAliasUpdateErrors];
@@ -4636,15 +3244,15 @@ export type ModelsAliasCopyErrors = {
4636
3244
  /**
4637
3245
  * Invalid request parameters
4638
3246
  */
4639
- 400: OpenAiApiError;
3247
+ 400: BodhiApiError;
4640
3248
  /**
4641
3249
  * Not authenticated
4642
3250
  */
4643
- 401: OpenAiApiError;
3251
+ 401: BodhiApiError;
4644
3252
  /**
4645
3253
  * Insufficient permissions
4646
3254
  */
4647
- 403: OpenAiApiError;
3255
+ 403: BodhiApiError;
4648
3256
  /**
4649
3257
  * Source alias not found
4650
3258
  */
@@ -4652,7 +3260,7 @@ export type ModelsAliasCopyErrors = {
4652
3260
  /**
4653
3261
  * Internal server error
4654
3262
  */
4655
- 500: OpenAiApiError;
3263
+ 500: BodhiApiError;
4656
3264
  };
4657
3265
 
4658
3266
  export type ModelsAliasCopyError = ModelsAliasCopyErrors[keyof ModelsAliasCopyErrors];
@@ -4677,23 +3285,23 @@ export type CreateApiModelErrors = {
4677
3285
  /**
4678
3286
  * Invalid request parameters
4679
3287
  */
4680
- 400: OpenAiApiError;
3288
+ 400: BodhiApiError;
4681
3289
  /**
4682
3290
  * Not authenticated
4683
3291
  */
4684
- 401: OpenAiApiError;
3292
+ 401: BodhiApiError;
4685
3293
  /**
4686
3294
  * Insufficient permissions
4687
3295
  */
4688
- 403: OpenAiApiError;
3296
+ 403: BodhiApiError;
4689
3297
  /**
4690
3298
  * Alias already exists
4691
3299
  */
4692
- 409: OpenAiApiError;
3300
+ 409: BodhiApiError;
4693
3301
  /**
4694
3302
  * Internal server error
4695
3303
  */
4696
- 500: OpenAiApiError;
3304
+ 500: BodhiApiError;
4697
3305
  };
4698
3306
 
4699
3307
  export type CreateApiModelError = CreateApiModelErrors[keyof CreateApiModelErrors];
@@ -4718,19 +3326,19 @@ export type FetchApiModelsErrors = {
4718
3326
  /**
4719
3327
  * Invalid request parameters
4720
3328
  */
4721
- 400: OpenAiApiError;
3329
+ 400: BodhiApiError;
4722
3330
  /**
4723
3331
  * Not authenticated
4724
3332
  */
4725
- 401: OpenAiApiError;
3333
+ 401: BodhiApiError;
4726
3334
  /**
4727
3335
  * Insufficient permissions
4728
3336
  */
4729
- 403: OpenAiApiError;
3337
+ 403: BodhiApiError;
4730
3338
  /**
4731
3339
  * Internal server error
4732
3340
  */
4733
- 500: OpenAiApiError;
3341
+ 500: BodhiApiError;
4734
3342
  };
4735
3343
 
4736
3344
  export type FetchApiModelsError = FetchApiModelsErrors[keyof FetchApiModelsErrors];
@@ -4755,19 +3363,19 @@ export type GetApiFormatsErrors = {
4755
3363
  /**
4756
3364
  * Invalid request parameters
4757
3365
  */
4758
- 400: OpenAiApiError;
3366
+ 400: BodhiApiError;
4759
3367
  /**
4760
3368
  * Not authenticated
4761
3369
  */
4762
- 401: OpenAiApiError;
3370
+ 401: BodhiApiError;
4763
3371
  /**
4764
3372
  * Insufficient permissions
4765
3373
  */
4766
- 403: OpenAiApiError;
3374
+ 403: BodhiApiError;
4767
3375
  /**
4768
3376
  * Internal server error
4769
3377
  */
4770
- 500: OpenAiApiError;
3378
+ 500: BodhiApiError;
4771
3379
  };
4772
3380
 
4773
3381
  export type GetApiFormatsError = GetApiFormatsErrors[keyof GetApiFormatsErrors];
@@ -4792,19 +3400,19 @@ export type TestApiModelErrors = {
4792
3400
  /**
4793
3401
  * Invalid request parameters
4794
3402
  */
4795
- 400: OpenAiApiError;
3403
+ 400: BodhiApiError;
4796
3404
  /**
4797
3405
  * Not authenticated
4798
3406
  */
4799
- 401: OpenAiApiError;
3407
+ 401: BodhiApiError;
4800
3408
  /**
4801
3409
  * Insufficient permissions
4802
3410
  */
4803
- 403: OpenAiApiError;
3411
+ 403: BodhiApiError;
4804
3412
  /**
4805
3413
  * Internal server error
4806
3414
  */
4807
- 500: OpenAiApiError;
3415
+ 500: BodhiApiError;
4808
3416
  };
4809
3417
 
4810
3418
  export type TestApiModelError = TestApiModelErrors[keyof TestApiModelErrors];
@@ -4834,23 +3442,23 @@ export type DeleteApiModelErrors = {
4834
3442
  /**
4835
3443
  * Invalid request parameters
4836
3444
  */
4837
- 400: OpenAiApiError;
3445
+ 400: BodhiApiError;
4838
3446
  /**
4839
3447
  * Not authenticated
4840
3448
  */
4841
- 401: OpenAiApiError;
3449
+ 401: BodhiApiError;
4842
3450
  /**
4843
3451
  * Insufficient permissions
4844
3452
  */
4845
- 403: OpenAiApiError;
3453
+ 403: BodhiApiError;
4846
3454
  /**
4847
3455
  * API model not found
4848
3456
  */
4849
- 404: OpenAiApiError;
3457
+ 404: BodhiApiError;
4850
3458
  /**
4851
3459
  * Internal server error
4852
3460
  */
4853
- 500: OpenAiApiError;
3461
+ 500: BodhiApiError;
4854
3462
  };
4855
3463
 
4856
3464
  export type DeleteApiModelError = DeleteApiModelErrors[keyof DeleteApiModelErrors];
@@ -4880,23 +3488,23 @@ export type GetApiModelErrors = {
4880
3488
  /**
4881
3489
  * Invalid request parameters
4882
3490
  */
4883
- 400: OpenAiApiError;
3491
+ 400: BodhiApiError;
4884
3492
  /**
4885
3493
  * Not authenticated
4886
3494
  */
4887
- 401: OpenAiApiError;
3495
+ 401: BodhiApiError;
4888
3496
  /**
4889
3497
  * Insufficient permissions
4890
3498
  */
4891
- 403: OpenAiApiError;
3499
+ 403: BodhiApiError;
4892
3500
  /**
4893
3501
  * API model with specified ID not found
4894
3502
  */
4895
- 404: OpenAiApiError;
3503
+ 404: BodhiApiError;
4896
3504
  /**
4897
3505
  * Internal server error
4898
3506
  */
4899
- 500: OpenAiApiError;
3507
+ 500: BodhiApiError;
4900
3508
  };
4901
3509
 
4902
3510
  export type GetApiModelError = GetApiModelErrors[keyof GetApiModelErrors];
@@ -4926,23 +3534,23 @@ export type UpdateApiModelErrors = {
4926
3534
  /**
4927
3535
  * Invalid request parameters
4928
3536
  */
4929
- 400: OpenAiApiError;
3537
+ 400: BodhiApiError;
4930
3538
  /**
4931
3539
  * Not authenticated
4932
3540
  */
4933
- 401: OpenAiApiError;
3541
+ 401: BodhiApiError;
4934
3542
  /**
4935
3543
  * Insufficient permissions
4936
3544
  */
4937
- 403: OpenAiApiError;
3545
+ 403: BodhiApiError;
4938
3546
  /**
4939
3547
  * API model not found
4940
3548
  */
4941
- 404: OpenAiApiError;
3549
+ 404: BodhiApiError;
4942
3550
  /**
4943
3551
  * Internal server error
4944
3552
  */
4945
- 500: OpenAiApiError;
3553
+ 500: BodhiApiError;
4946
3554
  };
4947
3555
 
4948
3556
  export type UpdateApiModelError = UpdateApiModelErrors[keyof UpdateApiModelErrors];
@@ -4972,15 +3580,15 @@ export type SyncModelsErrors = {
4972
3580
  /**
4973
3581
  * Invalid request parameters
4974
3582
  */
4975
- 400: OpenAiApiError;
3583
+ 400: BodhiApiError;
4976
3584
  /**
4977
3585
  * Not authenticated
4978
3586
  */
4979
- 401: OpenAiApiError;
3587
+ 401: BodhiApiError;
4980
3588
  /**
4981
3589
  * Insufficient permissions
4982
3590
  */
4983
- 403: OpenAiApiError;
3591
+ 403: BodhiApiError;
4984
3592
  /**
4985
3593
  * API model not found
4986
3594
  */
@@ -4988,7 +3596,7 @@ export type SyncModelsErrors = {
4988
3596
  /**
4989
3597
  * Internal server error
4990
3598
  */
4991
- 500: OpenAiApiError;
3599
+ 500: BodhiApiError;
4992
3600
  };
4993
3601
 
4994
3602
  export type SyncModelsError = SyncModelsErrors[keyof SyncModelsErrors];
@@ -5030,19 +3638,19 @@ export type ListModelFilesErrors = {
5030
3638
  /**
5031
3639
  * Invalid request parameters
5032
3640
  */
5033
- 400: OpenAiApiError;
3641
+ 400: BodhiApiError;
5034
3642
  /**
5035
3643
  * Not authenticated
5036
3644
  */
5037
- 401: OpenAiApiError;
3645
+ 401: BodhiApiError;
5038
3646
  /**
5039
3647
  * Insufficient permissions
5040
3648
  */
5041
- 403: OpenAiApiError;
3649
+ 403: BodhiApiError;
5042
3650
  /**
5043
3651
  * Internal server error
5044
3652
  */
5045
- 500: OpenAiApiError;
3653
+ 500: BodhiApiError;
5046
3654
  };
5047
3655
 
5048
3656
  export type ListModelFilesError = ListModelFilesErrors[keyof ListModelFilesErrors];
@@ -5084,19 +3692,19 @@ export type ListDownloadsErrors = {
5084
3692
  /**
5085
3693
  * Invalid request parameters
5086
3694
  */
5087
- 400: OpenAiApiError;
3695
+ 400: BodhiApiError;
5088
3696
  /**
5089
3697
  * Not authenticated
5090
3698
  */
5091
- 401: OpenAiApiError;
3699
+ 401: BodhiApiError;
5092
3700
  /**
5093
3701
  * Insufficient permissions
5094
3702
  */
5095
- 403: OpenAiApiError;
3703
+ 403: BodhiApiError;
5096
3704
  /**
5097
3705
  * Internal server error
5098
3706
  */
5099
- 500: OpenAiApiError;
3707
+ 500: BodhiApiError;
5100
3708
  };
5101
3709
 
5102
3710
  export type ListDownloadsError = ListDownloadsErrors[keyof ListDownloadsErrors];
@@ -5124,19 +3732,19 @@ export type PullModelFileErrors = {
5124
3732
  /**
5125
3733
  * Invalid request parameters
5126
3734
  */
5127
- 400: OpenAiApiError;
3735
+ 400: BodhiApiError;
5128
3736
  /**
5129
3737
  * Not authenticated
5130
3738
  */
5131
- 401: OpenAiApiError;
3739
+ 401: BodhiApiError;
5132
3740
  /**
5133
3741
  * Insufficient permissions
5134
3742
  */
5135
- 403: OpenAiApiError;
3743
+ 403: BodhiApiError;
5136
3744
  /**
5137
3745
  * Internal server error
5138
3746
  */
5139
- 500: OpenAiApiError;
3747
+ 500: BodhiApiError;
5140
3748
  };
5141
3749
 
5142
3750
  export type PullModelFileError = PullModelFileErrors[keyof PullModelFileErrors];
@@ -5170,23 +3778,23 @@ export type GetDownloadStatusErrors = {
5170
3778
  /**
5171
3779
  * Invalid request parameters
5172
3780
  */
5173
- 400: OpenAiApiError;
3781
+ 400: BodhiApiError;
5174
3782
  /**
5175
3783
  * Not authenticated
5176
3784
  */
5177
- 401: OpenAiApiError;
3785
+ 401: BodhiApiError;
5178
3786
  /**
5179
3787
  * Insufficient permissions
5180
3788
  */
5181
- 403: OpenAiApiError;
3789
+ 403: BodhiApiError;
5182
3790
  /**
5183
3791
  * Download request not found
5184
3792
  */
5185
- 404: OpenAiApiError;
3793
+ 404: BodhiApiError;
5186
3794
  /**
5187
3795
  * Internal server error
5188
3796
  */
5189
- 500: OpenAiApiError;
3797
+ 500: BodhiApiError;
5190
3798
  };
5191
3799
 
5192
3800
  export type GetDownloadStatusError = GetDownloadStatusErrors[keyof GetDownloadStatusErrors];
@@ -5214,15 +3822,15 @@ export type RefreshModelMetadataErrors = {
5214
3822
  /**
5215
3823
  * Invalid request parameters
5216
3824
  */
5217
- 400: OpenAiApiError;
3825
+ 400: BodhiApiError;
5218
3826
  /**
5219
3827
  * Not authenticated
5220
3828
  */
5221
- 401: OpenAiApiError;
3829
+ 401: BodhiApiError;
5222
3830
  /**
5223
3831
  * Insufficient permissions
5224
3832
  */
5225
- 403: OpenAiApiError;
3833
+ 403: BodhiApiError;
5226
3834
  /**
5227
3835
  * Model alias not found for specified repo/filename/snapshot
5228
3836
  */
@@ -5230,7 +3838,7 @@ export type RefreshModelMetadataErrors = {
5230
3838
  /**
5231
3839
  * Internal server error
5232
3840
  */
5233
- 500: OpenAiApiError;
3841
+ 500: BodhiApiError;
5234
3842
  };
5235
3843
 
5236
3844
  export type RefreshModelMetadataError = RefreshModelMetadataErrors[keyof RefreshModelMetadataErrors];
@@ -5264,23 +3872,23 @@ export type GetAliasErrors = {
5264
3872
  /**
5265
3873
  * Invalid request parameters
5266
3874
  */
5267
- 400: OpenAiApiError;
3875
+ 400: BodhiApiError;
5268
3876
  /**
5269
3877
  * Not authenticated
5270
3878
  */
5271
- 401: OpenAiApiError;
3879
+ 401: BodhiApiError;
5272
3880
  /**
5273
3881
  * Insufficient permissions
5274
3882
  */
5275
- 403: OpenAiApiError;
3883
+ 403: BodhiApiError;
5276
3884
  /**
5277
3885
  * Alias not found
5278
3886
  */
5279
- 404: OpenAiApiError;
3887
+ 404: BodhiApiError;
5280
3888
  /**
5281
3889
  * Internal server error
5282
3890
  */
5283
- 500: OpenAiApiError;
3891
+ 500: BodhiApiError;
5284
3892
  };
5285
3893
 
5286
3894
  export type GetAliasError = GetAliasErrors[keyof GetAliasErrors];
@@ -5305,19 +3913,19 @@ export type GetQueueStatusErrors = {
5305
3913
  /**
5306
3914
  * Invalid request parameters
5307
3915
  */
5308
- 400: OpenAiApiError;
3916
+ 400: BodhiApiError;
5309
3917
  /**
5310
3918
  * Not authenticated
5311
3919
  */
5312
- 401: OpenAiApiError;
3920
+ 401: BodhiApiError;
5313
3921
  /**
5314
3922
  * Insufficient permissions
5315
3923
  */
5316
- 403: OpenAiApiError;
3924
+ 403: BodhiApiError;
5317
3925
  /**
5318
3926
  * Internal server error
5319
3927
  */
5320
- 500: OpenAiApiError;
3928
+ 500: BodhiApiError;
5321
3929
  };
5322
3930
 
5323
3931
  export type GetQueueStatusError = GetQueueStatusErrors[keyof GetQueueStatusErrors];
@@ -5342,19 +3950,19 @@ export type ListSettingsErrors = {
5342
3950
  /**
5343
3951
  * Invalid request parameters
5344
3952
  */
5345
- 400: OpenAiApiError;
3953
+ 400: BodhiApiError;
5346
3954
  /**
5347
3955
  * Not authenticated
5348
3956
  */
5349
- 401: OpenAiApiError;
3957
+ 401: BodhiApiError;
5350
3958
  /**
5351
3959
  * Insufficient permissions
5352
3960
  */
5353
- 403: OpenAiApiError;
3961
+ 403: BodhiApiError;
5354
3962
  /**
5355
3963
  * Internal server error
5356
3964
  */
5357
- 500: OpenAiApiError;
3965
+ 500: BodhiApiError;
5358
3966
  };
5359
3967
 
5360
3968
  export type ListSettingsError = ListSettingsErrors[keyof ListSettingsErrors];
@@ -5384,23 +3992,23 @@ export type DeleteSettingErrors = {
5384
3992
  /**
5385
3993
  * Invalid request parameters
5386
3994
  */
5387
- 400: OpenAiApiError;
3995
+ 400: BodhiApiError;
5388
3996
  /**
5389
3997
  * Not authenticated
5390
3998
  */
5391
- 401: OpenAiApiError;
3999
+ 401: BodhiApiError;
5392
4000
  /**
5393
4001
  * Insufficient permissions
5394
4002
  */
5395
- 403: OpenAiApiError;
4003
+ 403: BodhiApiError;
5396
4004
  /**
5397
4005
  * Setting not found
5398
4006
  */
5399
- 404: OpenAiApiError;
4007
+ 404: BodhiApiError;
5400
4008
  /**
5401
4009
  * Internal server error
5402
4010
  */
5403
- 500: OpenAiApiError;
4011
+ 500: BodhiApiError;
5404
4012
  };
5405
4013
 
5406
4014
  export type DeleteSettingError = DeleteSettingErrors[keyof DeleteSettingErrors];
@@ -5438,23 +4046,23 @@ export type UpdateSettingErrors = {
5438
4046
  /**
5439
4047
  * Invalid request parameters
5440
4048
  */
5441
- 400: OpenAiApiError;
4049
+ 400: BodhiApiError;
5442
4050
  /**
5443
4051
  * Not authenticated
5444
4052
  */
5445
- 401: OpenAiApiError;
4053
+ 401: BodhiApiError;
5446
4054
  /**
5447
4055
  * Insufficient permissions
5448
4056
  */
5449
- 403: OpenAiApiError;
4057
+ 403: BodhiApiError;
5450
4058
  /**
5451
4059
  * Setting not found
5452
4060
  */
5453
- 404: OpenAiApiError;
4061
+ 404: BodhiApiError;
5454
4062
  /**
5455
4063
  * Internal server error
5456
4064
  */
5457
- 500: OpenAiApiError;
4065
+ 500: BodhiApiError;
5458
4066
  };
5459
4067
 
5460
4068
  export type UpdateSettingError = UpdateSettingErrors[keyof UpdateSettingErrors];
@@ -5482,11 +4090,11 @@ export type SetupAppErrors = {
5482
4090
  /**
5483
4091
  * Invalid request parameters
5484
4092
  */
5485
- 400: OpenAiApiError;
4093
+ 400: BodhiApiError;
5486
4094
  /**
5487
4095
  * Internal server error
5488
4096
  */
5489
- 500: OpenAiApiError;
4097
+ 500: BodhiApiError;
5490
4098
  };
5491
4099
 
5492
4100
  export type SetupAppError = SetupAppErrors[keyof SetupAppErrors];
@@ -5511,19 +4119,19 @@ export type TenantsListErrors = {
5511
4119
  /**
5512
4120
  * Invalid request parameters
5513
4121
  */
5514
- 400: OpenAiApiError;
4122
+ 400: BodhiApiError;
5515
4123
  /**
5516
4124
  * Not authenticated
5517
4125
  */
5518
- 401: OpenAiApiError;
4126
+ 401: BodhiApiError;
5519
4127
  /**
5520
4128
  * Insufficient permissions
5521
4129
  */
5522
- 403: OpenAiApiError;
4130
+ 403: BodhiApiError;
5523
4131
  /**
5524
4132
  * Internal server error
5525
4133
  */
5526
- 500: OpenAiApiError;
4134
+ 500: BodhiApiError;
5527
4135
  };
5528
4136
 
5529
4137
  export type TenantsListError = TenantsListErrors[keyof TenantsListErrors];
@@ -5551,19 +4159,19 @@ export type TenantsCreateErrors = {
5551
4159
  /**
5552
4160
  * Invalid request parameters
5553
4161
  */
5554
- 400: OpenAiApiError;
4162
+ 400: BodhiApiError;
5555
4163
  /**
5556
4164
  * Not authenticated
5557
4165
  */
5558
- 401: OpenAiApiError;
4166
+ 401: BodhiApiError;
5559
4167
  /**
5560
4168
  * Insufficient permissions
5561
4169
  */
5562
- 403: OpenAiApiError;
4170
+ 403: BodhiApiError;
5563
4171
  /**
5564
4172
  * Internal server error
5565
4173
  */
5566
- 500: OpenAiApiError;
4174
+ 500: BodhiApiError;
5567
4175
  };
5568
4176
 
5569
4177
  export type TenantsCreateError = TenantsCreateErrors[keyof TenantsCreateErrors];
@@ -5593,19 +4201,19 @@ export type TenantsActivateErrors = {
5593
4201
  /**
5594
4202
  * Invalid request parameters
5595
4203
  */
5596
- 400: OpenAiApiError;
4204
+ 400: BodhiApiError;
5597
4205
  /**
5598
4206
  * Not authenticated
5599
4207
  */
5600
- 401: OpenAiApiError;
4208
+ 401: BodhiApiError;
5601
4209
  /**
5602
4210
  * Insufficient permissions
5603
4211
  */
5604
- 403: OpenAiApiError;
4212
+ 403: BodhiApiError;
5605
4213
  /**
5606
4214
  * Internal server error
5607
4215
  */
5608
- 500: OpenAiApiError;
4216
+ 500: BodhiApiError;
5609
4217
  };
5610
4218
 
5611
4219
  export type TenantsActivateError = TenantsActivateErrors[keyof TenantsActivateErrors];
@@ -5645,19 +4253,19 @@ export type ListApiTokensErrors = {
5645
4253
  /**
5646
4254
  * Invalid request parameters
5647
4255
  */
5648
- 400: OpenAiApiError;
4256
+ 400: BodhiApiError;
5649
4257
  /**
5650
4258
  * Not authenticated
5651
4259
  */
5652
- 401: OpenAiApiError;
4260
+ 401: BodhiApiError;
5653
4261
  /**
5654
4262
  * Insufficient permissions
5655
4263
  */
5656
- 403: OpenAiApiError;
4264
+ 403: BodhiApiError;
5657
4265
  /**
5658
4266
  * Internal server error
5659
4267
  */
5660
- 500: OpenAiApiError;
4268
+ 500: BodhiApiError;
5661
4269
  };
5662
4270
 
5663
4271
  export type ListApiTokensError = ListApiTokensErrors[keyof ListApiTokensErrors];
@@ -5685,19 +4293,19 @@ export type CreateApiTokenErrors = {
5685
4293
  /**
5686
4294
  * Invalid request parameters
5687
4295
  */
5688
- 400: OpenAiApiError;
4296
+ 400: BodhiApiError;
5689
4297
  /**
5690
4298
  * Not authenticated
5691
4299
  */
5692
- 401: OpenAiApiError;
4300
+ 401: BodhiApiError;
5693
4301
  /**
5694
4302
  * Insufficient permissions
5695
4303
  */
5696
- 403: OpenAiApiError;
4304
+ 403: BodhiApiError;
5697
4305
  /**
5698
4306
  * Internal server error
5699
4307
  */
5700
- 500: OpenAiApiError;
4308
+ 500: BodhiApiError;
5701
4309
  };
5702
4310
 
5703
4311
  export type CreateApiTokenError = CreateApiTokenErrors[keyof CreateApiTokenErrors];
@@ -5730,23 +4338,23 @@ export type UpdateApiTokenErrors = {
5730
4338
  /**
5731
4339
  * Invalid request parameters
5732
4340
  */
5733
- 400: OpenAiApiError;
4341
+ 400: BodhiApiError;
5734
4342
  /**
5735
4343
  * Not authenticated
5736
4344
  */
5737
- 401: OpenAiApiError;
4345
+ 401: BodhiApiError;
5738
4346
  /**
5739
4347
  * Insufficient permissions
5740
4348
  */
5741
- 403: OpenAiApiError;
4349
+ 403: BodhiApiError;
5742
4350
  /**
5743
4351
  * Token not found
5744
4352
  */
5745
- 404: OpenAiApiError;
4353
+ 404: BodhiApiError;
5746
4354
  /**
5747
4355
  * Internal server error
5748
4356
  */
5749
- 500: OpenAiApiError;
4357
+ 500: BodhiApiError;
5750
4358
  };
5751
4359
 
5752
4360
  export type UpdateApiTokenError = UpdateApiTokenErrors[keyof UpdateApiTokenErrors];
@@ -5771,19 +4379,19 @@ export type GetCurrentUserErrors = {
5771
4379
  /**
5772
4380
  * Invalid request parameters
5773
4381
  */
5774
- 400: OpenAiApiError;
4382
+ 400: BodhiApiError;
5775
4383
  /**
5776
4384
  * Not authenticated
5777
4385
  */
5778
- 401: OpenAiApiError;
4386
+ 401: BodhiApiError;
5779
4387
  /**
5780
4388
  * Insufficient permissions
5781
4389
  */
5782
- 403: OpenAiApiError;
4390
+ 403: BodhiApiError;
5783
4391
  /**
5784
4392
  * Internal server error
5785
4393
  */
5786
- 500: OpenAiApiError;
4394
+ 500: BodhiApiError;
5787
4395
  };
5788
4396
 
5789
4397
  export type GetCurrentUserError = GetCurrentUserErrors[keyof GetCurrentUserErrors];
@@ -5808,27 +4416,27 @@ export type RequestUserAccessErrors = {
5808
4416
  /**
5809
4417
  * Invalid request parameters
5810
4418
  */
5811
- 400: OpenAiApiError;
4419
+ 400: BodhiApiError;
5812
4420
  /**
5813
4421
  * Not authenticated
5814
4422
  */
5815
- 401: OpenAiApiError;
4423
+ 401: BodhiApiError;
5816
4424
  /**
5817
4425
  * Insufficient permissions
5818
4426
  */
5819
- 403: OpenAiApiError;
4427
+ 403: BodhiApiError;
5820
4428
  /**
5821
4429
  * Pending request already exists
5822
4430
  */
5823
- 409: OpenAiApiError;
4431
+ 409: BodhiApiError;
5824
4432
  /**
5825
4433
  * User already has role
5826
4434
  */
5827
- 422: OpenAiApiError;
4435
+ 422: BodhiApiError;
5828
4436
  /**
5829
4437
  * Internal server error
5830
4438
  */
5831
- 500: OpenAiApiError;
4439
+ 500: BodhiApiError;
5832
4440
  };
5833
4441
 
5834
4442
  export type RequestUserAccessError = RequestUserAccessErrors[keyof RequestUserAccessErrors];
@@ -5851,23 +4459,23 @@ export type GetUserAccessStatusErrors = {
5851
4459
  /**
5852
4460
  * Invalid request parameters
5853
4461
  */
5854
- 400: OpenAiApiError;
4462
+ 400: BodhiApiError;
5855
4463
  /**
5856
4464
  * Not authenticated
5857
4465
  */
5858
- 401: OpenAiApiError;
4466
+ 401: BodhiApiError;
5859
4467
  /**
5860
4468
  * Insufficient permissions
5861
4469
  */
5862
- 403: OpenAiApiError;
4470
+ 403: BodhiApiError;
5863
4471
  /**
5864
4472
  * Request not found
5865
4473
  */
5866
- 404: OpenAiApiError;
4474
+ 404: BodhiApiError;
5867
4475
  /**
5868
4476
  * Internal server error
5869
4477
  */
5870
- 500: OpenAiApiError;
4478
+ 500: BodhiApiError;
5871
4479
  };
5872
4480
 
5873
4481
  export type GetUserAccessStatusError = GetUserAccessStatusErrors[keyof GetUserAccessStatusErrors];
@@ -5901,19 +4509,19 @@ export type ListUsersErrors = {
5901
4509
  /**
5902
4510
  * Invalid request parameters
5903
4511
  */
5904
- 400: OpenAiApiError;
4512
+ 400: BodhiApiError;
5905
4513
  /**
5906
4514
  * Not authenticated
5907
4515
  */
5908
- 401: OpenAiApiError;
4516
+ 401: BodhiApiError;
5909
4517
  /**
5910
4518
  * Insufficient permissions
5911
4519
  */
5912
- 403: OpenAiApiError;
4520
+ 403: BodhiApiError;
5913
4521
  /**
5914
4522
  * Internal server error
5915
4523
  */
5916
- 500: OpenAiApiError;
4524
+ 500: BodhiApiError;
5917
4525
  };
5918
4526
 
5919
4527
  export type ListUsersError = ListUsersErrors[keyof ListUsersErrors];
@@ -5943,23 +4551,23 @@ export type RemoveUserErrors = {
5943
4551
  /**
5944
4552
  * Invalid request parameters
5945
4553
  */
5946
- 400: OpenAiApiError;
4554
+ 400: BodhiApiError;
5947
4555
  /**
5948
4556
  * Not authenticated
5949
4557
  */
5950
- 401: OpenAiApiError;
4558
+ 401: BodhiApiError;
5951
4559
  /**
5952
4560
  * Insufficient permissions
5953
4561
  */
5954
- 403: OpenAiApiError;
4562
+ 403: BodhiApiError;
5955
4563
  /**
5956
4564
  * User not found
5957
4565
  */
5958
- 404: OpenAiApiError;
4566
+ 404: BodhiApiError;
5959
4567
  /**
5960
4568
  * Internal server error
5961
4569
  */
5962
- 500: OpenAiApiError;
4570
+ 500: BodhiApiError;
5963
4571
  };
5964
4572
 
5965
4573
  export type RemoveUserError = RemoveUserErrors[keyof RemoveUserErrors];
@@ -5987,23 +4595,23 @@ export type ChangeUserRoleErrors = {
5987
4595
  /**
5988
4596
  * Invalid request parameters
5989
4597
  */
5990
- 400: OpenAiApiError;
4598
+ 400: BodhiApiError;
5991
4599
  /**
5992
4600
  * Not authenticated
5993
4601
  */
5994
- 401: OpenAiApiError;
4602
+ 401: BodhiApiError;
5995
4603
  /**
5996
4604
  * Insufficient permissions
5997
4605
  */
5998
- 403: OpenAiApiError;
4606
+ 403: BodhiApiError;
5999
4607
  /**
6000
4608
  * User not found
6001
4609
  */
6002
- 404: OpenAiApiError;
4610
+ 404: BodhiApiError;
6003
4611
  /**
6004
4612
  * Internal server error
6005
4613
  */
6006
- 500: OpenAiApiError;
4614
+ 500: BodhiApiError;
6007
4615
  };
6008
4616
 
6009
4617
  export type ChangeUserRoleError = ChangeUserRoleErrors[keyof ChangeUserRoleErrors];
@@ -6026,11 +4634,11 @@ export type HealthCheckErrors = {
6026
4634
  /**
6027
4635
  * Invalid request parameters
6028
4636
  */
6029
- 400: OpenAiApiError;
4637
+ 400: BodhiApiError;
6030
4638
  /**
6031
4639
  * Internal server error
6032
4640
  */
6033
- 500: OpenAiApiError;
4641
+ 500: BodhiApiError;
6034
4642
  };
6035
4643
 
6036
4644
  export type HealthCheckError = HealthCheckErrors[keyof HealthCheckErrors];
@@ -6055,11 +4663,11 @@ export type PingServerErrors = {
6055
4663
  /**
6056
4664
  * Invalid request parameters
6057
4665
  */
6058
- 400: OpenAiApiError;
4666
+ 400: BodhiApiError;
6059
4667
  /**
6060
4668
  * Internal server error
6061
4669
  */
6062
- 500: OpenAiApiError;
4670
+ 500: BodhiApiError;
6063
4671
  };
6064
4672
 
6065
4673
  export type PingServerError = PingServerErrors[keyof PingServerErrors];
@@ -6073,167 +4681,6 @@ export type PingServerResponses = {
6073
4681
 
6074
4682
  export type PingServerResponse = PingServerResponses[keyof PingServerResponses];
6075
4683
 
6076
- export type CreateChatCompletionData = {
6077
- body: CreateChatCompletionRequest;
6078
- path?: never;
6079
- query?: never;
6080
- url: '/v1/chat/completions';
6081
- };
6082
-
6083
- export type CreateChatCompletionErrors = {
6084
- /**
6085
- * Invalid request parameters
6086
- */
6087
- 400: OpenAiApiError;
6088
- /**
6089
- * Not authenticated
6090
- */
6091
- 401: OpenAiApiError;
6092
- /**
6093
- * Insufficient permissions
6094
- */
6095
- 403: OpenAiApiError;
6096
- /**
6097
- * Internal server error
6098
- */
6099
- 500: OpenAiApiError;
6100
- };
6101
-
6102
- export type CreateChatCompletionError = CreateChatCompletionErrors[keyof CreateChatCompletionErrors];
6103
-
6104
- export type CreateChatCompletionResponses = {
6105
- /**
6106
- * Chat completion response
6107
- */
6108
- 200: CreateChatCompletionResponse;
6109
- /**
6110
- * Chat completion stream, the status is 200, using 201 to avoid OpenAPI format limitation.
6111
- */
6112
- 201: CreateChatCompletionStreamResponse;
6113
- };
6114
-
6115
- export type CreateChatCompletionResponse2 = CreateChatCompletionResponses[keyof CreateChatCompletionResponses];
6116
-
6117
- export type CreateEmbeddingData = {
6118
- body: CreateEmbeddingRequest;
6119
- path?: never;
6120
- query?: never;
6121
- url: '/v1/embeddings';
6122
- };
6123
-
6124
- export type CreateEmbeddingErrors = {
6125
- /**
6126
- * Invalid request parameters
6127
- */
6128
- 400: OpenAiApiError;
6129
- /**
6130
- * Not authenticated
6131
- */
6132
- 401: OpenAiApiError;
6133
- /**
6134
- * Insufficient permissions
6135
- */
6136
- 403: OpenAiApiError;
6137
- /**
6138
- * Internal server error
6139
- */
6140
- 500: OpenAiApiError;
6141
- };
6142
-
6143
- export type CreateEmbeddingError = CreateEmbeddingErrors[keyof CreateEmbeddingErrors];
6144
-
6145
- export type CreateEmbeddingResponses = {
6146
- /**
6147
- * Embedding response
6148
- */
6149
- 200: CreateEmbeddingResponse;
6150
- };
6151
-
6152
- export type CreateEmbeddingResponse2 = CreateEmbeddingResponses[keyof CreateEmbeddingResponses];
6153
-
6154
- export type ListModelsData = {
6155
- body?: never;
6156
- path?: never;
6157
- query?: never;
6158
- url: '/v1/models';
6159
- };
6160
-
6161
- export type ListModelsErrors = {
6162
- /**
6163
- * Invalid request parameters
6164
- */
6165
- 400: OpenAiApiError;
6166
- /**
6167
- * Not authenticated
6168
- */
6169
- 401: OpenAiApiError;
6170
- /**
6171
- * Insufficient permissions
6172
- */
6173
- 403: OpenAiApiError;
6174
- /**
6175
- * Internal server error
6176
- */
6177
- 500: OpenAiApiError;
6178
- };
6179
-
6180
- export type ListModelsError = ListModelsErrors[keyof ListModelsErrors];
6181
-
6182
- export type ListModelsResponses = {
6183
- /**
6184
- * List of available models
6185
- */
6186
- 200: ListModelResponse;
6187
- };
6188
-
6189
- export type ListModelsResponse = ListModelsResponses[keyof ListModelsResponses];
6190
-
6191
- export type GetModelData = {
6192
- body?: never;
6193
- path: {
6194
- /**
6195
- * Model identifier - can be user alias (e.g., 'llama2:chat'), model alias, or API provider alias
6196
- */
6197
- id: string;
6198
- };
6199
- query?: never;
6200
- url: '/v1/models/{id}';
6201
- };
6202
-
6203
- export type GetModelErrors = {
6204
- /**
6205
- * Invalid request parameters
6206
- */
6207
- 400: OpenAiApiError;
6208
- /**
6209
- * Not authenticated
6210
- */
6211
- 401: OpenAiApiError;
6212
- /**
6213
- * Insufficient permissions
6214
- */
6215
- 403: OpenAiApiError;
6216
- /**
6217
- * Model not found
6218
- */
6219
- 404: OpenAiApiError;
6220
- /**
6221
- * Internal server error
6222
- */
6223
- 500: OpenAiApiError;
6224
- };
6225
-
6226
- export type GetModelError = GetModelErrors[keyof GetModelErrors];
6227
-
6228
- export type GetModelResponses = {
6229
- /**
6230
- * Model details
6231
- */
6232
- 200: Model;
6233
- };
6234
-
6235
- export type GetModelResponse = GetModelResponses[keyof GetModelResponses];
6236
-
6237
4684
  export type ClientOptions = {
6238
4685
  baseUrl: 'http://localhost:1135' | (string & {});
6239
4686
  };