UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

43 lines (42 loc) 2.32 kB
import { a as normalizeLowercaseStringOrEmpty, s as normalizeOptionalLowercaseString } from "./string-coerce-mnp54Vah.js"; import "./string-coerce-runtime-CEGJWkQ_.js"; import { r as listTelegramAccountIds } from "./accounts-blCxAL9j.js"; import { t as inspectTelegramAccount } from "./account-inspect-BHv-ag3o.js"; import "./targets-CDtCx0Zi.js"; //#region extensions/telegram/src/inline-buttons.ts const DEFAULT_INLINE_BUTTONS_SCOPE = "allowlist"; function normalizeInlineButtonsScope(value) { const trimmed = normalizeOptionalLowercaseString(value); if (!trimmed) return; if (trimmed === "off" || trimmed === "dm" || trimmed === "group" || trimmed === "all" || trimmed === "allowlist") return trimmed; } function readInlineButtonsCapability(value) { if (!value || Array.isArray(value) || typeof value !== "object" || !("inlineButtons" in value)) return; return value.inlineButtons; } function resolveTelegramInlineButtonsConfigScope(capabilities) { return normalizeInlineButtonsScope(readInlineButtonsCapability(capabilities)); } function resolveTelegramInlineButtonsScopeFromCapabilities(capabilities) { if (!capabilities) return DEFAULT_INLINE_BUTTONS_SCOPE; if (Array.isArray(capabilities)) return capabilities.some((entry) => normalizeLowercaseStringOrEmpty(String(entry)) === "inlinebuttons") ? "all" : "off"; if (typeof capabilities === "object") return resolveTelegramInlineButtonsConfigScope(capabilities) ?? DEFAULT_INLINE_BUTTONS_SCOPE; return DEFAULT_INLINE_BUTTONS_SCOPE; } function resolveTelegramInlineButtonsScope(params) { return resolveTelegramInlineButtonsScopeFromCapabilities(inspectTelegramAccount({ cfg: params.cfg, accountId: params.accountId }).config.capabilities); } function isTelegramInlineButtonsEnabled(params) { if (params.accountId) return resolveTelegramInlineButtonsScope(params) !== "off"; const accountIds = listTelegramAccountIds(params.cfg); if (accountIds.length === 0) return resolveTelegramInlineButtonsScope(params) !== "off"; return accountIds.some((accountId) => resolveTelegramInlineButtonsScope({ cfg: params.cfg, accountId }) !== "off"); } //#endregion export { resolveTelegramInlineButtonsScopeFromCapabilities as i, resolveTelegramInlineButtonsConfigScope as n, resolveTelegramInlineButtonsScope as r, isTelegramInlineButtonsEnabled as t };