From e58dede9012048cc634c771f870db08fe2628b4c Mon Sep 17 00:00:00 2001 From: kdletters <61648117+kdletters@users.noreply.github.com> Date: Sun, 4 Oct 2026 23:59:43 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E9=BD=90=E8=BF=90=E8=A1=8C=E6=80=81?= =?UTF-8?q?=E7=BB=88=E6=80=81=E9=94=99=E8=AF=AF=E6=AD=A3=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 保留 terminal-unknown 与原生分类后的连接状态和上游消息 新增客户端错误正文回归用例 --- .../src/features/agent-runtime/model.ts | 4 +-- .../tests/agentRuntimeModel.test.ts | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 apps/ai-game-creator-shell/tests/agentRuntimeModel.test.ts diff --git a/apps/ai-game-creator-shell/src/features/agent-runtime/model.ts b/apps/ai-game-creator-shell/src/features/agent-runtime/model.ts index 581b076b5..2f3c92b21 100644 --- a/apps/ai-game-creator-shell/src/features/agent-runtime/model.ts +++ b/apps/ai-game-creator-shell/src/features/agent-runtime/model.ts @@ -393,7 +393,7 @@ export function projectRuntimeVisibleError( } } if (visibleMessage.includes('codex-app-server-terminal-unknown:')) { - return `${subject}服务或网络在执行中断开,最终状态未知;请先检查项目文件是否已修改,再决定是否重试`; + return `${subject}服务或网络在执行中断开,最终状态未知;请先检查项目文件是否已修改,再决定是否重试${runtimeFailureDetail(message) ?? ''}`; } const directCodexDetail = directCodexFailureDetail(visibleMessage); if (directCodexDetail) { @@ -415,7 +415,7 @@ export function projectRuntimeVisibleError( !retryAttemptText || !maxRetriesText ) { - return `${subject} 执行失败,请稍后重试`; + return `${subject} 执行失败${runtimeFailureDetail(message) ?? ',请稍后重试'}`; } const httpStatus = Number.parseInt(httpStatusText, 10); const retryAttempt = Number.parseInt(retryAttemptText, 10); diff --git a/apps/ai-game-creator-shell/tests/agentRuntimeModel.test.ts b/apps/ai-game-creator-shell/tests/agentRuntimeModel.test.ts new file mode 100644 index 000000000..97c924321 --- /dev/null +++ b/apps/ai-game-creator-shell/tests/agentRuntimeModel.test.ts @@ -0,0 +1,27 @@ +import { describe, expect, it } from 'vitest'; + +import { projectRuntimeVisibleError } from '../src/features/agent-runtime/model'; + +describe('Agent Runtime 错误正文', () => { + it('终态未知时保留连接层的具体 detail', () => { + const text = projectRuntimeVisibleError( + 'codex-app-server-terminal-unknown: HTTP 503 upstream overloaded;https://provider.example/private', + '陶泥儿智能创作', + ); + + expect(text).toContain('HTTP 503'); + expect(text).toContain('upstream overloaded'); + expect(text).not.toContain('provider.example'); + }); + + it('原生分类映射不吞掉后续的状态和错误正文', () => { + const text = projectRuntimeVisibleError( + 'provider failed kind=codex-app-server-unauthorized status=401 detail=invalid token', + '陶泥儿智能创作', + ); + + expect(text).toContain('鉴权失败'); + expect(text).toContain('status=401'); + expect(text).toContain('detail=invalid token'); + }); +});