pub struct RuntimeState {
pub session_id: SessionId,
pub agent_name: String,
pub prompt_capabilities: PromptCapabilities,
pub config_options: Vec<SessionConfigOption>,
pub auth_methods: Vec<AuthMethod>,
pub theme: Theme,
pub event_rx: UnboundedReceiver<AcpEvent>,
pub prompt_handle: AcpPromptHandle,
pub working_dir: PathBuf,
}Expand description
Holds everything needed to start the TUI after the ACP handshake completes.
RuntimeState::new spawns the agent as a subprocess, sends initialize and newSession requests over ACP, loads the user’s theme, and packages the results into this struct. The caller (run_tui or run_with_state) then destructures it to build App and the renderer.
§Fields
session_id— the ACP session identifier, used for resumption.agent_name— human-readable agent name returned byinitialize.prompt_capabilities— what the agent supports (slash commands, file mentions, etc.).config_options— agent-advertised settings (model, reasoning effort, mode).auth_methods— provider login methods the agent requires.theme— resolvedThemefrom the user’s Wisp settings.event_rx— channel receiver for streamedAcpEvents.prompt_handle— handle for sending user prompts back to the agent.working_dir— the working directory passed to the agent session.
§See also
Fields§
§session_id: SessionId§agent_name: String§prompt_capabilities: PromptCapabilities§config_options: Vec<SessionConfigOption>§auth_methods: Vec<AuthMethod>§theme: Theme§event_rx: UnboundedReceiver<AcpEvent>§prompt_handle: AcpPromptHandle§working_dir: PathBufImplementations§
Auto Trait Implementations§
impl Freeze for RuntimeState
impl RefUnwindSafe for RuntimeState
impl Send for RuntimeState
impl Sync for RuntimeState
impl Unpin for RuntimeState
impl UnsafeUnpin for RuntimeState
impl UnwindSafe for RuntimeState
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 more