AI-Studio/app/MindWork AI Studio/Tools/PluginSystem/Assistants/DataModel/ComponentPropSpecs.cs

62 lines
2.3 KiB
C#

namespace AIStudio.Tools.PluginSystem.Assistants.DataModel;
public static class ComponentPropSpecs
{
public static readonly IReadOnlyDictionary<AssistantUiCompontentType, PropSpec> SPECS =
new Dictionary<AssistantUiCompontentType, PropSpec>
{
[AssistantUiCompontentType.FORM] = new(
required: ["Children"],
optional: []
),
[AssistantUiCompontentType.TEXT_AREA] = new(
required: ["Name", "Label"],
optional: ["UserPrompt", "PrefillText", "ReadOnly", "IsSingleLine"]
),
[AssistantUiCompontentType.BUTTON] = new(
required: ["Name", "Text", "Action"],
optional: []
),
[AssistantUiCompontentType.DROPDOWN] = new(
required: ["Name", "Label", "Default", "Items"],
optional: ["UserPrompt"]
),
[AssistantUiCompontentType.PROVIDER_SELECTION] = new(
required: ["Name", "Label"],
optional: []
),
[AssistantUiCompontentType.PROFILE_SELECTION] = new(
required: [],
optional: ["ValidationMessage"]
),
[AssistantUiCompontentType.SWITCH] = new(
required: ["Name", "Label", "LabelOn", "LabelOff", "Value"],
optional: ["UserPrompt"]
),
[AssistantUiCompontentType.HEADING] = new(
required: ["Text", "Level"],
optional: []
),
[AssistantUiCompontentType.TEXT] = new(
required: ["Content"],
optional: []
),
[AssistantUiCompontentType.LIST] = new(
required: ["Items"],
optional: []
),
[AssistantUiCompontentType.WEB_CONTENT_READER] = new(
required: ["Name"],
optional: ["UserPrompt", "Preselect", "PreselectContentCleanerAgent"]
),
[AssistantUiCompontentType.FILE_CONTENT_READER] = new(
required: ["Name"],
optional: ["UserPrompt"]
),
[AssistantUiCompontentType.IMAGE] = new(
required: ["Src"],
optional: ["Alt", "Caption"]
),
};
}