using System;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace CommanderAILab.Models
{
/// Maps to StartResponse from /api/lab/start.
[Serializable]
public class SimStartResponse
{
[JsonProperty("batchId")] public string batchId;
[JsonProperty("status")] public string status;
[JsonProperty("message")] public string message;
public override string ToString() => $"Batch {batchId}: {status}";
}
/// Maps to StatusResponse from /api/lab/status/{id}.
[Serializable]
public class SimStatusModel
{
[JsonProperty("batchId")] public string batchId;
[JsonProperty("running")] public bool running;
[JsonProperty("completed")] public int completed;
[JsonProperty("total")] public int total;
[JsonProperty("threads")] public int threads;
[JsonProperty("elapsedMs")] public int elapsedMs;
[JsonProperty("error")] public string error;
[JsonProperty("simsPerSec")] public float simsPerSec;
[JsonProperty("run_id")] public string runId;
[JsonProperty("games_completed")] public int gamesCompleted;
[JsonProperty("total_games")] public int totalGames;
[JsonProperty("current_decks")] public List currentDecks;
public override string ToString() => $"Batch {batchId}: {completed}/{total} ({(running ? "running" : "done")})";
}
}