1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
//! Astrid Runtime - Agent orchestration and session management.
//!
//! This crate provides:
//! - Agent runtime with LLM, MCP, and security integration
//! - Session management with persistence
//! - Context management with auto-summarization
//!
//! # Architecture
//!
//! The runtime coordinates:
//! - LLM provider for language model interactions
//! - MCP client for tool execution
//! - Capability store for authorization
//! - Audit log for security logging
//!
//! # Example
//!
//! ```rust,no_run
//! use astrid_runtime::{AgentRuntime, RuntimeConfig, SessionStore};
//! use astrid_llm::{ClaudeProvider, ProviderConfig};
//! use astrid_mcp::McpClient;
//! use astrid_audit::AuditLog;
//! use astrid_crypto::KeyPair;
//!
//! # async fn example() -> Result<(), Box<dyn std::error::Error>> {
//! // Create components
//! let llm = ClaudeProvider::new(ProviderConfig::new("api-key", "claude-sonnet-4-20250514"));
//! let mcp = McpClient::from_default_config()?;
//! let audit_key = KeyPair::generate();
//! let runtime_key = KeyPair::generate();
//! let audit = AuditLog::in_memory(audit_key);
//! let home = astrid_core::dirs::AstridHome::resolve()?;
//! let sessions = SessionStore::from_home(&home);
//!
//! // Create runtime
//! let runtime = AgentRuntime::new(
//! llm,
//! mcp,
//! audit,
//! sessions,
//! runtime_key,
//! RuntimeConfig::default(),
//! );
//!
//! // Create a session
//! let mut session = runtime.create_session(None);
//!
//! // Run a turn (would need a Frontend implementation)
//! // runtime.run_turn_streaming(&mut session, "Hello!", &frontend).await?;
//! # Ok(())
//! # }
//! ```
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use SubAgentExecutor;
// Re-export workspace types for convenience
pub use ;
// Re-export tools types for convenience
pub use ;