import { collectedProductPayloadSchema } from '@atlas/contracts'; /** 先按共享契约校验采集载荷,失败时保留字段路径,不丢弃或截断真实 SKU。 */ export function validateCollectedPayload(payload: unknown) { const result = collectedProductPayloadSchema.safeParse(payload); if (result.success) return result.data; const details = result.error.issues.slice(0, 3).map((issue) => `${issue.path.join('.') || '采集数据'}:${issue.message}`, ); throw new Error(`采集数据不符合要求(${details.join(';')})`); }