Skip to content

Commit 917b287

Browse files
committed
feat(ui-tars): format error status and messages
1 parent 5c31f54 commit 917b287

File tree

2 files changed

+28
-6
lines changed

2 files changed

+28
-6
lines changed

packages/ui-tars/sdk/src/GUIAgent.ts

+26-6
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
StatusEnum,
1010
ShareVersion,
1111
ErrorStatusEnum,
12+
GUIAgentError,
1213
} from '@ui-tars/shared/types';
1314
import { IMAGE_PLACEHOLDER, MAX_LOOP_COUNT } from '@ui-tars/shared/constants';
1415
import { sleep } from '@ui-tars/shared/utils';
@@ -370,6 +371,7 @@ export class GUIAgent<T extends Operator> extends BaseGUIAgent<
370371
}
371372
}
372373
} catch (error) {
374+
logger.error('[GUIAgent] run, catch error', error);
373375
if (
374376
error instanceof Error &&
375377
(error.name === 'AbortError' || error.message?.includes('aborted'))
@@ -379,13 +381,9 @@ export class GUIAgent<T extends Operator> extends BaseGUIAgent<
379381
return;
380382
}
381383

382-
logger.error('[GUIAgent] run error', error);
383384
data.status = StatusEnum.ERROR;
384-
data.error = {
385-
code: ErrorStatusEnum.EXECUTE_ERROR,
386-
error: 'GUIAgent Service Error',
387-
stack: `${error}`,
388-
};
385+
data.error = this.guiAgentErrorParser(error as Error) as GUIAgentError;
386+
389387
throw error;
390388
} finally {
391389
if (data.status === StatusEnum.USER_STOPPED) {
@@ -449,4 +447,26 @@ export class GUIAgent<T extends Operator> extends BaseGUIAgent<
449447
actionSpaces.join('\n'),
450448
);
451449
}
450+
451+
private guiAgentErrorParser(error: unknown): GUIAgentError {
452+
if (
453+
error instanceof Error &&
454+
'status' in error &&
455+
'error' in error &&
456+
error.status === 500 &&
457+
typeof error.error === 'string' &&
458+
error.error.includes('unhandled errors in a TaskGroup')
459+
) {
460+
return {
461+
code: ErrorStatusEnum.MODEL_SERVICE_ERROR,
462+
error: error.message,
463+
stack: error.stack,
464+
};
465+
}
466+
return {
467+
code: ErrorStatusEnum.UNKNOWN_ERROR,
468+
error: 'Unkown error occurred',
469+
stack: JSON.stringify(error),
470+
};
471+
}
452472
}

packages/ui-tars/shared/src/types/agent.ts

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ export enum ErrorStatusEnum {
1818
INVOKE_TIMEOUT_ERROR = -100003,
1919
/** 100004 */
2020
INVOKE_RETRY_ERROR = -100004,
21+
/** 100005 */
22+
MODEL_SERVICE_ERROR = -100005,
2123
/** 100099 */
2224
UNKNOWN_ERROR = -100099,
2325
}

0 commit comments

Comments
 (0)