-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRunPipelineCommandSettings.cs
More file actions
40 lines (31 loc) · 1.33 KB
/
RunPipelineCommandSettings.cs
File metadata and controls
40 lines (31 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using System.ComponentModel;
using Spectre.Console;
using Spectre.Console.Cli;
namespace CodeGenesis.Engine.Cli;
public sealed class RunPipelineCommandSettings : CommandSettings
{
[CommandArgument(0, "<file>")]
[Description("Path to the YAML pipeline configuration file")]
public string File { get; set; } = "";
[CommandOption("-i|--input <INPUT>")]
[Description("Input override in key=value format (repeatable)")]
public string[]? Input { get; set; }
[CommandOption("-d|--directory")]
[Description("Working directory for the pipeline (defaults to current directory)")]
public string? Directory { get; set; }
[CommandOption("-m|--model")]
[Description("Claude model override (e.g. claude-sonnet-4-6)")]
public string? Model { get; set; }
[CommandOption("--resume")]
[Description("Resume from the last checkpoint (skips completed steps)")]
public bool Resume { get; set; }
[CommandOption("--from-step <STEP>")]
[Description("Resume from a specific step name (re-executes that step and all following)")]
public string? FromStep { get; set; }
public override ValidationResult Validate()
{
if (Resume && FromStep is not null)
return ValidationResult.Error("--resume and --from-step are mutually exclusive.");
return ValidationResult.Success();
}
}