namespace Nexus.Api.Services;

public sealed record MemoryFileInfo(string Name, string Path, long Size, DateTime ModifiedAt);

public sealed record MemoryFileContent(string Name, string Path, string Content, long Size, DateTime ModifiedAt);

public sealed record MemorySearchResult(string Name, string Path, string Excerpt, long Size);

public interface IMemoryService
{
    Task<IReadOnlyList<MemoryFileInfo>> GetAllAsync();
    Task<IReadOnlyList<MemorySearchResult>> SearchAsync(string query);
    Task<MemoryFileContent?> GetFileAsync(string name);
}
