From 90d37481a4a086365a276432e1cb911342a88a34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Thu, 1 Oct 2026 16:06:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E9=87=8A=E6=BE=84=E6=B8=85=E8=AE=A4?= =?UTF-8?q?=E8=AF=81=E9=94=99=E8=AF=AF=E5=BD=A2=E7=8A=B6=E8=AF=BB=E5=8F=96?= =?UTF-8?q?=E4=B8=8D=E6=A0=A1=E9=AA=8C=20status=20=E6=98=AF=E6=9C=89?= =?UTF-8?q?=E6=84=8F=E4=B8=BA=E4=B9=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - isClientAuthError 文档写明 status 故意不校验:无调用方读它,纳入校验会把可用文案换成兜底文案 - 需要 status 参与判断时先补校验再用 --- apps/ai-game-creator-shell/src/services/clientAuthError.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/ai-game-creator-shell/src/services/clientAuthError.ts b/apps/ai-game-creator-shell/src/services/clientAuthError.ts index 94797fd16..1ac31eaa0 100644 --- a/apps/ai-game-creator-shell/src/services/clientAuthError.ts +++ b/apps/ai-game-creator-shell/src/services/clientAuthError.ts @@ -8,6 +8,11 @@ export type { ClientAuthError }; * * 不在名单里的 `type` 也算"形状合法":新变体会落到 [`clientAuthErrorKind`] 的 `fault`, * 由调用方交给错误池——这是故意的,见 ADR 的"未识别变体上调"。 + * + * **`status` 故意不校验**:`authServiceUnavailable` / `unexpectedRejection` 在生成类型里带必填 + * `status`,但全仓没有调用方读它(这两个变体只走 `fault` 分支显示 `message`)。把 `status` + * 纳入校验只会让"缺 `status` 但 `message` 可用"的拒绝落回非结构化分支,把 Rust 的文案换成 + * 调用方兜底文案——诊断信息更少、行为更差。将来真要用 `status` 做判断时,先补校验再用。 */ export function isClientAuthError(value: unknown): ClientAuthError | null { if (!value || typeof value !== 'object') return null;