diff --git a/packages/core/src/scheduler/tool-executor.ts b/packages/core/src/scheduler/tool-executor.ts index 7920171676..0c37ae2870 100644 --- a/packages/core/src/scheduler/tool-executor.ts +++ b/packages/core/src/scheduler/tool-executor.ts @@ -123,10 +123,15 @@ export class ToolExecutor { } else if (toolResult.error === undefined) { return await this.createSuccessResult(call, toolResult); } else { + const displayText = + typeof toolResult.returnDisplay === 'string' + ? toolResult.returnDisplay + : undefined; return this.createErrorResult( call, new Error(toolResult.error.message), toolResult.error.type, + displayText, ); } } catch (executionError: unknown) { @@ -271,8 +276,14 @@ export class ToolExecutor { call: ToolCall, error: Error, errorType?: ToolErrorType, + returnDisplay?: string, ): ErroredToolCall { - const response = this.createErrorResponse(call.request, error, errorType); + const response = this.createErrorResponse( + call.request, + error, + errorType, + returnDisplay, + ); const startTime = 'startTime' in call ? call.startTime : undefined; return { @@ -289,7 +300,9 @@ export class ToolExecutor { request: ToolCallRequestInfo, error: Error, errorType: ToolErrorType | undefined, + returnDisplay?: string, ): ToolCallResponseInfo { + const displayText = returnDisplay ?? error.message; return { callId: request.callId, error, @@ -302,9 +315,9 @@ export class ToolExecutor { }, }, ], - resultDisplay: error.message, + resultDisplay: displayText, errorType, - contentLength: error.message.length, + contentLength: displayText.length, }; } }