vv_agent/sdk/client/sessions/
named.rs1use std::path::PathBuf;
2
3use crate::sdk::session::AgentSession;
4use crate::types::Metadata;
5
6use super::super::AgentSDKClient;
7use super::base::{
8 create_agent_session, create_agent_session_with_id, create_agent_session_with_id_and_workspace,
9 create_agent_session_with_id_and_workspace_and_shared_state,
10 create_agent_session_with_shared_state, create_agent_session_with_workspace,
11 create_agent_session_with_workspace_and_shared_state,
12};
13
14impl AgentSDKClient {
15 pub fn create_agent_session_by_name(
16 &self,
17 agent_name: impl AsRef<str>,
18 ) -> Result<AgentSession, String> {
19 let agent_name = agent_name.as_ref().trim();
20 let definition = self.get_agent(agent_name)?.clone();
21 Ok(create_agent_session(self, agent_name, definition))
22 }
23
24 pub fn create_agent_session_by_name_in_workspace(
25 &self,
26 agent_name: impl AsRef<str>,
27 workspace: impl Into<PathBuf>,
28 ) -> Result<AgentSession, String> {
29 let agent_name = agent_name.as_ref().trim();
30 let definition = self.get_agent(agent_name)?.clone();
31 Ok(create_agent_session_with_workspace(
32 self, agent_name, definition, workspace,
33 ))
34 }
35
36 pub fn create_agent_session_by_name_with_id(
37 &self,
38 agent_name: impl AsRef<str>,
39 session_id: impl Into<String>,
40 ) -> Result<AgentSession, String> {
41 let agent_name = agent_name.as_ref().trim();
42 let definition = self.get_agent(agent_name)?.clone();
43 Ok(create_agent_session_with_id(
44 self, agent_name, definition, session_id,
45 ))
46 }
47
48 pub fn create_agent_session_by_name_with_id_and_workspace(
49 &self,
50 agent_name: impl AsRef<str>,
51 session_id: impl Into<String>,
52 workspace: impl Into<PathBuf>,
53 ) -> Result<AgentSession, String> {
54 let agent_name = agent_name.as_ref().trim();
55 let definition = self.get_agent(agent_name)?.clone();
56 Ok(create_agent_session_with_id_and_workspace(
57 self, agent_name, definition, session_id, workspace,
58 ))
59 }
60
61 pub fn create_agent_session_by_name_in_workspace_with_shared_state(
62 &self,
63 agent_name: impl AsRef<str>,
64 workspace: impl Into<PathBuf>,
65 shared_state: Metadata,
66 ) -> Result<AgentSession, String> {
67 let agent_name = agent_name.as_ref().trim();
68 let definition = self.get_agent(agent_name)?.clone();
69 Ok(create_agent_session_with_workspace_and_shared_state(
70 self,
71 agent_name,
72 definition,
73 workspace,
74 shared_state,
75 ))
76 }
77
78 pub fn create_agent_session_by_name_with_id_workspace_and_shared_state(
79 &self,
80 agent_name: impl AsRef<str>,
81 session_id: impl Into<String>,
82 workspace: impl Into<PathBuf>,
83 shared_state: Metadata,
84 ) -> Result<AgentSession, String> {
85 let agent_name = agent_name.as_ref().trim();
86 let definition = self.get_agent(agent_name)?.clone();
87 Ok(create_agent_session_with_id_and_workspace_and_shared_state(
88 self,
89 agent_name,
90 definition,
91 session_id,
92 workspace,
93 shared_state,
94 ))
95 }
96
97 pub fn create_agent_session_by_name_with_shared_state(
98 &self,
99 agent_name: impl AsRef<str>,
100 shared_state: Metadata,
101 ) -> Result<AgentSession, String> {
102 let agent_name = agent_name.as_ref().trim();
103 let definition = self.get_agent(agent_name)?.clone();
104 Ok(create_agent_session_with_shared_state(
105 self,
106 agent_name,
107 definition,
108 shared_state,
109 ))
110 }
111}