Spaces:
Paused
Paused
File size: 1,080 Bytes
fb4d8fe | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 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 || "<unknown>"}`);
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 };
};
|