mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-09-13 16:33:37 +00:00
Co-authored-by: krut_ni <nils.kruthoff@dlr.de> Co-authored-by: Thorsten Sommer <SommerEngineering@users.noreply.github.com>
21 lines
726 B
C#
21 lines
726 B
C#
namespace AIStudio.Tools.ToolCallingSystem;
|
|
|
|
public sealed class ToolVisibilityDefinition
|
|
{
|
|
public bool Chat { get; init; } = true;
|
|
|
|
public bool Assistants { get; init; } = true;
|
|
|
|
public List<Components> AllowedComponents { get; init; } = [];
|
|
|
|
public List<Components> DeniedComponents { get; init; } = [];
|
|
|
|
public bool IsVisibleIn(Components component)
|
|
{
|
|
if (this.AllowedComponents.Count == 0 && this.DeniedComponents.Count == 0)
|
|
return component is Components.CHAT ? this.Chat : this.Assistants;
|
|
|
|
var isAllowed = this.AllowedComponents.Count == 0 || this.AllowedComponents.Contains(component);
|
|
return isAllowed && !this.DeniedComponents.Contains(component);
|
|
}
|
|
} |