starweaver-model 0.6.0

Provider-neutral model protocol and wire adapters for Starweaver
Documentation
//! Provider-neutral model protocol and first wire adapters for Starweaver.

pub mod adapter;
pub mod media;
pub mod message;
pub mod oauth;
pub mod presets;
pub mod profile;
pub mod providers;
pub mod registry;
pub mod request;
pub mod settings;
pub mod stream;
pub mod test;
pub mod transport;
pub mod wrappers;

pub use adapter::{
    ModelAdapter, ModelError, ModelRequestContext, ModelRequestParameters,
    ModelResponseEventStream, ModelRunSession, NativeToolDefinition, RealModelRequestGuard,
    ToolDefinition, allow_real_model_requests, allow_real_model_requests_guard,
    block_real_model_requests, set_allow_real_model_requests,
};
pub use media::{
    ImageDimensions, MediaKind, MediaPolicy, MediaPreflight, ParsedDataUrl, base64_encoded_len,
    detect_image_dimensions, detect_media_kind, is_document_media_type, is_image_media_type,
    is_video_media_type, parse_data_url, raw_budget_from_base64_limit,
};
pub use message::{
    CachePointTtl, ContentPart, FinishReason, ModelMessage, ModelRequest, ModelRequestPart,
    ModelResponse, ModelResponsePart, ProviderInfo, ProviderPartInfo, ToolArguments, ToolCallPart,
    ToolReturnPart,
};
pub use oauth::{
    CODEX_ORIGINATOR, CodexOAuthResponsesModel, OAuthBearerHttpClient, build_codex_headers,
    build_codex_model, build_codex_model_with_profile, build_session_headers, codex_model_profile,
    patch_codex_responses_body,
};
pub use presets::{
    ModelConfigPreset, ModelConfigPresetData, ModelPresetError, ModelRuntimePreset,
    ModelSettingsPreset, anthropic_http_config, gemini_http_config, get_model_config,
    get_model_settings, google_cloud_http_config, google_cloud_project_http_config,
    list_model_config_presets, list_model_settings_presets, model_runtime_preset,
    openai_chat_http_config, openai_responses_http_config, xai_responses_http_config,
};
pub use profile::{
    JsonSchemaTransformer, MessageNormalization, ModelProfile, NativeToolKind, ProtocolFamily,
    StructuredOutputMode,
};
pub use providers::client::ProtocolModelClient;
pub use registry::{ProviderAlias, ProviderAliasRegistry};
pub use request::{
    CONTEXT_ORIGIN_ENVIRONMENT_CONTEXT, CONTEXT_ORIGIN_HANDOFF, CONTEXT_ORIGIN_METADATA,
    CONTEXT_ORIGIN_RUNTIME_CONTEXT, CONTEXT_ORIGIN_TOOL_RETURN_MEDIA, CONTEXT_TYPE_METADATA,
    INSTRUCTION_DYNAMIC_METADATA, INSTRUCTION_ORIGIN_AGENT, INSTRUCTION_ORIGIN_DYNAMIC_INSTRUCTION,
    INSTRUCTION_ORIGIN_METADATA, INSTRUCTION_ORIGIN_TOOLSET, InstructionPart, OutputMode,
    PreparedInstruction, PreparedModelRequest, attach_prepared_instructions,
    context_origin_metadata, prepare_messages, prepare_model_request,
};
pub use settings::{
    AnthropicSettings, BedrockSettings, CodexSettings, GatewaySettings, GoogleCloudServiceTier,
    GoogleSettings, ModelSettings, OpenAiChatSettings, OpenAiPromptCacheMode,
    OpenAiPromptCacheOptions, OpenAiPromptCacheTtl, OpenAiResponsesSettings,
    ProviderReplaySettings, ProviderSettings, ResponseStreamTransport, ServiceTier,
    ThinkingSettings, ToolChoice, format_openai_prompt_cache_key,
    supports_automatic_openai_prompt_cache_key, supports_openai_prompt_cache_breakpoints,
};
pub use stream::{
    ModelResponseStreamEvent, ModelStreamState, PartDelta, PartEnd, PartStart, StreamDelta,
    StreamDiagnostic, StreamLifecycle,
};
pub use test::{FunctionModel, FunctionModelInfo, TestModel, latest_user_text, tool_call_response};
pub use transport::{
    AuthConfig, DynHttpClient, DynProviderRequestAuditRecorder, DynSleeper, HttpModelConfig,
    HttpRequest, HttpRequestOptions, HttpResponse, InMemoryProviderRequestAuditRecorder,
    MaxTokensParameter, ModelEventStream, ModelHttpClient, ModelSleeper, NoopSleeper,
    ProviderRequestAuditPayloadPolicy, ProviderRequestAuditPolicy, ProviderRequestAuditRecorder,
    ProviderRequestAuditSnapshot, ReqwestHttpClient, RetryPolicy, TokioSleeper,
};
pub use wrappers::{
    ConcurrencyLimitedModel, DynModelAdapter, DynModelExecutionHook, FallbackModel, HookedModel,
    ModelExecutionHook, ModelExecutionMetadata, ProfileOverrideModel,
};