Add a warning to the dynamic assistant

This commit is contained in:
nilsk 2026-03-24 14:56:58 +01:00
parent 69ae243903
commit ff6392885e
2 changed files with 15 additions and 2 deletions

View File

@ -1,4 +1,5 @@
@attribute [Route(Routes.ASSISTANT_DYNAMIC)]
@using AIStudio.Agents.AssistantAudit
@using AIStudio.Settings
@using AIStudio.Tools.PluginSystem.Assistants.DataModel
@using AIStudio.Tools.PluginSystem.Assistants.DataModel.Layout
@ -12,6 +13,15 @@
}
else
{
@if (this.audit is not null && this.audit.Level is not AssistantAuditLevel.SAFE)
{
<MudPaper Class="pa-4 ma-4" Elevation="0">
<MudAlert Severity="@this.audit.Level.GetSeverity()" Variant="Variant.Filled" Square="false" Elevation="6" Class="pa-4">
<strong>@this.audit.Level.GetName().ToUpperInvariant(): </strong>@this.audit.Summary
</MudAlert>
</MudPaper>
}
@foreach (var component in this.RootComponent.Children)
{
@this.RenderComponent(component)

View File

@ -39,6 +39,7 @@ public partial class AssistantDynamic : AssistantBaseCore<SettingsDialogDynamic>
private readonly HashSet<string> executingButtonActions = [];
private readonly HashSet<string> executingSwitchActions = [];
private string pluginPath = string.Empty;
private PluginAssistantAudit? audit;
private const string ASSISTANT_QUERY_KEY = "assistantId";
#region Implementation of AssistantBase
@ -62,6 +63,8 @@ public partial class AssistantDynamic : AssistantBaseCore<SettingsDialogDynamic>
this.allowProfiles = pluginAssistant.AllowProfiles;
this.showFooterProfileSelection = !pluginAssistant.HasEmbeddedProfileSelection;
this.pluginPath = pluginAssistant.PluginPath;
var pluginHash = pluginAssistant.ComputeAuditHash();
this.audit = this.SettingsManager.ConfigurationData.AssistantPluginAudits.FirstOrDefault(x => x.PluginId == pluginAssistant.Id && x.PluginHash == pluginHash);
var rootComponent = this.RootComponent;
if (rootComponent is not null)
@ -403,7 +406,7 @@ public partial class AssistantDynamic : AssistantBaseCore<SettingsDialogDynamic>
prompt.Append(this.CollectUserPromptFallback(component.Children));
}
}
return prompt.ToString();
return prompt.Append(Environment.NewLine).ToString();
}
}