adk_runner/
lib.rs

1//! # adk-runner
2//!
3//! Agent execution runtime for ADK.
4//!
5//! ## Overview
6//!
7//! This crate provides the execution runtime:
8//!
9//! - [`Runner`] - Manages agent execution with full context
10//! - [`RunnerConfig`] - Configuration for the runner
11//! - [`InvocationContext`] - Execution context implementation
12//! - [`Callbacks`] - Hook points during execution
13//!
14//! ## Quick Start
15//!
16//! ```rust,no_run
17//! use adk_runner::{Runner, RunnerConfig};
18//! use std::sync::Arc;
19//!
20//! // Configure runner with services
21//! // let config = RunnerConfig {
22//! //     app_name: "my_app".to_string(),
23//! //     session_service: sessions,
24//! //     artifact_service: Some(artifacts),
25//! //     memory_service: None,
26//! // };
27//! //
28//! // let runner = Runner::new(config);
29//! ```
30//!
31//! ## Features
32//!
33//! - Automatic session management
34//! - Memory injection
35//! - Artifact handling
36//! - Callback hooks at every stage
37
38mod callbacks;
39mod context;
40mod runner;
41
42pub use callbacks::{
43    AfterModelCallback, AfterToolCallback, BeforeModelCallback, BeforeToolCallback, Callbacks,
44};
45pub use context::{InvocationContext, MutableSession};
46pub use runner::{Runner, RunnerConfig};