namespace Nexus.Api.Services;

public sealed record IncidentSummary(
    string Name,
    string Title,
    string? Date,
    string Severity,
    string Excerpt,
    long Size,
    string SourceAgentId,
    string WorkspacePath);

public sealed record IncidentDetail(
    string Name,
    string Title,
    string? Date,
    string Content,
    long Size,
    string SourceAgentId,
    string WorkspacePath);

public interface IIncidentService
{
    Task<IReadOnlyList<IncidentSummary>> GetAllAsync(
        string agentId = "iris",
        CancellationToken cancellationToken = default);
    Task<IncidentDetail?> GetByNameAsync(
        string name,
        string agentId = "iris",
        CancellationToken cancellationToken = default);
}
