1#![doc = include_str!("../docs/recipes/quickstart.md")]
2#![allow(clippy::result_large_err)]
14#![deny(missing_docs)]
15
16#[cfg(all(target_arch = "wasm32", not(feature = "browser")))]
17compile_error!("enable the `browser` feature when targeting wasm32-unknown-unknown");
18
19pub mod client;
20pub mod error;
21pub mod mcp;
22pub mod oauth;
23mod request;
24#[cfg(feature = "beta")]
25pub mod responses;
26pub mod retry;
27pub mod stream;
28mod timer;
29pub mod tool_call_accumulator;
30pub mod types;
31pub mod webhooks;
32
33pub use client::{Client, ClientBuilder};
34pub use error::{Error, Result};
35pub use retry::RetryConfig;
36pub use stream::EventStream;
37pub use tool_call_accumulator::ToolCallAccumulator;
38pub use types::{
39 create_file_parser_plugin, create_user_message_with_audio,
40 create_user_message_with_audio_bytes, create_user_message_with_base64_image,
41 create_user_message_with_base64_image_bytes, create_user_message_with_base64_pdf,
42 create_user_message_with_files, create_user_message_with_image,
43 create_user_message_with_image_detail, create_user_message_with_images,
44 create_user_message_with_pdf, create_user_message_with_text_content,
45 create_user_message_with_text_file, create_user_message_with_text_files,
46 encode_image_bytes_to_base64, encode_image_to_base64, ActivityData, ActivityOptions,
47 ActivityResponse, Annotation, ApiKey, AudioFormat, ChatCompletionRequest,
48 ChatCompletionResponse, Choice, CompletionRequest, CompletionResponse, Content, ContentBuilder,
49 ContentPart, CreateKeyRequest, CreateKeyResponse, CreditsData, CreditsResponse, DeleteKeyData,
50 DeleteKeyResponse, Delta, File, FileAnnotation, FileParserEngine, FilePdfConfig,
51 FilePluginConfig, FileRef, FunctionCall, FunctionDef, GetKeyByHashResponse, ImageDetail,
52 ImageUrl, InputAudio, KeyData, KeyRateLimit, KeyResponse, ListKeysOptions, ListKeysResponse,
53 ListModelsOptions, Message, Model, ModelArchitecture, ModelDefaultParameters, ModelEndpoint,
54 ModelEndpointPricing, ModelEndpointsArchitecture, ModelEndpointsData, ModelEndpointsResponse,
55 ModelPerRequestLimits, ModelPricing, ModelTopProvider, ModelsResponse, Plugin, Provider,
56 ProviderInfo, ProvidersResponse, ReasoningConfig, ResponseFormat, Role, Tool, ToolCall,
57 ToolChoice, UpdateKeyRequest, UpdateKeyResponse, UrlCitation, Usage, WebPluginConfig,
58};
59pub use types::{
60 AssignKeysRequest, AssignKeysResponse, AssignMembersRequest, AssignMembersResponse,
61 BulkAddWorkspaceMembersResponse, BulkRemoveWorkspaceMembersResponse, CreateGuardrailRequest,
62 CreateWorkspaceRequest, CreateWorkspaceResponse, DeleteGuardrailResponse,
63 DeleteWorkspaceResponse, GetWorkspaceResponse, Guardrail, GuardrailKeyAssignment,
64 GuardrailMemberAssignment, ListGuardrailKeyAssignmentsResponse,
65 ListGuardrailMemberAssignmentsResponse, ListGuardrailsOptions, ListGuardrailsResponse,
66 ListOrganizationMembersOptions, ListOrganizationMembersResponse, ListWorkspacesOptions,
67 ListWorkspacesResponse, OrganizationMember, OrganizationMemberRole, PercentileStats,
68 PublicEndpoint, PublicEndpointPricing, RerankDocument, RerankRequest, RerankResponse,
69 RerankResult, RerankUsage, ResetInterval, SpeechFormat, SpeechProvider, SpeechRequest,
70 SpeechResponse, UpdateGuardrailRequest, UpdateWorkspaceRequest, UpdateWorkspaceResponse,
71 VideoAspectRatio, VideoContentPartImage, VideoContentResponse, VideoFrameImage, VideoFrameType,
72 VideoGenerationRequest, VideoGenerationResponse, VideoGenerationUsage, VideoImageUrl,
73 VideoModel, VideoModelsResponse, VideoProvider, VideoResolution, VideoStatus, Workspace,
74 WorkspaceMember, WorkspaceMemberRole, ZdrEndpointsResponse,
75};