2025-07-22 18:15:36 +00:00
|
|
|
|
namespace AIStudio.Tools.PluginSystem.Assistants.DataModel;
|
|
|
|
|
|
|
|
|
|
|
|
public static class ComponentPropSpecs
|
|
|
|
|
|
{
|
2026-02-24 10:39:17 +00:00
|
|
|
|
public static readonly IReadOnlyDictionary<AssistantComponentType, PropSpec> SPECS =
|
|
|
|
|
|
new Dictionary<AssistantComponentType, PropSpec>
|
2025-07-22 18:15:36 +00:00
|
|
|
|
{
|
2026-02-24 10:39:17 +00:00
|
|
|
|
[AssistantComponentType.FORM] = new(
|
2025-07-22 18:15:36 +00:00
|
|
|
|
required: ["Children"],
|
2026-02-24 16:21:50 +00:00
|
|
|
|
optional: ["Class", "Style"]
|
2025-07-22 18:15:36 +00:00
|
|
|
|
),
|
2026-02-24 10:39:17 +00:00
|
|
|
|
[AssistantComponentType.TEXT_AREA] = new(
|
2025-07-22 18:15:36 +00:00
|
|
|
|
required: ["Name", "Label"],
|
2026-02-24 16:21:50 +00:00
|
|
|
|
optional: ["UserPrompt", "PrefillText", "ReadOnly", "IsSingleLine", "Class", "Style"]
|
2025-07-22 18:15:36 +00:00
|
|
|
|
),
|
2026-02-24 10:39:17 +00:00
|
|
|
|
[AssistantComponentType.BUTTON] = new(
|
2025-07-22 18:15:36 +00:00
|
|
|
|
required: ["Name", "Text", "Action"],
|
2026-02-24 16:21:50 +00:00
|
|
|
|
optional: ["Class", "Style"]
|
2025-07-22 18:15:36 +00:00
|
|
|
|
),
|
2026-02-24 10:39:17 +00:00
|
|
|
|
[AssistantComponentType.DROPDOWN] = new(
|
2025-07-22 18:15:36 +00:00
|
|
|
|
required: ["Name", "Label", "Default", "Items"],
|
2026-02-24 16:21:50 +00:00
|
|
|
|
optional: ["UserPrompt", "Class", "Style"]
|
2025-07-22 18:15:36 +00:00
|
|
|
|
),
|
2026-02-24 10:39:17 +00:00
|
|
|
|
[AssistantComponentType.PROVIDER_SELECTION] = new(
|
2025-07-22 18:15:36 +00:00
|
|
|
|
required: ["Name", "Label"],
|
2026-02-24 16:21:50 +00:00
|
|
|
|
optional: ["Class", "Style"]
|
2025-07-22 18:15:36 +00:00
|
|
|
|
),
|
2026-02-24 10:39:17 +00:00
|
|
|
|
[AssistantComponentType.PROFILE_SELECTION] = new(
|
2026-02-23 14:01:00 +00:00
|
|
|
|
required: [],
|
2026-02-24 16:21:50 +00:00
|
|
|
|
optional: ["ValidationMessage", "Class", "Style"]
|
2026-02-23 14:01:00 +00:00
|
|
|
|
),
|
2026-02-24 10:39:17 +00:00
|
|
|
|
[AssistantComponentType.SWITCH] = new(
|
2025-11-11 18:06:44 +00:00
|
|
|
|
required: ["Name", "Label", "LabelOn", "LabelOff", "Value"],
|
2026-02-24 16:44:04 +00:00
|
|
|
|
optional: ["UserPrompt"]
|
2025-11-11 18:06:44 +00:00
|
|
|
|
),
|
2026-02-24 10:39:17 +00:00
|
|
|
|
[AssistantComponentType.HEADING] = new(
|
2026-02-10 15:12:59 +00:00
|
|
|
|
required: ["Text", "Level"],
|
2026-02-24 16:21:50 +00:00
|
|
|
|
optional: ["Class", "Style"]
|
2026-02-10 15:12:59 +00:00
|
|
|
|
),
|
2026-02-24 10:39:17 +00:00
|
|
|
|
[AssistantComponentType.TEXT] = new(
|
2026-02-10 15:12:59 +00:00
|
|
|
|
required: ["Content"],
|
2026-02-24 16:21:50 +00:00
|
|
|
|
optional: ["Class", "Style"]
|
2026-02-10 15:12:59 +00:00
|
|
|
|
),
|
2026-02-24 10:39:17 +00:00
|
|
|
|
[AssistantComponentType.LIST] = new(
|
2026-02-10 16:06:45 +00:00
|
|
|
|
required: ["Items"],
|
2026-02-24 16:21:50 +00:00
|
|
|
|
optional: ["Class", "Style"]
|
2026-02-10 16:06:45 +00:00
|
|
|
|
),
|
2026-02-24 10:39:17 +00:00
|
|
|
|
[AssistantComponentType.WEB_CONTENT_READER] = new(
|
2026-02-23 15:13:28 +00:00
|
|
|
|
required: ["Name"],
|
2026-02-24 16:21:50 +00:00
|
|
|
|
optional: ["UserPrompt", "Preselect", "PreselectContentCleanerAgent", "Class", "Style"]
|
2026-02-23 15:13:28 +00:00
|
|
|
|
),
|
2026-02-24 10:39:17 +00:00
|
|
|
|
[AssistantComponentType.FILE_CONTENT_READER] = new(
|
2026-02-23 15:33:24 +00:00
|
|
|
|
required: ["Name"],
|
2026-02-24 16:21:50 +00:00
|
|
|
|
optional: ["UserPrompt", "Class", "Style"]
|
2026-02-23 15:33:24 +00:00
|
|
|
|
),
|
2026-02-24 10:39:17 +00:00
|
|
|
|
[AssistantComponentType.IMAGE] = new(
|
2026-02-24 10:31:16 +00:00
|
|
|
|
required: ["Src"],
|
2026-02-24 16:21:50 +00:00
|
|
|
|
optional: ["Alt", "Caption", "Class", "Style"]
|
2026-02-24 10:31:16 +00:00
|
|
|
|
),
|
2025-07-22 18:15:36 +00:00
|
|
|
|
};
|
2026-02-23 14:01:00 +00:00
|
|
|
|
}
|