aboutsummaryrefslogtreecommitdiff
path: root/src/api/schema/response.rs
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-09-01 15:48:22 +0300
committerGitHub <noreply@github.com>2026-09-01 15:48:22 +0300
commit207be3c771d281baae6e5fa0fb74be9a056e97a2 (patch)
treed7b037ecdf629224a048c841d11659efdc23507d /src/api/schema/response.rs
parent8a6d697308162874a236c84aac0b0f8c7ac01f83 (diff)
refactor: render the shell in the client (#3487)
* feat: add opt-in client-rendered shell * feat: add client-owned shell mouse controls * feat: complete client-owned shell chrome * feat: add client-owned shell settings and notifications * feat: run client shell custom commands * feat: render popup terminals in client shell * feat: add client-owned scrollback and copy mode * fix: preserve client worktree trust defaults * feat: render startup diagnostics in client shell * feat: render onboarding in client shell * feat: render product announcements in client shell * feat: render release notes in client shell * feat: render mobile switcher in client shell * feat: render kitty graphics in client shell * fix: preserve client shell lifecycle coherence * refactor: route client shell commands through endpoint connections * refactor: make the client-rendered shell the default * refactor: remove monolithic launch mode * refactor: complete client-rendered shell cutover * perf: retain client pane surface updates * perf: scale retained pane surface updates * perf: remove remote pane input latency * test: make client shell checks platform-independent * fix: prevent client timer starvation * test: fix client shell platform gates * test: accept retained surfaces in cross-area checks * test: make client mode assertions platform-neutral * fix: badge only outdated integrations
Diffstat (limited to 'src/api/schema/response.rs')
-rw-r--r--src/api/schema/response.rs29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/api/schema/response.rs b/src/api/schema/response.rs
index da2813a6..180d6645 100644
--- a/src/api/schema/response.rs
+++ b/src/api/schema/response.rs
@@ -9,7 +9,7 @@ use super::integrations::{
use super::panes::{
LayoutDescription, PaneEdgesResult, PaneFocusDirectionResult, PaneInfo, PaneLayoutSnapshot,
PaneMoveResult, PaneNeighborResult, PaneProcessInfo, PaneReadResult, PaneResizeResult,
- PaneSwapResult, PaneZoomResult,
+ PaneSwapResult, PaneTextPoint, PaneTextRange, PaneZoomResult,
};
use super::plugins::{
InstalledPluginInfo, PluginActionInfo, PluginCommandLogInfo, PluginInvocationContext,
@@ -162,6 +162,25 @@ pub enum ResponseResult {
PaneRead {
read: PaneReadResult,
},
+ PaneSelection {
+ pane_id: String,
+ text: String,
+ },
+ PaneCopyMotion {
+ pane_id: String,
+ cursor: PaneTextPoint,
+ content_revision: u64,
+ },
+ PaneCopySearch {
+ pane_id: String,
+ content_revision: u64,
+ matches: Vec<PaneTextRange>,
+ total: u64,
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ current: Option<u32>,
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ current_global: Option<u64>,
+ },
PaneGraphicsFrameAck {
sequence: u64,
revision: u64,
@@ -210,6 +229,9 @@ pub enum ResponseResult {
changed: bool,
reason: ClientWindowTitleReason,
},
+ IntegrationList {
+ integrations: Vec<super::integrations::IntegrationInfo>,
+ },
IntegrationInstall {
target: IntegrationTarget,
details: IntegrationInstallResult,
@@ -252,6 +274,11 @@ pub enum ResponseResult {
context: PluginInvocationContext,
log: PluginCommandLogInfo,
},
+ PaneLinkActivated {
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ url: Option<String>,
+ handled: bool,
+ },
PluginLogList {
logs: Vec<PluginCommandLogInfo>,
},