vv_agent/sdk/client/task/
named.rs1use std::path::PathBuf;
2
3use crate::types::AgentTask;
4
5use super::super::super::session::AgentSessionRunRequest;
6use super::super::AgentSDKClient;
7
8impl AgentSDKClient {
9 pub fn prepare_task_for_agent(
10 &self,
11 agent_name: impl AsRef<str>,
12 prompt: impl Into<String>,
13 resolved_model_id: impl Into<String>,
14 ) -> Result<AgentTask, String> {
15 let agent_name = agent_name.as_ref().trim();
16 let definition = self.get_agent(agent_name)?.clone();
17 Ok(self.prepare_task_with_named_agent_in_workspace(
18 agent_name,
19 definition,
20 prompt,
21 resolved_model_id,
22 self.options.workspace.clone(),
23 None::<String>,
24 ))
25 }
26
27 pub fn prepare_task_for_agent_with_request(
28 &self,
29 agent_name: impl AsRef<str>,
30 request: AgentSessionRunRequest,
31 resolved_model_id: impl Into<String>,
32 ) -> Result<AgentTask, String> {
33 let agent_name = agent_name.as_ref().trim();
34 let definition = self.get_agent(agent_name)?.clone();
35 Ok(self.prepare_task_with_named_agent_request(
36 agent_name,
37 definition,
38 request,
39 resolved_model_id,
40 ))
41 }
42
43 pub fn prepare_task_for_agent_with_session_id(
44 &self,
45 agent_name: impl AsRef<str>,
46 prompt: impl Into<String>,
47 resolved_model_id: impl Into<String>,
48 session_id: impl Into<String>,
49 ) -> Result<AgentTask, String> {
50 let agent_name = agent_name.as_ref().trim();
51 let definition = self.get_agent(agent_name)?.clone();
52 Ok(self.prepare_task_with_named_agent_in_workspace(
53 agent_name,
54 definition,
55 prompt,
56 resolved_model_id,
57 self.options.workspace.clone(),
58 Some(session_id.into()),
59 ))
60 }
61
62 pub fn prepare_task_for_agent_in_workspace(
63 &self,
64 agent_name: impl AsRef<str>,
65 prompt: impl Into<String>,
66 resolved_model_id: impl Into<String>,
67 workspace: impl Into<PathBuf>,
68 ) -> Result<AgentTask, String> {
69 let agent_name = agent_name.as_ref().trim();
70 let definition = self.get_agent(agent_name)?.clone();
71 Ok(self.prepare_task_with_named_agent_in_workspace(
72 agent_name,
73 definition,
74 prompt,
75 resolved_model_id,
76 workspace,
77 None::<String>,
78 ))
79 }
80
81 pub fn prepare_task_for_agent_in_workspace_with_session_id(
82 &self,
83 agent_name: impl AsRef<str>,
84 prompt: impl Into<String>,
85 resolved_model_id: impl Into<String>,
86 workspace: impl Into<PathBuf>,
87 session_id: impl Into<String>,
88 ) -> Result<AgentTask, String> {
89 let agent_name = agent_name.as_ref().trim();
90 let definition = self.get_agent(agent_name)?.clone();
91 Ok(self.prepare_task_with_named_agent_in_workspace(
92 agent_name,
93 definition,
94 prompt,
95 resolved_model_id,
96 workspace,
97 Some(session_id.into()),
98 ))
99 }
100}