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