package com.zioinfo.esn.rag;
import com.zioinfo.esn.common.ApiResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.security.core.Authentication;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* ESN 최신 AI 기법(중앙 guardia-rag) 배선 API — 별개 레이어, 테넌트 격리.
*
*
기존 {@code /api/ai/*}(AiController) 는 불변. 본 컨트롤러는 중앙 경유 신규 경로만 추가한다.
*
*
* - POST /api/ai/rag/analyze-alarm — ESL/HCore 알람 원인분석·우선순위(/agent+graph+structured)
* - POST /api/ai/rag/classify-pos — POS 데이터 자동 분류(/structured, 임계 미만 needsReview)
* - POST /api/ai/rag/feedback — 👍/👎 피드백(/rag/feedback, solution=esn 격리)
* - GET /api/ai/rag/toggles — 현재 테넌트 기법 토글 스냅샷
* - PUT /api/ai/rag/toggles/{key} — 테넌트 토글 변경(MANAGER+, esn_rag_setting 격리)
*
*
* 테넌트는 {@code X-Tenant-Code} 헤더 또는 {@code tenantCode} 바디 필드로 식별(없으면 기본).
*/
@RestController
@RequestMapping("/api/ai/rag")
@RequiredArgsConstructor
public class RagController {
private final RagAiService service;
@PostMapping("/analyze-alarm")
public ApiResponse