feat(maestro): add elicitation web UI and TUI stub
ElicitationView renders form-mode questions from the agent: single-property string enums as a button group (the common multiple-choice case), general schemas as a form with typed inputs. Wired into TranscriptRow, StructuredPane, and the model helpers. TUI renders elicitation rows as plain text for now. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
1e628789fb
commit
5bdedc8d23
@@ -355,6 +355,15 @@ fn build_lines(state: &StructuredState, width: usize) -> Vec<VisualLine> {
|
||||
Tone::Muted,
|
||||
false,
|
||||
),
|
||||
TranscriptRowKind::Elicitation => push_wrapped(
|
||||
&mut out,
|
||||
row,
|
||||
"? ",
|
||||
content_text(row),
|
||||
row_width,
|
||||
Tone::Muted,
|
||||
false,
|
||||
),
|
||||
TranscriptRowKind::Plan => {}
|
||||
}
|
||||
if out.len() > start
|
||||
@@ -399,6 +408,7 @@ pub fn copy_text(row: &TranscriptRow) -> String {
|
||||
.and_then(serde_json::Value::as_str)
|
||||
.unwrap_or("permission requested")
|
||||
.into(),
|
||||
TranscriptRowKind::Elicitation => content_text(row),
|
||||
TranscriptRowKind::Notice => "[notice]".into(),
|
||||
TranscriptRowKind::Plan => String::new(),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user