pub enum Event {
Show 13 variants
OrchestratorSpawned(Orchestrator),
OrchestratorRemoved(OrchestratorId),
SessionUpdated(Session, SessionFields),
SessionSpawned(Session),
SessionDone(SessionId),
TerminalOutput {
session_id: SessionId,
bytes: Vec<u8>,
},
ClientOutput {
session_id: SessionId,
generation: u64,
bytes: Vec<u8>,
},
ClientClosed {
session_id: SessionId,
generation: u64,
},
CiUpdated {
pr_id: PrId,
status: CIStatus,
},
PrOpened {
session_id: SessionId,
pr: PR,
},
ExtraPrDetected(PR),
ReviewComment {
pr_id: PrId,
comment: Comment,
},
Notification(Notification),
}Variants§
OrchestratorSpawned(Orchestrator)
OrchestratorRemoved(OrchestratorId)
SessionUpdated(Session, SessionFields)
SessionSpawned(Session)
SessionDone(SessionId)
TerminalOutput
ClientOutput
Rendering stream from an attached tmux client (AttachedClient).
generation identifies which AttachedClient::spawn call produced
this event — consumers must ignore events whose generation doesn’t
match the currently-live client for session_id so a stale client
(superseded by a fresh attach) cannot clobber the new one.
ClientClosed
The attached tmux client process exited (detach, kill, server gone).
See ClientOutput for why generation matters.
CiUpdated
PrOpened
ExtraPrDetected(PR)
A PR beyond the session’s tracked one (PrOpened’s pr) was
detected — most often an agent accidentally opening a second PR.
Unlike PrOpened, this must never change which PR a session tracks;
it only makes the extra PR visible (e.g. on the Pull Requests
ledger) so a human notices and can clean it up. PR::session_id
carries the owning session — no separate field needed.
ReviewComment
Notification(Notification)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Event
impl RefUnwindSafe for Event
impl Send for Event
impl Sync for Event
impl Unpin for Event
impl UnsafeUnpin for Event
impl UnwindSafe for Event
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,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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