fix: add provider account metadata

This commit is contained in:
Peter Steinberger
2026-01-08 11:02:48 +00:00
parent fd04bdb9cf
commit e7b3cc3d3d
2 changed files with 23 additions and 1 deletions

View File

@@ -10,6 +10,7 @@ export type ResolvedIMessageAccount = {
enabled: boolean;
name?: string;
config: IMessageAccountConfig;
configured: boolean;
};
function listConfiguredAccountIds(cfg: ClawdbotConfig): string[] {
@@ -57,11 +58,26 @@ export function resolveIMessageAccount(params: {
const baseEnabled = params.cfg.imessage?.enabled !== false;
const merged = mergeIMessageAccountConfig(params.cfg, accountId);
const accountEnabled = merged.enabled !== false;
const configured = Boolean(
merged.cliPath?.trim() ||
merged.dbPath?.trim() ||
merged.service ||
merged.region?.trim() ||
(merged.allowFrom && merged.allowFrom.length > 0) ||
(merged.groupAllowFrom && merged.groupAllowFrom.length > 0) ||
merged.dmPolicy ||
merged.groupPolicy ||
typeof merged.includeAttachments === "boolean" ||
typeof merged.mediaMaxMb === "number" ||
typeof merged.textChunkLimit === "number" ||
(merged.groups && Object.keys(merged.groups).length > 0),
);
return {
accountId,
enabled: baseEnabled && accountEnabled,
name: merged.name?.trim() || undefined,
config: merged,
configured,
};
}

View File

@@ -3,7 +3,11 @@ import path from "node:path";
import type { ClawdbotConfig } from "../config/config.js";
import { resolveOAuthDir } from "../config/paths.js";
import type { GroupPolicy, WhatsAppAccountConfig } from "../config/types.js";
import type {
DmPolicy,
GroupPolicy,
WhatsAppAccountConfig,
} from "../config/types.js";
import { DEFAULT_ACCOUNT_ID } from "../routing/session-key.js";
import { resolveUserPath } from "../utils.js";
@@ -18,6 +22,7 @@ export type ResolvedWhatsAppAccount = {
allowFrom?: string[];
groupAllowFrom?: string[];
groupPolicy?: GroupPolicy;
dmPolicy?: DmPolicy;
textChunkLimit?: number;
groups?: WhatsAppAccountConfig["groups"];
};
@@ -113,6 +118,7 @@ export function resolveWhatsAppAccount(params: {
groupAllowFrom:
accountCfg?.groupAllowFrom ?? params.cfg.whatsapp?.groupAllowFrom,
groupPolicy: accountCfg?.groupPolicy ?? params.cfg.whatsapp?.groupPolicy,
dmPolicy: accountCfg?.dmPolicy ?? params.cfg.whatsapp?.dmPolicy,
textChunkLimit:
accountCfg?.textChunkLimit ?? params.cfg.whatsapp?.textChunkLimit,
groups: accountCfg?.groups ?? params.cfg.whatsapp?.groups,