use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema, Default)] pub struct WorktreeListParams { #[serde(default, skip_serializing_if = "Option::is_none")] pub workspace_id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub cwd: Option, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema, Default)] pub struct WorktreeCreateParams { #[serde(default, skip_serializing_if = "Option::is_none")] pub workspace_id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub cwd: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub branch: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub base: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub label: Option, #[serde(default)] pub focus: bool, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema, Default)] pub struct WorktreeOpenParams { #[serde(default, skip_serializing_if = "Option::is_none")] pub workspace_id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub cwd: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub branch: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub label: Option, #[serde(default)] pub focus: bool, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct WorktreeRemoveParams { pub workspace_id: String, #[serde(default)] pub force: bool, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct WorktreeSourceInfo { pub repo_key: String, pub repo_name: String, pub repo_root: String, pub source_checkout_path: String, #[serde(default, skip_serializing_if = "Option::is_none")] pub source_workspace_id: Option, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct WorktreeInfo { pub path: String, #[serde(default, skip_serializing_if = "Option::is_none")] pub branch: Option, pub is_bare: bool, pub is_detached: bool, pub is_prunable: bool, pub is_linked_worktree: bool, #[serde(default, skip_serializing_if = "Option::is_none")] pub open_workspace_id: Option, pub label: String, }