← All source files

V16 / 6df58cd3ed86

WorkspaceModels.cs

Lilith/Core/Workspace/WorkspaceModels.cs

Unchanged from the preceding version
CS
using Lilith.Core.Workspace.Extensions;

namespace Lilith.Core.Workspace;

public enum WorkspaceAccessMode { Ask, Yolo }
public sealed record WorkspaceOptions(string RootDirectory, WorkspaceAccessMode Mode = WorkspaceAccessMode.Ask)
{
    public static WorkspaceOptions Default => new(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Lilith", "Workspace"));
}
public sealed record WorkspaceRequest(string Operation, string Path = "", string Content = "", string Destination = "", string Query = "", string BinId = "", int Offset = 0);
public sealed record WorkspaceResult(string Status, string Message, string? ProposalId = null, object? Data = null)
{
    public string ToReply() => this.FormatReply();
}
public sealed record WorkspaceProposal(string Id, WorkspaceRequest Request, string Before, DateTimeOffset CreatedAt);