package com.unicorn.hgzero.ai.biz.gateway;

import java.util.List;

/**
 * LLM Gateway 인터페이스
 * OpenAI API 연동을 추상화
 */
public interface LlmGateway {

    /**
     * 회의록 자동 작성 (LLM 기반)
     *
     * @param transcriptText STT 변환 텍스트
     * @param title 회의 제목
     * @param participants 참석자 목록
     * @param agenda 회의 안건
     * @return LLM 생성 회의록 (JSON 형식)
     */
    String generateTranscript(String transcriptText, String title, List<String> participants, List<String> agenda);

    /**
     * Todo 추출 (LLM 기반)
     *
     * @param minutesContent 회의록 내용
     * @return 추출된 Todo JSON
     */
    String extractTodos(String minutesContent);

    /**
     * 섹션 요약 생성 (LLM 기반)
     *
     * @param sectionContent 섹션 내용
     * @param meetingContext 회의 맥락
     * @return 생성된 요약 (2-3문장)
     */
    String generateSummary(String sectionContent, String meetingContext);

    /**
     * 전문용어 감지 (LLM 기반)
     *
     * @param text 분석할 텍스트
     * @param organizationId 조직 ID
     * @return 감지된 용어 JSON
     */
    String detectTerms(String text, String organizationId);

    /**
     * 논의사항 제안 (LLM 기반)
     *
     * @param transcriptText 현재 회의록 텍스트
     * @param agenda 회의 안건
     * @return 논의사항 제안 JSON
     */
    String suggestDiscussions(String transcriptText, List<String> agenda);

    /**
     * 결정사항 제안 (LLM 기반)
     *
     * @param transcriptText 현재 회의록 텍스트
     * @return 결정사항 제안 JSON
     */
    String suggestDecisions(String transcriptText);
}
