pub struct App {Show 52 fields
pub messages: Vec<Line<'static>>,
pub messages_raw: Vec<(String, String)>,
pub specular_logs: Vec<String>,
pub brief_mode: bool,
pub tick_count: u64,
pub stats: RustyStats,
pub yolo_mode: bool,
pub awaiting_approval: Option<PendingApproval>,
pub active_workers: HashMap<String, u8>,
pub worker_labels: HashMap<String, String>,
pub active_review: Option<ActiveReview>,
pub input: String,
pub input_history: Vec<String>,
pub history_idx: Option<usize>,
pub thinking: bool,
pub agent_running: bool,
pub stop_requested: bool,
pub current_thought: String,
pub professional: bool,
pub last_reasoning: String,
pub active_context: Vec<ContextFile>,
pub manual_scroll_offset: Option<u16>,
pub user_input_tx: Sender<UserTurn>,
pub specular_scroll: u16,
pub specular_auto_scroll: bool,
pub gpu_state: Arc<GpuState>,
pub git_state: Arc<GitState>,
pub last_input_time: Instant,
pub cancel_token: Arc<AtomicBool>,
pub total_tokens: usize,
pub current_session_cost: f64,
pub model_id: String,
pub context_length: usize,
pub think_mode: Option<bool>,
pub workflow_mode: String,
pub autocomplete_suggestions: Vec<String>,
pub selected_suggestion: usize,
pub show_autocomplete: bool,
pub autocomplete_filter: String,
pub current_objective: String,
pub voice_manager: Arc<VoiceManager>,
pub voice_loading: bool,
pub voice_loading_progress: f64,
pub autocomplete_alias_active: bool,
pub hardware_guard_enabled: bool,
pub session_start: SystemTime,
pub soul_name: String,
pub attached_context: Option<(String, String)>,
pub attached_image: Option<AttachedImage>,
pub teleported_from: Option<String>,
pub nav_list: Vec<PathBuf>,
pub auto_approve_session: bool,
/* private fields */
}Fields§
§messages: Vec<Line<'static>>§messages_raw: Vec<(String, String)>§specular_logs: Vec<String>§brief_mode: bool§tick_count: u64§stats: RustyStats§yolo_mode: bool§awaiting_approval: Option<PendingApproval>Blocked waiting for user approval of a risky tool call.
active_workers: HashMap<String, u8>§worker_labels: HashMap<String, String>§active_review: Option<ActiveReview>§input: String§input_history: Vec<String>§history_idx: Option<usize>§thinking: bool§agent_running: bool§stop_requested: bool§current_thought: String§professional: bool§last_reasoning: String§active_context: Vec<ContextFile>§manual_scroll_offset: Option<u16>§user_input_tx: Sender<UserTurn>Channel to send user messages to the agent task.
specular_scroll: u16§specular_auto_scroll: boolWhen true the SPECULAR panel snaps to the bottom every frame. Set false when the user manually scrolls up; reset true on new turn / Done.
gpu_state: Arc<GpuState>Shared GPU VRAM state (polled in background).
git_state: Arc<GitState>Shared Git remote state (polled in background).
last_input_time: InstantTrack the last time a character or paste arrived to detect “fast streams” (pasting).
cancel_token: Arc<AtomicBool>§total_tokens: usize§current_session_cost: f64§model_id: String§context_length: usize§think_mode: Option<bool>Mirrors ConversationManager::think_mode for status bar display. None = auto, Some(true) = /think, Some(false) = /no_think.
workflow_mode: StringSticky user-facing workflow mode.
autocomplete_suggestions: Vec<String>[Autocomplete Hatch] List of matching project files.
selected_suggestion: usize[Autocomplete Hatch] Index of the currently highlighted suggestion.
show_autocomplete: bool[Autocomplete Hatch] Whether the suggestions popup is visible.
autocomplete_filter: String[Autocomplete Hatch] The search fragment after the ‘@’ symbol.
current_objective: String[Strategist] The currently active task from TASK.md.
voice_manager: Arc<VoiceManager>[Voice of Hematite] Local TTS manager.
voice_loading: bool§voice_loading_progress: f64§autocomplete_alias_active: bool[Autocomplete Hatch] True if the current scan is rooted in a sovereign folder.
hardware_guard_enabled: boolIf false, the VRAM watchdog is silenced.
session_start: SystemTimeWall-clock time when this session started (for report timestamp).
soul_name: StringThe current Rusty companion’s species name — shown in the footer.
attached_context: Option<(String, String)>File attached via /attach — injected as context prefix on the next turn, then cleared.
attached_image: Option<AttachedImage>§teleported_from: Option<String>Numbered directory list from the last /ls call — used by /ls
auto_approve_session: boolWhen true, all ApprovalRequired events are auto-approved for the rest of the session. Activated by pressing [A] (“Accept All”) on any approval dialog.
Implementations§
Source§impl App
impl App
pub fn reset_active_context(&mut self)
pub fn record_error(&mut self)
pub fn reset_error_count(&mut self)
pub fn reset_runtime_status_memory(&mut self)
pub fn clear_pending_attachments(&mut self)
pub fn push_message(&mut self, speaker: &str, content: &str)
pub fn update_last_message(&mut self, token: &str)
Sourcepub fn update_autocomplete(&mut self)
pub fn update_autocomplete(&mut self)
[Intelli-Hematite] Live scan of the workspace to populate autocomplete. Excludes common noisy directories like target, node_modules, .git.
Sourcepub fn apply_autocomplete_selection(&mut self, selection: &str)
pub fn apply_autocomplete_selection(&mut self, selection: &str)
[Intelli-Hematite] Applies an autocomplete selection back to the input bar. Implements Smart Splicing to handle path aliases (@DESKTOP/) vs global scans.
Sourcepub fn push_context_file(&mut self, path: String, status: String)
pub fn push_context_file(&mut self, path: String, status: String)
[Intelli-Hematite] Update the context strategy deck with real file data.
Sourcepub fn update_objective(&mut self)
pub fn update_objective(&mut self)
[Task Analyzer] Parse TASK.md to find the current active goal.
Sourcepub fn copy_specular_to_clipboard(&self)
pub fn copy_specular_to_clipboard(&self)
[Auto-Diagnostic] Copy full session transcript to clipboard.
pub fn write_session_report(&self)
pub fn copy_transcript_to_clipboard(&self)
pub fn copy_clean_transcript_to_clipboard(&self)
pub fn copy_last_reply_to_clipboard(&self) -> bool
Auto Trait Implementations§
impl Freeze for App
impl !RefUnwindSafe for App
impl Send for App
impl Sync for App
impl Unpin for App
impl UnsafeUnpin for App
impl !UnwindSafe for App
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<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
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