namespace BotSharp.Abstraction.Agents.Models; public class AgentUtility { public string Name { get; set; } public bool Disabled { get; set; } [JsonPropertyName("visibility_expression")] [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? VisibilityExpression { get; set; } public IEnumerable Functions { get; set; } = []; public IEnumerable Templates { get; set; } = []; public AgentUtility() { } public AgentUtility( string name, IEnumerable? functions = null, IEnumerable? templates = null) { Name = name; Functions = functions ?? []; Templates = templates ?? []; } public override string ToString() { return Name; } } public class UtilityFunction : UtilityBase { public UtilityFunction() { } public UtilityFunction(string name) { Name = name; } } public class UtilityTemplate : UtilityBase { public UtilityTemplate() { } public UtilityTemplate(string name) { Name = name; } } public class UtilityBase { public string Name { get; set; } }