diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-17 23:55:08 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-17 23:59:56 +0300 |
| commit | e0758c32118f2aa006db3d8fa4b41833fe6e7ead (patch) | |
| tree | 2b29dd61ebf870db8d0ac95cc0b4515178c834c4 /src/api/schema/agents.rs | |
| parent | 040956531f673c8fb7720037494ed4e61b123c6c (diff) | |
feat: harden named agent cli workflows
refs #1525
Diffstat (limited to 'src/api/schema/agents.rs')
| -rw-r--r-- | src/api/schema/agents.rs | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/src/api/schema/agents.rs b/src/api/schema/agents.rs index 969383c4..8592e56b 100644 --- a/src/api/schema/agents.rs +++ b/src/api/schema/agents.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use serde::{Deserialize, Serialize}; -use super::common::{AgentStatus, ReadFormat, ReadSource, SplitDirection}; +use super::common::{AgentStatus, ReadFormat, ReadSource}; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct AgentReadParams { @@ -32,19 +32,19 @@ pub struct AgentRenameParams { #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct AgentStartParams { pub name: String, + pub kind: String, + pub pane_id: String, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub args: Vec<String>, + /// Startup timeout in milliseconds. Values must be greater than 3000 and at most 300000. #[serde(default, skip_serializing_if = "Option::is_none")] - pub cwd: Option<String>, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub workspace_id: Option<String>, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub tab_id: Option<String>, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub split: Option<SplitDirection>, - #[serde(default)] - pub focus: bool, - pub argv: Vec<String>, - #[serde(default, skip_serializing_if = "HashMap::is_empty")] - pub env: HashMap<String, String>, + pub timeout_ms: Option<u64>, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] +pub struct AgentPromptParams { + pub target: String, + pub text: String, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] @@ -76,6 +76,12 @@ pub struct AgentInfo { pub tab_id: String, pub pane_id: String, pub focused: bool, + #[serde(default, skip_serializing_if = "super::is_false")] + pub launch_pending: bool, + #[serde(default, skip_serializing_if = "super::is_false")] + pub interactive_ready: bool, + #[serde(default)] + pub state_change_seq: u64, #[serde(default, skip_serializing_if = "Option::is_none")] pub cwd: Option<String>, #[serde(default, skip_serializing_if = "Option::is_none")] |
