vv_agent/sdk/client/task/
defaults.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(
10 &self,
11 prompt: impl Into<String>,
12 resolved_model_id: impl Into<String>,
13 ) -> Result<AgentTask, String> {
14 let (name, definition) = self.default_or_only_agent(
15 "No agent configured. Call prepare_task_with_agent(...) or register named agents first.",
16 "Multiple agents configured. Call prepare_task_for_agent(name, ...) with one of:",
17 )?;
18 Ok(self.prepare_task_with_named_agent_in_workspace(
19 &name,
20 definition,
21 prompt,
22 resolved_model_id,
23 self.options.workspace.clone(),
24 None::<String>,
25 ))
26 }
27
28 pub fn prepare_task_with_request(
29 &self,
30 request: AgentSessionRunRequest,
31 resolved_model_id: impl Into<String>,
32 ) -> Result<AgentTask, String> {
33 let (name, definition) = self.default_or_only_agent(
34 "No agent configured. Call prepare_task_with_agent_request(...) or register named agents first.",
35 "Multiple agents configured. Call prepare_task_for_agent_with_request(name, ...) with one of:",
36 )?;
37 Ok(self.prepare_task_with_named_agent_request(
38 &name,
39 definition,
40 request,
41 resolved_model_id,
42 ))
43 }
44
45 pub fn prepare_task_with_session_id(
46 &self,
47 prompt: impl Into<String>,
48 resolved_model_id: impl Into<String>,
49 session_id: impl Into<String>,
50 ) -> Result<AgentTask, String> {
51 let (name, definition) = self.default_or_only_agent(
52 "No agent configured. Call prepare_task_with_agent_with_session_id(...) or register named agents first.",
53 "Multiple agents configured. Call prepare_task_for_agent_with_session_id(name, ...) with one of:",
54 )?;
55 Ok(self.prepare_task_with_named_agent_in_workspace(
56 &name,
57 definition,
58 prompt,
59 resolved_model_id,
60 self.options.workspace.clone(),
61 Some(session_id.into()),
62 ))
63 }
64
65 pub fn prepare_task_in_workspace(
66 &self,
67 prompt: impl Into<String>,
68 resolved_model_id: impl Into<String>,
69 workspace: impl Into<PathBuf>,
70 ) -> Result<AgentTask, String> {
71 let (name, definition) = self.default_or_only_agent(
72 "No agent configured. Call prepare_task_with_agent_in_workspace(...) or register named agents first.",
73 "Multiple agents configured. Call prepare_task_for_agent_in_workspace(name, ...) with one of:",
74 )?;
75 Ok(self.prepare_task_with_named_agent_in_workspace(
76 &name,
77 definition,
78 prompt,
79 resolved_model_id,
80 workspace,
81 None::<String>,
82 ))
83 }
84
85 pub fn prepare_task_in_workspace_with_session_id(
86 &self,
87 prompt: impl Into<String>,
88 resolved_model_id: impl Into<String>,
89 workspace: impl Into<PathBuf>,
90 session_id: impl Into<String>,
91 ) -> Result<AgentTask, String> {
92 let (name, definition) = self.default_or_only_agent(
93 "No agent configured. Call prepare_task_with_agent_in_workspace_with_session_id(...) or register named agents first.",
94 "Multiple agents configured. Call prepare_task_for_agent_in_workspace_with_session_id(name, ...) with one of:",
95 )?;
96 Ok(self.prepare_task_with_named_agent_in_workspace(
97 &name,
98 definition,
99 prompt,
100 resolved_model_id,
101 workspace,
102 Some(session_id.into()),
103 ))
104 }
105}