using System.Collections.Generic;
using RudderSdk.Core.Models;
namespace RudderSdk.Core;
/// Snapshot of one running scenario plan.
public sealed class PlanRun
{
internal PlanRun(
string runId,
string planId,
string scenarioId,
string userId,
IReadOnlyList activeNodeIds,
ExecutionPlan plan)
{
RunId = runId;
PlanId = planId;
ScenarioId = scenarioId;
UserId = userId;
ActiveNodeIds = activeNodeIds;
Plan = plan;
}
/// Server-issued run id.
public string RunId { get; }
/// Plan id.
public string PlanId { get; }
/// Scenario id.
public string ScenarioId { get; }
/// Player the run belongs to.
public string UserId { get; }
/// Ids of the currently active nodes.
public IReadOnlyList ActiveNodeIds { get; }
/// The execution plan being run.
public ExecutionPlan Plan { get; }
}