refactor(auto-reply): split reply pipeline

This commit is contained in:
Peter Steinberger
2026-01-14 09:11:16 +00:00
parent 1089444807
commit ea018a68cc
26 changed files with 4380 additions and 3285 deletions

View File

@@ -0,0 +1,36 @@
import { logVerbose } from "../../globals.js";
import { handleBashChatCommand } from "./bash-command.js";
import type { CommandHandler } from "./commands-types.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 };
};