pub mod agent;
pub mod builder;
pub mod context;
pub mod errors;
pub mod history;
pub mod instructions;
pub mod output;
pub mod run;
pub mod stream;
pub use agent::{Agent, EndStrategy, InstrumentationSettings, RegisteredTool, ToolExecutor};
pub use builder::{agent, agent_with_deps, AgentBuilder, ModelConfig};
pub use context::{generate_run_id, RunContext, RunUsage, UsageLimits};
pub use errors::{
AgentBuildError, AgentRunError, OutputParseError, OutputValidationError, UsageLimitError,
};
pub use history::{
ChainedProcessor, FilterHistory, FnProcessor, HistoryProcessor, SummarizeHistory,
TruncateByTokens, TruncateHistory,
};
pub use instructions::{
AsyncInstructionFn, AsyncSystemPromptFn, DateTimeInstruction, InstructionBuilder,
InstructionFn, StaticInstruction, StaticSystemPrompt, SyncInstructionFn, SyncSystemPromptFn,
SystemPromptFn,
};
pub use output::{
AsyncValidator, ChainedValidator, DefaultOutputSchema, JsonOutputSchema, LengthValidator,
NonEmptyValidator, OutputMode, OutputSchema, OutputValidator, SyncValidator, TextOutputSchema,
ToolOutputSchema,
};
pub use run::{
AgentRun, AgentRunResult, CompressionStrategy, ContextCompression, RunOptions, StepResult,
};
pub use stream::{AgentStream, AgentStreamEvent};
pub use tokio_util::sync::CancellationToken;
pub mod prelude {
pub use crate::{
agent, agent_with_deps, Agent, AgentBuilder, AgentRun, AgentRunError, AgentRunResult,
AgentStream, AgentStreamEvent, CancellationToken, CompressionStrategy, ContextCompression,
EndStrategy, OutputMode, OutputSchema, OutputValidator, RunContext, RunOptions, RunUsage,
StepResult, UsageLimits,
};
}
#[cfg(test)]
mod tests {
#[test]
fn test_prelude_imports() {
use crate::prelude::*;
let _ = EndStrategy::Early;
let _ = OutputMode::Text;
}
}