1mod agent;
2mod agent_builder;
3mod agent_deps;
4mod error;
5mod prompt;
6mod prompt_cache_key;
7mod retry_config;
8
9pub use crate::events::{AgentCommand, AgentEvent, Command, UserCommand};
10pub use agent::*;
11pub use agent_builder::*;
12pub use agent_deps::*;
13pub use error::*;
14pub use prompt::*;
15pub use retry_config::RetryConfig;
16
17use llm::StreamingModelProvider;
18use std::sync::Arc;
19
20#[doc = include_str!("../docs/basic_agent.md")]
21pub fn agent(llm: impl StreamingModelProvider + 'static) -> AgentBuilder {
22 AgentBuilder::new(Arc::new(llm))
23}