aboutsummaryrefslogtreecommitdiff
path: root/src/api/schema/commands.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/schema/commands.rs')
-rw-r--r--src/api/schema/commands.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/api/schema/commands.rs b/src/api/schema/commands.rs
new file mode 100644
index 00000000..c9ccd4bc
--- /dev/null
+++ b/src/api/schema/commands.rs
@@ -0,0 +1,16 @@
+use serde::{Deserialize, Serialize};
+
+#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)]
+pub struct CommandInvokeParams {
+ /// Opaque endpoint-issued command identifier from the client-shell projection.
+ pub command_id: 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 pane_id: Option<String>,
+ /// Client-owned selection coordinates, validated against the pane's content revision.
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ pub selection: Option<super::PaneSelectionReadParams>,
+}