package com.vincent.rsf.server.ai.service.impl.chat;
|
|
import com.vincent.rsf.server.ai.dto.AiChatMemoryDto;
|
import com.vincent.rsf.server.ai.dto.AiChatModelOptionDto;
|
import com.vincent.rsf.server.ai.dto.AiChatRuntimeDto;
|
import com.vincent.rsf.server.ai.dto.AiResolvedConfig;
|
import org.springframework.stereotype.Component;
|
|
import java.util.List;
|
|
@Component
|
public class AiChatRuntimeAssembler {
|
|
public AiChatRuntimeDto buildRuntimeSnapshot(String requestId, Long sessionId, AiResolvedConfig config,
|
List<AiChatModelOptionDto> modelOptions, Integer mountedMcpCount,
|
List<String> mountedMcpNames, List<String> mountErrors,
|
AiChatMemoryDto memory) {
|
return AiChatRuntimeDto.builder()
|
.requestId(requestId)
|
.sessionId(sessionId)
|
.aiParamId(config.getAiParam().getId())
|
.promptCode(config.getPromptCode())
|
.promptName(config.getPrompt().getName())
|
.model(config.getAiParam().getModel())
|
.modelOptions(modelOptions)
|
.configuredMcpCount(config.getMcpMounts().size())
|
.mountedMcpCount(mountedMcpCount)
|
.mountedMcpNames(mountedMcpNames)
|
.mountErrors(mountErrors)
|
.memorySummary(memory.getMemorySummary())
|
.memoryFacts(memory.getMemoryFacts())
|
.recentMessageCount(memory.getRecentMessageCount())
|
.persistedMessages(memory.getPersistedMessages())
|
.build();
|
}
|
}
|