Skip to content

Commit fc39782

Browse files
committed
Print more error details
1 parent f2b6af5 commit fc39782

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

packages/agent-runtime/src/run-agent-step.ts

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ import type {
5959
CustomToolDefinitions,
6060
ProjectFileContext,
6161
} from '@codebuff/common/util/file'
62-
import type { ToolSet } from 'ai'
62+
import { APICallError, type ToolSet } from 'ai'
6363

6464
async function additionalToolDefinitions(
6565
params: {
@@ -918,11 +918,24 @@ export async function loopAgentSteps(
918918
throw error
919919
}
920920

921-
// Extract clean error message (just the message, not name:message format)
922-
const errorMessage =
923-
error instanceof Error
924-
? error.message + (error.stack ? `\n\n${error.stack}` : '')
925-
: String(error)
921+
let errorMessage = ''
922+
if (error instanceof APICallError) {
923+
const {
924+
url,
925+
requestBodyValues,
926+
statusCode,
927+
responseHeaders,
928+
responseBody,
929+
isRetryable,
930+
} = error
931+
errorMessage = `API call error: ${error.message}\n\n ${error.stack}\n\nURL: ${url}\nRequest body values: ${JSON.stringify(requestBodyValues)}\nStatus code: ${statusCode}\nResponse headers: ${JSON.stringify(responseHeaders)}\nResponse body: ${responseBody}\nIs retryable: ${isRetryable}\nData: ${JSON.stringify(error.data)}`
932+
} else {
933+
// Extract clean error message (just the message, not name:message format)
934+
errorMessage =
935+
error instanceof Error
936+
? error.message + (error.stack ? `\n\n${error.stack}` : '')
937+
: String(error)
938+
}
926939

927940
const status = checkLiveUserInput(params) ? 'failed' : 'cancelled'
928941
await finishAgentRun({

0 commit comments

Comments
 (0)