using ControlCenter.Api.Models;
namespace ControlCenter.Api.Repositories;
///
/// Repository interface for accessing and mutating Agent State.
/// Provides a clean abstraction over the EF Core data access layer.
///
public interface IAgentStateRepository
{
///
/// Retrieve all agent states.
///
Task> GetAllAsync(CancellationToken ct = default);
///
/// Retrieve a single agent state by its session key.
/// Returns null if no agent is found with the given session key.
///
Task GetBySessionKeyAsync(string sessionKey, CancellationToken ct = default);
///
/// Update the status of an agent by its primary key.
/// Returns true if the agent was found and updated, false otherwise.
///
Task UpdateStatusAsync(Guid id, string status, CancellationToken ct = default);
}