diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-29 22:27:19 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-29 22:27:19 +0300 |
| commit | 25aeaa46f6c807be686b710c5c3aa656969f07e5 (patch) | |
| tree | 8b9b4d4abce5951c2d87ee22c38eacb544eff81a /src/api/schema/events.rs | |
| parent | 9150ed6268874d1f2a314b1ddbf531b66df1e105 (diff) | |
feat: generate socket protocol schema
Diffstat (limited to 'src/api/schema/events.rs')
| -rw-r--r-- | src/api/schema/events.rs | 28 |
1 files changed, 14 insertions, 14 deletions
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<Subscription>, } -#[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<u64>, } -#[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<String, String>, } -#[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 { |
