pub struct KiroClient { /* private fields */ }Expand description
The central ACP Client implementation. Handles all agent callbacks: fs, terminal, permissions, notifications.
Uses Rc<RefCell<_>> for interior mutability since everything is !Send
(required by #[async_trait(?Send)] on the ACP Client trait).
Implementations§
Source§impl KiroClient
impl KiroClient
pub fn new(event_tx: UnboundedSender<AppEvent>, hooks: HookRegistry) -> Rc<Self>
Trait Implementations§
Source§impl Client for KiroClient
impl Client for KiroClient
Source§fn request_permission<'life0, 'async_trait>(
&'life0 self,
args: RequestPermissionRequest,
) -> Pin<Box<dyn Future<Output = Result<RequestPermissionResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn request_permission<'life0, 'async_trait>(
&'life0 self,
args: RequestPermissionRequest,
) -> Pin<Box<dyn Future<Output = Result<RequestPermissionResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Requests permission from the user for a tool call operation. Read more
Source§fn session_notification<'life0, 'async_trait>(
&'life0 self,
args: SessionNotification,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn session_notification<'life0, 'async_trait>(
&'life0 self,
args: SessionNotification,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Handles session update notifications from the agent. Read more
Source§fn ext_notification<'life0, 'async_trait>(
&'life0 self,
args: ExtNotification,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ext_notification<'life0, 'async_trait>(
&'life0 self,
args: ExtNotification,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Handles extension notifications from the agent. Read more
Source§fn read_text_file<'life0, 'async_trait>(
&'life0 self,
args: ReadTextFileRequest,
) -> Pin<Box<dyn Future<Output = Result<ReadTextFileResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read_text_file<'life0, 'async_trait>(
&'life0 self,
args: ReadTextFileRequest,
) -> Pin<Box<dyn Future<Output = Result<ReadTextFileResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Reads content from a text file in the client’s file system. Read more
Source§fn write_text_file<'life0, 'async_trait>(
&'life0 self,
args: WriteTextFileRequest,
) -> Pin<Box<dyn Future<Output = Result<WriteTextFileResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn write_text_file<'life0, 'async_trait>(
&'life0 self,
args: WriteTextFileRequest,
) -> Pin<Box<dyn Future<Output = Result<WriteTextFileResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Writes content to a text file in the client’s file system. Read more
Source§fn create_terminal<'life0, 'async_trait>(
&'life0 self,
args: CreateTerminalRequest,
) -> Pin<Box<dyn Future<Output = Result<CreateTerminalResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_terminal<'life0, 'async_trait>(
&'life0 self,
args: CreateTerminalRequest,
) -> Pin<Box<dyn Future<Output = Result<CreateTerminalResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Executes a command in a new terminal Read more
Source§fn terminal_output<'life0, 'async_trait>(
&'life0 self,
args: TerminalOutputRequest,
) -> Pin<Box<dyn Future<Output = Result<TerminalOutputResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn terminal_output<'life0, 'async_trait>(
&'life0 self,
args: TerminalOutputRequest,
) -> Pin<Box<dyn Future<Output = Result<TerminalOutputResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets the terminal output and exit status Read more
Source§fn wait_for_terminal_exit<'life0, 'async_trait>(
&'life0 self,
args: WaitForTerminalExitRequest,
) -> Pin<Box<dyn Future<Output = Result<WaitForTerminalExitResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn wait_for_terminal_exit<'life0, 'async_trait>(
&'life0 self,
args: WaitForTerminalExitRequest,
) -> Pin<Box<dyn Future<Output = Result<WaitForTerminalExitResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Waits for the terminal command to exit and return its exit status Read more
Source§fn release_terminal<'life0, 'async_trait>(
&'life0 self,
args: ReleaseTerminalRequest,
) -> Pin<Box<dyn Future<Output = Result<ReleaseTerminalResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn release_terminal<'life0, 'async_trait>(
&'life0 self,
args: ReleaseTerminalRequest,
) -> Pin<Box<dyn Future<Output = Result<ReleaseTerminalResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Releases a terminal Read more
Source§fn kill_terminal_command<'life0, 'async_trait>(
&'life0 self,
args: KillTerminalCommandRequest,
) -> Pin<Box<dyn Future<Output = Result<KillTerminalCommandResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn kill_terminal_command<'life0, 'async_trait>(
&'life0 self,
args: KillTerminalCommandRequest,
) -> Pin<Box<dyn Future<Output = Result<KillTerminalCommandResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Kills the terminal command without releasing the terminal Read more
Source§fn ext_method<'life0, 'async_trait>(
&'life0 self,
_args: ExtRequest,
) -> Pin<Box<dyn Future<Output = Result<ExtResponse, Error>> + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn ext_method<'life0, 'async_trait>(
&'life0 self,
_args: ExtRequest,
) -> Pin<Box<dyn Future<Output = Result<ExtResponse, Error>> + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Handles extension method requests from the agent. Read more
Auto Trait Implementations§
impl !Freeze for KiroClient
impl !RefUnwindSafe for KiroClient
impl !Send for KiroClient
impl !Sync for KiroClient
impl Unpin for KiroClient
impl UnsafeUnpin for KiroClient
impl !UnwindSafe for KiroClient
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