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, ChatCompletionRequestUserMessageContent,
16    ChatCompletionRequestUserMessageContentPart,
17    ChatCompletionRequestMessageContentPartText,
18    ChatCompletionRequestMessageContentPartImage,
19    ChatCompletionResponseStream, ChatCompletionTools,
20    CompletionUsage, CreateChatCompletionResponse, CreateChatCompletionStreamResponse, Role,
21};
22
23pub use client::LlmClient;
24pub use config::{
25    load_config, load_env, AppConfig, BotConfig, ChannelsConfig, ConfirmKeywordsConfig,
26    ContextConfig, ModelConfig, ProviderConfig, QqBotConfig, ResolvedModel, RetryConfig,
27    RobitConfig,
28};
29pub use error::LlmError;