| import type { OpenClawConfig } from "../../config/config.js"; | |
| import { ensureAuthProfileStore, listProfilesForProvider } from "../auth-profiles.js"; | |
| import { DEFAULT_MODEL, DEFAULT_PROVIDER } from "../defaults.js"; | |
| import { resolveEnvApiKey } from "../model-auth.js"; | |
| import { resolveConfiguredModelRef } from "../model-selection.js"; | |
| export function resolveDefaultModelRef(cfg?: OpenClawConfig): { provider: string; model: string } { | |
| if (cfg) { | |
| const resolved = resolveConfiguredModelRef({ | |
| cfg, | |
| defaultProvider: DEFAULT_PROVIDER, | |
| defaultModel: DEFAULT_MODEL, | |
| }); | |
| return { provider: resolved.provider, model: resolved.model }; | |
| } | |
| return { provider: DEFAULT_PROVIDER, model: DEFAULT_MODEL }; | |
| } | |
| export function hasAuthForProvider(params: { provider: string; agentDir: string }): boolean { | |
| if (resolveEnvApiKey(params.provider)?.apiKey) { | |
| return true; | |
| } | |
| const store = ensureAuthProfileStore(params.agentDir, { | |
| allowKeychainPrompt: false, | |
| }); | |
| return listProfilesForProvider(store, params.provider).length > 0; | |
| } | |