feat: AI 调用稳定性增强(可重试错误分类 + 指数退避 + 修复链路错误透传)

- providers/base.ts 引入 ApiRequestError 与 isRetryableError,按 429/5xx/超时/网络错误/401 分类
- chatWithRetry 升级为最多 3 次指数退避(1s/2s/4s),非重试错误立即上抛;新增 setRetryBaseDelayForTest 钩子
- aiFixEngine/customFixEngine 不再吞错,修复失败原因透传为 ai-error: <原因>
- 扩展 ai-empty-response/customFixEngine 测试覆盖重试与分类
This commit is contained in:
范智鹏
2026-08-31 21:57:54 +08:00
parent 458647d82e
commit d6b8a3c897
11 changed files with 287 additions and 55 deletions
+1 -1
View File
@@ -83,7 +83,7 @@ suite('Custom FixEngine Tests', () => {
assert.strictEqual(result.appliedFixes.length, 1);
});
test('aiFixReviewIssue retries empty fix once then fails with ai-no-fix', async () => {
test('aiFixReviewIssue fails with ai-no-fix when AI provides empty fix', async () => {
const doc = await vscode.workspace.openTextDocument({
content: 'const x = BAD;\n',
language: 'javascript',