UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

63 lines (62 loc) • 2.48 kB
import { o as hasConfiguredSecretInput } from "./types.secrets-DD-Q2SS_.mjs"; import { n as normalizeAccountId } from "./account-id-ifCOO7_9.mjs"; import { n as resolveAccountKey } from "./account-lookup-BAaS-Jak.mjs"; import { t as mergeAccountConfig } from "./channel-account-config-CtrJSs33.mjs"; import { t as createAccountListHelpers } from "./account-helpers-ATUS5rKM.mjs"; import "./secret-input-B0WNzmEZ.mjs"; import "./account-helpers-B8_pbmvH.mjs"; import "./account-resolution-DdXyOCzd.mjs"; //#region extensions/x/src/cost-limits.ts function resolveXCostLimits(config) { return { dailyUsd: config?.dailyUsd ?? 100, monthlyUsd: config?.monthlyUsd ?? 1e3, cycleStartDay: config?.cycleStartDay ?? 1 }; } //#endregion //#region extensions/x/src/accounts.ts const accounts = createAccountListHelpers("x", { omitKeys: ["defaultAccount"], nestedObjectKeys: [ "guests", "costLimits", "verifiedFromGitHub" ], implicitDefaultAccount: { channelKeys: [ "userId", "clientId", "refreshToken" ] } }); const listXAccountIds = accounts.listAccountIds; const listXRuntimeAccountIds = (cfg) => [...new Set(listXAccountIds(cfg).map(normalizeAccountId))]; const resolveDefaultXAccountId = accounts.resolveDefaultAccountId; /** Config keys keep their authored case; this finds the key `resolveXAccount` reads. */ function resolveXAccountKey(cfg, accountId) { const id = normalizeAccountId(accountId); return resolveAccountKey(cfg.channels?.x?.accounts, id, void 0, void 0, { channelId: "x" }); } function resolveXAccount(cfg, requested) { const accountId = normalizeAccountId(requested ?? resolveDefaultXAccountId(cfg)); const config = accounts.resolveAccountConfig(cfg, accountId); if (config.guests) config.guests = mergeAccountConfig({ channelConfig: cfg.channels?.x?.guests, accountConfig: config.guests, nestedObjectKeys: ["tools"] }); const enabled = cfg.channels?.x?.enabled !== false && config.enabled !== false; const configured = Boolean(config.userId && config.username && config.clientId && hasConfiguredSecretInput(config.clientSecret) && hasConfiguredSecretInput(config.refreshToken)); return { accountId, config, costLimits: resolveXCostLimits(config.costLimits), enabled, configured, userId: config.userId ?? "", username: config.username ?? "", name: config.name }; } //#endregion export { resolveXAccountKey as a, resolveXAccount as i, listXRuntimeAccountIds as n, resolveDefaultXAccountId as r, listXAccountIds as t };