package cn.nianxx.thhotel.platform.debug.common.dto;

import java.time.LocalDateTime;

/**
 * Debug EML 运行快照，用于 Service 返回或后续查询，不暴露数据库 Entity。
 *
 * @param id Debug 运行 ID
 * @param hotelId 酒店或业务上下文 ID
 * @param runStatus 当前运行状态
 * @param sourceMessageId 关联的内部 SourceMessage ID
 * @param externalMessageId Debug 外部邮件 ID
 * @param externalConversationId Debug 外部会话 ID
 * @param originalFileName 原始 EML 安全文件名
 * @param originalEmlOssUrl 原始 EML OSS URL
 * @param originalEmlSha256 原始 EML SHA-256
 * @param payloadJson 发送给 SuperAgent 的 AgentBus Outlook-like 主 payload
 * @param superagentSessionId SuperAgent session ID
 * @param superagentRunId SuperAgent run ID
 * @param superagentProfileId SuperAgent profile ID
 * @param superagentProfileVersionId SuperAgent profile version ID
 * @param superagentModelName SuperAgent 模型名称
 * @param superagentRawAnswer SuperAgent 最终原始回答
 * @param superagentParsedJson 后端解析出的 SuperAgent JSON 文本
 * @param superagentInputTokens SuperAgent 输入 token 数
 * @param superagentOutputTokens SuperAgent 输出 token 数
 * @param superagentTotalTokens SuperAgent 总 token 数
 * @param safeErrorSummary 安全错误摘要
 * @param createdAt 创建 UTC 时间
 * @param updatedAt 更新 UTC 时间
 */
public record DebugEmlSuperAgentRunSnapshot(
        Long id,
        String hotelId,
        String runStatus,
        Long sourceMessageId,
        String externalMessageId,
        String externalConversationId,
        String originalFileName,
        String originalEmlOssUrl,
        String originalEmlSha256,
        String payloadJson,
        String superagentSessionId,
        String superagentRunId,
        String superagentProfileId,
        String superagentProfileVersionId,
        String superagentModelName,
        String superagentRawAnswer,
        String superagentParsedJson,
        Integer superagentInputTokens,
        Integer superagentOutputTokens,
        Integer superagentTotalTokens,
        String safeErrorSummary,
        LocalDateTime createdAt,
        LocalDateTime updatedAt
) {
}
