1#![cfg_attr(docsrs, feature(doc_cfg))]
2#![doc = include_str!("../docs/crate-docs.md")]
3#![forbid(unsafe_code)]
4#![warn(rust_2024_compatibility, missing_debug_implementations)]
5
6pub mod audio_helpers;
10pub mod auth;
11pub mod client;
12pub mod config;
13pub mod error;
14pub mod files;
15mod generated;
16#[cfg(feature = "structured-output")]
17#[cfg_attr(docsrs, doc(cfg(feature = "structured-output")))]
18pub mod helpers;
19mod json_payload;
20pub mod pagination;
21pub mod providers;
22pub mod resources;
23mod response_meta;
24pub mod stream;
25mod transport;
26pub mod webhooks;
27#[cfg(any(feature = "realtime", feature = "responses-ws"))]
28#[cfg_attr(docsrs, doc(cfg(any(feature = "realtime", feature = "responses-ws"))))]
29pub mod websocket;
30
31pub use audio_helpers::{AudioPlaybackInput, RecordAudioOptions, play_audio, record_audio};
32pub use auth::ApiKeySource;
33pub use client::{Client, ClientBuilder};
34pub use config::{ClientOptions, LogLevel, LogRecord, Logger, LoggerHandle, RequestOptions};
35pub use error::{
36 ApiError, ApiErrorKind, ConnectionError, ContentFilterFinishReasonError, Error,
37 LengthFinishReasonError, ProviderCompatibilityError, Result, SerializationError, StreamError,
38 WebSocketError, WebSocketErrorKind, WebhookVerificationError,
39};
40pub use files::{FileLike, MultipartField, ToFileInput, UploadSource, to_file};
41#[cfg(feature = "structured-output")]
42#[cfg_attr(docsrs, doc(cfg(feature = "structured-output")))]
43pub use helpers::{ParsedChatCompletion, ParsedResponse, json_schema_for, parse_json_payload};
44#[cfg(feature = "tool-runner")]
45#[cfg_attr(docsrs, doc(cfg(feature = "tool-runner")))]
46pub use helpers::{ToolDefinition, ToolHandler, ToolRegistry};
47pub use json_payload::JsonPayload;
48pub use pagination::{CursorPage, ListEnvelope, Page, PageStream};
49pub use providers::{
50 AuthScheme, AzureAuthMode, AzureOptions, CapabilitySet, CompatibilityMode, Provider,
51 ProviderKind, ProviderProfile,
52};
53pub use resources::{
54 AudioSpeechCreateParams, AudioTranscription, AudioTranscriptionSegment,
55 AudioTranscriptionSegmentId, AudioTranscriptionWord, AudioTranslation, Batch,
56 BatchCreateParams, BatchError, BatchErrors, BatchRequestCounts, BatchUsage,
57 BatchUsageInputTokensDetails, BatchUsageOutputTokensDetails, BetaAssistant, BetaAssistantTool,
58 BetaRealtimeSession, BetaRealtimeTranscriptionSession, BetaThread, BetaThreadMessage,
59 BetaThreadMessageContent, BetaThreadRun, BetaThreadRunIncompleteDetails,
60 BetaThreadRunLastError, BetaThreadRunRequiredAction, BetaThreadRunRequiredActionFunction,
61 BetaThreadRunRequiredActionFunctionToolCall, BetaThreadRunRequiredActionSubmitToolOutputs,
62 BetaThreadRunStep, BetaThreadRunStepDetails, BetaThreadRunTool, BetaThreadRunUsage,
63 BetaThreadToolResources, ChatCompletion, ChatCompletionChoiceLogprobs, ChatCompletionChunk,
64 ChatCompletionMessage, ChatCompletionStoreContentPart, ChatCompletionStoreMessage,
65 ChatCompletionTokenLogprob, ChatCompletionTokenTopLogprob, ChatCompletionToolCall,
66 ChatContentDeltaEvent, ChatKitConfiguration, ChatKitRateLimits, ChatKitSession, ChatKitThread,
67 ChatKitThreadContent, ChatKitThreadItem, ChatKitThreadStatus, ChatKitWorkflow,
68 ChatLogProbsDeltaEvent, ChatReasoningDetail, ChatRefusalDeltaEvent,
69 ChatToolArgumentsDeltaEvent, ChatToolChoice, ChatToolChoiceMode, Completion, CompletionChoice,
70 CompletionLogProbs, CompletionUsage, CompletionUsageCompletionTokensDetails,
71 CompletionUsagePromptTokensDetails, Container, ContainerCreateParams, ContainerExpiresAfter,
72 ContainerFile, ContainerFileCreateParams, Conversation, ConversationContentPart,
73 ConversationCreateParams, ConversationInputItem, ConversationItem,
74 ConversationItemCreateParams, ConversationUpdateParams, DeleteResponse, EmbeddingData,
75 EmbeddingResponse, EmbeddingUsage, Eval, EvalCreateParams, EvalDataSourceConfig, EvalOutput,
76 EvalOutputItem, EvalRun, EvalRunCreateParams, EvalRunInput, EvalTestingCriterion,
77 EvalUpdateParams, FileObject, FineTuningCheckpoint, FineTuningCheckpointPermission,
78 FineTuningHyperparameterValue, FineTuningJob, FineTuningJobCreateParams, FineTuningJobError,
79 FineTuningJobEvent, FineTuningJobHyperparameters, FineTuningJobIntegration, FineTuningMetrics,
80 FineTuningWandbIntegration, GraderModel, GraderModelCatalog, GraderRunErrors,
81 GraderRunMetadata, GraderRunResponse, GraderValidateResponse, ImageData, ImageGenerateParams,
82 ImageGenerationResponse, InputTokenCount, KnownResponseOutputTextAnnotation, Model,
83 ModerationCreateResponse, ModerationResult, RealtimeClientSecretCreateResponse,
84 RealtimeSessionClientSecret, RealtimeSessionPayload, Response, ResponseError,
85 ResponseFunctionToolCall, ResponseIncompleteDetails, ResponseInputItemPayload,
86 ResponseInputPayload, ResponseInputTokensDetails, ResponseOutputContentPart,
87 ResponseOutputContentPartRaw, ResponseOutputItem, ResponseOutputItemRaw, ResponseOutputMessage,
88 ResponseOutputRefusal, ResponseOutputText, ResponseOutputTextAnnotation,
89 ResponseOutputTextAnnotationUnknown, ResponseOutputTextContainerFileCitation,
90 ResponseOutputTextFileCitation, ResponseOutputTextFilePath, ResponseOutputTextLogprob,
91 ResponseOutputTextTopLogprob, ResponseOutputTextUrlCitation, ResponseOutputTokensDetails,
92 ResponseUsage, Skill, SkillCreateParams, SkillUpdateParams, SkillVersion, SkillVersionContent,
93 SkillVersionCreateParams, UploadObject, UploadPart, VectorStore, VectorStoreAttributeValue,
94 VectorStoreAttributes, VectorStoreExpiresAfter, VectorStoreFile, VectorStoreFileBatch,
95 VectorStoreFileChunkingStrategy, VectorStoreFileContent, VectorStoreFileCounts,
96 VectorStoreFileLastError, VectorStoreMetadata, VectorStoreSearchContent,
97 VectorStoreSearchResponse, VectorStoreSearchResult, VectorStoreStaticFileChunkingStrategy,
98 Video, VideoCharacter, VideoCharacterCreateParams, VideoCreateParams,
99};
100#[cfg(feature = "tool-runner")]
101#[cfg_attr(docsrs, doc(cfg(feature = "tool-runner")))]
102pub use resources::{
103 ChatCompletionRunner, ChatCompletionStreamingRunner, ChatCompletionToolResult,
104};
105pub use response_meta::{ApiResponse, ResponseMeta};
106pub use stream::{
107 AssistantEventStream, AssistantImageFileDoneEvent, AssistantMessageCreatedEvent,
108 AssistantMessageDeltaEvent, AssistantMessageDoneEvent, AssistantRunStepCreatedEvent,
109 AssistantRunStepDeltaEvent, AssistantRunStepDoneEvent, AssistantRuntimeEvent, AssistantStream,
110 AssistantStreamEvent, AssistantStreamSnapshot, AssistantTextCreatedEvent,
111 AssistantTextDeltaEvent, AssistantTextDoneEvent, AssistantToolCallCreatedEvent,
112 AssistantToolCallDeltaEvent, AssistantToolCallDoneEvent, ChatCompletionEventStream,
113 ChatCompletionRuntimeEvent, ChatCompletionStream, ChatContentDoneEvent,
114 ChatContentSnapshotEvent, ChatLogProbsDoneEvent, ChatLogProbsSnapshotEvent,
115 ChatRefusalDoneEvent, ChatRefusalSnapshotEvent, ChatToolArgumentsDoneEvent,
116 ChatToolArgumentsSnapshotEvent, LineDecoder, RawSseStream, ResponseEventStream,
117 ResponseFunctionCallArgumentsEvent, ResponseOutputTextEvent, ResponseRuntimeEvent,
118 ResponseStream, SseEvent, SseStream,
119};
120pub use webhooks::{HeaderLookup, WebhookEvent, WebhookVerifier};
121#[cfg(feature = "responses-ws")]
122#[cfg_attr(docsrs, doc(cfg(feature = "responses-ws")))]
123pub use websocket::OpenAIResponsesWebSocket;
124#[cfg(feature = "realtime")]
125#[cfg_attr(docsrs, doc(cfg(feature = "realtime")))]
126pub use websocket::{OpenAIRealtimeWS, OpenAIRealtimeWebSocket};
127#[cfg(feature = "realtime")]
128#[cfg_attr(docsrs, doc(cfg(feature = "realtime")))]
129pub use websocket::{RealtimeServerEvent, RealtimeSocket, RealtimeStreamMessage};
130#[cfg(feature = "responses-ws")]
131#[cfg_attr(docsrs, doc(cfg(feature = "responses-ws")))]
132pub use websocket::{ResponsesServerEvent, ResponsesSocket, ResponsesStreamMessage};
133#[cfg(any(feature = "realtime", feature = "responses-ws"))]
134#[cfg_attr(docsrs, doc(cfg(any(feature = "realtime", feature = "responses-ws"))))]
135pub use websocket::{SocketCloseOptions, SocketStreamMessage, WebSocketServerEvent};