From 25aeaa46f6c807be686b710c5c3aa656969f07e5 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Mon, 29 Jun 2026 22:27:19 +0300 Subject: feat: generate socket protocol schema --- src/api/schema/events.rs | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'src/api/schema/events.rs') diff --git a/src/api/schema/events.rs b/src/api/schema/events.rs index 014288b1..2fbce4d0 100644 --- a/src/api/schema/events.rs +++ b/src/api/schema/events.rs @@ -8,12 +8,12 @@ use super::tabs::TabInfo; use super::workspaces::WorkspaceInfo; use super::worktrees::WorktreeInfo; -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct EventsSubscribeParams { pub subscriptions: Vec, } -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] #[serde(tag = "type")] pub enum Subscription { #[serde(rename = "workspace.created")] @@ -74,14 +74,14 @@ pub enum Subscription { }, } -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct EventsWaitParams { pub match_event: EventMatch, #[serde(default, skip_serializing_if = "Option::is_none")] pub timeout_ms: Option, } -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct PaneWaitForOutputParams { pub pane_id: String, pub source: ReadSource, @@ -94,14 +94,14 @@ pub struct PaneWaitForOutputParams { pub strip_ansi: bool, } -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] #[serde(tag = "type", rename_all = "snake_case")] pub enum OutputMatch { Substring { value: String }, Regex { value: String }, } -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] #[serde(tag = "event", rename_all = "snake_case")] pub enum EventMatch { WorkspaceCreated { @@ -179,7 +179,7 @@ pub enum EventMatch { }, } -#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] #[serde(rename_all = "snake_case")] pub enum EventKind { WorkspaceCreated, @@ -332,13 +332,13 @@ mod known_event_name_tests { } } -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct EventEnvelope { pub event: EventKind, pub data: EventData, } -#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub enum SubscriptionEventKind { #[serde(rename = "pane.output_matched")] PaneOutputMatched, @@ -346,27 +346,27 @@ pub enum SubscriptionEventKind { PaneAgentStatusChanged, } -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct SubscriptionEventEnvelope { pub event: SubscriptionEventKind, pub data: SubscriptionEventData, } -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] #[serde(untagged)] pub enum SubscriptionEventData { PaneOutputMatched(PaneOutputMatchedEvent), PaneAgentStatusChanged(PaneAgentStatusChangedEvent), } -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct PaneOutputMatchedEvent { pub pane_id: String, pub matched_line: String, pub read: PaneReadResult, } -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct PaneAgentStatusChangedEvent { pub pane_id: String, pub workspace_id: String, @@ -383,7 +383,7 @@ pub struct PaneAgentStatusChangedEvent { pub state_labels: HashMap, } -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] #[serde(tag = "type", rename_all = "snake_case")] pub enum EventData { WorkspaceCreated { -- cgit v1.2.3