pub enum UIEvent {
PhaseTransition {
from: Option<PipelinePhase>,
to: PipelinePhase,
},
IterationProgress {
current: u32,
total: u32,
},
ReviewProgress {
pass: u32,
total: u32,
},
AgentActivity {
agent: String,
message: String,
},
PushCompleted {
remote: String,
branch: String,
commit_sha: String,
},
PushFailed {
remote: String,
branch: String,
error: String,
},
PullRequestCreated {
url: String,
number: u32,
},
PullRequestFailed {
error: String,
},
XmlOutput {
xml_type: XmlOutputType,
content: String,
context: Option<XmlOutputContext>,
},
PromptReplayHit {
key: String,
was_replayed: bool,
},
}Expand description
UI events for user-facing display during pipeline execution.
These events do NOT affect pipeline state or checkpoints. They are purely for terminal display and programmatic observation.
Variants§
PhaseTransition
Phase transition occurred.
IterationProgress
Development iteration progress.
ReviewProgress
Review pass progress.
AgentActivity
Agent activity notification.
PushCompleted
Cloud-mode git push completed.
PushFailed
Cloud-mode git push failed.
The error string MUST already be redacted (no credentials).
PullRequestCreated
Cloud-mode pull request created.
PullRequestFailed
Cloud-mode pull request creation failed.
The error string MUST already be redacted (no credentials).
XmlOutput
XML output requiring semantic rendering.
Phase functions emit raw XML content through this event, and the event loop renders it with appropriate semantic formatting.
Fields
xml_type: XmlOutputTypeThe type of XML output (determines renderer).
context: Option<XmlOutputContext>Optional context like iteration or pass number.
PromptReplayHit
Prompt replay observability event (RFC-007 Short-term #3).
Emitted by handlers after each get_stored_or_generate_prompt call.
Allows audit, debugging, and detection of unexpected replay behavior.
This event does NOT affect pipeline state or checkpoints.
Implementations§
Source§impl UIEvent
impl UIEvent
Sourcepub const fn phase_emoji(phase: &PipelinePhase) -> &'static str
pub const fn phase_emoji(phase: &PipelinePhase) -> &'static str
Get emoji indicator for phase.
Sourcepub fn format_for_display(&self) -> String
pub fn format_for_display(&self) -> String
Format event for terminal display.
This method delegates to the rendering module for actual formatting.
Prefer calling rendering::render_ui_event() directly in new code.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for UIEvent
impl<'de> Deserialize<'de> for UIEvent
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>,
impl Eq for UIEvent
impl StructuralPartialEq for UIEvent
Auto Trait Implementations§
impl Freeze for UIEvent
impl RefUnwindSafe for UIEvent
impl Send for UIEvent
impl Sync for UIEvent
impl Unpin for UIEvent
impl UnsafeUnpin for UIEvent
impl UnwindSafe for UIEvent
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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