Skip to main content

vv_agent/runtime/engine/
state.rs

1use std::path::PathBuf;
2use std::sync::Arc;
3
4use crate::llm::LlmClient;
5use crate::runtime::backends::RuntimeExecutionBackend;
6use crate::runtime::hooks::RuntimeHook;
7use crate::tools::ToolRegistry;
8use crate::workspace::WorkspaceBackend;
9
10use super::RuntimeLogHandler;
11
12pub struct AgentRuntime<C: LlmClient> {
13    pub llm_client: C,
14    pub tool_registry: ToolRegistry,
15    pub default_workspace: Option<PathBuf>,
16    pub log_handler: Option<RuntimeLogHandler>,
17    pub log_preview_chars: Option<usize>,
18    pub workspace_backend: Arc<dyn WorkspaceBackend>,
19    pub hooks: Vec<Arc<dyn RuntimeHook>>,
20    pub execution_backend: RuntimeExecutionBackend,
21    pub settings_file: Option<PathBuf>,
22    pub default_backend: Option<String>,
23    pub sub_agent_timeout_seconds: f64,
24}