mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-11-10 17:27:21 +00:00
68 lines
3.4 KiB
C#
68 lines
3.4 KiB
C#
namespace AIStudio.Assistants.BeyondFactsLab;
|
|
|
|
public static class BflResultKindExtensions
|
|
{
|
|
private static string TB(string fallbackEN) => Tools.PluginSystem.I18N.I.T(fallbackEN, typeof(BflResultKindExtensions).Namespace, nameof(BflResultKindExtensions));
|
|
|
|
private static string TA(string fallbackEN) => Tools.PluginSystem.I18N.I.TA(fallbackEN, typeof(BflResultKindExtensions).Namespace, nameof(BflResultKindExtensions));
|
|
|
|
/// <param name="kind">The kind of result.</param>
|
|
extension(BflResultKind kind)
|
|
{
|
|
/// <summary>
|
|
/// Gets the name of the result.
|
|
/// </summary>
|
|
public string Title => kind switch
|
|
{
|
|
BflResultKind.REFLECTION_FOLDER => TB("Reflection folder"),
|
|
BflResultKind.POSITION_PAPER => TB("Position paper"),
|
|
BflResultKind.CONVERSATION_GUIDE => TB("Conversation guide"),
|
|
BflResultKind.QUESTIONS_AND_ANSWERS => TB("Questions and answers"),
|
|
BflResultKind.OPEN_POINTS => TB("Open points and next steps"),
|
|
|
|
_ => string.Empty,
|
|
};
|
|
|
|
/// <summary>
|
|
/// Gets what the result contains, for the info symbol beside its name.
|
|
/// </summary>
|
|
public string Description => kind switch
|
|
{
|
|
BflResultKind.REFLECTION_FOLDER => TA("All your confirmed work states, your material, the open questions, and your revisions, word for word. If you like, with the complete conversations as an appendix."),
|
|
BflResultKind.POSITION_PAPER => TA("One page on what you stand for and why: your key statements, your reasons, the trade-offs between values, and the limits of your expertise."),
|
|
BflResultKind.CONVERSATION_GUIDE => TA("The opening, your key messages, questions to others, and wordings for uncertainty or disagreement. You can adapt it for a talk, a pitch, or a hearing."),
|
|
BflResultKind.QUESTIONS_AND_ANSWERS => TA("Critical questions from the test situation, your approaches to answering them, and the points on which you have no reliable answer."),
|
|
BflResultKind.OPEN_POINTS => TA("What you still have to research, clarify with others, or decide yourself before you appear."),
|
|
|
|
_ => string.Empty,
|
|
};
|
|
|
|
/// <summary>
|
|
/// Tells whether a model writes the result. The reflection folder is put together from what the person
|
|
/// confirmed, word for word.
|
|
/// </summary>
|
|
public bool IsWrittenByModel => kind is not BflResultKind.REFLECTION_FOLDER;
|
|
|
|
/// <summary>
|
|
/// Gets the name of the file in which a preparation keeps the result.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// These names are stored on disk, so they never change.
|
|
/// </remarks>
|
|
public string FileName => kind switch
|
|
{
|
|
BflResultKind.REFLECTION_FOLDER => "reflection-folder.json",
|
|
BflResultKind.POSITION_PAPER => "position-paper.json",
|
|
BflResultKind.CONVERSATION_GUIDE => "conversation-guide.json",
|
|
BflResultKind.QUESTIONS_AND_ANSWERS => "questions-and-answers.json",
|
|
BflResultKind.OPEN_POINTS => "open-points.json",
|
|
|
|
_ => throw new ArgumentOutOfRangeException(nameof(kind), kind, "The result has no file."),
|
|
};
|
|
|
|
/// <summary>
|
|
/// Gets every kind of result, in the order the last step shows them.
|
|
/// </summary>
|
|
public static IReadOnlyList<BflResultKind> All => Enum.GetValues<BflResultKind>();
|
|
}
|
|
} |