import fs from "node:fs"; import path from "node:path"; import type { AuthProfileStore } from "./types.js"; import { saveJsonFile } from "../../infra/json-file.js"; import { resolveUserPath } from "../../utils.js"; import { resolveOpenClawAgentDir } from "../agent-paths.js"; import { AUTH_PROFILE_FILENAME, AUTH_STORE_VERSION, LEGACY_AUTH_FILENAME } from "./constants.js"; export function resolveAuthStorePath(agentDir?: string): string { const resolved = resolveUserPath(agentDir ?? resolveOpenClawAgentDir()); return path.join(resolved, AUTH_PROFILE_FILENAME); } export function resolveLegacyAuthStorePath(agentDir?: string): string { const resolved = resolveUserPath(agentDir ?? resolveOpenClawAgentDir()); return path.join(resolved, LEGACY_AUTH_FILENAME); } export function resolveAuthStorePathForDisplay(agentDir?: string): string { const pathname = resolveAuthStorePath(agentDir); return pathname.startsWith("~") ? pathname : resolveUserPath(pathname); } export function ensureAuthStoreFile(pathname: string) { if (fs.existsSync(pathname)) { return; } const payload: AuthProfileStore = { version: AUTH_STORE_VERSION, profiles: {}, }; saveJsonFile(pathname, payload); }