Skip to main content

robit_ai/
lib.rs

1//! robit-ai: LLM API layer for the Robit framework.
2//!
3//! Provides a unified `LlmClient` for interacting with multiple LLM providers
4//! through the OpenAI-compatible protocol. Configuration is loaded from
5//! `.robit/config.toml` (project-local) or `~/.robit/config.toml` (global).
6
7pub mod client;
8pub mod config;
9pub mod error;
10
11// Re-export async-openai core types so downstream crates don't need to depend on async-openai directly.
12pub use async_openai::types::chat::{
13    ChatCompletionMessageToolCall, ChatCompletionRequestAssistantMessage,
14    ChatCompletionRequestMessage, ChatCompletionRequestSystemMessage,
15    ChatCompletionRequestUserMessage, ChatCompletionResponseStream, ChatCompletionTools,
16    CompletionUsage, CreateChatCompletionResponse, CreateChatCompletionStreamResponse, Role,
17};
18
19pub use client::LlmClient;
20pub use config::{
21    load_config, load_env, AppConfig, ContextConfig, ModelConfig, ProviderConfig, ResolvedModel,
22    RetryConfig, RobitConfig,
23};
24pub use error::LlmError;