pub enum DaemonAction {
Show 51 variants
Ping,
Status,
WebViewerAccess,
RecoverWebViewer(WebViewerRecovery),
InspectWebListener,
ListWorkspaces,
CreateWorkspace {
name: String,
},
RenameWorkspace {
workspace_id: String,
name: String,
},
TouchWorkspace {
workspace_id: String,
},
DeleteWorkspace {
workspace_id: String,
},
Attach {
client_id: String,
pid: u32,
},
Detach {
client_id: String,
},
PersistReadReceipt {
client_id: String,
workspace_id: String,
session_id: String,
through: u64,
},
PersistDetachedSessionState {
client_id: String,
workspace_id: String,
session_id: String,
through: u64,
owner_pid: u32,
draft: DetachedSessionDraft,
},
SaveActiveReview {
session_id: String,
review: StoredReview,
},
ClearActiveReview {
session_id: String,
},
RememberReviewerSelection {
workspace_id: String,
selection: ReviewerSelection,
},
SaveWorkspacePaneSizes {
workspace_id: String,
sizes: PaneSizes,
},
PersistImportedSession {
session: Box<SessionRecord>,
},
SetSessionTitle {
session_id: String,
title: String,
},
SetSessionContainerSettings {
session_id: String,
cpus: Option<String>,
memory: Option<String>,
mounts: Vec<AdditionalMount>,
mount_history: Vec<PathBuf>,
},
SetSessionAcpTitle {
session_id: String,
title: Option<String>,
},
MarkSessionTargetMissing {
session_id: String,
detail: String,
updated_at: String,
},
CheckpointSession {
session_id: String,
},
ScanRecovery,
AdoptRecovery {
session_id: String,
target_id: String,
profile: Option<String>,
bundle: Option<String>,
},
DestroyRecovery {
session_id: String,
target_id: String,
confirmation: String,
},
Snapshot {
workspace_id: String,
},
RuntimeSnapshot {
workspace_id: String,
after_revision: u64,
all_workspaces: bool,
},
RenameProfile {
old_id: String,
new_id: String,
},
RenameTarget {
old_id: String,
new_id: String,
},
SubmitSessionCommand {
inherited_draft: Option<String>,
session_id: String,
command_id: String,
command: RelayCommand,
},
SyncSession {
session_id: String,
},
RespondElicitation {
session_id: String,
elicitation_id: String,
response: ElicitationResponse,
},
StopBackgroundTask {
session_id: String,
background_task_id: String,
},
ReviewerAction {
session_id: String,
role: Option<String>,
action: ReviewerAction,
},
StartTurnReview {
session_id: String,
},
ResolveTurnReview {
session_id: String,
resolution: Resolution,
},
CloseSession {
session_id: String,
},
StartCreateSession(CreateSessionRequest),
WaitCreateSession {
session_id: String,
},
ResumeSession(ResumeSessionRequest),
PrepareMoveSession(MoveSelection),
MoveSession(MoveSessionRequest),
ForceStopSession {
session_id: String,
},
DestroyStoppedSession {
session_id: String,
},
ForceDestroySession {
session_id: String,
},
ForceDeleteWorkspace {
workspace_id: String,
},
CancelLifecycle {
session_id: String,
},
RecoverDraft {
draft_id: String,
},
Stop,
}Expand description
Ping, Status, and Stop form the frozen management subset: their wire
encoding — together with RequestEnvelope, ResponseEnvelope,
DaemonStatus, and WebViewerStatus — must never change shape, because
clients and daemons of any protocol version rely on them to identify,
stop, and replace each other. Every other action may change freely behind a
PROTOCOL_VERSION bump.
Variants§
Ping
Status
WebViewerAccess
RecoverWebViewer(WebViewerRecovery)
InspectWebListener
ListWorkspaces
CreateWorkspace
RenameWorkspace
TouchWorkspace
DeleteWorkspace
Attach
Detach
PersistReadReceipt
PersistDetachedSessionState
Fields
draft: DetachedSessionDraftSaveActiveReview
ClearActiveReview
RememberReviewerSelection
SaveWorkspacePaneSizes
PersistImportedSession
Fields
session: Box<SessionRecord>SetSessionTitle
SetSessionContainerSettings
Fields
mounts: Vec<AdditionalMount>SetSessionAcpTitle
MarkSessionTargetMissing
CheckpointSession
ScanRecovery
AdoptRecovery
DestroyRecovery
Snapshot
RuntimeSnapshot
RenameProfile
RenameTarget
SubmitSessionCommand
SyncSession
RespondElicitation
StopBackgroundTask
ReviewerAction
Drive a session’s second-opinion reviewer. The reviewer is a sidecar of the session’s worker, so it travels the session’s own relay rather than becoming a session of its own here.
Fields
role: Option<String>Which reviewing role the action drives; absent means the default one, which is what plan review uses.
action: ReviewerActionStartTurnReview
Review the turn this session just finished, on a surface’s request.
ResolveTurnReview
Forward, dismiss, or cancel the open review.
CloseSession
StartCreateSession(CreateSessionRequest)
WaitCreateSession
ResumeSession(ResumeSessionRequest)
PrepareMoveSession(MoveSelection)
MoveSession(MoveSessionRequest)
ForceStopSession
DestroyStoppedSession
ForceDestroySession
ForceDeleteWorkspace
CancelLifecycle
RecoverDraft
Stop
Trait Implementations§
Source§impl Clone for DaemonAction
impl Clone for DaemonAction
Source§fn clone(&self) -> DaemonAction
fn clone(&self) -> DaemonAction
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DaemonAction
impl Debug for DaemonAction
Source§impl<'de> Deserialize<'de> for DaemonAction
impl<'de> Deserialize<'de> for DaemonAction
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<DaemonAction, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<DaemonAction, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for DaemonAction
impl Serialize for DaemonAction
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for DaemonAction
impl RefUnwindSafe for DaemonAction
impl Send for DaemonAction
impl Sync for DaemonAction
impl Unpin for DaemonAction
impl UnsafeUnpin for DaemonAction
impl UnwindSafe for DaemonAction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more