@gguf/claw
Version:
Multi-channel AI gateway with extensible messaging integrations
63 lines (61 loc) • 2.43 kB
JavaScript
import "./paths-B4BZAPZh.js";
import "./utils-CP9YLh6M.js";
import "./registry-B-j4DRfe.js";
import "./subsystem-BCQGGxdd.js";
import "./exec-DYqRzFbo.js";
import "./agent-scope-BnZW9Gh2.js";
import "./model-selection-CqaTAlhy.js";
import "./github-copilot-token-D2zp6kMZ.js";
import "./boolean-BsqeuxE6.js";
import "./env-VriqyjXT.js";
import "./message-channel-Bena1Tzd.js";
import "./config-PQiujvsf.js";
import "./manifest-registry-4k4vkhPS.js";
import "./image-ops-CI1VknD1.js";
import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate } from "./common-a25M2Kvi.js";
import "./fs-safe-_OpKPuZA.js";
import "./ssrf-6f5m2MMA.js";
import "./normalize-Ci8UyR3Z.js";
import "./accounts-Bj1dJ-fd.js";
import "./bindings-Dja1z-h8.js";
import "./logging-xYH6GmRT.js";
import "./plugins-CKbXkuXd.js";
import "./fetch-guard-C1sYsWgl.js";
import "./local-roots-DiDvXIIo.js";
import "./chunk-CMylpCPi.js";
import "./markdown-tables-B9VGUdDc.js";
import "./ir-24qCLTKH.js";
import "./render-CXDO_kgw.js";
import "./tables-C70h_80U.js";
import { r as sendReactionWhatsApp } from "./outbound-Bfph5mg-.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 };