1pub mod adapter;
4pub mod media;
5pub mod message;
6pub mod oauth;
7pub mod presets;
8pub mod profile;
9pub mod providers;
10pub mod registry;
11pub mod request;
12pub mod settings;
13pub mod stream;
14pub mod test;
15pub mod transport;
16pub mod wrappers;
17
18pub use adapter::{
19 ModelAdapter, ModelError, ModelRequestContext, ModelRequestParameters,
20 ModelResponseEventStream, ModelRunSession, NativeToolDefinition, RealModelRequestGuard,
21 ToolDefinition, allow_real_model_requests, allow_real_model_requests_guard,
22 block_real_model_requests, set_allow_real_model_requests,
23};
24pub use media::{
25 ImageDimensions, MediaKind, MediaPolicy, MediaPreflight, ParsedDataUrl, base64_encoded_len,
26 detect_image_dimensions, detect_media_kind, is_document_media_type, is_image_media_type,
27 is_video_media_type, parse_data_url, raw_budget_from_base64_limit,
28};
29pub use message::{
30 CachePointTtl, ContentPart, FinishReason, ModelMessage, ModelRequest, ModelRequestPart,
31 ModelResponse, ModelResponsePart, ProviderInfo, ProviderPartInfo,
32 TOOL_RETURN_APPROVAL_ARGUMENTS_METADATA_KEY, ToolArguments, ToolCallPart, ToolReturnPart,
33};
34pub use oauth::{
35 CODEX_ORIGINATOR, CodexOAuthResponsesModel, OAuthBearerHttpClient, build_codex_headers,
36 build_codex_model, build_codex_model_with_profile, build_session_headers, codex_model_profile,
37 patch_codex_responses_body,
38};
39pub use presets::{
40 ModelConfigPreset, ModelConfigPresetData, ModelPresetError, ModelRuntimePreset,
41 ModelSettingsPreset, anthropic_http_config, gemini_http_config, get_model_config,
42 get_model_settings, google_cloud_http_config, google_cloud_project_http_config,
43 list_model_config_presets, list_model_settings_presets, model_runtime_preset,
44 openai_chat_http_config, openai_responses_http_config, xai_responses_http_config,
45};
46pub use profile::{
47 JsonSchemaTransformer, MessageNormalization, ModelProfile, NativeToolKind, ProtocolFamily,
48 StructuredOutputMode,
49};
50pub use providers::client::ProtocolModelClient;
51pub use registry::{ProviderAlias, ProviderAliasRegistry};
52pub use request::{
53 CONTEXT_ORIGIN_ENVIRONMENT_CONTEXT, CONTEXT_ORIGIN_HANDOFF, CONTEXT_ORIGIN_METADATA,
54 CONTEXT_ORIGIN_RUNTIME_CONTEXT, CONTEXT_ORIGIN_TOOL_RETURN_MEDIA, CONTEXT_TYPE_METADATA,
55 INSTRUCTION_DYNAMIC_METADATA, INSTRUCTION_ORIGIN_AGENT, INSTRUCTION_ORIGIN_DYNAMIC_INSTRUCTION,
56 INSTRUCTION_ORIGIN_METADATA, INSTRUCTION_ORIGIN_TOOLSET, InstructionPart, OutputMode,
57 PreparedInstruction, PreparedModelRequest, attach_prepared_instructions,
58 context_origin_metadata, prepare_messages, prepare_model_request,
59};
60pub use settings::{
61 AnthropicSettings, BedrockSettings, CodexSettings, GatewaySettings, GoogleCloudServiceTier,
62 GoogleSettings, ModelSettings, OpenAiChatSettings, OpenAiPromptCacheMode,
63 OpenAiPromptCacheOptions, OpenAiPromptCacheTtl, OpenAiResponsesSettings,
64 ProviderReplaySettings, ProviderSettings, ResponseStreamTransport, ServiceTier,
65 ThinkingSettings, ToolChoice, format_openai_prompt_cache_key,
66 supports_automatic_openai_prompt_cache_key, supports_openai_prompt_cache_breakpoints,
67};
68pub use stream::{
69 ModelResponseStreamEvent, ModelStreamState, PartDelta, PartEnd, PartStart, StreamDelta,
70 StreamDiagnostic, StreamLifecycle,
71};
72pub use test::{FunctionModel, FunctionModelInfo, TestModel, latest_user_text, tool_call_response};
73pub use transport::{
74 AuthConfig, DynHttpClient, DynProviderRequestAuditRecorder, DynSleeper, HttpModelConfig,
75 HttpRequest, HttpRequestOptions, HttpResponse, InMemoryProviderRequestAuditRecorder,
76 MaxTokensParameter, ModelEventStream, ModelHttpClient, ModelSleeper, NoopSleeper,
77 ProviderRequestAuditPayloadPolicy, ProviderRequestAuditPolicy, ProviderRequestAuditRecorder,
78 ProviderRequestAuditSnapshot, ReqwestHttpClient, RetryPolicy, TokioSleeper,
79};
80pub use wrappers::{
81 ConcurrencyLimitedModel, DynModelAdapter, DynModelExecutionHook, FallbackModel, HookedModel,
82 ModelExecutionHook, ModelExecutionMetadata, ProfileOverrideModel,
83};