pub struct OpencodeReadinessDetector;Expand description
opencode TUI readiness (x-51f6 US3). Markers pinned from a LIVE capture (opencode 1.14.50, mux-pane hosted), not guessed:
- idle: the composer box draws a
┃(U+2503) left edge; the footer hint row reads “tab agents ctrl+p commands”. The LAST line is a status bar (~/path:branch … 1.14.50), so the shared trailing-glyph [prompt_ready] can never fire for opencode — a positive signal needs the composer edge instead. - working: the footer swaps to a progress fill (
⬝⬝⬝⬝■■■■) plus an “esc interrupt” hint. NOTE: live 1.14.50 says “esc interrupt” (no “to”), which the sharedBUSY_MARKERSmiss — matched here on “interrupt”. - blocked: the “Permission required” dialog (same marker family as
manifests/opencode.toml) and the shared auth [WALL_MARKERS].
Conservative bias holds (readiness OQ#9): the composer edge is required AND every busy/blocked marker vetoes, so a UI change degrades to false-NOT-ready (footnote waits), never a false-ready dispatch.
Trait Implementations§
Source§impl ReadinessDetector for OpencodeReadinessDetector
impl ReadinessDetector for OpencodeReadinessDetector
Source§fn provider_name(&self) -> &str
fn provider_name(&self) -> &str
&str (not &'static str) so a detector can name a provider known only
at runtime (the daemon’s wildcard NoSignalDetector carries the real
provider name rather than the literal “unknown”; cv-789fdba0).Source§fn is_ready(&self, screen: &ScreenView<'_>) -> Result<bool, ReadinessError>
fn is_ready(&self, screen: &ScreenView<'_>) -> Result<bool, ReadinessError>
Ok(true) when the CLI is ready for input, Ok(false) when not yet,
Err(UnknownReadinessSignal) when this provider has no usable signal.Auto Trait Implementations§
impl Freeze for OpencodeReadinessDetector
impl RefUnwindSafe for OpencodeReadinessDetector
impl Send for OpencodeReadinessDetector
impl Sync for OpencodeReadinessDetector
impl Unpin for OpencodeReadinessDetector
impl UnsafeUnpin for OpencodeReadinessDetector
impl UnwindSafe for OpencodeReadinessDetector
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