From 3f80947678a9723434aa7fddfe23750b5393e24c Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Sun, 19 Jul 2026 23:52:20 +0300 Subject: feat: make agent automation a first-class cli primitive --- src/api/schema/agents.rs | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'src/api/schema/agents.rs') 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, +} + +#[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, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timeout_ms: Option, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] +pub struct AgentPromptWaitOptions { + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub until: Vec, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timeout_ms: Option, } #[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, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] -- cgit v1.2.3