package com.infoepoch.pms.agent.platform.chat.domain;

import lombok.Getter;

/**
 * @author jiangyz
 * @date 2026/4/18 10:54
 * 一个 thread 对应一个对话会话（sessionId）。
 * <p>
 * 由于沿用既有表结构，AI_GRAPHTHREAD.THREAD_NAME 物理列当前承载的是 sessionId。
 * 业务代码应按“thread -> session”的索引语义理解该字段，而不是按名称字面含义使用。
 * </p>
 */
@Getter
public class GraphThread {

    /**
     *
     */
    private String threadId;
    /**
     *
     */
    private String threadName;
    /**
     *
     */
    private Boolean released;

    /**
     * 私有无参构造
     */
    private GraphThread() {
    }

    /**
     * 仓储还原
     */
    public GraphThread(String threadId, String threadName, Boolean released) {
        this.threadId = threadId;
        this.threadName = threadName;
        this.released = released;
    }

    /**
     * 返回该线程所属的会话 ID。
     * <p>
     * 当前复用 AI_GRAPHTHREAD.THREAD_NAME 物理列存储 sessionId。
     * </p>
     *
     * @return 会话 ID
     */
    public String getSessionId() {
        return threadName;
    }

    /**
     * 校验
     */
    public void verify() {
    }
}
