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;