@gguf/claw
Version:
Multi-channel AI gateway with extensible messaging integrations
59 lines (57 loc) • 2.31 kB
JavaScript
import "./paths-CyR9Pa1R.js";
import "./registry-BmY4gNy6.js";
import "./agent-scope-BLYwrEEA.js";
import "./subsystem-B5g771Td.js";
import "./workspace-D9IzNnST.js";
import "./normalize-DZvZ0Eiv.js";
import "./accounts-D7irbKbS.js";
import "./boolean-B8-BqKGQ.js";
import "./command-format-Ck2WauwF.js";
import "./bindings-DWtXcdc8.js";
import "./plugins-CJYXNO4s.js";
import "./fs-safe-B8-WkEXM.js";
import "./model-auth-BPNt9bHS.js";
import "./github-copilot-token-BQ98eazZ.js";
import "./message-channel-BDlvrUZF.js";
import "./config-C0k_b9gg.js";
import "./manifest-registry-Dovhiqzt.js";
import { i as jsonResult, s as readReactionParams, t as createActionGate, u as readStringParam } from "./common-y9ALHdVZ.js";
import "./ssrf-B8OrDkCk.js";
import "./chunk-TRVny4T1.js";
import "./markdown-tables-DO9qAEKa.js";
import "./local-roots-tMzVEQD2.js";
import "./ir-CRTCIHIG.js";
import "./render-CDCvpfhh.js";
import "./tables-xDr7OSBa.js";
import { r as sendReactionWhatsApp } from "./outbound-C6v4cSqr.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 };