import fs from "node:fs"; import type { PaperclipConfig } from "../config/schema.js"; import type { CheckResult } from "./index.js"; import { resolveRuntimeLikePath } from "./path-resolver.js"; export function logCheck(config: PaperclipConfig, configPath?: string): CheckResult { const logDir = resolveRuntimeLikePath(config.logging.logDir, configPath); const reportedDir = logDir; if (!fs.existsSync(logDir)) { fs.mkdirSync(reportedDir, { recursive: true }); } try { fs.accessSync(reportedDir, fs.constants.W_OK); return { name: "Log directory", status: "pass", message: `Log directory is writable: ${reportedDir}`, }; } catch { return { name: "Log directory", status: "fail", message: `Log directory is not writable: ${logDir}`, canRepair: false, repairHint: "Check file permissions on the log directory", }; } }