ai_agents_runtime/spec/
provider.rs1use ai_agents_tools::ToolAliases;
4use serde::{Deserialize, Serialize};
5use std::collections::HashMap;
6
7#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9pub struct ToolAliasesConfig {
10 #[serde(flatten)]
11 pub tools: HashMap<String, ToolAliases>,
12}
13
14#[cfg(test)]
15mod tests {
16 use super::*;
17
18 #[test]
19 fn test_tool_aliases_config_yaml() {
20 let yaml = r#"
21http:
22 names:
23 ko: 웹요청
24 ja: ウェブリクエスト
25 descriptions:
26 ko: HTTP 요청을 보냅니다
27 ja: HTTPリクエストを送信
28calculator:
29 names:
30 ko: 계산기
31"#;
32
33 let config: ToolAliasesConfig = serde_yaml::from_str(yaml).unwrap();
34 assert!(config.tools.contains_key("http"));
35 assert!(config.tools.contains_key("calculator"));
36
37 let http_aliases = config.tools.get("http").unwrap();
38 assert_eq!(http_aliases.get_name("ko"), Some("웹요청"));
39 }
40}