fix(web): satisfy chatRetry task auto-retry type check in docker build

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
weichen
2026-09-13 03:32:57 +00:00
co-authored by Cursor
parent 3e242e6d36
commit 38e2e32807
2 changed files with 11 additions and 7 deletions
+10 -6
View File
@@ -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', () => {
+1 -1
View File
@@ -25,7 +25,7 @@ export function shouldAutoRetryTask(
/** @deprecated 请使用 shouldAutoRetryChat / shouldAutoRetryTask */
export function shouldAutoRetry(
info: Pick<ChatErrorInfo, 'class'>,
info: Pick<ChatErrorInfo, 'class' | 'code'>,
attemptIndex: number,
): boolean {
return shouldAutoRetryTask(info, attemptIndex);