/**
 * 领取页 UID 身份与后台摘要的共享类型（纯数据契约，无运行时依赖）。
 */

export type ClaimIdentity = {
  expectedUid: string
  submittedAt: string | null
  source: string
}

/** 领取页 / claim API 返回的 UID 身份（含 ready） */
export type ClaimIdentityPayload = ClaimIdentity & {
  ready: boolean
}

/** 后台任务详情中的 UID 兼容摘要 */
export type ClaimIdentityAdminSummary = ClaimIdentityPayload & {
  boundUid: string
  boundRoleName: string
  uidMatched: boolean | null
  compatibilityMode: 'uid' | 'legacy_no_uid'
  note: string
  /** 展示依据：shipped=发货快照；live=当前绑定 */
  displaySource: 'shipped' | 'live'
  shippedUid: string
  shippedRoleName: string
  shippedAt: string | null
}

/** context_json 中 claimIdentity 的宽松写入形态（兼容历史 uid 字段） */
export type ClaimIdentityContext = {
  expectedUid?: string
  submittedAt?: string | null
  source?: string
  /** @deprecated 历史字段，normalize 时映射到 expectedUid */
  uid?: string
}
