package com.unicorn.hgzero.stt.domain;

import lombok.Builder;
import lombok.Getter;
import lombok.ToString;

import java.time.LocalDateTime;

/**
 * 변환 세그먼트 도메인 모델
 * 음성 변환의 개별 세그먼트를 나타내는 도메인 객체
 */
@Getter
@Builder
@ToString
public class TranscriptSegment {
    
    /**
     * 세그먼트 ID
     */
    private final String segmentId;
    
    /**
     * 변환 텍스트 ID
     */
    private final String transcriptId;
    
    /**
     * 녹음 ID
     */
    private final String recordingId;
    
    /**
     * 변환된 텍스트
     */
    private final String text;
    
    /**
     * 화자 ID
     */
    private final String speakerId;
    
    /**
     * 화자 이름
     */
    private final String speakerName;
    
    /**
     * 타임스탬프 (ms)
     */
    private final Long timestamp;
    
    /**
     * 발언 시간 (초)
     */
    private final Double duration;
    
    /**
     * 신뢰도 점수 (0-1)
     */
    private final Double confidence;
    
    /**
     * 경고 플래그 (낮은 신뢰도)
     */
    private final Boolean warningFlag;
    
    /**
     * 청크 인덱스
     */
    private final Integer chunkIndex;
    
    /**
     * 생성 시간
     */
    private final LocalDateTime createdAt;
}