package com.gzzm.lobster.runtime;

import com.gzzm.lobster.common.RunExitReason;

/**
 * RunResult —— 一次执行的结果 / Result of a run.
 */
public final class RunResult {

    private final String runId;
    private final String threadId;
    private final int turns;
    private final String lastAssistantText;
    private final RunExitReason exitReason;
    private final String pendingRequestId;

    public RunResult(String runId, String threadId, int turns, String lastAssistantText,
                     RunExitReason exitReason, String pendingRequestId) {
        this.runId = runId;
        this.threadId = threadId;
        this.turns = turns;
        this.lastAssistantText = lastAssistantText;
        this.exitReason = exitReason;
        this.pendingRequestId = pendingRequestId;
    }

    public String getRunId() { return runId; }
    public String getThreadId() { return threadId; }
    public int getTurns() { return turns; }
    public String getLastAssistantText() { return lastAssistantText; }
    public RunExitReason getExitReason() { return exitReason; }
    public String getPendingRequestId() { return pendingRequestId; }
}
