Ports the CLI, TUI, and launcher from v1.5 into v2 behind a single `mcp-inspector` entrypoint (launcher → web/cli/tui). Includes the `mcp-inspector --web --dev` launcher fix (Vite alias resolution + prod-server double-start), the root `postinstall` install cascade with simplified CI, and spec/AGENTS docs (no-workspaces rationale, Development setup). Closes #1246. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
30 lines
893 B
TypeScript
30 lines
893 B
TypeScript
import path from "node:path";
|
|
import pino from "pino";
|
|
import type { Logger } from "pino";
|
|
|
|
let tuiLoggerInstance: Logger | undefined;
|
|
|
|
/**
|
|
* TUI file logger for auth and InspectorClient events.
|
|
* Writes to ~/.mcp-inspector/auth.log so TUI console output is not corrupted.
|
|
* Lazy-initialized so --help and other early exits never open the log stream.
|
|
*/
|
|
export function getTuiLogger(): Logger {
|
|
if (!tuiLoggerInstance) {
|
|
const logDir =
|
|
process.env.MCP_INSPECTOR_LOG_DIR ??
|
|
path.join(
|
|
process.env.HOME || process.env.USERPROFILE || ".",
|
|
".mcp-inspector",
|
|
);
|
|
const logPath = path.join(logDir, "auth.log");
|
|
tuiLoggerInstance = pino(
|
|
{
|
|
name: "mcp-inspector-tui",
|
|
level: process.env.LOG_LEVEL ?? "info",
|
|
},
|
|
pino.destination({ dest: logPath, append: true, mkdir: true }),
|
|
);
|
|
}
|
|
return tuiLoggerInstance;
|
|
}
|