pub(crate) struct UiAgents {
pub(crate) state: Vec<AgentState>,
pub(crate) active_agent: usize,
}Expand description
Data for the agents currently running
Fields§
§state: Vec<AgentState>State of the main agent and subagents
active_agent: usizeWhich agent is being viewed (0 = main agent)
Implementations§
Source§impl UiAgents
impl UiAgents
Sourcepub(crate) fn new(
main_client_state: Arc<RwLock<ClientState>>,
main_client_info: ClientInfo,
main_history: Arc<Mutex<ChatHistory>>,
) -> Self
pub(crate) fn new( main_client_state: Arc<RwLock<ClientState>>, main_client_info: ClientInfo, main_history: Arc<Mutex<ChatHistory>>, ) -> Self
Create a new collection of agents, with a single main agent
Sourcepub(crate) fn add_subagent(
&mut self,
subagent_id: SubagentId,
prompt: String,
client_info: ClientInfo,
client_state: Arc<RwLock<ClientState>>,
history: Arc<Mutex<ChatHistory>>,
)
pub(crate) fn add_subagent( &mut self, subagent_id: SubagentId, prompt: String, client_info: ClientInfo, client_state: Arc<RwLock<ClientState>>, history: Arc<Mutex<ChatHistory>>, )
Add a new subagent at the end of our list
Sourcepub(crate) fn remove_subagent(&mut self, subagent_id: SubagentId)
pub(crate) fn remove_subagent(&mut self, subagent_id: SubagentId)
Remove a subagent by its ID
If the subagent is currently active, change the active view to the main agent.
Sourcepub(crate) fn active(&self) -> &AgentState
pub(crate) fn active(&self) -> &AgentState
Return the currently active view’s agent
Sourcepub(crate) fn active_mut(&mut self) -> &mut AgentState
pub(crate) fn active_mut(&mut self) -> &mut AgentState
Return the currently active view’s agent, mutably
Sourcepub(crate) fn is_main(&self) -> bool
pub(crate) fn is_main(&self) -> bool
Return whether the currently active view is the main agent’s
Sourcepub(crate) fn active_agent_id(&self) -> AgentId
pub(crate) fn active_agent_id(&self) -> AgentId
Return the ID of the agent in the currently active view
Sourcepub(crate) fn subagent_index(&self) -> Option<usize>
pub(crate) fn subagent_index(&self) -> Option<usize>
Return the subagent index, if viewing a subagent
Sourcepub(crate) fn subagent_count(&self) -> usize
pub(crate) fn subagent_count(&self) -> usize
Return the number of subagents
Sourcepub(crate) fn subagent_task(&self) -> Option<&str>
pub(crate) fn subagent_task(&self) -> Option<&str>
If the currently active view is a subagent, return its task prompt (if known)
Sourcepub(crate) fn switch_prev(&mut self)
pub(crate) fn switch_prev(&mut self)
Switch to the previous agent (wrapping)
Sourcepub(crate) fn switch_next(&mut self)
pub(crate) fn switch_next(&mut self)
Switch to the next agent (wrapping)
Auto Trait Implementations§
impl !RefUnwindSafe for UiAgents
impl !UnwindSafe for UiAgents
impl Freeze for UiAgents
impl Send for UiAgents
impl Sync for UiAgents
impl Unpin for UiAgents
impl UnsafeUnpin for UiAgents
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
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg] or
a color-specific method, such as [OwoColorize::green], Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg] or
a color-specific method, such as [OwoColorize::on_yellow], Read more