using SVSim.BattleNode.Bridge;
namespace SVSim.EmulatedEntrypoint.Matching;
///
/// Picks a bot opponent for an incoming AI rank battle. Used by
/// RankBattleController.AiStart to compose oppo_info.
///
///
/// Backed by the BotRoster table (seeded from
/// SVSim.Bootstrap/Data/seeds/bot-roster.json). Edit the seed + re-run
/// SVSim.Bootstrap to change the pool without recompiling.
///
public interface IBotRoster
{
///
/// Returns a bot profile. Deterministic per so a
/// mid-flight retry of /ai_<fmt>/start picks the same opponent,
/// but different battles get different bots.
///
Task PickAsync(MatchContext selfCtx, string battleId, CancellationToken ct = default);
}