namespace CursorLang.Core.Models; /// /// A file attached to a release. /// /// The name the file is saved to disk under. /// A direct link to the content. /// The size in bytes; zero when the hosting did not report it. public sealed record ReleaseAsset(string FileName, Uri Url, long Size); /// /// A release found in the repository. /// /// The version parsed from the tag. /// The tag as is — that is what the interface shows. /// The release page: the release notes live there too. /// The MSIX package the application updates itself with. public sealed record ReleaseInfo(Version Version, string Tag, Uri? PageUrl, ReleaseAsset Package);