@using AIStudio.Settings @using AIStudio.Tools.ToolCallingSystem @inherits MSGComponentBase
@T("Tool Selection") @if (!this.SupportsTools) { @T("The selected provider or model does not support tool calling.") } else if (this.Disabled) { @T("Tool changes are locked while a response is running. Your current selection is shown below and applies again from the next message once the run is finished.") } else if (this.catalog.Count == 0) { @T("No tools are available in this context.") } @if (this.SupportsTools && this.catalog.Count > 0) { @foreach (var item in this.catalog) { var isSelected = this.SelectedToolIds.Contains(item.Definition.Id); var isConfigured = item.ConfigurationState.IsConfigured; var dependencyHint = this.GetDependencyHint(item.Definition.Id); @item.Implementation.GetDisplayName() @if (!isConfigured) { @(string.IsNullOrWhiteSpace(item.ConfigurationState.Message) ? T("Required settings are missing. Configure this tool before enabling it.") : item.ConfigurationState.Message) } @if (!string.IsNullOrWhiteSpace(dependencyHint)) { @dependencyHint } } } @T("Close")