From 5660935a4bc25b1afbd8cd539a648fba2d35be88 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Sat, 29 Nov 2025 22:05:47 +0000 Subject: [PATCH] perf: remove eager agent restoration blocking server startup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove blocking restorePersistedAgents() call that was resuming all 87 agents before opening the HTTP socket. The architecture already supports lazy loading through handleInitializeAgentRequest() - agents are shown in the UI from the registry and only initialized when clients request them. This eliminates: - Sequential thread resumes with network handshakes to Codex/Claude - Synchronous history file reads from disk - DNS lookups and model catalog fetches - 87 awaited operations before socket binding Server now starts immediately by just loading the lightweight agents.json registry. Agents resume on-demand when requested by clients. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- packages/server/src/server/index.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/server/src/server/index.ts b/packages/server/src/server/index.ts index 3de590824..a0206b689 100644 --- a/packages/server/src/server/index.ts +++ b/packages/server/src/server/index.ts @@ -12,10 +12,7 @@ import { AgentRegistry } from "./agent/agent-registry.js"; import { ClaudeAgentClient } from "./agent/providers/claude-agent.js"; import { CodexAgentClient } from "./agent/providers/codex-agent.js"; import { initializeTitleGenerator } from "../services/agent-title-generator.js"; -import { - attachAgentRegistryPersistence, - restorePersistedAgents, -} from "./persistence-hooks.js"; +import { attachAgentRegistryPersistence } from "./persistence-hooks.js"; import { createAgentMcpServer } from "./agent/mcp-server.js"; import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js"; import { isInitializeRequest } from "@modelcontextprotocol/sdk/types.js"; @@ -108,9 +105,12 @@ async function main() { }); attachAgentRegistryPersistence(agentManager, agentRegistry); - - await restorePersistedAgents(agentManager, agentRegistry); - console.log("✓ Global agent manager initialized with persisted agents"); + const persistedRecords = await agentRegistry.list(); + console.log( + `✓ Agent registry loaded (${persistedRecords.length} record${ + persistedRecords.length === 1 ? "" : "s" + }); agents will initialize on demand` + ); const agentMcpTransports: AgentMcpTransportMap = new Map();