feat: 添加手机号认证失败处理逻辑,确保在遇到手机号页面时自动停止授权流程

This commit is contained in:
祁连海
2026-04-18 12:20:11 +08:00
parent 687bf7f71b
commit e22c36328b
10 changed files with 371 additions and 10 deletions
+17
View File
@@ -53,6 +53,7 @@ function extractFunction(name) {
}
const bundle = [
extractFunction('isAddPhoneAuthFailure'),
extractFunction('isAddPhoneAuthUrl'),
extractFunction('isAddPhoneAuthState'),
extractFunction('getPostStep6AutoRestartDecision'),
@@ -198,6 +199,22 @@ test('auto-run stops restarting once add-phone is detected', async () => {
assert.ok(result.events.logs.some(({ message }) => /进入 add-phone/.test(message)));
});
test('auto-run stops restarting on generic phone-page failure messages even without add-phone url', async () => {
const harness = createHarness({
failureStep: 9,
failureBudget: 1,
failureMessage: '步骤 8:当前认证页进入手机号页面,当前流程无法继续自动授权。',
authState: { state: 'password_page', url: 'https://auth.openai.com/log-in' },
});
const result = await harness.runAndCaptureError();
assert.ok(result?.error);
assert.equal(result.events.invalidations.length, 0);
assert.deepStrictEqual(result.events.steps, [7, 8, 9]);
assert.ok(!result.events.logs.some(({ message }) => /回到步骤 7 重新开始授权流程/.test(message)));
});
test('auto-run stop errors after step 7 are rethrown immediately instead of restarting', async () => {
const harness = createHarness({
failureStep: 9,