namespace backend.Tools; public class ToolRegistry { private readonly Dictionary _byName; private readonly List _all; public ToolRegistry(IEnumerable tools) { _all = tools.ToList(); _byName = _all.ToDictionary(t => t.Name); } public IReadOnlyList All => _all; public ITool? Get(string name) => _byName.GetValueOrDefault(name); public IEnumerable EnabledFor(IReadOnlySet enabled) => _all.Where(t => enabled.Contains(t.Name)); }