From 9150ed6268874d1f2a314b1ddbf531b66df1e105 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Mon, 29 Jun 2026 21:36:48 +0300 Subject: feat: add session snapshot api --- src/api/schema/session.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/api/schema/session.rs (limited to 'src/api/schema/session.rs') diff --git a/src/api/schema/session.rs b/src/api/schema/session.rs new file mode 100644 index 00000000..b51f6969 --- /dev/null +++ b/src/api/schema/session.rs @@ -0,0 +1,23 @@ +use serde::{Deserialize, Serialize}; + +use super::agents::AgentInfo; +use super::panes::{PaneInfo, PaneLayoutSnapshot}; +use super::tabs::TabInfo; +use super::workspaces::WorkspaceInfo; + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct SessionSnapshot { + pub version: String, + pub protocol: u32, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub focused_workspace_id: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub focused_tab_id: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub focused_pane_id: Option, + pub workspaces: Vec, + pub tabs: Vec, + pub panes: Vec, + pub layouts: Vec, + pub agents: Vec, +} -- cgit v1.2.3