diff --git a/src/renderer/src/api/agent.ts b/src/renderer/src/api/agent.ts index e9e6b14971..06820321fe 100644 --- a/src/renderer/src/api/agent.ts +++ b/src/renderer/src/api/agent.ts @@ -16,6 +16,7 @@ import { UpdateAgentResponseSchema } from '@types' import { Axios, AxiosRequestConfig, isAxiosError } from 'axios' +import { ZodError } from 'zod' type ApiVersion = 'v1' @@ -29,6 +30,8 @@ const processError = (error: unknown, fallbackMessage: string) => { if (result.success) { return new Error(formatAgentServerError(result.data), { cause: error }) } + } else if (error instanceof ZodError) { + return error } return new Error(fallbackMessage, { cause: error }) } diff --git a/src/renderer/src/utils/error.ts b/src/renderer/src/utils/error.ts index d24fc6920a..ea8be21dc1 100644 --- a/src/renderer/src/utils/error.ts +++ b/src/renderer/src/utils/error.ts @@ -9,7 +9,7 @@ import { } from '@renderer/types/error' import { InvalidToolInputError, NoSuchToolError } from 'ai' import { t } from 'i18next' -import { z } from 'zod' +import { z, ZodError } from 'zod' import { parseJSON } from './json' import { safeSerialize } from './serialize' @@ -44,6 +44,9 @@ export function getErrorDetails(err: any, seen = new WeakSet()): any { } export function formatErrorMessage(error: unknown): string { + if (error instanceof ZodError) { + return formatZodError(error) + } const detailedError = getErrorDetails(error) delete detailedError?.headers delete detailedError?.stack