1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//! TUI components for the swarm monitor
//!
//! This module contains reusable UI components for the terminal interface.
//! Components follow ratatui patterns and can be composed into larger views.
//!
//! ## Components
//!
//! - **ModelSelector**: For selecting AI models/harnesses when spawning agents
//! - **AgentSelector**: For selecting and switching between running agents
//! - **StreamingView**: For displaying streaming output from agents
//!
//! ## Usage
//!
//! Components are designed to be used with ratatui's `StatefulWidget` pattern:
//!
//! ```ignore
//! use scud_cli::commands::spawn::tui::components::*;
//!
//! // Create widget state
//! let mut state = ModelSelectorState::new(0);
//!
//! // Render widget with state
//! let widget = ModelSelector::new(&models).focused(true);
//! frame.render_stateful_widget(widget, area, &mut state);
//!
//! // Handle input to update state
//! state.next(models.len());
//! ```
// Re-export key types for convenient access
pub use ;
pub use ;
pub use ;