| import { loadConfig } from "../config/config.js"; | |
| import { resolveSignalAccount } from "./accounts.js"; | |
| export function resolveSignalRpcContext( | |
| opts: { baseUrl?: string; account?: string; accountId?: string }, | |
| accountInfo?: ReturnType<typeof resolveSignalAccount>, | |
| ) { | |
| const hasBaseUrl = Boolean(opts.baseUrl?.trim()); | |
| const hasAccount = Boolean(opts.account?.trim()); | |
| const resolvedAccount = | |
| accountInfo || | |
| (!hasBaseUrl || !hasAccount | |
| ? resolveSignalAccount({ | |
| cfg: loadConfig(), | |
| accountId: opts.accountId, | |
| }) | |
| : undefined); | |
| const baseUrl = opts.baseUrl?.trim() || resolvedAccount?.baseUrl; | |
| if (!baseUrl) { | |
| throw new Error("Signal base URL is required"); | |
| } | |
| const account = opts.account?.trim() || resolvedAccount?.config.account?.trim(); | |
| return { baseUrl, account }; | |
| } | |