Skip to content

Commit 5320ea2

Browse files
committed
Surface OpenCode nested error messages
1 parent f433965 commit 5320ea2

1 file changed

Lines changed: 14 additions & 7 deletions

File tree

evals/buffbench/runners/opencode.ts

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ type OpenCodeEvent = {
3939
name?: string
4040
message?: string
4141
statusCode?: number
42+
data?: {
43+
message?: string
44+
}
4245
}
4346
part?: {
4447
id?: string
@@ -54,6 +57,16 @@ type OpenCodeEvent = {
5457
}
5558
}
5659

60+
function formatOpenCodeError(error: OpenCodeEvent['error']): string {
61+
const message =
62+
error?.data?.message ||
63+
error?.message ||
64+
error?.name ||
65+
'OpenCode emitted an error event.'
66+
67+
return error?.statusCode ? `${message} (status ${error.statusCode})` : message
68+
}
69+
5770
export class OpenCodeRunner implements Runner {
5871
private cwd: string
5972
private env: Record<string, string>
@@ -100,13 +113,7 @@ export class OpenCodeRunner implements Runner {
100113

101114
const processEvent = (event: OpenCodeEvent) => {
102115
if (event.type === 'error') {
103-
const message =
104-
event.error?.message ||
105-
event.error?.name ||
106-
'OpenCode emitted an error event.'
107-
openCodeError = event.error?.statusCode
108-
? `${message} (status ${event.error.statusCode})`
109-
: message
116+
openCodeError = formatOpenCodeError(event.error)
110117
steps.push({
111118
type: 'text',
112119
text: `[OpenCode error] ${openCodeError}`,

0 commit comments

Comments
 (0)