namespace AIStudio.Assistants.BeyondFactsLab;
///
/// Tells that a file in the folder for prompt overrides contains a placeholder which the lab does not fill in it.
///
///
/// The lab fills placeholders in the core and in the prompt of the onboarding only, and only those it knows; in any
/// other file, a placeholder would reach the model as text. Whoever tests a changed prompt needs to learn which file
/// and which placeholder it is, so the message names both.
///
/// The file, relative to the folder for prompt overrides, with forward slashes.
/// The name of the placeholder, without braces.
public sealed class BflPromptOverrideException(string fileName, string placeholder) : FormatException($"The file '{fileName}' in the folder for prompt overrides contains the placeholder '{placeholder}', which the lab does not fill in this file.")
{
///
/// Gets the file, relative to the folder for prompt overrides, with forward slashes.
///
public string FileName { get; } = fileName;
///
/// Gets the name of the placeholder, without braces.
///
public string Placeholder { get; } = placeholder;
}