From 972895d85564eeb098e136bbca4755d7ddfef228 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Thu, 12 Feb 2026 18:16:36 +0700 Subject: [PATCH] Reduce daemon startup noise and normalize tool-call mappers --- .../providers/claude/tool-call-mapper.ts | 70 ++--- .../agent/providers/codex-app-server-agent.ts | 6 +- .../agent/providers/codex/tool-call-mapper.ts | 255 +++--------------- .../providers/opencode/tool-call-mapper.ts | 62 ++--- .../providers/tool-call-detail-primitives.ts | 12 +- packages/server/src/server/bootstrap.ts | 2 - 6 files changed, 102 insertions(+), 305 deletions(-) diff --git a/packages/server/src/server/agent/providers/claude/tool-call-mapper.ts b/packages/server/src/server/agent/providers/claude/tool-call-mapper.ts index 8f70ba106..990b64e2e 100644 --- a/packages/server/src/server/agent/providers/claude/tool-call-mapper.ts +++ b/packages/server/src/server/agent/providers/claude/tool-call-mapper.ts @@ -77,56 +77,38 @@ const ClaudeToolCallPass2Schema = z.discriminatedUnion("toolKind", [ ClaudeToolCallPass2BaseSchema.extend({ toolKind: z.literal("speak"), name: z.literal("mcp__paseo__speak"), - }).transform((normalized): ToolCallTimelineItem => { - const name = "speak" as const; - const detail = deriveClaudeToolDetail(name, normalized.input, normalized.output); - if (normalized.status === "failed") { - return { - type: "tool_call", - callId: normalized.callId, - name, - detail, - status: "failed", - error: normalized.error ?? { message: "Tool call failed" }, - ...(normalized.metadata ? { metadata: normalized.metadata } : {}), - }; - } + }), + ClaudeToolCallPass2BaseSchema.extend({ + toolKind: z.literal("other"), + }), +]); + +type ClaudeToolCallPass2 = z.infer; + +function toToolCallTimelineItem(normalized: ClaudeToolCallPass2): ToolCallTimelineItem { + const name = normalized.toolKind === "speak" ? ("speak" as const) : normalized.name; + const detail = deriveClaudeToolDetail(name, normalized.input, normalized.output); + if (normalized.status === "failed") { return { type: "tool_call", callId: normalized.callId, name, detail, - status: normalized.status, - error: null, + status: "failed", + error: normalized.error ?? { message: "Tool call failed" }, ...(normalized.metadata ? { metadata: normalized.metadata } : {}), }; - }), - ClaudeToolCallPass2BaseSchema.extend({ - toolKind: z.literal("other"), - }).transform((normalized): ToolCallTimelineItem => { - const detail = deriveClaudeToolDetail(normalized.name, normalized.input, normalized.output); - if (normalized.status === "failed") { - return { - type: "tool_call", - callId: normalized.callId, - name: normalized.name, - detail, - status: "failed", - error: normalized.error ?? { message: "Tool call failed" }, - ...(normalized.metadata ? { metadata: normalized.metadata } : {}), - }; - } - return { - type: "tool_call", - callId: normalized.callId, - name: normalized.name, - detail, - status: normalized.status, - error: null, - ...(normalized.metadata ? { metadata: normalized.metadata } : {}), - }; - }), -]); + } + return { + type: "tool_call", + callId: normalized.callId, + name, + detail, + status: normalized.status, + error: null, + ...(normalized.metadata ? { metadata: normalized.metadata } : {}), + }; +} function mapClaudeToolCall( params: MapperParams, @@ -152,7 +134,7 @@ function mapClaudeToolCall( return null; } - return pass2.data; + return toToolCallTimelineItem(pass2.data); } export function mapClaudeRunningToolCall( diff --git a/packages/server/src/server/agent/providers/codex-app-server-agent.ts b/packages/server/src/server/agent/providers/codex-app-server-agent.ts index 4fa1996a5..58b4663dd 100644 --- a/packages/server/src/server/agent/providers/codex-app-server-agent.ts +++ b/packages/server/src/server/agent/providers/codex-app-server-agent.ts @@ -1835,7 +1835,7 @@ class CodexAppServerAgentSession implements AgentSession { developer_instructions: entry.developer_instructions ?? null, })); } catch (error) { - this.logger.debug({ error }, "Failed to load collaboration modes"); + this.logger.trace({ error }, "Failed to load collaboration modes"); this.collaborationModes = []; } this.resolvedCollaborationMode = this.resolveCollaborationMode(this.currentMode); @@ -1862,7 +1862,7 @@ class CodexAppServerAgentSession implements AgentSession { } this.cachedSkills = skills; } catch (error) { - this.logger.debug({ error }, "Failed to load skills list"); + this.logger.trace({ error }, "Failed to load skills list"); this.cachedSkills = []; } } @@ -2685,7 +2685,7 @@ class CodexAppServerAgentSession implements AgentSession { return; } this.warnedUnknownNotificationMethods.add(method); - this.logger.warn({ method, params }, "Unhandled Codex app-server notification method"); + this.logger.trace({ method, params }, "Unhandled Codex app-server notification method"); } private warnInvalidNotificationPayload(method: string, params: unknown): void { diff --git a/packages/server/src/server/agent/providers/codex/tool-call-mapper.ts b/packages/server/src/server/agent/providers/codex/tool-call-mapper.ts index 1c848bfb6..43f22b77a 100644 --- a/packages/server/src/server/agent/providers/codex/tool-call-mapper.ts +++ b/packages/server/src/server/agent/providers/codex/tool-call-mapper.ts @@ -37,10 +37,10 @@ const CodexRolloutToolCallParamsSchema = z type CodexNormalizedToolCallEnvelope = { callId: string; name: string; - input: unknown | null; - output: unknown | null; - status: ToolCallTimelineItem["status"]; - error: unknown | null; + input?: unknown | null; + output?: unknown | null; + status?: ToolCallTimelineItem["status"]; + error?: unknown | null; metadata?: Record; cwd?: string | null; }; @@ -116,243 +116,76 @@ const CodexNormalizedToolCallPass2Schema = z.discriminatedUnion("toolKind", [ CodexToolCallPass2BaseSchema.extend({ toolKind: z.literal("shell"), name: CodexShellToolNameSchema, - }).transform((envelope): ToolCallTimelineItem => { - const detail = deriveCodexToolDetail({ - name: envelope.name, - input: envelope.input, - output: envelope.output, - cwd: envelope.cwd ?? null, - }); - - if (envelope.status === "failed") { - return { - type: "tool_call", - callId: envelope.callId, - name: envelope.name, - status: "failed", - error: envelope.error ?? { message: "Tool call failed" }, - detail, - ...(envelope.metadata ? { metadata: envelope.metadata } : {}), - }; - } - - return { - type: "tool_call", - callId: envelope.callId, - name: envelope.name, - status: envelope.status, - error: null, - detail, - ...(envelope.metadata ? { metadata: envelope.metadata } : {}), - }; }), CodexToolCallPass2BaseSchema.extend({ toolKind: z.literal("read"), name: CodexReadToolNameSchema, - }).transform((envelope): ToolCallTimelineItem => { - const detail = deriveCodexToolDetail({ - name: envelope.name, - input: envelope.input, - output: envelope.output, - cwd: envelope.cwd ?? null, - }); - - if (envelope.status === "failed") { - return { - type: "tool_call", - callId: envelope.callId, - name: envelope.name, - status: "failed", - error: envelope.error ?? { message: "Tool call failed" }, - detail, - ...(envelope.metadata ? { metadata: envelope.metadata } : {}), - }; - } - - return { - type: "tool_call", - callId: envelope.callId, - name: envelope.name, - status: envelope.status, - error: null, - detail, - ...(envelope.metadata ? { metadata: envelope.metadata } : {}), - }; }), CodexToolCallPass2BaseSchema.extend({ toolKind: z.literal("write"), name: CodexWriteToolNameSchema, - }).transform((envelope): ToolCallTimelineItem => { - const detail = deriveCodexToolDetail({ - name: envelope.name, - input: envelope.input, - output: envelope.output, - cwd: envelope.cwd ?? null, - }); - - if (envelope.status === "failed") { - return { - type: "tool_call", - callId: envelope.callId, - name: envelope.name, - status: "failed", - error: envelope.error ?? { message: "Tool call failed" }, - detail, - ...(envelope.metadata ? { metadata: envelope.metadata } : {}), - }; - } - - return { - type: "tool_call", - callId: envelope.callId, - name: envelope.name, - status: envelope.status, - error: null, - detail, - ...(envelope.metadata ? { metadata: envelope.metadata } : {}), - }; }), CodexToolCallPass2BaseSchema.extend({ toolKind: z.literal("edit"), name: CodexEditToolNameSchema, - }).transform((envelope): ToolCallTimelineItem => { - const parsedDetail = deriveCodexToolDetail({ - name: envelope.name, - input: envelope.input, - output: envelope.output, - cwd: envelope.cwd ?? null, - }); - const detail: ToolCallTimelineItem["detail"] = - envelope.status === "running" || hasRenderableEditDetail(parsedDetail) - ? parsedDetail - : { - type: "unknown", - input: envelope.input, - output: envelope.output, - }; - - if (envelope.status === "failed") { - return { - type: "tool_call", - callId: envelope.callId, - name: envelope.name, - status: "failed", - error: envelope.error ?? { message: "Tool call failed" }, - detail, - ...(envelope.metadata ? { metadata: envelope.metadata } : {}), - }; - } - - return { - type: "tool_call", - callId: envelope.callId, - name: envelope.name, - status: envelope.status, - error: null, - detail, - ...(envelope.metadata ? { metadata: envelope.metadata } : {}), - }; }), CodexToolCallPass2BaseSchema.extend({ toolKind: z.literal("search"), name: CodexSearchToolNameSchema, - }).transform((envelope): ToolCallTimelineItem => { - const detail = deriveCodexToolDetail({ - name: envelope.name, - input: envelope.input, - output: envelope.output, - cwd: envelope.cwd ?? null, - }); - - if (envelope.status === "failed") { - return { - type: "tool_call", - callId: envelope.callId, - name: envelope.name, - status: "failed", - error: envelope.error ?? { message: "Tool call failed" }, - detail, - ...(envelope.metadata ? { metadata: envelope.metadata } : {}), - }; - } - - return { - type: "tool_call", - callId: envelope.callId, - name: envelope.name, - status: envelope.status, - error: null, - detail, - ...(envelope.metadata ? { metadata: envelope.metadata } : {}), - }; }), CodexToolCallPass2BaseSchema.extend({ toolKind: z.literal("speak"), name: CodexSpeakToolNameSchema, - }).transform((envelope): ToolCallTimelineItem => { - const canonicalName = "speak"; - const detail = deriveCodexToolDetail({ - name: canonicalName, - input: envelope.input, - output: envelope.output, - cwd: envelope.cwd ?? null, - }); - - if (envelope.status === "failed") { - return { - type: "tool_call", - callId: envelope.callId, - name: canonicalName, - status: "failed", - error: envelope.error ?? { message: "Tool call failed" }, - detail, - ...(envelope.metadata ? { metadata: envelope.metadata } : {}), - }; - } - - return { - type: "tool_call", - callId: envelope.callId, - name: canonicalName, - status: envelope.status, - error: null, - detail, - ...(envelope.metadata ? { metadata: envelope.metadata } : {}), - }; }), CodexToolCallPass2BaseSchema.extend({ toolKind: z.literal("unknown"), - }).transform((envelope): ToolCallTimelineItem => { - const detail = deriveCodexToolDetail({ - name: envelope.name, - input: envelope.input, - output: envelope.output, - cwd: envelope.cwd ?? null, - }); + }), +]); - if (envelope.status === "failed") { - return { - type: "tool_call", - callId: envelope.callId, - name: envelope.name, - status: "failed", - error: envelope.error ?? { message: "Tool call failed" }, - detail, - ...(envelope.metadata ? { metadata: envelope.metadata } : {}), - }; - } +type CodexNormalizedToolCallPass2 = z.infer; +function toToolCallTimelineItem(envelope: CodexNormalizedToolCallPass2): ToolCallTimelineItem { + const name = envelope.toolKind === "speak" ? ("speak" as const) : envelope.name; + const parsedDetail = deriveCodexToolDetail({ + name, + input: envelope.input, + output: envelope.output, + cwd: envelope.cwd ?? null, + }); + + const detail: ToolCallTimelineItem["detail"] = + envelope.toolKind === "edit" && + envelope.status !== "running" && + !hasRenderableEditDetail(parsedDetail) + ? { + type: "unknown", + input: envelope.input, + output: envelope.output, + } + : parsedDetail; + + if (envelope.status === "failed") { return { type: "tool_call", callId: envelope.callId, - name: envelope.name, - status: envelope.status, - error: null, + name, + status: "failed", + error: envelope.error ?? { message: "Tool call failed" }, detail, ...(envelope.metadata ? { metadata: envelope.metadata } : {}), }; - }), -]); + } + + return { + type: "tool_call", + callId: envelope.callId, + name, + status: envelope.status, + error: null, + detail, + ...(envelope.metadata ? { metadata: envelope.metadata } : {}), + }; +} // --------------------------------------------------------------------------- // Thread-item parsing @@ -758,7 +591,7 @@ function toToolCallFromNormalizedEnvelope( if (!parsed.success) { return null; } - return parsed.data; + return toToolCallTimelineItem(parsed.data); } function mapCommandExecutionItem( diff --git a/packages/server/src/server/agent/providers/opencode/tool-call-mapper.ts b/packages/server/src/server/agent/providers/opencode/tool-call-mapper.ts index da6165429..b19f29ae8 100644 --- a/packages/server/src/server/agent/providers/opencode/tool-call-mapper.ts +++ b/packages/server/src/server/agent/providers/opencode/tool-call-mapper.ts @@ -124,55 +124,37 @@ const OpencodeToolCallPass2Schema = z.discriminatedUnion("toolKind", [ OpencodeToolCallPass2BaseSchema.extend({ toolKind: z.literal("known"), name: OpencodeKnownToolNameSchema, - }).transform((normalized): ToolCallTimelineItem => { - const detail = deriveOpencodeToolDetail(normalized.name, normalized.input, normalized.output); - if (normalized.status === "failed") { - return { - type: "tool_call", - callId: normalized.callId, - name: normalized.name, - status: "failed", - detail, - error: normalized.error ?? { message: "Tool call failed" }, - ...(normalized.metadata ? { metadata: normalized.metadata } : {}), - }; - } - return { - type: "tool_call", - callId: normalized.callId, - name: normalized.name, - status: normalized.status, - detail, - error: null, - ...(normalized.metadata ? { metadata: normalized.metadata } : {}), - }; }), OpencodeToolCallPass2BaseSchema.extend({ toolKind: z.literal("other"), - }).transform((normalized): ToolCallTimelineItem => { - const detail = deriveOpencodeToolDetail(normalized.name, normalized.input, normalized.output); - if (normalized.status === "failed") { - return { - type: "tool_call", - callId: normalized.callId, - name: normalized.name, - status: "failed", - detail, - error: normalized.error ?? { message: "Tool call failed" }, - ...(normalized.metadata ? { metadata: normalized.metadata } : {}), - }; - } + }), +]); + +type OpencodeToolCallPass2 = z.infer; + +function toToolCallTimelineItem(normalized: OpencodeToolCallPass2): ToolCallTimelineItem { + const detail = deriveOpencodeToolDetail(normalized.name, normalized.input, normalized.output); + if (normalized.status === "failed") { return { type: "tool_call", callId: normalized.callId, name: normalized.name, - status: normalized.status, + status: "failed", detail, - error: null, + error: normalized.error ?? { message: "Tool call failed" }, ...(normalized.metadata ? { metadata: normalized.metadata } : {}), }; - }), -]); + } + return { + type: "tool_call", + callId: normalized.callId, + name: normalized.name, + status: normalized.status, + detail, + error: null, + ...(normalized.metadata ? { metadata: normalized.metadata } : {}), + }; +} export function mapOpencodeToolCall(params: OpencodeToolCallParams): ToolCallTimelineItem | null { const pass1 = OpencodeNormalizedToolCallPass1Schema.safeParse(params); @@ -190,5 +172,5 @@ export function mapOpencodeToolCall(params: OpencodeToolCallParams): ToolCallTim return null; } - return pass2.data; + return toToolCallTimelineItem(pass2.data); } diff --git a/packages/server/src/server/agent/providers/tool-call-detail-primitives.ts b/packages/server/src/server/agent/providers/tool-call-detail-primitives.ts index 74747fdb9..7657178e1 100644 --- a/packages/server/src/server/agent/providers/tool-call-detail-primitives.ts +++ b/packages/server/src/server/agent/providers/tool-call-detail-primitives.ts @@ -323,12 +323,14 @@ type ToolReadOutputValue = { content?: string; }; -export const ToolReadOutputSchema = ToolReadOutputContentSchema; +export const ToolReadOutputSchema: z.ZodType = + ToolReadOutputContentSchema; -export const ToolReadOutputWithPathSchema = z.union([ - ToolReadOutputContentSchema, - ToolReadOutputPathSchema, -]); +export const ToolReadOutputWithPathSchema: z.ZodType< + ToolReadOutputValue, + z.ZodTypeDef, + unknown +> = z.union([ToolReadOutputContentSchema, ToolReadOutputPathSchema]); export const ToolWriteContentSchema = z .object({ diff --git a/packages/server/src/server/bootstrap.ts b/packages/server/src/server/bootstrap.ts index 0f8722da2..3aa78150f 100644 --- a/packages/server/src/server/bootstrap.ts +++ b/packages/server/src/server/bootstrap.ts @@ -57,7 +57,6 @@ import { encodeOfferToFragmentUrl, } from "./connection-offer.js"; import { loadOrCreateDaemonKeyPair } from "./daemon-keypair.js"; -import { printPairingQrIfEnabled } from "./pairing-qr.js"; import { startRelayTransport, type RelayTransportController } from "./relay-transport.js"; import { getOrCreateServerId } from "./server-id.js"; import type { @@ -548,7 +547,6 @@ export async function createPaseoDaemon( const url = encodeOfferToFragmentUrl({ offer, appBaseUrl }); logger.info({ url }, "pairing_offer"); - void printPairingQrIfEnabled({ url, logger }).catch(() => undefined); } else { logger.info("relay_disabled"); }