pub enum ControlObservation {
Show 32 variants
Spawned {
process_id: Option<u32>,
},
SpawnFailed {
message: String,
},
ProcessExited {
exit_code: Option<i32>,
final_terminal: Option<TerminalFrame>,
},
StopCompleted {
forced: bool,
exit_code: Option<i32>,
final_terminal: Option<TerminalFrame>,
},
StopFailed {
message: String,
},
InputCompleted,
InputFailed {
message: String,
},
ResizeCompleted {
size: TerminalSize,
},
ResizeFailed {
message: String,
},
ForegroundObserved {
process: ForegroundProcess,
},
ForegroundFailed {
message: String,
},
CapabilitiesProbed {
session_option_models: Vec<CapabilityModelSummary>,
},
CapabilityProbeFailed {
failure: CapabilityProbeFailure,
},
HistoryDiscovered {
candidates: Vec<HistoryCandidateSummary>,
},
HistoryLoaded {
session: HistorySessionRecord,
},
HistoryFailed {
message: String,
},
ResumeAuthorized {
provider_session: ProviderSessionIdentity,
},
ResumeDenied {
reason: String,
},
ResumeFailed {
message: String,
},
InteractionResolutionCompleted {
interaction_id: ProviderInteractionId,
},
InteractionResolutionFailed {
interaction_id: ProviderInteractionId,
message: String,
},
SessionModeSet {
mode_id: String,
},
SessionModeSetFailed {
message: String,
},
SessionConfigOptionSet {
option_id: String,
},
SessionConfigOptionSetFailed {
message: String,
},
SessionModelSet {
model_id: String,
},
SessionModelSetFailed {
message: String,
},
TerminalFrame {
frame: TerminalFrame,
},
TerminalStale {
message: String,
},
ScreenState {
state: PtyScreenState,
},
ProviderEvent {
source: ProviderSource,
sequence: u64,
event: ProviderEvent,
},
ProviderGap {
source: ProviderSource,
source_sequence: u64,
missed: u64,
},
}Variants§
Spawned
SpawnFailed
ProcessExited
StopCompleted
StopFailed
InputCompleted
InputFailed
ResizeCompleted
Fields
§
size: TerminalSizeResizeFailed
ForegroundObserved
Fields
§
process: ForegroundProcessForegroundFailed
CapabilitiesProbed
Fields
§
session_option_models: Vec<CapabilityModelSummary>CapabilityProbeFailed
Fields
§
failure: CapabilityProbeFailureHistoryDiscovered
Fields
§
candidates: Vec<HistoryCandidateSummary>HistoryLoaded
Fields
§
session: HistorySessionRecordHistoryFailed
ResumeAuthorized
Fields
§
provider_session: ProviderSessionIdentityResumeDenied
ResumeFailed
InteractionResolutionCompleted
Fields
§
interaction_id: ProviderInteractionIdInteractionResolutionFailed
SessionModeSet
ControlEffect::SetSessionMode succeeded; mode_id echoes back the
mode the shell executor actually confirmed with the agent (Resize’s
ResizeCompleted { size } is the same convention).
SessionModeSetFailed
SessionConfigOptionSet
SessionConfigOptionSetFailed
SessionModelSet
SessionModelSetFailed
TerminalFrame
Fields
§
frame: TerminalFrameTerminalStale
ScreenState
The node’s merged PtyScreenState classification changed. Emitted
only on an actual change, never per frame and never per foreground
probe – the node compares against its own last-published value
before sending this, so a subscriber never has to de-duplicate.
This is node-internal (shell -> engine), the same lane as
TerminalFrame/TerminalStale, not a wire type: neither the node
nor the c2 protocol carries ControlObservation across a process
boundary, so this variant needs no version gate.
Fields
§
state: PtyScreenStateProviderEvent
ProviderGap
Implementations§
Source§impl ControlObservation
impl ControlObservation
pub fn requires_operation_id(&self) -> bool
Trait Implementations§
Source§impl Clone for ControlObservation
impl Clone for ControlObservation
Source§impl Debug for ControlObservation
impl Debug for ControlObservation
Source§impl<'de> Deserialize<'de> for ControlObservation
impl<'de> Deserialize<'de> for ControlObservation
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ControlObservation
Source§impl PartialEq for ControlObservation
impl PartialEq for ControlObservation
Source§impl Serialize for ControlObservation
impl Serialize for ControlObservation
impl StructuralPartialEq for ControlObservation
Auto Trait Implementations§
impl Freeze for ControlObservation
impl RefUnwindSafe for ControlObservation
impl Send for ControlObservation
impl Sync for ControlObservation
impl Unpin for ControlObservation
impl UnsafeUnpin for ControlObservation
impl UnwindSafe for ControlObservation
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
Mutably borrows from an owned value. Read more