up
This commit is contained in:
@@ -1304,10 +1304,60 @@ internal static class CommandFactory
|
||||
cancellationToken);
|
||||
});
|
||||
|
||||
var batchOptions = CreateAdvisoryOptions();
|
||||
var batchKeys = new Argument<string[]>("advisory-keys")
|
||||
{
|
||||
Description = "One or more advisory identifiers.",
|
||||
Arity = ArgumentArity.OneOrMore
|
||||
};
|
||||
var batch = new Command("batch", "Run Advisory AI over multiple advisories with a single invocation.");
|
||||
batch.Add(batchKeys);
|
||||
batch.Add(batchOptions.Output);
|
||||
batch.Add(batchOptions.AdvisoryKey);
|
||||
batch.Add(batchOptions.ArtifactId);
|
||||
batch.Add(batchOptions.ArtifactPurl);
|
||||
batch.Add(batchOptions.PolicyVersion);
|
||||
batch.Add(batchOptions.Profile);
|
||||
batch.Add(batchOptions.Sections);
|
||||
batch.Add(batchOptions.ForceRefresh);
|
||||
batch.Add(batchOptions.TimeoutSeconds);
|
||||
batch.Add(batchOptions.Format);
|
||||
batch.SetAction((parseResult, _) =>
|
||||
{
|
||||
var advisoryKeys = parseResult.GetValue(batchKeys) ?? Array.Empty<string>();
|
||||
var artifactId = parseResult.GetValue(batchOptions.ArtifactId);
|
||||
var artifactPurl = parseResult.GetValue(batchOptions.ArtifactPurl);
|
||||
var policyVersion = parseResult.GetValue(batchOptions.PolicyVersion);
|
||||
var profile = parseResult.GetValue(batchOptions.Profile) ?? "default";
|
||||
var sections = parseResult.GetValue(batchOptions.Sections) ?? Array.Empty<string>();
|
||||
var forceRefresh = parseResult.GetValue(batchOptions.ForceRefresh);
|
||||
var timeoutSeconds = parseResult.GetValue(batchOptions.TimeoutSeconds) ?? 120;
|
||||
var outputFormat = ParseAdvisoryOutputFormat(parseResult.GetValue(batchOptions.Format));
|
||||
var outputDirectory = parseResult.GetValue(batchOptions.Output);
|
||||
var verbose = parseResult.GetValue(verboseOption);
|
||||
|
||||
return CommandHandlers.HandleAdviseBatchAsync(
|
||||
services,
|
||||
AdvisoryAiTaskType.Summary,
|
||||
advisoryKeys,
|
||||
artifactId,
|
||||
artifactPurl,
|
||||
policyVersion,
|
||||
profile,
|
||||
sections,
|
||||
forceRefresh,
|
||||
timeoutSeconds,
|
||||
outputFormat,
|
||||
outputDirectory,
|
||||
verbose,
|
||||
cancellationToken);
|
||||
});
|
||||
|
||||
advise.Add(run);
|
||||
advise.Add(summarize);
|
||||
advise.Add(explain);
|
||||
advise.Add(remediate);
|
||||
advise.Add(batch);
|
||||
return advise;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user