From 38e2e32807e8b065fdba85be25a1a799674c6ad0 Mon Sep 17 00:00:00 2001 From: weichen Date: Sun, 13 Sep 2026 03:32:57 +0000 Subject: [PATCH] fix(web): satisfy chatRetry task auto-retry type check in docker build Co-authored-by: Cursor --- web/src/api/chatRetry.test.ts | 16 ++++++++++------ web/src/api/chatRetry.ts | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/web/src/api/chatRetry.test.ts b/web/src/api/chatRetry.test.ts index d3d5ef08..bca3d7f7 100644 --- a/web/src/api/chatRetry.test.ts +++ b/web/src/api/chatRetry.test.ts @@ -14,15 +14,19 @@ test('shouldAutoRetryChat: disabled until idempotency', () => { }); test('shouldAutoRetryTask: transient only, max 2', () => { - assert.equal(shouldAutoRetryTask({ class: 'transient' }, 0), true); - assert.equal(shouldAutoRetryTask({ class: 'transient' }, 1), true); - assert.equal(shouldAutoRetryTask({ class: 'transient' }, 2), false); - assert.equal(shouldAutoRetryTask({ class: 'fatal' }, 0), false); - assert.equal(shouldAutoRetryTask({ class: 'resumable' }, 0), false); + assert.equal(shouldAutoRetryTask({ class: 'transient', code: 'NETWORK_ERROR' }, 0), true); + assert.equal(shouldAutoRetryTask({ class: 'transient', code: 'NETWORK_ERROR' }, 1), true); + assert.equal(shouldAutoRetryTask({ class: 'transient', code: 'NETWORK_ERROR' }, 2), false); + assert.equal(shouldAutoRetryTask({ class: 'fatal', code: 'INTERNAL_ERROR' }, 0), false); + assert.equal(shouldAutoRetryTask({ class: 'resumable', code: 'WORKSPACE' }, 0), false); + assert.equal( + shouldAutoRetryTask({ class: 'transient', code: 'DOC_TASK_NOT_IN_ACTIVE_STAGE' }, 0), + false, + ); }); test('shouldAutoRetry alias delegates to task path', () => { - assert.equal(shouldAutoRetry({ class: 'transient' }, 0), true); + assert.equal(shouldAutoRetry({ class: 'transient', code: 'NETWORK_ERROR' }, 0), true); }); test('autoRetryDelayMs: 1s then 2s', () => { diff --git a/web/src/api/chatRetry.ts b/web/src/api/chatRetry.ts index 1ab9cbde..ebcbfe50 100644 --- a/web/src/api/chatRetry.ts +++ b/web/src/api/chatRetry.ts @@ -25,7 +25,7 @@ export function shouldAutoRetryTask( /** @deprecated 请使用 shouldAutoRetryChat / shouldAutoRetryTask */ export function shouldAutoRetry( - info: Pick, + info: Pick, attemptIndex: number, ): boolean { return shouldAutoRetryTask(info, attemptIndex);