async_openai/types/mcp/
impls.rs1use crate::types::mcp::{
2 MCPToolAllowedTools, MCPToolApprovalFilter, MCPToolApprovalSetting, MCPToolFilter,
3 MCPToolRequireApproval,
4};
5
6impl From<MCPToolApprovalSetting> for MCPToolRequireApproval {
9 fn from(setting: MCPToolApprovalSetting) -> Self {
10 MCPToolRequireApproval::ApprovalSetting(setting)
11 }
12}
13
14impl From<MCPToolApprovalFilter> for MCPToolRequireApproval {
15 fn from(filter: MCPToolApprovalFilter) -> Self {
16 MCPToolRequireApproval::Filter(filter)
17 }
18}
19
20impl From<MCPToolFilter> for MCPToolAllowedTools {
23 fn from(filter: MCPToolFilter) -> Self {
24 MCPToolAllowedTools::Filter(filter)
25 }
26}
27
28impl From<Vec<String>> for MCPToolAllowedTools {
29 fn from(tools: Vec<String>) -> Self {
30 MCPToolAllowedTools::List(tools)
31 }
32}
33
34impl From<Vec<&str>> for MCPToolAllowedTools {
35 fn from(tools: Vec<&str>) -> Self {
36 MCPToolAllowedTools::List(tools.into_iter().map(|s| s.to_string()).collect())
37 }
38}
39
40impl From<&[&str]> for MCPToolAllowedTools {
41 fn from(tools: &[&str]) -> Self {
42 MCPToolAllowedTools::List(tools.iter().map(|s| s.to_string()).collect())
43 }
44}
45
46impl<const N: usize> From<[&str; N]> for MCPToolAllowedTools {
47 fn from(tools: [&str; N]) -> Self {
48 MCPToolAllowedTools::List(tools.iter().map(|s| s.to_string()).collect())
49 }
50}
51
52impl From<&Vec<String>> for MCPToolAllowedTools {
53 fn from(tools: &Vec<String>) -> Self {
54 MCPToolAllowedTools::List(tools.clone())
55 }
56}
57
58impl From<&Vec<&str>> for MCPToolAllowedTools {
59 fn from(tools: &Vec<&str>) -> Self {
60 MCPToolAllowedTools::List(tools.iter().map(|s| s.to_string()).collect())
61 }
62}
63
64impl From<&str> for MCPToolAllowedTools {
65 fn from(tool: &str) -> Self {
66 MCPToolAllowedTools::List(vec![tool.to_string()])
67 }
68}
69
70impl From<String> for MCPToolAllowedTools {
71 fn from(tool: String) -> Self {
72 MCPToolAllowedTools::List(vec![tool])
73 }
74}