linger-openai-sdk 0.1.1

Rust-native async SDK for OpenAI APIs with typed requests, streaming, uploads, retries, and pluggable transports.
Documentation
//! EN: Rust-native SDK for OpenAI APIs.
//! 中文:面向 OpenAI API 的 Rust 原生 SDK。

pub mod assistants;
pub mod audio;
pub mod batches;
pub mod chat;
pub mod chatkit;
pub mod completions;
pub mod containers;
pub mod conversations;
pub mod embeddings;
pub mod error;
pub mod evals;
pub mod files;
pub mod fine_tuning;
pub mod images;
pub mod models;
pub mod moderations;
pub mod realtime;
pub mod responses;
pub mod retry;
pub mod skills;
pub mod stream;
pub mod threads;
pub mod transport;
pub mod uploads;
pub mod vector_stores;
pub mod videos;
pub mod webhooks;

mod client;
mod config;

pub use crate::assistants::{
    Assistant, AssistantDeletion, AssistantListOrder, AssistantListRequest,
    AssistantListRequestBuilder, AssistantPage, CreateAssistantRequest,
    CreateAssistantRequestBuilder, ModifyAssistantRequest, ModifyAssistantRequestBuilder,
};
pub use crate::audio::{
    AudioSpeechResponse, AudioTranscription, AudioTranslation, AudioUpload, AudioVoice,
    AudioVoiceConsent, AudioVoiceConsentDeletion, AudioVoiceConsentListRequest,
    AudioVoiceConsentListRequestBuilder, AudioVoiceConsentPage, CreateSpeechRequest,
    CreateSpeechRequestBuilder, CreateTranscriptionRequest, CreateTranscriptionRequestBuilder,
    CreateTranslationRequest, CreateTranslationRequestBuilder, CreateVoiceConsentRequest,
    CreateVoiceConsentRequestBuilder, CreateVoiceRequest, CreateVoiceRequestBuilder,
    UpdateVoiceConsentRequest, UpdateVoiceConsentRequestBuilder,
};
pub use crate::batches::{
    Batch, BatchListPage, BatchRequestCounts, CreateBatchRequest, CreateBatchRequestBuilder,
};
pub use crate::chat::{
    ChatCompletion, ChatCompletionChoice, ChatCompletionDeletion, ChatCompletionMessage,
    ChatCompletionMessagePage, ChatCompletionPage, ChatCompletionStoredMessage,
    ChatCompletionUsage, ChatMessage, CreateChatCompletionRequest,
    CreateChatCompletionRequestBuilder, ModifyChatCompletionRequest,
    ModifyChatCompletionRequestBuilder,
};
pub use crate::chatkit::{
    ChatKitSession, ChatKitSessionExpiration, ChatKitSessionRateLimitOverrides,
    ChatKitSessionRateLimits, ChatKitThread, ChatKitThreadDeletion, ChatKitThreadItemPage,
    ChatKitThreadPage, ChatKitWorkflow, ChatKitWorkflowParam, CreateChatKitSessionRequest,
    CreateChatKitSessionRequestBuilder,
};
pub use crate::client::{
    AssistantsResource, AudioResource, AudioSpeechResource, AudioVoiceConsentsResource,
    AudioVoicesResource, BatchesResource, ChatCompletionMessagesResource, ChatCompletionsResource,
    ChatKitResource, ChatKitSessionsResource, ChatKitThreadsResource, ChatResource, Client,
    CompletionsResource, ContainerFilesResource, ContainersResource, ConversationItemsResource,
    ConversationsResource, EmbeddingsResource, EvalRunOutputItemsResource, EvalRunsResource,
    EvalsResource, FilesResource, FineTuningAlphaGradersResource, FineTuningAlphaResource,
    FineTuningCheckpointPermissionsResource, FineTuningCheckpointsResource, FineTuningJobsResource,
    FineTuningResource, ImagesResource, ModelsResource, ModerationsResource, RealtimeCallsResource,
    RealtimeClientSecretsResource, RealtimeResource, RealtimeSessionsResource,
    RealtimeTranscriptionSessionsResource, RealtimeTranslationClientSecretsResource,
    RealtimeTranslationsResource, ResponsesResource, RunStepsResource, SkillVersionsResource,
    SkillsResource, ThreadMessagesResource, ThreadRunsResource, ThreadsResource,
    UploadPartsResource, UploadsResource, VectorStoreFileBatchesResource, VectorStoreFilesResource,
    VectorStoresResource, VideoCharactersResource, VideosResource,
};
pub use crate::completions::{
    Completion, CompletionChoice, CompletionLogprobs, CompletionPrompt,
    CompletionPromptTokenDetails, CompletionStop, CompletionStream, CompletionStreamEvent,
    CompletionStreamItem, CompletionTokenDetails, CompletionUsage, CreateCompletionRequest,
    CreateCompletionRequestBuilder,
};
pub use crate::config::{ClientConfig, ClientConfigBuilder};
pub use crate::containers::{
    Container, ContainerDeletion, ContainerFile, ContainerFileContent, ContainerFileDeletion,
    ContainerFilePage, ContainerFileUpload, ContainerPage, CreateContainerFileRequest,
    CreateContainerFileRequestBuilder, CreateContainerRequest, CreateContainerRequestBuilder,
};
pub use crate::conversations::{
    Conversation, ConversationDeletion, ConversationItem, ConversationItemDeletion,
    ConversationItemPage, CreateConversationItemRequest, CreateConversationItemRequestBuilder,
    CreateConversationRequest, CreateConversationRequestBuilder, ModifyConversationRequest,
    ModifyConversationRequestBuilder,
};
pub use crate::embeddings::{
    CreateEmbeddingRequest, CreateEmbeddingRequestBuilder, Embedding, EmbeddingEncodingFormat,
    EmbeddingInput, EmbeddingResponse, EmbeddingUsage,
};
pub use crate::error::{
    ApiError, ApiErrorBody, ErrorKind, HeaderMap, LingerError, OpenAiError, RequestId,
    RetryExhausted,
};
pub use crate::evals::{
    CreateEvalRequest, CreateEvalRequestBuilder, CreateEvalRunRequest, CreateEvalRunRequestBuilder,
    Eval, EvalDeletion, EvalPage, EvalRun, EvalRunDeletion, EvalRunOutputItem,
    EvalRunOutputItemPage, EvalRunPage, ModifyEvalRequest, ModifyEvalRequestBuilder,
};
pub use crate::files::{
    CreateFileRequest, CreateFileRequestBuilder, FileContent, FileDeletion, FileExpirationPolicy,
    FileObject, FileUpload, FilesPage,
};
pub use crate::fine_tuning::{
    CreateFineTuningCheckpointPermissionRequest, CreateFineTuningJobRequest,
    CreateFineTuningJobRequestBuilder, FineTuningCheckpoint, FineTuningCheckpointPage,
    FineTuningCheckpointPermission, FineTuningCheckpointPermissionDeletion,
    FineTuningCheckpointPermissionPage, FineTuningEvent, FineTuningEventPage, FineTuningGraderRun,
    FineTuningGraderValidation, FineTuningJob, FineTuningJobPage, RunFineTuningGraderRequest,
    RunFineTuningGraderRequestBuilder, ValidateFineTuningGraderRequest,
    ValidateFineTuningGraderRequestBuilder,
};
pub use crate::images::{
    CreateImageEditRequest, CreateImageEditRequestBuilder, CreateImageRequest,
    CreateImageRequestBuilder, CreateImageVariationRequest, CreateImageVariationRequestBuilder,
    Image, ImageInput, ImageTokenDetails, ImageUpload, ImageUsage, ImagesResponse,
};
pub use crate::models::{Model, ModelDeletion, ModelsPage};
pub use crate::moderations::{
    CreateModerationRequest, CreateModerationRequestBuilder, ModerationCreateResponse,
    ModerationImageUrl, ModerationInput, ModerationInputItem, ModerationResult,
};
pub use crate::realtime::{
    CreateRealtimeCallReferRequest, CreateRealtimeCallReferRequestBuilder,
    CreateRealtimeCallRequest, CreateRealtimeCallRequestBuilder, CreateRealtimeClientSecretRequest,
    CreateRealtimeClientSecretRequestBuilder, CreateRealtimeSessionRequest,
    CreateRealtimeSessionRequestBuilder, CreateRealtimeTranscriptionSessionRequest,
    CreateRealtimeTranscriptionSessionRequestBuilder, CreateRealtimeTranslationClientSecretRequest,
    CreateRealtimeTranslationClientSecretRequestBuilder, CreateRealtimeTranslationSessionRequest,
    CreateRealtimeTranslationSessionRequestBuilder, RealtimeCallBodyFormat, RealtimeCallSdpAnswer,
    RealtimeClientSecret, RealtimeClientSecretValue, RealtimeSession, RealtimeSessionConfig,
    RealtimeSessionConfigBuilder, RealtimeTranscriptionSession, RealtimeTranslationClientSecret,
    RejectRealtimeCallRequest, RejectRealtimeCallRequestBuilder,
};
pub use crate::responses::{
    CompactResponseRequest, CompactResponseRequestBuilder, CreateResponseInputTokensRequest,
    CreateResponseInputTokensRequestBuilder, CreateResponseRequest, CreateResponseRequestBuilder,
    Response, ResponseAllowedToolsMode, ResponseApplyPatchTool,
    ResponseCodeInterpreterAutoContainer, ResponseCodeInterpreterContainer,
    ResponseCodeInterpreterMemoryLimit, ResponseCodeInterpreterTool, ResponseCompaction,
    ResponseComputerEnvironment, ResponseComputerTool, ResponseContent, ResponseContextManagement,
    ResponseContextManagementType, ResponseConversation, ResponseCustomTool,
    ResponseCustomToolFormat, ResponseCustomToolGrammarSyntax, ResponseDeletion,
    ResponseFileSearchTool, ResponseFunctionTool, ResponseHostedToolChoice,
    ResponseImageGenerationAction, ResponseImageGenerationBackground,
    ResponseImageGenerationInputFidelity, ResponseImageGenerationMask,
    ResponseImageGenerationModeration, ResponseImageGenerationOutputFormat,
    ResponseImageGenerationQuality, ResponseImageGenerationTool, ResponseInclude, ResponseInput,
    ResponseInputItem, ResponseInputItemContent, ResponseInputItemMessage, ResponseInputItemsPage,
    ResponseInputMessage, ResponseInputMessageContent, ResponseInputTokens, ResponseLocalShellTool,
    ResponseMcpAllowedTools, ResponseMcpApprovalFilter, ResponseMcpApprovalMode,
    ResponseMcpConnector, ResponseMcpRequireApproval, ResponseMcpTool, ResponseMcpToolFilter,
    ResponseModeration, ResponseNamespaceTool, ResponseOutput, ResponseOutputMessage,
    ResponsePrompt, ResponsePromptCacheRetention, ResponseReasoning, ResponseReasoningBuilder,
    ResponseReasoningEffort, ResponseReasoningSummary, ResponseServiceTier, ResponseShellTool,
    ResponseStream, ResponseStreamEvent, ResponseStreamItem, ResponseTextConfig,
    ResponseTextFormat, ResponseTextJsonSchemaFormat, ResponseTextVerbosity, ResponseTool,
    ResponseToolChoice, ResponseToolSearchExecution, ResponseToolSearchTool, ResponseTruncation,
    ResponseUsage, ResponseWebSearchContextSize, ResponseWebSearchTool, ResponseWebSearchToolType,
    StreamOptions, StreamOptionsBuilder,
};
pub use crate::retry::{NoopRetrySleeper, RetryDecision, RetryPolicy, RetrySleeper};
pub use crate::skills::{
    CreateSkillRequest, CreateSkillRequestBuilder, CreateSkillVersionRequest,
    CreateSkillVersionRequestBuilder, Skill, SkillContent, SkillDeletion, SkillListOrder,
    SkillListRequest, SkillListRequestBuilder, SkillPage, SkillUpload, SkillVersion,
    SkillVersionDeletion, SkillVersionListOrder, SkillVersionListRequest,
    SkillVersionListRequestBuilder, SkillVersionPage, UpdateSkillRequest,
    UpdateSkillRequestBuilder,
};
pub use crate::threads::{
    CreateThreadAndRunRequest, CreateThreadAndRunRequestBuilder, CreateThreadMessageRequest,
    CreateThreadMessageRequestBuilder, CreateThreadRequest, CreateThreadRequestBuilder,
    CreateThreadRunRequest, CreateThreadRunRequestBuilder, ModifyThreadMessageRequest,
    ModifyThreadMessageRequestBuilder, ModifyThreadRequest, ModifyThreadRequestBuilder,
    ModifyThreadRunRequest, ModifyThreadRunRequestBuilder, RunStep, RunStepListOrder,
    RunStepListRequest, RunStepListRequestBuilder, RunStepPage, RunStepRetrieveRequest,
    RunStepRetrieveRequestBuilder, SubmitToolOutput, SubmitToolOutputsRequest,
    SubmitToolOutputsRequestBuilder, Thread, ThreadDeletion, ThreadMessage, ThreadMessageDeletion,
    ThreadMessageListOrder, ThreadMessageListRequest, ThreadMessageListRequestBuilder,
    ThreadMessagePage, ThreadRun, ThreadRunListOrder, ThreadRunListRequest,
    ThreadRunListRequestBuilder, ThreadRunPage,
};
pub use crate::transport::{
    HttpMethod, HttpRequest, HttpRequestBody, HttpResponse, SharedTransport, Transport,
};
pub use crate::uploads::{
    CompleteUploadRequest, CompleteUploadRequestBuilder, CreateUploadPartRequest,
    CreateUploadPartRequestBuilder, CreateUploadRequest, CreateUploadRequestBuilder, Upload,
    UploadPart, UploadPartData, UploadStatus,
};
pub use crate::vector_stores::{
    CreateVectorStoreFileBatchRequest, CreateVectorStoreFileBatchRequestBuilder,
    CreateVectorStoreFileRequest, CreateVectorStoreFileRequestBuilder, CreateVectorStoreRequest,
    CreateVectorStoreRequestBuilder, CreateVectorStoreSearchRequest,
    CreateVectorStoreSearchRequestBuilder, ModifyVectorStoreFileRequest,
    ModifyVectorStoreFileRequestBuilder, ModifyVectorStoreRequest, ModifyVectorStoreRequestBuilder,
    VectorStore, VectorStoreDeletion, VectorStoreFile, VectorStoreFileBatch,
    VectorStoreFileContent, VectorStoreFileContentPage, VectorStoreFileCounts,
    VectorStoreFileDeletion, VectorStoreFilePage, VectorStorePage, VectorStoreSearchPage,
    VectorStoreSearchResult,
};
pub use crate::videos::{
    CreateVideoCharacterRequest, CreateVideoCharacterRequestBuilder, CreateVideoEditRequest,
    CreateVideoEditRequestBuilder, CreateVideoExtensionRequest, CreateVideoExtensionRequestBuilder,
    CreateVideoRemixRequest, CreateVideoRemixRequestBuilder, CreateVideoRequest,
    CreateVideoRequestBuilder, Video, VideoCharacter, VideoContent, VideoContentVariant,
    VideoDeletion, VideoError, VideoPage, VideoReferenceInput, VideoUpload,
};
pub use crate::webhooks::WebhookVerifier;