namespace Nexus.Api.Services;

public sealed record DocFileInfo(
    string Name,
    string Path,
    string Category,
    string Type,
    long Size,
    DateTime ModifiedAt,
    string SourceAgentId,
    string WorkspacePath);

public sealed record DocFileContent(
    string Name,
    string Path,
    string Content,
    long Size,
    DateTime ModifiedAt,
    string SourceAgentId,
    string WorkspacePath);

public interface IDocService
{
    Task<IReadOnlyList<DocFileInfo>> GetAllAsync(
        string agentId = "iris",
        CancellationToken cancellationToken = default);
    Task<DocFileContent?> GetFileAsync(
        string path,
        string agentId = "iris",
        CancellationToken cancellationToken = default);
}
