pub enum AppCommand {
ProcessUserInput(String),
EditMessage {
message_id: String,
new_content: String,
},
HandleToolResponse {
id: String,
approval: ApprovalType,
},
ExecuteCommand(AppCommandType),
ExecuteBashCommand {
command: String,
},
CancelProcessing,
Shutdown,
RequestToolApprovalInternal {
tool_call: ToolCall,
responder: Sender<ApprovalDecision>,
},
RestoreConversation {
messages: Vec<Message>,
approved_tools: HashSet<String>,
approved_bash_patterns: HashSet<String>,
active_message_id: Option<String>,
},
GetCurrentConversation,
RequestWorkspaceFiles,
}Expand description
Defines messages the TUI can send to the App actor.
Variants§
ProcessUserInput(String)
Send a user’s message text for processing.
EditMessage
Edit a previous message, creating a new branch
Fields
HandleToolResponse
Handle the user’s decision on a tool approval request.
ExecuteCommand(AppCommandType)
Execute a slash command.
ExecuteBashCommand
Execute a bash command directly (bypassing AI)
CancelProcessing
Cancel processing.
Shutdown
Signal for graceful shutdown.
RequestToolApprovalInternal
Internal command for tool executor callback to request approval
RestoreConversation
Restore conversation state when resuming a session
Fields
GetCurrentConversation
Request to send the current conversation state Used by TUI to populate display after session restoration
RequestWorkspaceFiles
Request to list workspace files
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AppCommand
impl !RefUnwindSafe for AppCommand
impl Send for AppCommand
impl Sync for AppCommand
impl Unpin for AppCommand
impl !UnwindSafe for AppCommand
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request