From c683ae69af3a787999a55be480f97b37c76cde3f Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 9 Dec 2025 19:10:10 +0000 Subject: [PATCH] gateway: log provider errors verbosely --- src/gateway/server.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/gateway/server.ts b/src/gateway/server.ts index 3daf495a2..96b99b818 100644 --- a/src/gateway/server.ts +++ b/src/gateway/server.ts @@ -92,6 +92,15 @@ const dedupe = new Map(); const getGatewayToken = () => process.env.CLAWDIS_GATEWAY_TOKEN; +function formatError(err: unknown): string { + if (err instanceof Error) return err.message; + if (typeof err === "string") return err; + const status = (err as { status?: unknown })?.status; + const code = (err as { code?: unknown })?.code; + if (status || code) return `status=${status ?? "unknown"} code=${code ?? "unknown"}`; + return JSON.stringify(err, null, 2); +} + export async function startGatewayServer(port = 18789): Promise { const wss = new WebSocketServer({ port, @@ -117,7 +126,7 @@ export async function startGatewayServer(port = 18789): Promise { undefined, defaultRuntime, providerAbort.signal, - ).catch((err) => logError(`web provider exited: ${String(err)}`)), + ).catch((err) => logError(`web provider exited: ${formatError(err)}`)), ); } else { defaultRuntime.log( @@ -136,7 +145,9 @@ export async function startGatewayServer(port = 18789): Promise { webhookUrl: cfg.telegram?.webhookUrl, webhookSecret: cfg.telegram?.webhookSecret, webhookPath: cfg.telegram?.webhookPath, - }).catch((err) => logError(`telegram provider exited: ${String(err)}`)), + }).catch((err) => + logError(`telegram provider exited: ${formatError(err)}`), + ), ); } else { defaultRuntime.log(