package com.agent.management.repository;

import com.agent.management.model.entity.ChatMessageLog;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * Agent 对话消息日志 Repository。
 *
 * <p>对应设计文档 §4.3.3。承载思考过程日志的写入与回放。</p>
 */
@Repository
public interface ChatMessageLogRepository extends JpaRepository<ChatMessageLog, Long> {

    /** 按消息取所有日志（按 seq 排序），可映射为 ExecutionLog[] 给前端回放 */
    List<ChatMessageLog> findByMessageIdOrderBySeqAsc(Long messageId);

    /** 按 kind 筛选（如仅取 tool_call） */
    List<ChatMessageLog> findByMessageIdAndKindOrderBySeqAsc(Long messageId, String kind);

    /** 取某消息最大 seq（追加新日志时用） */
    long countByMessageId(Long messageId);
}
