Skip to main content

systemprompt_models/ai/
mod.rs

1//! AI provider models — requests, responses, tool calls, sampling
2//! parameters, execution plans, and the `AiProvider` trait shared
3//! across LLM integrations.
4
5pub mod execution_plan;
6pub mod media_types;
7pub mod models;
8pub mod provider_trait;
9pub mod request;
10pub mod response;
11pub mod response_format;
12pub mod sampling;
13pub mod template_resolver;
14pub mod template_validation;
15pub mod tool_result_formatter;
16pub mod tools;
17
18pub use execution_plan::{
19    ExecutionState, PlannedToolCall, PlanningResult, TemplateRef, ToolCallResult,
20};
21pub use media_types::{
22    SUPPORTED_AUDIO_TYPES, SUPPORTED_IMAGE_TYPES, SUPPORTED_TEXT_TYPES, SUPPORTED_VIDEO_TYPES,
23    is_supported_audio, is_supported_image, is_supported_media, is_supported_text,
24    is_supported_video,
25};
26pub use models::{ModelConfig, ToolModelConfig, ToolModelOverrides};
27pub use request::{AiContentPart, AiMessage, AiRequest, AiRequestBuilder, MessageRole};
28pub use response::{AiResponse, SearchGroundedResponse, StreamChunk, UrlMetadata, WebSource};
29pub use response_format::{ResponseFormat, StructuredOutputOptions};
30pub use sampling::{ModelHint, ModelPreferences, ProviderConfig, SamplingParams};
31pub use template_resolver::TemplateResolver;
32pub use template_validation::{PlanValidationError, TemplateValidator, ValidationErrorKind};
33pub use tools::{CallToolResult, McpTool, ToolCall, ToolExecution};
34
35pub use provider_trait::{AiProvider, DynAiProvider, GenerateResponseParams, GoogleSearchParams};
36pub use tool_result_formatter::ToolResultFormatter;