// ABOUTME: Builds optional startup debug output for the MCP server.
// ABOUTME: Redacts sensitive values while showing environment state.
type DebugContext = {
env: NodeJS.ProcessEnv;
cwd: string;
nodeVersion: string;
platform: string;
arch: string;
};
function formatEnvPresence(value: string | undefined): string {
return value && value.trim() ? "[set]" : "[unset]";
}
export function buildStartupDebugInfo(context: DebugContext): string {
const { env, cwd, nodeVersion, platform, arch } = context;
const lines = [
"=== Minesweeper MCP Server Debug Info ===",
`Node.js version: ${nodeVersion}`,
`Platform: ${platform}`,
`Architecture: ${arch}`,
`Current working directory: ${cwd}`,
"Environment variables:",
` MINESWEEPER_BASE_URL: ${env.MINESWEEPER_BASE_URL ?? ""}`,
` MINESWEEPER_BEARER_TOKEN: ${formatEnvPresence(env.MINESWEEPER_BEARER_TOKEN)}`,
` MINESWEEPER_USER_SLUG: ${formatEnvPresence(env.MINESWEEPER_USER_SLUG)}`,
"========================================",
];
return lines.join("\n");
}