openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
22 lines (21 loc) • 845 B
JavaScript
import { c as normalizeOptionalLowercaseString } from "./string-coerce-1VuiLaaR.mjs";
//#region src/auto-reply/group-activation.ts
function normalizeGroupActivation(raw) {
const value = normalizeOptionalLowercaseString(raw);
return value === "mention" || value === "always" ? value : void 0;
}
function parseActivationCommand(raw) {
const trimmed = raw?.trim();
if (!trimmed) return { hasCommand: false };
const match = trimmed.replace(/^\/([^\s:]+)\s*:(.*)$/, (_, cmd, rest) => {
const trimmedRest = rest.trimStart();
return trimmedRest ? `/${cmd} ${trimmedRest}` : `/${cmd}`;
}).match(/^\/activation(?:\s+([a-zA-Z]+))?\s*$/i);
if (!match) return { hasCommand: false };
return {
hasCommand: true,
mode: normalizeGroupActivation(match[1])
};
}
//#endregion
export { parseActivationCommand as n, normalizeGroupActivation as t };