@gguf/claw
Version:
Multi-channel AI gateway with extensible messaging integrations
57 lines (55 loc) • 2.24 kB
JavaScript
import "./auth-profiles-DFa1zzNy.js";
import "./exec-CBKBIMpA.js";
import "./agent-scope-RzK9Zcks.js";
import "./github-copilot-token-DuFIqfeC.js";
import "./manifest-registry-DS2iK5AZ.js";
import "./config-B2kL1ciP.js";
import "./message-channel-CVHJDItx.js";
import "./normalize-Db7Xtx2v.js";
import "./accounts-BpzwDfBB.js";
import "./bindings-KqaGKS1E.js";
import "./logging-CFvkxgcX.js";
import "./plugins-RqhjLCb6.js";
import "./image-ops-lDlFpoR2.js";
import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate } from "./common-DcSh1hZE.js";
import "./fs-safe-3YwsxSr5.js";
import "./ssrf-Cv2DiHsm.js";
import "./chunk-Z2NYDchs.js";
import "./markdown-tables-GCHx-nGT.js";
import "./fetch-guard-B5BAqVyD.js";
import "./local-roots-SkDT1Wv8.js";
import "./ir-DAwVi0a7.js";
import "./render-e7fENCYH.js";
import "./tables-BrqD0SUa.js";
import { r as sendReactionWhatsApp } from "./outbound-D0BFT9yN.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 };