UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

80 lines (79 loc) • 2.99 kB
import { r as asNullableRecord } from "./record-coerce-TIsquoVR.mjs"; import { n as resolveChannelAccount } from "./account-resolution-DCHDXWZ0.mjs"; import { i as hasResolvedCredentialValue, r as hasConfiguredUnavailableCredentialStatus } from "./account-snapshot-fields-e1ulxwox.mjs"; import { a as resolveUnavailableChannelAccountSnapshot } from "./account-state-CXuFP2J6.mjs"; import { a as resolveChannelAccountConfigured, o as resolveChannelAccountEnabled, r as buildChannelAccountSummary, t as buildChannelAccountSnapshotFromInspection } from "./account-summary-Dp3tB0X5.mjs"; import { t as inspectReadOnlyChannelAccount } from "./read-only-account-inspect-BJw7eKC-.mjs"; //#region src/channels/account-inspection.ts async function inspectChannelAccount(params) { return params.plugin.config.inspectAccount?.(params.cfg, params.accountId) ?? await inspectReadOnlyChannelAccount({ channelId: params.plugin.id, cfg: params.cfg, accountId: params.accountId }); } async function resolveInspectedChannelAccount(params) { const unavailable = resolveUnavailableChannelAccountSnapshot(params.cfg, { channelId: params.plugin.id, accountId: params.accountId }); if (unavailable) return { kind: "unavailable", account: unavailable, enabled: unavailable.enabled !== false, configured: unavailable.configured === true, snapshot: unavailable }; const sourceInspectedAccount = await inspectChannelAccount({ plugin: params.plugin, cfg: params.sourceConfig, accountId: params.accountId }); const resolvedInspectedAccount = await inspectChannelAccount({ plugin: params.plugin, cfg: params.cfg, accountId: params.accountId }); const resolvedInspection = asNullableRecord(resolvedInspectedAccount); const sourceInspection = asNullableRecord(sourceInspectedAccount); const inspected = Boolean(sourceInspectedAccount && hasConfiguredUnavailableCredentialStatus(sourceInspectedAccount) && (!hasResolvedCredentialValue(resolvedInspectedAccount) || sourceInspection?.configured === true && resolvedInspection?.configured === false)) ? sourceInspectedAccount : resolvedInspectedAccount; if (inspected != null) { const snapshot = buildChannelAccountSnapshotFromInspection({ account: inspected, accountId: params.accountId }); return { kind: "inspected", account: inspected, enabled: snapshot.enabled !== false, configured: snapshot.configured, snapshot }; } const account = await resolveChannelAccount(params); const enabled = resolveChannelAccountEnabled({ plugin: params.plugin, account, cfg: params.cfg }); const configured = await resolveChannelAccountConfigured({ plugin: params.plugin, account, cfg: params.cfg, readAccountConfiguredField: true }); return { kind: "resolved", account, enabled, configured, snapshot: buildChannelAccountSummary({ ...params, account, enabled, configured }) }; } //#endregion export { resolveInspectedChannelAccount as n, inspectChannelAccount as t };