← All source files

V9 / fa079a940f8f

ScenarioBoundOperations.cs

Lilith/Core/Scenarios/ScenarioBoundOperations.cs

Changed in this version
CS
using Lilith.Core.Personality;
using Lilith.Core.WebResearch;

namespace Lilith.Core.Scenarios;

internal static class ScenarioBoundOperations
{
    internal static bool Known(string name) => WebOperations.Names.Contains(name) || PersonalityOperations.Names.Contains(name);
    internal static Task<string> ExecuteAsync(ProviderClient parent, ScenarioRunPlan plan, string name,
        IReadOnlyDictionary<string, string> inputs, CancellationToken ct)
    {
        ct.ThrowIfCancellationRequested();
        return PersonalityOperations.Names.Contains(name)
            ? Task.FromResult(PersonalityOperations.Execute(parent, name, inputs))
            : WebOperations.ExecuteAsync(plan.Browser, name, inputs, ct);
    }
}