package com.vincent.rsf.server.ai.service; import com.vincent.rsf.server.ai.model.AiChatMessage; import com.vincent.rsf.server.ai.model.AiChatSession; import java.util.List; public interface AiSessionService { List listSessions(Long tenantId, Long userId); AiChatSession createSession(Long tenantId, Long userId, String title, String modelCode); AiChatSession ensureSession(Long tenantId, Long userId, String sessionId, String modelCode); AiChatSession getSession(Long tenantId, Long userId, String sessionId); AiChatSession renameSession(Long tenantId, Long userId, String sessionId, String title); void removeSession(Long tenantId, Long userId, String sessionId); List listMessages(Long tenantId, Long userId, String sessionId); List listContextMessages(Long tenantId, Long userId, String sessionId, int maxCount); AiChatMessage appendMessage(Long tenantId, Long userId, String sessionId, String role, String content, String modelCode); void clearStopFlag(String sessionId); void requestStop(String sessionId); boolean isStopRequested(String sessionId); }