pub struct TmaiCore { /* private fields */ }Expand description
The Facade that wraps all tmai-core services.
Constructed via TmaiCoreBuilder.
Implementations§
Source§impl TmaiCore
impl TmaiCore
Sourcepub fn approve(&self, target: &str) -> Result<(), ApiError>
pub fn approve(&self, target: &str) -> Result<(), ApiError>
Approve an agent action (send approval keys based on agent type).
Returns Ok(()) if approval was sent or the agent was already not awaiting.
Sourcepub fn select_choice(&self, target: &str, choice: usize) -> Result<(), ApiError>
pub fn select_choice(&self, target: &str, choice: usize) -> Result<(), ApiError>
Select a choice for a UserQuestion prompt.
choice is 1-indexed (1 = first option, N+1 = “Other”).
Sourcepub fn submit_selection(
&self,
target: &str,
selected_choices: &[usize],
) -> Result<(), ApiError>
pub fn submit_selection( &self, target: &str, selected_choices: &[usize], ) -> Result<(), ApiError>
Submit multi-select choices (checkbox or legacy format).
selected_choices is a list of 1-indexed choice numbers.
Sourcepub async fn send_text(&self, target: &str, text: &str) -> Result<(), ApiError>
pub async fn send_text(&self, target: &str, text: &str) -> Result<(), ApiError>
Send text input to an agent followed by Enter.
Includes a 50ms delay between text and Enter to prevent paste-burst issues.
Sourcepub fn send_key(&self, target: &str, key: &str) -> Result<(), ApiError>
pub fn send_key(&self, target: &str, key: &str) -> Result<(), ApiError>
Send a special key to an agent (whitelist-validated).
Source§impl TmaiCore
impl TmaiCore
Sourcepub fn raw_state(&self) -> &SharedState
👎Deprecated: Use TmaiCore query/action methods instead of direct state access
pub fn raw_state(&self) -> &SharedState
Access the raw shared state.
Deprecated: prefer using typed query/action methods on TmaiCore.
This escape hatch exists for incremental migration only.
Sourcepub fn raw_command_sender(&self) -> Option<&Arc<CommandSender>>
👎Deprecated: Use TmaiCore action methods instead of direct CommandSender access
pub fn raw_command_sender(&self) -> Option<&Arc<CommandSender>>
Access the raw command sender.
Deprecated: prefer using action methods on TmaiCore.
This escape hatch exists for incremental migration only.
Sourcepub fn ipc_server(&self) -> Option<&Arc<IpcServer>>
pub fn ipc_server(&self) -> Option<&Arc<IpcServer>>
Access the IPC server (if configured)
Source§impl TmaiCore
impl TmaiCore
Sourcepub fn subscribe(&self) -> Receiver<CoreEvent>
pub fn subscribe(&self) -> Receiver<CoreEvent>
Subscribe to core events.
Returns a broadcast receiver that will receive CoreEvents.
If the receiver falls behind, older events are dropped (lagged).
Sourcepub fn notify_agents_updated(&self)
pub fn notify_agents_updated(&self)
Notify subscribers that the agent list was updated.
Called by external consumers (e.g. TUI main loop) after processing
PollMessage::AgentsUpdated. Ignored if no subscribers are listening.
Sourcepub fn notify_teams_updated(&self)
pub fn notify_teams_updated(&self)
Notify subscribers that team data was updated.
Called by external consumers after team scan completes.
Source§impl TmaiCore
impl TmaiCore
Sourcepub fn list_agents(&self) -> Vec<AgentSnapshot>
pub fn list_agents(&self) -> Vec<AgentSnapshot>
List all monitored agents as owned snapshots, in current display order.
Sourcepub fn get_agent(&self, target: &str) -> Result<AgentSnapshot, ApiError>
pub fn get_agent(&self, target: &str) -> Result<AgentSnapshot, ApiError>
Get a single agent snapshot by target ID.
Sourcepub fn selected_agent(&self) -> Result<AgentSnapshot, ApiError>
pub fn selected_agent(&self) -> Result<AgentSnapshot, ApiError>
Get the currently selected agent snapshot.
Sourcepub fn attention_count(&self) -> usize
pub fn attention_count(&self) -> usize
Get the number of agents that need user attention.
Sourcepub fn agent_count(&self) -> usize
pub fn agent_count(&self) -> usize
Get the total number of monitored agents.
Sourcepub fn agents_needing_attention(&self) -> Vec<AgentSnapshot>
pub fn agents_needing_attention(&self) -> Vec<AgentSnapshot>
List agents that need attention (awaiting approval or error).
Sourcepub fn get_preview(&self, target: &str) -> Result<String, ApiError>
pub fn get_preview(&self, target: &str) -> Result<String, ApiError>
Get the ANSI preview content for an agent.
Sourcepub fn get_content(&self, target: &str) -> Result<String, ApiError>
pub fn get_content(&self, target: &str) -> Result<String, ApiError>
Get the plain-text content for an agent.
Sourcepub fn list_teams(&self) -> Vec<TeamSummary>
pub fn list_teams(&self) -> Vec<TeamSummary>
List all known teams as owned summaries.
Sourcepub fn get_team(&self, name: &str) -> Result<TeamSummary, ApiError>
pub fn get_team(&self, name: &str) -> Result<TeamSummary, ApiError>
Get a single team summary by name.
Sourcepub fn get_team_tasks(&self, name: &str) -> Result<Vec<TeamTaskInfo>, ApiError>
pub fn get_team_tasks(&self, name: &str) -> Result<Vec<TeamTaskInfo>, ApiError>
Get tasks for a team.
Sourcepub fn is_running(&self) -> bool
pub fn is_running(&self) -> bool
Check if the application is still running.
Sourcepub fn known_directories(&self) -> Vec<String>
pub fn known_directories(&self) -> Vec<String>
Get known working directories from current agents.
Auto Trait Implementations§
impl Freeze for TmaiCore
impl !RefUnwindSafe for TmaiCore
impl Send for TmaiCore
impl Sync for TmaiCore
impl Unpin for TmaiCore
impl UnsafeUnpin for TmaiCore
impl !UnwindSafe for TmaiCore
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.