feat: port CLI, TUI, and launcher from v1.5 into v2 (#1452)
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>
This commit is contained in:
parent
53dc4549be
commit
2488ca5e38
1 changed files with 25594 additions and 236 deletions
|
|
@ -1,10 +1,12 @@
|
|||
/**
|
||||
* Hono production server. Export startHonoServer(config) for in-process use by the runner.
|
||||
* When run as the main module (e.g. node dist/server.js), build config from env and start.
|
||||
* Hono production server. Export startHonoServer(config) for in-process use by
|
||||
* the runner. The server is started programmatically via `runWeb` (in
|
||||
* `run-web.ts`), which is the bundled `build/index.js` entry the `mcp-inspector`
|
||||
* bin invokes — there is no separate standalone server entry.
|
||||
*/
|
||||
|
||||
import { readFileSync } from "node:fs";
|
||||
import { join, dirname, resolve } from "node:path";
|
||||
import { join, dirname } from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { randomBytes } from "node:crypto";
|
||||
import open from "open";
|
||||
|
|
@ -18,7 +20,6 @@ import { injectAuthToken } from "./inject-auth-token.js";
|
|||
import type { WebServerConfig } from "./web-server-config.js";
|
||||
import {
|
||||
webServerConfigToInitialPayload,
|
||||
buildWebServerConfigFromEnv,
|
||||
printServerBanner,
|
||||
} from "./web-server-config.js";
|
||||
import type { WebServerHandle } from "./types.js";
|
||||
|
|
@ -148,21 +149,3 @@ export async function startHonoServer(
|
|||
},
|
||||
};
|
||||
}
|
||||
|
||||
/** Run when this file is executed as the main module (e.g. node dist/server.js). */
|
||||
async function runStandalone(): Promise<void> {
|
||||
const config = buildWebServerConfigFromEnv();
|
||||
const handle = await startHonoServer(config);
|
||||
const shutdown = () => {
|
||||
void handle.close().then(() => process.exit(0));
|
||||
};
|
||||
process.on("SIGINT", shutdown);
|
||||
process.on("SIGTERM", shutdown);
|
||||
}
|
||||
|
||||
const isMain =
|
||||
process.argv[1] !== undefined &&
|
||||
resolve(process.argv[1]) === resolve(__filename);
|
||||
if (isMain) {
|
||||
void runStandalone();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue