openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
33 lines (32 loc) • 1.47 kB
JavaScript
import { s as normalizeOptionalLowercaseString } from "./string-coerce-mnp54Vah.js";
import { n as resolveChannelApprovalCapability } from "./plugins-t2ejWcVy.js";
//#region src/channels/plugins/native-approval-prompt.ts
/**
* Native approval prompt capability helpers.
*
* Detects loaded or known channels that can render approval prompts natively.
*/
const NATIVE_APPROVAL_PROMPT_RUNTIME_CAPABILITY = "nativeApprovals";
const NATIVE_APPROVAL_PROMPT_RUNTIME_CAPABILITY_NORMALIZED = "nativeapprovals";
const KNOWN_NATIVE_APPROVAL_PROMPT_CHANNELS = new Set([
"discord",
"googlechat",
"matrix",
"qqbot",
"slack",
"telegram",
"signal"
]);
function channelPluginHasNativeApprovalPromptUi(plugin) {
const capability = resolveChannelApprovalCapability(plugin);
return Boolean(capability?.native || capability?.nativeRuntime);
}
function isKnownNativeApprovalPromptChannel(channel) {
const normalized = normalizeOptionalLowercaseString(channel);
return Boolean(normalized && KNOWN_NATIVE_APPROVAL_PROMPT_CHANNELS.has(normalized));
}
function hasNativeApprovalPromptRuntimeCapability(capabilities) {
return Boolean(capabilities?.some((capability) => normalizeOptionalLowercaseString(capability) === NATIVE_APPROVAL_PROMPT_RUNTIME_CAPABILITY_NORMALIZED));
}
//#endregion
export { isKnownNativeApprovalPromptChannel as i, channelPluginHasNativeApprovalPromptUi as n, hasNativeApprovalPromptRuntimeCapability as r, NATIVE_APPROVAL_PROMPT_RUNTIME_CAPABILITY as t };