package com.vincent.rsf.server.ai.service.impl;
|
|
import com.vincent.rsf.server.ai.config.AiDefaults;
|
import com.vincent.rsf.server.ai.dto.AiResolvedConfig;
|
import com.vincent.rsf.server.ai.service.AiConfigResolverService;
|
import com.vincent.rsf.server.ai.service.AiMcpMountService;
|
import com.vincent.rsf.server.ai.service.AiParamService;
|
import com.vincent.rsf.server.ai.service.AiPromptService;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.StringUtils;
|
|
@Service
|
@RequiredArgsConstructor
|
public class AiConfigResolverServiceImpl implements AiConfigResolverService {
|
|
private final AiParamService aiParamService;
|
private final AiPromptService aiPromptService;
|
private final AiMcpMountService aiMcpMountService;
|
|
@Override
|
public AiResolvedConfig resolve(String promptCode) {
|
String finalPromptCode = StringUtils.hasText(promptCode) ? promptCode : AiDefaults.DEFAULT_PROMPT_CODE;
|
return AiResolvedConfig.builder()
|
.promptCode(finalPromptCode)
|
.aiParam(aiParamService.getActiveParam())
|
.prompt(aiPromptService.getActivePrompt(finalPromptCode))
|
.mcpMounts(aiMcpMountService.listActiveMounts())
|
.build();
|
}
|
}
|