namespace Nexus.Api.Services;

public sealed record AgentConfigFileInfo(string FileName, long Size, DateTime ModifiedAt);

public sealed record AgentConfigFileContent(string FileName, string Content, long Size, DateTime ModifiedAt);

public sealed record AgentConfigFileSaveResult(string FileName, long Size, DateTime ModifiedAt);

public interface IAgentConfigService
{
    IReadOnlyList<AgentConfigFileInfo> GetConfigFiles(string agentId);
    Task<AgentConfigFileContent?> GetConfigFileAsync(string agentId, string fileName, CancellationToken ct = default);
    Task<AgentConfigFileSaveResult?> SaveConfigFileAsync(string agentId, string fileName, string content, CancellationToken ct = default);
}
