← All source files

V18 / 8d896b8a86e5

ProjectDraftModels.cs

Lilith/Core/Projects/ProjectDraftModels.cs

Unchanged from the preceding version
CS
namespace Lilith.Core.Projects;

public sealed record ProjectEdit(string Action, string Path, string? Content = null, string? Destination = null, string? Old = null);
public sealed record ProjectEditSet(ProjectEdit[] Changes);
[System.Text.Json.Serialization.JsonConverter(typeof(ProjectTestActionConverter))]
public sealed record ProjectTestAction(string Type, string Selector = "", string Value = "", int Width = 0, int Height = 0);
public sealed record ProjectTestCase(string Id, string Requirement, string Stdin = "", string[]? Contains = null,
    string[]? NotContains = null, int ExitCode = 0, ProjectTestAction[]? Actions = null);
public sealed record ProjectTestPlan(ProjectTestCase[] Cases);
public sealed record ProjectCaseResult(string Id, string Status, string Expected, string Actual);
public sealed record ProjectRuntimeReport(bool Passed, string SourceHash, string PlanHash, ProjectCaseResult[] Cases, string[] Errors, string Evidence);
public sealed record ProjectDraft(int SchemaVersion, string Id, string Name, string Kind, string Prd, string Request,
    ProjectArchitecture Architecture, ProjectSource[] Files, string? OriginalSignature, string[] OriginalManagedPaths,
    ProjectTestCase[] Tests, int Revision, string State, int Rounds, ProjectRuntimeReport? Runtime,
    string SourceReview = "Not reviewed", string? ProposalId = null);
public sealed record ProjectUpdateBundle(ProjectBundle Bundle, string[] OriginalManagedPaths);