Skip to main content

vtcode_core/tools/registry/
runtime_config_facade.rs

1//! Shared runtime configuration application for ToolRegistry.
2
3use anyhow::Result;
4
5use crate::config::{CommandsConfig, PermissionsConfig, TimeoutsConfig, ToolsConfig};
6
7use super::ToolRegistry;
8
9impl ToolRegistry {
10    pub async fn apply_tool_runtime_config(
11        &self,
12        commands_config: &CommandsConfig,
13        tools_config: &ToolsConfig,
14    ) -> Result<()> {
15        self.apply_commands_config(commands_config);
16        self.apply_config_policies(tools_config).await
17    }
18
19    pub async fn apply_session_runtime_config(
20        &self,
21        commands_config: &CommandsConfig,
22        permissions_config: &PermissionsConfig,
23        sandbox_config: &vtcode_config::SandboxConfig,
24        timeouts: &TimeoutsConfig,
25        tools_config: &ToolsConfig,
26    ) -> Result<()> {
27        self.apply_commands_config(commands_config);
28        self.apply_permissions_config(permissions_config);
29        self.apply_sandbox_config(sandbox_config);
30        self.apply_timeout_policy(timeouts);
31        self.apply_config_policies(tools_config).await
32    }
33}