@inherits MSGComponentBase @T("Research") @TA("Research agents of the lab look into the event, its participants, and the public debate on its topic, one agent for each. The conversation of this step builds on what they find.") @if (this.IsNotPublic) { @* An event which is not public is never researched, and earlier research no longer counts: *@ @string.Format(Culture, TA("The event is not public. Therefore, the lab does not research it on the web, and none of your details reach a search. If the event is public after all, change this in the step '{0}'."), BflStep.FRAMEWORK.Title) } else { @* What the research receives, and what it never receives: *@ @TA("The research agents receive only the public details about the event. Your other details, your material, your work states, and your conversations stay in your preparation and never reach a search.") @if (this.PublicDetails.Count > 0) { @T("The research receives these details:") } else { @string.Format(Culture, TA("You have not entered any public details yet. Enter them in the step '{0}', such as the topic of the event or its link."), BflStep.FRAMEWORK.Title) } @if (this.ProviderIssue is { } providerIssue) { @providerIssue } else if (this.availability is { CanResearch: false } unavailable) { @unavailable.Message } @(this.research.Count > 0 ? T("Research all topics again") : T("Start the research")) @* Only one topic is open at a time, so that the step stays clear: *@ @foreach (var topic in BflResearchTopic.All) { var found = this.research.GetValueOrDefault(topic); var isRunning = this.IsRunning(topic);
@if (isRunning) { } else { } @topic.Title @this.StatusText(found, isRunning)
@if (isRunning) { @T("The agent researches this topic") @T("Stop") } @if (found is null) { @topic.Description } else { @if (found.IsOutdated(this.PublicDetails)) { @TA("The public details changed since this research. You can research this topic again.") }
@* What left AI Studio for this research: *@ @T("Queries sent to the web search") @if (found.SearchQueries.Count is 0) { @T("None") } else {
    @foreach (var query in found.SearchQueries) {
  • @query
  • }
} @T("Web pages opened") @if (found.Pages.Count is 0) { @T("None") } else {
    @foreach (var webPage in found.Pages) {
  • @webPage.Title
  • }
} } @(found is null ? T("Research this topic") : T("Research this topic again"))
}
}