diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-17 01:41:16 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-17 01:41:16 +0300 |
| commit | e4de58b37f58d59d146158239ed218a8accd5c3c (patch) | |
| tree | 6bb35b8c9aaec969110ff51a58814dd8099617c0 /src/api/schema.rs | |
| parent | 86adf88351e17c6a11cac253714b169eac0db233 (diff) | |
feat: add agent start for server-owned terminals
Diffstat (limited to 'src/api/schema.rs')
| -rw-r--r-- | src/api/schema.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/api/schema.rs b/src/api/schema.rs index e6d24aaf..a82070e0 100644 --- a/src/api/schema.rs +++ b/src/api/schema.rs @@ -52,6 +52,8 @@ pub enum Method { AgentRename(AgentRenameParams), #[serde(rename = "agent.focus")] AgentFocus(AgentTarget), + #[serde(rename = "agent.start")] + AgentStart(AgentStartParams), #[serde(rename = "pane.split")] PaneSplit(PaneSplitParams), #[serde(rename = "pane.list")] @@ -180,6 +182,22 @@ pub struct AgentRenameParams { } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub struct AgentStartParams { + pub name: String, + #[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>, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct PaneSplitParams { #[serde(default, skip_serializing_if = "Option::is_none")] pub workspace_id: Option<String>, @@ -523,6 +541,10 @@ pub enum ResponseResult { AgentInfo { agent: AgentInfo, }, + AgentStarted { + agent: AgentInfo, + argv: Vec<String>, + }, AgentList { agents: Vec<AgentInfo>, }, |
