Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
import type { AgentToolResult } from "@mariozechner/pi-agent-core";
import { getChannelPlugin } from "./index.js";
import type { ChannelMessageActionContext } from "./types.public.js";
function requiresTrustedRequesterSender(ctx: ChannelMessageActionContext): boolean {
const plugin = getChannelPlugin(ctx.channel);
return Boolean(
plugin?.actions?.requiresTrustedRequesterSender?.({
action: ctx.action,
toolContext: ctx.toolContext,
}),
);
}
export async function dispatchChannelMessageAction(
ctx: ChannelMessageActionContext,
): Promise<AgentToolResult<unknown> | null> {
if (requiresTrustedRequesterSender(ctx) && !ctx.requesterSenderId?.trim()) {
throw new Error(
`Trusted sender identity is required for ${ctx.channel}:${ctx.action} in tool-driven contexts.`,
);
}
const plugin = getChannelPlugin(ctx.channel);
if (!plugin?.actions?.handleAction) {
return null;
}
if (plugin.actions.supportsAction && !plugin.actions.supportsAction({ action: ctx.action })) {
return null;
}
return await plugin.actions.handleAction(ctx);
}
¤ Dauer der Verarbeitung: 0.31 Sekunden
(vorverarbeitet am 2026-04-27)
¤
*© Formatika GbR, Deutschland