import * as v from 'valibot' /** * 统一错误形状:全 API 失败响应同形。 * `code` 与 `retryable` 的语义与各能力包的结构化错误(如 `TtsError`)对齐, * 前端可一套分支处理全部失败(401 / 限流 / 校验失败等)。 * @typedef {{ * error: { code: string, message: string, retryable: boolean, details?: object } * }} ApiErrorT */ export const ApiError = v.object({ error: v.object({ code: v.string(), message: v.string(), retryable: v.boolean(), details: v.optional(v.record(v.string(), v.unknown())), }), })