package com.arms.api.aichat.constant;

/**
 * AI Chat 모듈에서 사용하는 Redis Key 상수 정의
 */
public final class AiChatRedisKeys {

    private static final String PREFIX = "ai:chat:";

    /*
    * Room관련 (대화방)
    * chat으로 네임스페이스를 지정하지 않은 이유는 PREFIX에서 이미 chat을 사용하고있어 room으로 지정
    * */
    public static final String ROOM_INFO = PREFIX + "room:%s";
    public static final String DEFAULT_ROOM_LIST = PREFIX + "rooms:default:%s";

    // Message 관련
    public static final String MESSAGE_LIST = PREFIX + "messages:%s";

    // 추천 카드 관련 (메인 카드 영역)
    public static final String RECOMMENDED_CARDS = PREFIX + "recommended-cards";

    // 마지막 선택 관련 (pdService, pdServiceVersion)
    public static final String LAST_SELECTION = PREFIX + "last-selection:%s";

    // RAG 문서 관련 (roomId별 최근 검색 결과)
    public static final String ROOM_RAG_DOCS = PREFIX + "room-rag:%s";

    // TTL
    public static final long TTL_DAYS = 30;

    // 대화방 최대 메시지 수 (10번 주고받기 = user 10 + assistant 10)
    public static final long MAX_MESSAGES = 20;

    // 전체 히스토리 최대 개수
    public static final long MAX_HISTORY = 10;

    private AiChatRedisKeys() {
    }
}
