feat: http logging middleware + mcp random port (#74)

This commit is contained in:
Carlos Florêncio
2026-01-22 02:27:14 +00:00
committed by GitHub
parent 89d7f10211
commit efd36ffbb7
12 changed files with 95 additions and 11 deletions
+1
View File
@@ -5,6 +5,7 @@ import path from "node:path";
export const DEFAULT_BACKEND_PORT = 8080;
export const DEFAULT_WEB_PORT = 3000;
export const DEFAULT_AGENTCTL_PORT = 9999;
export const DEFAULT_MCP_PORT = 9090;
// Random fallback range for port selection.
export const RANDOM_PORT_MIN = 10000;
+8
View File
@@ -4,6 +4,7 @@ import path from "node:path";
import {
DEFAULT_AGENTCTL_PORT,
DEFAULT_BACKEND_PORT,
DEFAULT_MCP_PORT,
DEFAULT_WEB_PORT,
HEALTH_TIMEOUT_MS,
} from "./constants";
@@ -22,17 +23,22 @@ export async function runDev({ repoRoot, backendPort, webPort }: DevOptions): Pr
const actualBackendPort = backendPort ?? (await pickAvailablePort(DEFAULT_BACKEND_PORT));
const actualWebPort = webPort ?? (await pickAvailablePort(DEFAULT_WEB_PORT));
const agentctlPort = await pickAvailablePort(DEFAULT_AGENTCTL_PORT);
const mcpPort = await pickAvailablePort(DEFAULT_MCP_PORT);
const backendUrl = `http://localhost:${actualBackendPort}`;
const mcpUrl = `http://localhost:${mcpPort}/sse`;
const backendEnv = {
...process.env,
KANDEV_SERVER_PORT: String(actualBackendPort),
KANDEV_AGENT_STANDALONE_PORT: String(agentctlPort),
KANDEV_AGENT_MCP_SERVER_PORT: String(mcpPort),
};
const webEnv = {
...process.env,
KANDEV_API_BASE_URL: backendUrl,
NEXT_PUBLIC_KANDEV_API_BASE_URL: backendUrl,
KANDEV_MCP_SERVER_URL: mcpUrl,
NEXT_PUBLIC_KANDEV_MCP_SERVER_URL: mcpUrl,
PORT: String(actualWebPort),
NEXT_PUBLIC_KANDEV_DEBUG: "true",
};
@@ -41,6 +47,8 @@ export async function runDev({ repoRoot, backendPort, webPort }: DevOptions): Pr
console.log("[kandev] backend port:", actualBackendPort);
console.log("[kandev] web port:", actualWebPort);
console.log("[kandev] agentctl port:", agentctlPort);
console.log("[kandev] mcp port:", mcpPort);
console.log("[kandev] mcp url:", mcpUrl);
const supervisor = createProcessSupervisor();
supervisor.attachSignalHandlers();