修复首次会话等待与上游饱和重试

This commit is contained in:
2026-08-12 23:26:19 +08:00
parent b02c3f22e1
commit 08da976634
10 changed files with 506 additions and 14 deletions

View File

@@ -0,0 +1,21 @@
import { describe, expect, it } from 'vitest';
import { isOpencodeUpstreamSaturated } from '../../shared/opencode-error-details';
describe('isOpencodeUpstreamSaturated', () => {
it.each([
'当前分组上游负载已饱和,请稍后再试',
JSON.stringify({ error: { message: 'UPSTREAM capacity is SATURATED; try later' } }),
])('classifies explicit upstream saturation evidence: %s', (message) => {
expect(isOpencodeUpstreamSaturated(message)).toBe(true);
});
it.each([
'rate_limit_exceeded',
JSON.stringify({ error: { code: 'rate_limit_exceeded', message: 'Rate limit exceeded' } }),
'upstream request failed',
'provider saturated',
'user quota is not enough',
])('does not broaden saturation classification to other retry failures: %s', (message) => {
expect(isOpencodeUpstreamSaturated(message)).toBe(false);
});
});