@using AIStudio.Tools.ToolCallingSystem @using AIStudio.Tools.PluginSystem @inherits SettingsDialogBase @T("Export tool configuration") @if (this.IsAdmin) { @if (!string.IsNullOrWhiteSpace(this.message)) { @this.message } @if (this.isLoading) { @T("Loading tool configuration...") } else if (this.toolDefinition is null || this.implementation is null) { @if (string.IsNullOrWhiteSpace(this.message)) { @T("The selected tool could not be loaded.") } } else { @this.implementation.GetDisplayName() @T("Export saved settings as Lua code for your configuration plugin. You can combine exports and adapt the code before deploying it.") @if (this.areas.Count > 0) { @T("Settings to include") @if (this.areas.Count > 1) { } @foreach (var area in this.areas) { } @T("Each area is independent. Select general settings separately if you want to include them.") } @T("Locked settings") @T("Editable defaults") @if (this.WarnAboutEmptyLockedSettings) { @string.Format(T("{0} of the selected settings are empty and are exported as empty locked values. Users cannot change a locked setting, so an empty required one leaves the tool unusable. Deselect the areas you have not configured, or export them as editable defaults."), this.EmptySelectedFieldCount) } @if (PluginFactory.EnterpriseEncryption?.IsAvailable is not true) { @T("No enterprise encryption secret is configured. API keys and other secrets cannot be exported.") } else if (!this.HasSelectedSecrets) { @T("The selected areas contain no configured API keys or other secrets.") } else { @T("Secrets are always exported as locked settings. Recipients need the same enterprise encryption secret to use them.") } @string.Format(T("Current requirement: {0}"), this.GetMinimumProviderConfidenceName()) @T("This setting is always locked and applies to the entire tool. The configuration plugin locks minimum provider confidence levels together for all tools in its confidence table.") } } @T("Cancel") @T("Export to clipboard")