openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
26 lines (25 loc) • 1.22 kB
JavaScript
import { _n as validateMentionsDismissParams, vn as validateMentionsListParams } from "./src-D6kL8tMP.mjs";
import { t as ErrorCodes } from "./gateway-error-details-gTekQWj2.mjs";
import { d as errorShape } from "./error-codes-D0WRV4Bq.mjs";
import { t as assertValidParams } from "./validation-UW_NLjlV.mjs";
//#region src/gateway/server-methods/mentions.ts
function mentionHandler(method, validate) {
return async ({ client, context, params, respond }) => {
if (!assertValidParams(params, validate, method, respond)) return;
if (!context.mentionInbox) {
respond(false, void 0, errorShape(ErrorCodes.UNAVAILABLE, "The mention Inbox is unavailable. Reconnect to retry."));
return;
}
const publish = (result) => {
respond(result.ok, result.ok ? result.value : void 0, result.ok ? void 0 : result.error);
};
if (params.ids) await context.mentionInbox.dismissAsync(client, params.ids, publish);
else await context.mentionInbox.listAsync(client, publish);
};
}
const mentionHandlers = {
"mentions.list": mentionHandler("mentions.list", validateMentionsListParams),
"mentions.dismiss": mentionHandler("mentions.dismiss", validateMentionsDismissParams)
};
//#endregion
export { mentionHandlers };