included the BuildPrompt method into the Audit dialog

This commit is contained in:
nilsk 2026-03-27 01:51:40 +01:00
parent c4f65a4bba
commit 6933a19df7
7 changed files with 80 additions and 19 deletions

View File

@ -110,8 +110,19 @@ public sealed class AssistantAuditAgent(ILogger<AssistantAuditAgent> logger, ILo
logger.LogInformation($"The assistant plugin audit agent uses the provider '{provider.InstanceName}' ({provider.UsedLLMProvider.ToName()}, confidence={provider.UsedLLMProvider.GetConfidence(this.SettingsManager).Level.GetName()})."); logger.LogInformation($"The assistant plugin audit agent uses the provider '{provider.InstanceName}' ({provider.UsedLLMProvider.ToName()}, confidence={provider.UsedLLMProvider.GetConfidence(this.SettingsManager).Level.GetName()}).");
var promptPreview = await plugin.BuildAuditPromptPreviewAsync(token); var promptPreview = await plugin.BuildAuditPromptPreviewAsync(token);
var promptFallbackPreview = plugin.BuildAuditPromptFallbackPreview();
var luaManifest = FormatLuaManifest(plugin.ReadAllLuaFiles()); var luaManifest = FormatLuaManifest(plugin.ReadAllLuaFiles());
var componentOverview = plugin.CreateAuditComponentSummary(); var componentOverview = plugin.CreateAuditComponentSummary();
var promptMechanism = plugin.HasCustomPromptBuilder ? "BuildPrompt (active) with UserPrompt fallback also shown for reference" : "UserPrompt fallback";
var promptFallbackSection = plugin.HasCustomPromptBuilder
? $$"""
UserPrompt fallback preview (reference only, not the active prompt path):
```
{{promptFallbackPreview}}
```
"""
: string.Empty;
var userPrompt = $$""" var userPrompt = $$"""
Audit this assistant plugin for concrete security risks. Audit this assistant plugin for concrete security risks.
Only report findings that are supported by the provided material. Only report findings that are supported by the provided material.
@ -128,11 +139,16 @@ public sealed class AssistantAuditAgent(ILogger<AssistantAuditAgent> logger, ILo
{{plugin.RawSystemPrompt}} {{plugin.RawSystemPrompt}}
``` ```
Simulated user prompt preview: Active prompt construction method:
{{promptMechanism}}
Effective user prompt preview:
``` ```
{{promptPreview}} {{promptPreview}}
``` ```
{{promptFallbackSection}}
Component overview (compact structure summary): Component overview (compact structure summary):
``` ```
{{componentOverview}} {{componentOverview}}

View File

@ -2938,6 +2938,9 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T701874671"] = "Delete Worksp
-- Entries: {0} -- Entries: {0}
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1098127509"] = "Entries: {0}" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1098127509"] = "Entries: {0}"
-- User Prompt Preview
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1184162672"] = "User Prompt Preview"
-- {0:0.##} GB -- {0:0.##} GB
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1224874808"] = "{0:0.##} GB" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1224874808"] = "{0:0.##} GB"
@ -2983,6 +2986,9 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T165738710"] = "
-- Enable Assistant Plugin -- Enable Assistant Plugin
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1676241565"] = "Enable Assistant Plugin" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1676241565"] = "Enable Assistant Plugin"
-- User Prompt
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1700917692"] = "User Prompt"
-- Unknown plugin -- Unknown plugin
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1834795216"] = "Unknown plugin" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1834795216"] = "Unknown plugin"
@ -3019,8 +3025,8 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3156437951"] =
-- Findings -- Findings
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3224848879"] = "Findings" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3224848879"] = "Findings"
-- {0} | Last modified {1} -- Advanced Prompt Building
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3350447013"] = "{0} | Last modified {1}" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3399544173"] = "Advanced Prompt Building"
-- The assistant plugin \"{0}\" was audited with the level \"{1}\", which is below the required safety level \"{2}\". Your current settings still allow activation, but this may be unsafe. Do you really want to enable this plugin? -- The assistant plugin \"{0}\" was audited with the level \"{1}\", which is below the required safety level \"{2}\". Your current settings still allow activation, but this may be unsafe. Do you really want to enable this plugin?
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3418077666"] = "The assistant plugin \\\"{0}\\\" was audited with the level \\\"{1}\\\", which is below the required safety level \\\"{2}\\\". Your current settings still allow activation, but this may be unsafe. Do you really want to enable this plugin?" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3418077666"] = "The assistant plugin \\\"{0}\\\" was audited with the level \\\"{1}\\\", which is below the required safety level \\\"{2}\\\". Your current settings still allow activation, but this may be unsafe. Do you really want to enable this plugin?"
@ -3055,8 +3061,8 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3844960449"] =
-- empty -- empty
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T413646574"] = "empty" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T413646574"] = "empty"
-- Prompt Preview -- Fallback Prompt
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T576347259"] = "Prompt Preview" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T4229995215"] = "Fallback Prompt"
-- System Prompt -- System Prompt
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T628396066"] = "System Prompt" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T628396066"] = "System Prompt"

View File

@ -14,8 +14,8 @@
{ {
<MudStack Spacing="2"> <MudStack Spacing="2">
<MudAlert Severity="Severity.Info" Dense="true"> <MudAlert Severity="Severity.Info" Dense="true">
@T("This security check uses a sample prompt preview. Empty or placeholder values in the preview are expected.") @T("This security check uses a sample prompt preview. Empty or placeholder values in the preview are expected.")
</MudAlert> </MudAlert>
<MudPaper Class="pa-3 border-dashed border rounded-lg"> <MudPaper Class="pa-3 border-dashed border rounded-lg">
<MudText Typo="Typo.h6">@this.plugin.Name</MudText> <MudText Typo="Typo.h6">@this.plugin.Name</MudText>
@ -44,11 +44,28 @@
<TitleContent> <TitleContent>
<div class="d-flex"> <div class="d-flex">
<MudIcon Icon="@Icons.Material.Filled.Preview" class="mr-3" Color="Color.Primary"></MudIcon> <MudIcon Icon="@Icons.Material.Filled.Preview" class="mr-3" Color="Color.Primary"></MudIcon>
<MudText>@T("Prompt Preview")</MudText> <MudText>@T("User Prompt Preview")</MudText>
</div> </div>
</TitleContent> </TitleContent>
<ChildContent> <ChildContent>
<MudTextField T="string" Text="@this.promptPreview" ReadOnly="true" Variant="Variant.Outlined" Lines="8" Class="mt-2"/> <MudAlert Severity="Severity.Info"></MudAlert>
@{
var promptBuilder = this.plugin.HasCustomPromptBuilder;
var sortDirection = promptBuilder ? SortDirection.Ascending : SortDirection.Descending;
var badgeColor = promptBuilder ? Color.Success : Color.Error;
var fallbackBadgeColor = !promptBuilder ? Color.Success : Color.Error;
var fallbackText = promptBuilder ? T("Fallback Prompt") : T("User Prompt");
<MudTabs Centered="true" SortDirection="@sortDirection" Rounded="true" ApplyEffectsToContainer="true">
<MudTabPanel SortKey="A" Text="@T("Advanced Prompt Building")" Icon="@Icons.Material.Filled.Build" BadgeDot="@true" BadgeColor="@badgeColor" Disabled="@(!promptBuilder)">
<MudTextField T="string" Text="@this.promptPreview" ReadOnly="true" Variant="Variant.Outlined" Lines="10"/>
</MudTabPanel>
<MudTabPanel SortKey="B" Text="@fallbackText" Icon="@Icons.Material.Filled.EditNote" BadgeDot="@true" BadgeColor="@fallbackBadgeColor">
<MudTextField T="string" Text="@this.promptFallbackPreview" ReadOnly="true" Variant="Variant.Outlined" Lines="10"/>
</MudTabPanel>
</MudTabs>
}
</ChildContent> </ChildContent>
</MudExpansionPanel> </MudExpansionPanel>
<MudExpansionPanel KeepContentAlive="false"> <MudExpansionPanel KeepContentAlive="false">

View File

@ -32,6 +32,7 @@ public partial class AssistantPluginAuditDialog : MSGComponentBase
private PluginAssistants? plugin; private PluginAssistants? plugin;
private PluginAssistantAudit? audit; private PluginAssistantAudit? audit;
private string promptPreview = string.Empty; private string promptPreview = string.Empty;
private string promptFallbackPreview = string.Empty;
private string componentSummary = string.Empty; private string componentSummary = string.Empty;
private ImmutableDictionary<string, string> luaFiles = ImmutableDictionary.Create<string, string>(); private ImmutableDictionary<string, string> luaFiles = ImmutableDictionary.Create<string, string>();
private IReadOnlyCollection<TreeItemData<ITreeItem>> componentTreeItems = []; private IReadOnlyCollection<TreeItemData<ITreeItem>> componentTreeItems = [];
@ -76,6 +77,7 @@ public partial class AssistantPluginAuditDialog : MSGComponentBase
if (this.plugin is not null) if (this.plugin is not null)
{ {
this.promptPreview = await this.plugin.BuildAuditPromptPreviewAsync(); this.promptPreview = await this.plugin.BuildAuditPromptPreviewAsync();
this.promptFallbackPreview = this.plugin.BuildAuditPromptFallbackPreview();
this.componentSummary = this.plugin.CreateAuditComponentSummary(); this.componentSummary = this.plugin.CreateAuditComponentSummary();
this.componentTreeItems = this.CreateAuditTreeItems(this.plugin.RootComponent); this.componentTreeItems = this.CreateAuditTreeItems(this.plugin.RootComponent);
this.fileSystemTreeItems = this.CreatePluginFileSystemTreeItems(this.plugin.PluginPath); this.fileSystemTreeItems = this.CreatePluginFileSystemTreeItems(this.plugin.PluginPath);
@ -376,8 +378,7 @@ public partial class AssistantPluginAuditDialog : MSGComponentBase
Value = new AssistantAuditTreeItem Value = new AssistantAuditTreeItem
{ {
Text = Path.GetFileName(filePath), Text = Path.GetFileName(filePath),
Caption = string.Format(TB("{0} | Last modified {1}"), this.FormatFileSize(fileInfo.Length), Caption = string.Empty,
this.FormatFileTimestamp(fileInfo.LastWriteTime)),
Icon = this.GetFileIcon(filePath), Icon = this.GetFileIcon(filePath),
Expandable = false, Expandable = false,
IsComponent = false, IsComponent = false,

View File

@ -2940,6 +2940,9 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T701874671"] = "Arbeitsbereic
-- Entries: {0} -- Entries: {0}
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1098127509"] = "Einträge: {0}" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1098127509"] = "Einträge: {0}"
-- User Prompt Preview
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1184162672"] = "Vorschau der Benutzereingabe"
-- {0:0.##} GB -- {0:0.##} GB
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1224874808"] = "{0:0.##} GB" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1224874808"] = "{0:0.##} GB"
@ -2985,6 +2988,9 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T165738710"] = "
-- Enable Assistant Plugin -- Enable Assistant Plugin
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1676241565"] = "Assistant-Plugin aktivieren" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1676241565"] = "Assistant-Plugin aktivieren"
-- User Prompt
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1700917692"] = "Benutzereingabe"
-- Unknown plugin -- Unknown plugin
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1834795216"] = "Unbekanntes Plugin" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1834795216"] = "Unbekanntes Plugin"
@ -3021,8 +3027,8 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3156437951"] =
-- Findings -- Findings
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3224848879"] = "Ergebnisse" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3224848879"] = "Ergebnisse"
-- {0} | Last modified {1} -- Advanced Prompt Building
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3350447013"] = "{0} | Zuletzt geändert {1}" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3399544173"] = "Erweiterte Prompt-Erstellung"
-- The assistant plugin \"{0}\" was audited with the level \"{1}\", which is below the required safety level \"{2}\". Your current settings still allow activation, but this may be unsafe. Do you really want to enable this plugin? -- The assistant plugin \"{0}\" was audited with the level \"{1}\", which is below the required safety level \"{2}\". Your current settings still allow activation, but this may be unsafe. Do you really want to enable this plugin?
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3418077666"] = "Das Assistenten-Plugin „{0}“ wurde mit der Stufe „{1}“ geprüft, die unter der erforderlichen Sicherheitsstufe „{2}“ liegt. Ihre aktuellen Einstellungen erlauben die Aktivierung dennoch, aber dies kann unsicher sein. Möchten Sie dieses Plugin wirklich aktivieren?" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3418077666"] = "Das Assistenten-Plugin „{0}“ wurde mit der Stufe „{1}“ geprüft, die unter der erforderlichen Sicherheitsstufe „{2}“ liegt. Ihre aktuellen Einstellungen erlauben die Aktivierung dennoch, aber dies kann unsicher sein. Möchten Sie dieses Plugin wirklich aktivieren?"
@ -3057,8 +3063,8 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3844960449"] =
-- empty -- empty
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T413646574"] = "leer" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T413646574"] = "leer"
-- Prompt Preview -- Fallback Prompt
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T576347259"] = "Prompt-Vorschau" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T4229995215"] = "Ersatz-Prompt"
-- System Prompt -- System Prompt
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T628396066"] = "System-Prompt" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T628396066"] = "System-Prompt"

View File

@ -2940,6 +2940,9 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T701874671"] = "Delete Worksp
-- Entries: {0} -- Entries: {0}
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1098127509"] = "Entries: {0}" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1098127509"] = "Entries: {0}"
-- User Prompt Preview
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1184162672"] = "User Prompt Preview"
-- {0:0.##} GB -- {0:0.##} GB
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1224874808"] = "{0:0.##} GB" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1224874808"] = "{0:0.##} GB"
@ -2985,6 +2988,9 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T165738710"] = "
-- Enable Assistant Plugin -- Enable Assistant Plugin
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1676241565"] = "Enable Assistant Plugin" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1676241565"] = "Enable Assistant Plugin"
-- User Prompt
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1700917692"] = "User Prompt"
-- Unknown plugin -- Unknown plugin
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1834795216"] = "Unknown plugin" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T1834795216"] = "Unknown plugin"
@ -3021,8 +3027,8 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3156437951"] =
-- Findings -- Findings
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3224848879"] = "Findings" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3224848879"] = "Findings"
-- {0} | Last modified {1} -- Advanced Prompt Building
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3350447013"] = "{0} | Last modified {1}" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3399544173"] = "Advanced Prompt Building"
-- The assistant plugin \"{0}\" was audited with the level \"{1}\", which is below the required safety level \"{2}\". Your current settings still allow activation, but this may be unsafe. Do you really want to enable this plugin? -- The assistant plugin \"{0}\" was audited with the level \"{1}\", which is below the required safety level \"{2}\". Your current settings still allow activation, but this may be unsafe. Do you really want to enable this plugin?
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3418077666"] = "The assistant plugin \\\"{0}\\\" was audited with the level \\\"{1}\\\", which is below the required safety level \\\"{2}\\\". Your current settings still allow activation, but this may be unsafe. Do you really want to enable this plugin?" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3418077666"] = "The assistant plugin \\\"{0}\\\" was audited with the level \\\"{1}\\\", which is below the required safety level \\\"{2}\\\". Your current settings still allow activation, but this may be unsafe. Do you really want to enable this plugin?"
@ -3057,8 +3063,8 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T3844960449"] =
-- empty -- empty
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T413646574"] = "empty" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T413646574"] = "empty"
-- Prompt Preview -- Fallback Prompt
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T576347259"] = "Prompt Preview" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T4229995215"] = "Fallback Prompt"
-- System Prompt -- System Prompt
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T628396066"] = "System Prompt" UI_TEXT_CONTENT["AISTUDIO::DIALOGS::ASSISTANTPLUGINAUDITDIALOG::T628396066"] = "System Prompt"

View File

@ -184,6 +184,15 @@ public sealed class PluginAssistants(bool isInternal, LuaState state, PluginType
return !string.IsNullOrWhiteSpace(prompt) ? prompt : CollectPromptFallback(this.RootComponent?.Children ?? [], assistantState); return !string.IsNullOrWhiteSpace(prompt) ? prompt : CollectPromptFallback(this.RootComponent?.Children ?? [], assistantState);
} }
public string BuildAuditPromptFallbackPreview()
{
var assistantState = new AssistantState();
if (this.RootComponent is not null)
InitializeState(this.RootComponent.Children, assistantState);
return CollectPromptFallback(this.RootComponent?.Children ?? [], assistantState);
}
public string CreateAuditComponentSummary() public string CreateAuditComponentSummary()
{ {
if (this.RootComponent is null) if (this.RootComponent is null)