Added material to the BeyondFacts Lab (#1180)

This commit is contained in:
Thorsten Sommer authored and GitHub committed 2026-11-09 20:00:01 +01:00
1 parent 22d94eb8fd
commit 9f2280bed7
58 files changed
+3932 -120

No files matched your search

@@ -33,6 +33,18 @@ public partial class AttachDocuments : MSGComponentBase
[Parameter]
public Func<HashSet<FileAttachment>, Task> OnChange { get; set; } = _ => Task.CompletedTask;
/// <summary>
/// Takes the audio and video files the user dropped or chose, for an owner which transcribes them itself.
/// </summary>
/// <remarks>
/// Without it, this control transcribes them, after asking the user, and attaches their transcripts. With it, the
/// files go to the owner as they arrived, once their format passed AllowedFileTypes: the owner checks the
/// transcription provider against rules of its own, asks the user, and keeps the transcripts where it wants them,
/// as the BeyondFacts Lab does.
/// </remarks>
[Parameter]
public EventCallback<IReadOnlyList<string>> OnMediaFiles { get; set; }
/// <summary>
/// Makes this component the default target of its area, meaning of its page, assistant, or
/// dialog: it then also takes the drops which land anywhere in that area without hitting a zone
@@ -335,7 +347,7 @@ public partial class AttachDocuments : MSGComponentBase
/// <returns>
/// The files this call attached, in the order they arrived. Media files are never among them:
/// they go to the transcription service and become attachments only once their transcript is
/// ready, which is long after this call has returned.
/// ready, which is long after this call has returned, or they go to OnMediaFiles.
/// </returns>
private async Task<IReadOnlyList<FileAttachment>> AddFileBatchAsync(IEnumerable<string> paths)
{
@@ -400,6 +412,12 @@ public partial class AttachDocuments : MSGComponentBase
if (mediaPaths.Count is 0)
return attached;
if (this.OnMediaFiles.HasDelegate)
{
await this.OnMediaFiles.InvokeAsync(mediaPaths);
return attached;
}
if (string.IsNullOrWhiteSpace(this.SettingsManager.ConfigurationData.App.UseTranscriptionProvider))
{
await this.MessageBus.SendWarning(new(
@@ -82,7 +82,7 @@ public partial class DataFolders : MSGComponentBase
DataBackupEntryKind.PLUGINS => T("Your plugins, such as the assistants you built, apart from the folders listed below."),
DataBackupEntryKind.TOKENIZERS => T("The tokenizers you chose for your providers."),
DataBackupEntryKind.VISUAL_BRIEFINGS => T("Your projects in the Visual Briefing Assistant."),
DataBackupEntryKind.BEYOND_FACTS_LAB => T("Your preparations and conversations in the BeyondFacts Lab."),
DataBackupEntryKind.BEYOND_FACTS_LAB => T("Your preparations in the BeyondFacts Lab, with their material and conversations."),
DataBackupEntryKind.DATA_SOURCE_INDEX => T("The index of your local data sources: which files AI Studio embedded, and their text."),
DataBackupEntryKind.VECTOR_STORES => T("The embeddings of your local data sources."),
DataBackupEntryKind.MEDIA_TRANSCRIPTS => T("The transcripts of the audio and video files in your local data sources."),