mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-08-11 19:32:10 +00:00
Fixed validation for source material
This commit is contained in:
parent
6eeb37625e
commit
0f5b053856
@ -2344,6 +2344,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::VISUALBRIEFING::VISUALBRIEFINGASSISTANT::
|
||||
-- Please select a provider.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::VISUALBRIEFING::VISUALBRIEFINGASSISTANT::T1809312323"] = "Please select a provider."
|
||||
|
||||
-- Please add at least one source material file.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::VISUALBRIEFING::VISUALBRIEFINGASSISTANT::T1957239290"] = "Please add at least one source material file."
|
||||
|
||||
-- Cannot be opened
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::VISUALBRIEFING::VISUALBRIEFINGASSISTANT::T1981873292"] = "Cannot be opened"
|
||||
|
||||
|
||||
@ -24,6 +24,7 @@ public partial class VisualBriefingAssistant
|
||||
string.IsNullOrWhiteSpace(this.projectName) ||
|
||||
this.targetLanguage is CommonLanguages.OTHER && string.IsNullOrWhiteSpace(this.customTargetLanguage) ||
|
||||
this.protectionLevel is VisualBriefingProtectionLevel.OTHER && string.IsNullOrWhiteSpace(this.customProtectionLevel) ||
|
||||
mode is not VisualBriefingEditMode.CHANGE_DESIGN && !this.HasSourceMaterial ||
|
||||
mode is VisualBriefingEditMode.CHANGE_DESIGN or VisualBriefingEditMode.UPDATE_CONTENT &&
|
||||
!this.SelectedVersionSupportsEdits ||
|
||||
mode is not VisualBriefingEditMode.CHANGE_DESIGN &&
|
||||
|
||||
@ -6,6 +6,9 @@ namespace AIStudio.Assistants.VisualBriefing;
|
||||
|
||||
public partial class VisualBriefingAssistant
|
||||
{
|
||||
/// <summary>Gets whether the briefing contains at least one actual source-material file.</summary>
|
||||
private bool HasSourceMaterial => this.selectedBriefing?.Sources.Any(source => source.Kind is VisualBriefingSourceKind.SOURCE_MATERIAL) == true;
|
||||
|
||||
/// <summary>Gets all current field, source, and revision issues shown below the actions.</summary>
|
||||
private IReadOnlyList<string> ValidationIssues
|
||||
{
|
||||
@ -20,6 +23,9 @@ public partial class VisualBriefingAssistant
|
||||
|
||||
if (this.selectedBriefing is not null)
|
||||
{
|
||||
if (!this.HasSourceMaterial)
|
||||
issues.Add(T("Please add at least one source material file."));
|
||||
|
||||
foreach (var source in this.selectedBriefing.Sources)
|
||||
{
|
||||
var fileName = Path.GetFileName(source.Path);
|
||||
|
||||
@ -233,6 +233,26 @@ internal sealed partial class VisualBriefingBuildOrchestrator
|
||||
"No provider is selected.");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Ensures content-generating builds have at least one source-material file.
|
||||
/// </summary>
|
||||
/// <param name="manifest">The briefing manifest.</param>
|
||||
/// <param name="mode">The requested edit mode.</param>
|
||||
private static void ValidateSourceMaterial(VisualBriefingManifest manifest, VisualBriefingEditMode mode)
|
||||
{
|
||||
if (mode is VisualBriefingEditMode.CHANGE_DESIGN or VisualBriefingEditMode.RECOMPILE ||
|
||||
manifest.Sources.Any(source => source.Kind is VisualBriefingSourceKind.SOURCE_MATERIAL))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
throw new VisualBriefingBuildException(
|
||||
VisualBriefingFailureCode.SOURCE_PREPARATION_FAILED,
|
||||
VisualBriefingBuildStage.SOURCE_PREPARATION,
|
||||
"Please add at least one source material file.",
|
||||
"The briefing has no SOURCE_MATERIAL source.");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Validates image-input capabilities for content analysis.
|
||||
/// </summary>
|
||||
|
||||
@ -99,6 +99,7 @@ internal sealed partial class VisualBriefingBuildOrchestrator
|
||||
try
|
||||
{
|
||||
ValidateProvider(provider);
|
||||
ValidateSourceMaterial(manifest, mode);
|
||||
var parentContext = await this.LoadParentContextAsync(manifest, mode, parentRevisionId, token);
|
||||
VisualBriefingEvidenceArtifact? reusableEvidence = null;
|
||||
|
||||
|
||||
@ -20,6 +20,12 @@ public sealed partial class VisualBriefingStore
|
||||
{
|
||||
var manifest = await this.LoadRequiredWithoutInitializeAsync(request.BriefingId, token);
|
||||
RefreshSourceStatuses(manifest);
|
||||
if (request.EditMode is not (VisualBriefingEditMode.CHANGE_DESIGN or VisualBriefingEditMode.RECOMPILE) &&
|
||||
manifest.Sources.All(source => source.Kind is not VisualBriefingSourceKind.SOURCE_MATERIAL))
|
||||
{
|
||||
return VisualBriefingRevisionResult.Failure("Please add at least one source material file.");
|
||||
}
|
||||
|
||||
var blockingSources = manifest.Sources
|
||||
.Where(source => source.Status is VisualBriefingSourceStatus.UNREACHABLE or VisualBriefingSourceStatus.TRANSCRIPT_OUTDATED)
|
||||
.ToArray();
|
||||
|
||||
@ -2346,6 +2346,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::VISUALBRIEFING::VISUALBRIEFINGASSISTANT::
|
||||
-- Please select a provider.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::VISUALBRIEFING::VISUALBRIEFINGASSISTANT::T1809312323"] = "Bitte wählen Sie einen Anbieter aus."
|
||||
|
||||
-- Please add at least one source material file.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::VISUALBRIEFING::VISUALBRIEFINGASSISTANT::T1957239290"] = "Bitte fügen Sie mindestens eine Quelldatei hinzu."
|
||||
|
||||
-- Cannot be opened
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::VISUALBRIEFING::VISUALBRIEFINGASSISTANT::T1981873292"] = "Kann nicht geöffnet werden"
|
||||
|
||||
|
||||
@ -2346,6 +2346,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::VISUALBRIEFING::VISUALBRIEFINGASSISTANT::
|
||||
-- Please select a provider.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::VISUALBRIEFING::VISUALBRIEFINGASSISTANT::T1809312323"] = "Please select a provider."
|
||||
|
||||
-- Please add at least one source material file.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::VISUALBRIEFING::VISUALBRIEFINGASSISTANT::T1957239290"] = "Please add at least one source material file."
|
||||
|
||||
-- Cannot be opened
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::VISUALBRIEFING::VISUALBRIEFINGASSISTANT::T1981873292"] = "Cannot be opened"
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user