pub enum Modal {
Help,
CostDetail,
ModelInfo,
ToolList {
entries: Vec<(String, String)>,
},
Journal {
entries: Vec<JournalEntry>,
selected: usize,
},
Confirm {
prompt: String,
on_yes: ConfirmAction,
},
PlanReview {
plan_text: String,
tool_calls: Vec<Value>,
edited_text: Option<String>,
},
ResumePicker {
entries: Vec<ResumeEntry>,
selected: usize,
},
McpServers {
entries: Vec<McpEntry>,
selected: usize,
},
}Expand description
All modal flavours the TUI knows how to render.
Goal 146 ships Help / CostDetail / ModelInfo / ToolList / Journal
/ Confirm. Goal 147 folds the Plan-mode confirmation into the
modal stack as Modal::PlanReview, replacing the dedicated
AppScreen::PlanReview (now removed).
Variants§
Help
CostDetail
ModelInfo
ToolList
Journal
Confirm
PlanReview
Goal-147: structured plan-mode confirmation. tool_calls
carries the pending tool calls as JSON values (see
[AgentEvent::PlanProposed]). edited_text is reserved for
future inline editing — Goal 147 only uses the e key to
copy the plan into the prompt buffer and dismiss, so this
field is currently always None but kept for forward
compatibility per the goal’s field schema.
ResumePicker
Goal-171: session resume picker. Shows a list of recent sessions ordered by last-updated; ↑/↓ selects, Enter resumes, Esc cancels.
McpServers
Goal-173: MCP server list. Shows configured MCP servers with their transport type and enabled status.
Implementations§
Trait Implementations§
impl StructuralPartialEq for Modal
Auto Trait Implementations§
impl Freeze for Modal
impl RefUnwindSafe for Modal
impl Send for Modal
impl Sync for Modal
impl Unpin for Modal
impl UnsafeUnpin for Modal
impl UnwindSafe for Modal
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,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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