@gguf/claw
Version:
Multi-channel AI gateway with extensible messaging integrations
57 lines (55 loc) • 2.24 kB
JavaScript
import "./paths-Bp5uKvNR.js";
import "./registry-dD2_jBuv.js";
import "./agent-scope-DiocriBl.js";
import "./subsystem-CGx2ESmP.js";
import "./model-selection-Xwi9H_jm.js";
import "./github-copilot-token-ttqQRqMA.js";
import "./env-MtDjQbRJ.js";
import "./normalize-BHlVpmSR.js";
import "./accounts-GdZ63CoS.js";
import "./bindings-Du1RGVFM.js";
import "./plugins-C2vFjSxX.js";
import "./fs-safe-GrTh3Ydq.js";
import "./message-channel-BxsLQyfw.js";
import "./config-42hNXHap.js";
import "./manifest-registry-DmjapxrQ.js";
import { i as jsonResult, s as readReactionParams, t as createActionGate, u as readStringParam } from "./common-BLbt_nyn.js";
import "./ssrf-DH-Ltk62.js";
import "./chunk-YQGDBsHo.js";
import "./markdown-tables-CNKgA0te.js";
import "./local-roots-BBJH5K5T.js";
import "./ir-CEvNPW62.js";
import "./render-B1VqYyvo.js";
import "./tables-CUmmBJsI.js";
import { r as sendReactionWhatsApp } from "./outbound-C9CzQgCm.js";
//#region src/agents/tools/whatsapp-actions.ts
async function handleWhatsAppAction(params, cfg) {
const action = readStringParam(params, "action", { required: true });
const isActionEnabled = createActionGate(cfg.channels?.whatsapp?.actions);
if (action === "react") {
if (!isActionEnabled("reactions")) throw new Error("WhatsApp reactions are disabled.");
const chatJid = readStringParam(params, "chatJid", { required: true });
const messageId = readStringParam(params, "messageId", { required: true });
const { emoji, remove, isEmpty } = readReactionParams(params, { removeErrorMessage: "Emoji is required to remove a WhatsApp reaction." });
const participant = readStringParam(params, "participant");
const accountId = readStringParam(params, "accountId");
const fromMeRaw = params.fromMe;
await sendReactionWhatsApp(chatJid, messageId, remove ? "" : emoji, {
verbose: false,
fromMe: typeof fromMeRaw === "boolean" ? fromMeRaw : void 0,
participant: participant ?? void 0,
accountId: accountId ?? void 0
});
if (!remove && !isEmpty) return jsonResult({
ok: true,
added: emoji
});
return jsonResult({
ok: true,
removed: true
});
}
throw new Error(`Unsupported WhatsApp action: ${action}`);
}
//#endregion
export { handleWhatsAppAction };