grok-build-upstream-mirror/crates/codegen/xai-grok-pager/src/slash/commands/btw.rs

43 lines
1,022 B
Rust
Raw Normal View History

//! `/btw` -- ask a side question without interrupting the running agent.
//!
//! Returns `CommandResult::Action(Action::SendBtw(...))` so the dispatch layer
//! fires it as an ACP ext method (`x.ai/btw`) that bypasses the prompt queue.
use crate::app::actions::Action;
use crate::slash::command::{CommandExecCtx, CommandResult, SlashCommand};
pub struct BtwCommand;
impl SlashCommand for BtwCommand {
fn name(&self) -> &str {
"btw"
}
fn description(&self) -> &str {
"Ask a side question without interrupting"
}
fn session_scoped(&self) -> bool {
true
}
fn usage(&self) -> &str {
"/btw <question>"
}
fn takes_args(&self) -> bool {
true
}
fn args_required(&self) -> bool {
true
}
fn arg_placeholder(&self) -> Option<&str> {
Some("<question>")
}
fn run(&self, _ctx: &mut CommandExecCtx, args: &str) -> CommandResult {
CommandResult::Action(Action::SendBtw(args.trim().to_string()))
}
}