refactor: share merged account config helper

This commit is contained in:
Peter Steinberger
2026-03-22 18:29:24 +00:00
parent d06413e335
commit c74a50e4f1
11 changed files with 123 additions and 72 deletions

View File

@@ -1,8 +1,7 @@
import {
createAccountListHelpers,
mergeAccountConfig,
normalizeAccountId,
resolveAccountEntry,
resolveMergedAccountConfig,
type OpenClawConfig,
} from "openclaw/plugin-sdk/account-resolution";
import type { IMessageAccountConfig } from "../runtime-api.js";
@@ -19,17 +18,13 @@ const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("im
export const listIMessageAccountIds = listAccountIds;
export const resolveDefaultIMessageAccountId = resolveDefaultAccountId;
function resolveAccountConfig(
cfg: OpenClawConfig,
accountId: string,
): IMessageAccountConfig | undefined {
return resolveAccountEntry(cfg.channels?.imessage?.accounts, accountId);
}
function mergeIMessageAccountConfig(cfg: OpenClawConfig, accountId: string): IMessageAccountConfig {
return mergeAccountConfig<IMessageAccountConfig>({
return resolveMergedAccountConfig<IMessageAccountConfig>({
channelConfig: cfg.channels?.imessage as IMessageAccountConfig | undefined,
accountConfig: resolveAccountConfig(cfg, accountId),
accounts: cfg.channels?.imessage?.accounts as
| Record<string, Partial<IMessageAccountConfig>>
| undefined,
accountId,
});
}