Skip to content

Commit 7d62ef6

Browse files
fix(auth): apply formatError to all error logging in authenticate handler
Applies formatError() to 13 locations in authenticate.ts to properly serialize structured OAuth errors (fixes [object Object] in logs). Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
1 parent 06efe14 commit 7d62ef6

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

src/handlers/authenticate.ts

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { PackageRegistry } from "../registry.js";
22
import { getLogger } from "../logging.js";
33
import { findAvailablePort, checkPortAvailable } from "../utils/portFinder.js";
44
import { SimpleOAuthProvider } from "../auth/providers/simple.js";
5+
import { formatError } from "../utils/formatError.js";
56

67
const logger = getLogger();
78

@@ -86,14 +87,14 @@ export async function handleAuthenticate(
8687
} catch (error) {
8788
logger.info("Tool access failed, need to authenticate", {
8889
package_id,
89-
error: error instanceof Error ? error.message : String(error),
90+
error: formatError(error),
9091
});
9192
}
9293
}
9394
} catch (error) {
9495
logger.info("Client not available or errored", {
9596
package_id,
96-
error: error instanceof Error ? error.message : String(error),
97+
error: formatError(error),
9798
});
9899
}
99100

@@ -127,7 +128,7 @@ export async function handleAuthenticate(
127128
} catch (portError) {
128129
logger.error("Failed to find available port", {
129130
package_id,
130-
error: portError instanceof Error ? portError.message : String(portError)
131+
error: formatError(portError)
131132
});
132133
return {
133134
content: [
@@ -137,7 +138,7 @@ export async function handleAuthenticate(
137138
package_id,
138139
status: "error",
139140
message: "Failed to find available port for OAuth callback",
140-
error: portError instanceof Error ? portError.message : String(portError),
141+
error: formatError(portError),
141142
}, null, 2),
142143
},
143144
],
@@ -177,7 +178,7 @@ export async function handleAuthenticate(
177178
} catch (error) {
178179
logger.error("Failed to start callback server", {
179180
package_id,
180-
error: error instanceof Error ? error.message : String(error)
181+
error: formatError(error)
181182
});
182183

183184
return {
@@ -188,7 +189,7 @@ export async function handleAuthenticate(
188189
package_id,
189190
status: "error",
190191
message: "Failed to start OAuth callback server",
191-
error: error instanceof Error ? error.message : String(error),
192+
error: formatError(error),
192193
}, null, 2),
193194
},
194195
],
@@ -218,7 +219,7 @@ export async function handleAuthenticate(
218219
connectPromise.catch(err => {
219220
logger.debug("OAuth redirect initiated (expected)", {
220221
package_id,
221-
error: err instanceof Error ? err.message : String(err)
222+
error: formatError(err)
222223
});
223224
});
224225

@@ -246,7 +247,7 @@ export async function handleAuthenticate(
246247
} catch (err) {
247248
logger.warn("Connection verification failed - tokens saved but server rejected request. Try using a tool to confirm.", {
248249
package_id,
249-
error: err instanceof Error ? err.message : String(err)
250+
error: formatError(err)
250251
});
251252
health = "error";
252253
}
@@ -300,7 +301,7 @@ export async function handleAuthenticate(
300301
} catch (error) {
301302
logger.error("OAuth failed", {
302303
package_id,
303-
error: error instanceof Error ? error.message : String(error),
304+
error: formatError(error),
304305
});
305306
} finally {
306307
if (callbackServer) {
@@ -310,7 +311,7 @@ export async function handleAuthenticate(
310311
} catch (err) {
311312
logger.debug("Error stopping callback server", {
312313
package_id,
313-
error: err instanceof Error ? err.message : String(err)
314+
error: formatError(err)
314315
});
315316
}
316317
}
@@ -319,7 +320,7 @@ export async function handleAuthenticate(
319320
connectPromise.catch(err => {
320321
logger.debug("OAuth connection error (expected)", {
321322
package_id,
322-
error: err instanceof Error ? err.message : String(err)
323+
error: formatError(err)
323324
});
324325
});
325326
}
@@ -360,7 +361,7 @@ export async function handleAuthenticate(
360361
} catch (error) {
361362
logger.error("Authentication failed", {
362363
package_id,
363-
error: error instanceof Error ? error.message : String(error),
364+
error: formatError(error),
364365
});
365366
return {
366367
content: [
@@ -370,7 +371,7 @@ export async function handleAuthenticate(
370371
package_id,
371372
status: "error",
372373
message: "Authentication failed",
373-
error: error instanceof Error ? error.message : String(error),
374+
error: formatError(error),
374375
}, null, 2),
375376
},
376377
],

0 commit comments

Comments
 (0)