Added a Send to menu to every chat message and kept restrictions when sending content on (#1124)

This commit is contained in:
Thorsten Sommer authored and GitHub committed 2026-10-28 13:28:30 +01:00
1 parent d06688ca08
commit bf54b8cd0d
73 files changed
+1923 -390

No files matched your search

@@ -1,3 +1,4 @@
using AIStudio.Chat;
using AIStudio.Provider;
using AIStudio.Settings;
using AIStudio.Tools.Rust;
@@ -233,6 +234,28 @@ internal sealed partial class VisualBriefingBuildOrchestrator
"No provider is selected.");
}
/// <summary>
/// Ensures the selected provider may see what the briefing holds.
/// </summary>
/// <remarks>
/// A text sent to the briefing demands what it demanded where it came from, see VisualBriefingManifest.Restrictions,
/// and a provider the organization prohibited may see nothing at all. The provider call of each stage would refuse
/// such a provider as well, but only once the build runs, and the stage would fail without telling why.
/// </remarks>
/// <param name="manifest">The briefing manifest.</param>
/// <param name="provider">The provider.</param>
internal static void ValidateProviderMaySeeContent(VisualBriefingManifest manifest, ProviderSettings provider)
{
if (manifest.Restrictions.IsLLMProviderAllowed(provider))
return;
throw new VisualBriefingBuildException(
VisualBriefingFailureCode.PROVIDER_NOT_ALLOWED,
VisualBriefingBuildStage.SOURCE_PREPARATION,
"The selected provider may not see the content of this briefing.",
$"ProviderFamily={provider.UsedLLMProvider}; RequiredConfidence={manifest.Restrictions.ProviderConfidence}; DataSecurity={manifest.Restrictions.DataSecurity}.");
}
/// <summary>
/// Ensures content-generating builds have at least one source-material file.
/// </summary>