import type { CommandHandler } from "./commands-types.js"; import { logVerbose } from "../../globals.js"; import { handleBashChatCommand } from "./bash-command.js"; export const handleBashCommand: CommandHandler = async (params, allowTextCommands) => { if (!allowTextCommands) { return null; } const { command } = params; const bashSlashRequested = command.commandBodyNormalized === "/bash" || command.commandBodyNormalized.startsWith("/bash "); const bashBangRequested = command.commandBodyNormalized.startsWith("!"); if (!bashSlashRequested && !(bashBangRequested && command.isAuthorizedSender)) { return null; } if (!command.isAuthorizedSender) { logVerbose(`Ignoring /bash from unauthorized sender: ${command.senderId || ""}`); return { shouldContinue: false }; } const reply = await handleBashChatCommand({ ctx: params.ctx, cfg: params.cfg, agentId: params.agentId, sessionKey: params.sessionKey, isGroup: params.isGroup, elevated: params.elevated, }); return { shouldContinue: false, reply }; };