mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-10-17 18:18:52 +00:00
Added direct-chat launchers for assistant plugins and a dialog to reconfigure them (#935)
Co-authored-by: Thorsten Sommer <SommerEngineering@users.noreply.github.com>
This commit is contained in:
1 parent
f03c2d1c88
commit
a4c35fc2f2
44 files changed
+2615
-219
No files matched your search
@@ -7,66 +7,88 @@ public class AssistantComponentFactory
|
||||
{
|
||||
private static readonly ILogger<AssistantComponentFactory> LOGGER = Program.LOGGER_FACTORY.CreateLogger<AssistantComponentFactory>();
|
||||
|
||||
public static IAssistantComponent CreateComponent(
|
||||
AssistantComponentType type,
|
||||
Dictionary<string, object> props,
|
||||
List<IAssistantComponent> children)
|
||||
public static IAssistantComponent CreateComponent(AssistantComponentType type, Dictionary<string, object> props, List<IAssistantComponent> children)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case AssistantComponentType.FORM:
|
||||
return new AssistantForm { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.TEXT_AREA:
|
||||
return new AssistantTextArea { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.BUTTON:
|
||||
return new AssistantButton { Props = props, Children = children};
|
||||
|
||||
case AssistantComponentType.BUTTON_GROUP:
|
||||
return new AssistantButtonGroup { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.DROPDOWN:
|
||||
return new AssistantDropdown { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.PROVIDER_SELECTION:
|
||||
return new AssistantProviderSelection { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.PROFILE_SELECTION:
|
||||
return new AssistantProfileSelection { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.SWITCH:
|
||||
return new AssistantSwitch { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.HEADING:
|
||||
return new AssistantHeading { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.TEXT:
|
||||
return new AssistantText { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.LIST:
|
||||
return new AssistantList { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.WEB_CONTENT_READER:
|
||||
return new AssistantWebContentReader { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.FILE_CONTENT_READER:
|
||||
return new AssistantFileContentReader { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.FILE_ATTACHMENTS:
|
||||
return new AssistantFileAttachment { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.IMAGE:
|
||||
return new AssistantImage { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.COLOR_PICKER:
|
||||
return new AssistantColorPicker { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.DATE_PICKER:
|
||||
return new AssistantDatePicker { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.DATE_RANGE_PICKER:
|
||||
return new AssistantDateRangePicker { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.TIME_PICKER:
|
||||
return new AssistantTimePicker { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.LAYOUT_ITEM:
|
||||
return new AssistantItem { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.LAYOUT_GRID:
|
||||
return new AssistantGrid { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.LAYOUT_PAPER:
|
||||
return new AssistantPaper { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.LAYOUT_STACK:
|
||||
return new AssistantStack { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.LAYOUT_ACCORDION:
|
||||
return new AssistantAccordion { Props = props, Children = children };
|
||||
|
||||
case AssistantComponentType.LAYOUT_ACCORDION_SECTION:
|
||||
return new AssistantAccordionSection { Props = props, Children = children };
|
||||
|
||||
default:
|
||||
LOGGER.LogError($"Unknown assistant component type!\n{type} is not a supported assistant component type");
|
||||
throw new Exception($"Unknown assistant component type: {type}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user