pub enum SlashCmd {
Show 48 variants
Model(Option<String>),
Reasoning(Option<ReasoningLevel>),
VisibleReasoning(Option<String>),
Safety(Option<SafetyMode>),
Plan(Option<String>),
Config,
Clear,
Save(Option<String>),
Load(Option<String>),
List,
Usage,
Todos(Option<String>),
Scratchpad,
Context(ContextCmd),
Compact(Option<String>),
Memory,
Remember(Option<String>),
Forget(Option<String>),
ConsolidateMemory,
Doctor,
Tasks,
Task(Option<String>),
Pause(Option<String>),
Resume(Option<String>),
Cancel(Option<String>),
Handoff(Option<String>),
Report(Option<String>),
Processes,
Agents(Option<String>),
Logs(Option<String>),
Stop(Option<String>),
Restart(Option<String>),
Open(Option<String>),
Ports,
Approvals,
Approve(Option<String>),
Deny(Option<String>),
Checkpoint(Option<String>),
Checkpoints,
Restore(Option<String>),
ModelInfo(Option<String>),
Plugins,
CloudSetup,
Theme(Option<String>),
Editor,
Help,
Quit,
Unknown(String),
}Expand description
Slash commands — a typed surface over what the user typed as
/<name> [args]. Parsed in app::event_source against the single
COMMAND_REGISTRY; unknown commands produce SlashCmd::Unknown
so the reducer can issue a “no such command” status line.
Variants§
Model(Option<String>)
No arg → show current; Some → switch (and pull if needed).
Reasoning(Option<ReasoningLevel>)
VisibleReasoning(Option<String>)
Safety(Option<SafetyMode>)
No arg → show current safety mode; Some → switch it for this
session (Shift+Tab cycles the same field). Session-scoped.
Plan(Option<String>)
Plan mode: no arg / on → enter; off → leave; show → print the
plan-file path; config → open the settings picker. Alt+P toggles
the same state. Session-scoped.
Config
Open the settings picker (currently the plan-mode section; more sections join it as they exist).
Clear
Save(Option<String>)
Load(Option<String>)
List
Usage
Todos(Option<String>)
The task checklist: no arg → show; add <subject> / rm <id> /
done <id> / clear edit it (routed through the TaskBroker).
Scratchpad
Show the session scratch directory and a bounded listing of its
contents (via Cmd::ListScratchpad).
Context(ContextCmd)
Compact(Option<String>)
Memory
List saved durable memories.
Remember(Option<String>)
Save free-text as a private memory.
Forget(Option<String>)
Delete a memory by name/id.
ConsolidateMemory
Prune duplicate/obsolete memories via a one-shot model pass.
Doctor
Tasks
Task(Option<String>)
Pause(Option<String>)
Resume(Option<String>)
Cancel(Option<String>)
Handoff(Option<String>)
Report(Option<String>)
Processes
Agents(Option<String>)
No arg → list background agents; Some("kill <id>"|"kill all") →
cancel them. Tail parsed in the reducer arm.
Logs(Option<String>)
Stop(Option<String>)
Restart(Option<String>)
Open(Option<String>)
Ports
Approvals
Approve(Option<String>)
Deny(Option<String>)
Checkpoint(Option<String>)
Checkpoints
Restore(Option<String>)
ModelInfo(Option<String>)
Plugins
CloudSetup
Theme(Option<String>)
No arg → show current theme; Some("dark"|"light") → switch and
persist. Anything else → usage.
Editor
Compose the input draft in $VISUAL/$EDITOR (also Ctrl+O).
Help
Quit
Unknown(String)
User typed something that isn’t in the registry; carries the raw name for the error message.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for SlashCmd
impl<'de> Deserialize<'de> for SlashCmd
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for SlashCmd
impl StructuralPartialEq for SlashCmd
Auto Trait Implementations§
impl Freeze for SlashCmd
impl RefUnwindSafe for SlashCmd
impl Send for SlashCmd
impl Sync for SlashCmd
impl Unpin for SlashCmd
impl UnsafeUnpin for SlashCmd
impl UnwindSafe for SlashCmd
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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