use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ToolConfig {
#[serde(default = "default_true")]
pub enabled: bool,
#[serde(default)]
pub description: Option<String>,
#[serde(default = "default_tool_timeout")]
pub timeout_secs: u64,
#[serde(flatten)]
pub extra: HashMap<String, toml::Value>,
}
fn default_true() -> bool {
true
}
fn default_tool_timeout() -> u64 {
30
}
impl Default for ToolConfig {
fn default() -> Self {
Self {
enabled: true,
description: None,
timeout_secs: default_tool_timeout(),
extra: HashMap::new(),
}
}
}