aboutsummaryrefslogtreecommitdiff
path: root/src/api/schema/agents.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/schema/agents.rs')
-rw-r--r--src/api/schema/agents.rs23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/api/schema/agents.rs b/src/api/schema/agents.rs
index 8592e56b..59949293 100644
--- a/src/api/schema/agents.rs
+++ b/src/api/schema/agents.rs
@@ -17,9 +17,26 @@ pub struct AgentReadParams {
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)]
-pub struct AgentSendParams {
+pub struct AgentSendKeysParams {
pub target: String,
- pub text: String,
+ pub keys: Vec<String>,
+}
+
+#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)]
+pub struct AgentWaitParams {
+ pub target: String,
+ #[serde(default, skip_serializing_if = "Vec::is_empty")]
+ pub until: Vec<AgentStatus>,
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ pub timeout_ms: Option<u64>,
+}
+
+#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)]
+pub struct AgentPromptWaitOptions {
+ #[serde(default, skip_serializing_if = "Vec::is_empty")]
+ pub until: Vec<AgentStatus>,
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ pub timeout_ms: Option<u64>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)]
@@ -45,6 +62,8 @@ pub struct AgentStartParams {
pub struct AgentPromptParams {
pub target: String,
pub text: String,
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ pub wait: Option<AgentPromptWaitOptions>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)]