diff --git a/BotSharp.sln b/BotSharp.sln
index 6d50899c..f2dfb5fa 100644
--- a/BotSharp.sln
+++ b/BotSharp.sln
@@ -3,33 +3,33 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.6.33712.159
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Channels", "Channels", "{FC2A12DB-AC88-41E4-A58C-9EEC6DAD91E1}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Platforms", "Platforms", "{FFA662D3-B67B-478D-92FC-76DC5EB64412}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Infrastructure", "Infrastructure", "{E29DC6C4-5E57-48C5-BCB0-6B8F84782749}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Channel.FacebookMessenger", "src\Channels\BotSharp.Channel.FacebookMessenger\BotSharp.Channel.FacebookMessenger.csproj", "{C623F04D-6947-4316-9377-168066F50B79}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Channel.Weixin", "src\Channels\BotSharp.Channel.Weixin\BotSharp.Channel.Weixin.csproj", "{E94A2E73-C1C7-434E-B9B5-A39BFED61E45}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Abstraction", "src\Infrastructure\BotSharp.Abstraction\BotSharp.Abstraction.csproj", "{197885F1-2EB2-4709-B9AA-A777878D74B3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Core", "src\Infrastructure\BotSharp.Core\BotSharp.Core.csproj", "{36F5CEBD-31A8-4BEF-8BAA-BAC4E63E4815}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Platform.OpenAi", "src\Platforms\BotSharp.Platform.OpenAi\BotSharp.Platform.OpenAi.csproj", "{286C7DE5-1EBC-4D28-AB25-4FAAD4C31D2A}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebStarter", "src\WebStarter\WebStarter.csproj", "{07AD18C5-CE7B-495A-815F-170E93CCC42A}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Platform.AzureAi", "src\Platforms\BotSharp.Platform.AureAi\BotSharp.Platform.AzureAi.csproj", "{B874E946-AE39-4731-8DA5-16A99115D111}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UiAdapters", "UiAdapters", "{42226933-0A0D-48E8-85EC-AFE773A1F841}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ChatbotUI", "src\UiAdapters\ChatbotUI\ChatbotUI.csproj", "{223895FB-EE4C-4225-8042-292352B43973}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{2635EC9B-2E5F-4313-AC21-0B847F31F36C}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HuggingChatUI", "src\UiAdapters\HuggingChatUI\HuggingChatUI.csproj", "{1340286B-2E39-4CE6-BFD2-0B6B124641D0}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Channels", "Channels", "{64264688-0F5C-4AB0-8F2B-B59B717CCE00}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Platform.Community", "src\Platforms\BotSharp.Platform.Community\BotSharp.Platform.Community.csproj", "{6D2627B2-2531-48C2-B560-3F89FAE82A61}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Platforms", "Platforms", "{D5293208-2BEF-42FC-A64C-5954F61720BA}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Channel.Weixin", "src\Plugins\Channels\BotSharp.Channel.Weixin\BotSharp.Channel.Weixin.csproj", "{B99E1F96-5989-41FF-A4FB-90EFD5C3099F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Channel.FacebookMessenger", "src\Plugins\Channels\BotSharp.Channel.FacebookMessenger\BotSharp.Channel.FacebookMessenger.csproj", "{1D651A53-6755-465B-93FC-FA537A5A614E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Platform.AzureAi", "src\Plugins\Platforms\BotSharp.Platform.AureAi\BotSharp.Platform.AzureAi.csproj", "{DB98D551-C74A-426E-AF15-D1D49610E00E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Platform.Community", "src\Plugins\Platforms\BotSharp.Platform.Community\BotSharp.Platform.Community.csproj", "{9101ADE3-F77A-4806-B3AF-1FFC38D0C88D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.UIAdapter.ChatbotUI", "src\Plugins\UiAdapters\BotSharp.UiAdapter.ChatbotUI\BotSharp.UIAdapter.ChatbotUI.csproj", "{B49EFCCA-3E5D-4E26-8E83-4070C6FE34C8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.UIAdapter.HuggingChatUI", "src\Plugins\UiAdapters\BotSharp.UiAdapter.HuggingChatUI\BotSharp.UIAdapter.HuggingChatUI.csproj", "{CAEA84EF-B121-48AE-AE0F-AFB514A3FAFF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -39,22 +39,6 @@ Global
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {C623F04D-6947-4316-9377-168066F50B79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C623F04D-6947-4316-9377-168066F50B79}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C623F04D-6947-4316-9377-168066F50B79}.Debug|x64.ActiveCfg = Debug|Any CPU
- {C623F04D-6947-4316-9377-168066F50B79}.Debug|x64.Build.0 = Debug|Any CPU
- {C623F04D-6947-4316-9377-168066F50B79}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C623F04D-6947-4316-9377-168066F50B79}.Release|Any CPU.Build.0 = Release|Any CPU
- {C623F04D-6947-4316-9377-168066F50B79}.Release|x64.ActiveCfg = Release|Any CPU
- {C623F04D-6947-4316-9377-168066F50B79}.Release|x64.Build.0 = Release|Any CPU
- {E94A2E73-C1C7-434E-B9B5-A39BFED61E45}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E94A2E73-C1C7-434E-B9B5-A39BFED61E45}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E94A2E73-C1C7-434E-B9B5-A39BFED61E45}.Debug|x64.ActiveCfg = Debug|Any CPU
- {E94A2E73-C1C7-434E-B9B5-A39BFED61E45}.Debug|x64.Build.0 = Debug|Any CPU
- {E94A2E73-C1C7-434E-B9B5-A39BFED61E45}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E94A2E73-C1C7-434E-B9B5-A39BFED61E45}.Release|Any CPU.Build.0 = Release|Any CPU
- {E94A2E73-C1C7-434E-B9B5-A39BFED61E45}.Release|x64.ActiveCfg = Release|Any CPU
- {E94A2E73-C1C7-434E-B9B5-A39BFED61E45}.Release|x64.Build.0 = Release|Any CPU
{197885F1-2EB2-4709-B9AA-A777878D74B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{197885F1-2EB2-4709-B9AA-A777878D74B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{197885F1-2EB2-4709-B9AA-A777878D74B3}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -71,14 +55,6 @@ Global
{36F5CEBD-31A8-4BEF-8BAA-BAC4E63E4815}.Release|Any CPU.Build.0 = Release|Any CPU
{36F5CEBD-31A8-4BEF-8BAA-BAC4E63E4815}.Release|x64.ActiveCfg = Release|x64
{36F5CEBD-31A8-4BEF-8BAA-BAC4E63E4815}.Release|x64.Build.0 = Release|x64
- {286C7DE5-1EBC-4D28-AB25-4FAAD4C31D2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {286C7DE5-1EBC-4D28-AB25-4FAAD4C31D2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {286C7DE5-1EBC-4D28-AB25-4FAAD4C31D2A}.Debug|x64.ActiveCfg = Debug|Any CPU
- {286C7DE5-1EBC-4D28-AB25-4FAAD4C31D2A}.Debug|x64.Build.0 = Debug|Any CPU
- {286C7DE5-1EBC-4D28-AB25-4FAAD4C31D2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {286C7DE5-1EBC-4D28-AB25-4FAAD4C31D2A}.Release|Any CPU.Build.0 = Release|Any CPU
- {286C7DE5-1EBC-4D28-AB25-4FAAD4C31D2A}.Release|x64.ActiveCfg = Release|Any CPU
- {286C7DE5-1EBC-4D28-AB25-4FAAD4C31D2A}.Release|x64.Build.0 = Release|Any CPU
{07AD18C5-CE7B-495A-815F-170E93CCC42A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{07AD18C5-CE7B-495A-815F-170E93CCC42A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{07AD18C5-CE7B-495A-815F-170E93CCC42A}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -87,52 +63,70 @@ Global
{07AD18C5-CE7B-495A-815F-170E93CCC42A}.Release|Any CPU.Build.0 = Release|Any CPU
{07AD18C5-CE7B-495A-815F-170E93CCC42A}.Release|x64.ActiveCfg = Release|Any CPU
{07AD18C5-CE7B-495A-815F-170E93CCC42A}.Release|x64.Build.0 = Release|Any CPU
- {B874E946-AE39-4731-8DA5-16A99115D111}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B874E946-AE39-4731-8DA5-16A99115D111}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B874E946-AE39-4731-8DA5-16A99115D111}.Debug|x64.ActiveCfg = Debug|Any CPU
- {B874E946-AE39-4731-8DA5-16A99115D111}.Debug|x64.Build.0 = Debug|Any CPU
- {B874E946-AE39-4731-8DA5-16A99115D111}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B874E946-AE39-4731-8DA5-16A99115D111}.Release|Any CPU.Build.0 = Release|Any CPU
- {B874E946-AE39-4731-8DA5-16A99115D111}.Release|x64.ActiveCfg = Release|Any CPU
- {B874E946-AE39-4731-8DA5-16A99115D111}.Release|x64.Build.0 = Release|Any CPU
- {223895FB-EE4C-4225-8042-292352B43973}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {223895FB-EE4C-4225-8042-292352B43973}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {223895FB-EE4C-4225-8042-292352B43973}.Debug|x64.ActiveCfg = Debug|Any CPU
- {223895FB-EE4C-4225-8042-292352B43973}.Debug|x64.Build.0 = Debug|Any CPU
- {223895FB-EE4C-4225-8042-292352B43973}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {223895FB-EE4C-4225-8042-292352B43973}.Release|Any CPU.Build.0 = Release|Any CPU
- {223895FB-EE4C-4225-8042-292352B43973}.Release|x64.ActiveCfg = Release|Any CPU
- {223895FB-EE4C-4225-8042-292352B43973}.Release|x64.Build.0 = Release|Any CPU
- {1340286B-2E39-4CE6-BFD2-0B6B124641D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1340286B-2E39-4CE6-BFD2-0B6B124641D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1340286B-2E39-4CE6-BFD2-0B6B124641D0}.Debug|x64.ActiveCfg = Debug|Any CPU
- {1340286B-2E39-4CE6-BFD2-0B6B124641D0}.Debug|x64.Build.0 = Debug|Any CPU
- {1340286B-2E39-4CE6-BFD2-0B6B124641D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1340286B-2E39-4CE6-BFD2-0B6B124641D0}.Release|Any CPU.Build.0 = Release|Any CPU
- {1340286B-2E39-4CE6-BFD2-0B6B124641D0}.Release|x64.ActiveCfg = Release|Any CPU
- {1340286B-2E39-4CE6-BFD2-0B6B124641D0}.Release|x64.Build.0 = Release|Any CPU
- {6D2627B2-2531-48C2-B560-3F89FAE82A61}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6D2627B2-2531-48C2-B560-3F89FAE82A61}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6D2627B2-2531-48C2-B560-3F89FAE82A61}.Debug|x64.ActiveCfg = Debug|Any CPU
- {6D2627B2-2531-48C2-B560-3F89FAE82A61}.Debug|x64.Build.0 = Debug|Any CPU
- {6D2627B2-2531-48C2-B560-3F89FAE82A61}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6D2627B2-2531-48C2-B560-3F89FAE82A61}.Release|Any CPU.Build.0 = Release|Any CPU
- {6D2627B2-2531-48C2-B560-3F89FAE82A61}.Release|x64.ActiveCfg = Release|Any CPU
- {6D2627B2-2531-48C2-B560-3F89FAE82A61}.Release|x64.Build.0 = Release|Any CPU
+ {B99E1F96-5989-41FF-A4FB-90EFD5C3099F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B99E1F96-5989-41FF-A4FB-90EFD5C3099F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B99E1F96-5989-41FF-A4FB-90EFD5C3099F}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {B99E1F96-5989-41FF-A4FB-90EFD5C3099F}.Debug|x64.Build.0 = Debug|Any CPU
+ {B99E1F96-5989-41FF-A4FB-90EFD5C3099F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B99E1F96-5989-41FF-A4FB-90EFD5C3099F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B99E1F96-5989-41FF-A4FB-90EFD5C3099F}.Release|x64.ActiveCfg = Release|Any CPU
+ {B99E1F96-5989-41FF-A4FB-90EFD5C3099F}.Release|x64.Build.0 = Release|Any CPU
+ {1D651A53-6755-465B-93FC-FA537A5A614E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1D651A53-6755-465B-93FC-FA537A5A614E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1D651A53-6755-465B-93FC-FA537A5A614E}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {1D651A53-6755-465B-93FC-FA537A5A614E}.Debug|x64.Build.0 = Debug|Any CPU
+ {1D651A53-6755-465B-93FC-FA537A5A614E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1D651A53-6755-465B-93FC-FA537A5A614E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1D651A53-6755-465B-93FC-FA537A5A614E}.Release|x64.ActiveCfg = Release|Any CPU
+ {1D651A53-6755-465B-93FC-FA537A5A614E}.Release|x64.Build.0 = Release|Any CPU
+ {DB98D551-C74A-426E-AF15-D1D49610E00E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DB98D551-C74A-426E-AF15-D1D49610E00E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DB98D551-C74A-426E-AF15-D1D49610E00E}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {DB98D551-C74A-426E-AF15-D1D49610E00E}.Debug|x64.Build.0 = Debug|Any CPU
+ {DB98D551-C74A-426E-AF15-D1D49610E00E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DB98D551-C74A-426E-AF15-D1D49610E00E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DB98D551-C74A-426E-AF15-D1D49610E00E}.Release|x64.ActiveCfg = Release|Any CPU
+ {DB98D551-C74A-426E-AF15-D1D49610E00E}.Release|x64.Build.0 = Release|Any CPU
+ {9101ADE3-F77A-4806-B3AF-1FFC38D0C88D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9101ADE3-F77A-4806-B3AF-1FFC38D0C88D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9101ADE3-F77A-4806-B3AF-1FFC38D0C88D}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {9101ADE3-F77A-4806-B3AF-1FFC38D0C88D}.Debug|x64.Build.0 = Debug|Any CPU
+ {9101ADE3-F77A-4806-B3AF-1FFC38D0C88D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9101ADE3-F77A-4806-B3AF-1FFC38D0C88D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9101ADE3-F77A-4806-B3AF-1FFC38D0C88D}.Release|x64.ActiveCfg = Release|Any CPU
+ {9101ADE3-F77A-4806-B3AF-1FFC38D0C88D}.Release|x64.Build.0 = Release|Any CPU
+ {B49EFCCA-3E5D-4E26-8E83-4070C6FE34C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B49EFCCA-3E5D-4E26-8E83-4070C6FE34C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B49EFCCA-3E5D-4E26-8E83-4070C6FE34C8}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {B49EFCCA-3E5D-4E26-8E83-4070C6FE34C8}.Debug|x64.Build.0 = Debug|Any CPU
+ {B49EFCCA-3E5D-4E26-8E83-4070C6FE34C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B49EFCCA-3E5D-4E26-8E83-4070C6FE34C8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B49EFCCA-3E5D-4E26-8E83-4070C6FE34C8}.Release|x64.ActiveCfg = Release|Any CPU
+ {B49EFCCA-3E5D-4E26-8E83-4070C6FE34C8}.Release|x64.Build.0 = Release|Any CPU
+ {CAEA84EF-B121-48AE-AE0F-AFB514A3FAFF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CAEA84EF-B121-48AE-AE0F-AFB514A3FAFF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CAEA84EF-B121-48AE-AE0F-AFB514A3FAFF}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {CAEA84EF-B121-48AE-AE0F-AFB514A3FAFF}.Debug|x64.Build.0 = Debug|Any CPU
+ {CAEA84EF-B121-48AE-AE0F-AFB514A3FAFF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CAEA84EF-B121-48AE-AE0F-AFB514A3FAFF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CAEA84EF-B121-48AE-AE0F-AFB514A3FAFF}.Release|x64.ActiveCfg = Release|Any CPU
+ {CAEA84EF-B121-48AE-AE0F-AFB514A3FAFF}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
- {C623F04D-6947-4316-9377-168066F50B79} = {FC2A12DB-AC88-41E4-A58C-9EEC6DAD91E1}
- {E94A2E73-C1C7-434E-B9B5-A39BFED61E45} = {FC2A12DB-AC88-41E4-A58C-9EEC6DAD91E1}
{197885F1-2EB2-4709-B9AA-A777878D74B3} = {E29DC6C4-5E57-48C5-BCB0-6B8F84782749}
{36F5CEBD-31A8-4BEF-8BAA-BAC4E63E4815} = {E29DC6C4-5E57-48C5-BCB0-6B8F84782749}
- {286C7DE5-1EBC-4D28-AB25-4FAAD4C31D2A} = {FFA662D3-B67B-478D-92FC-76DC5EB64412}
- {B874E946-AE39-4731-8DA5-16A99115D111} = {FFA662D3-B67B-478D-92FC-76DC5EB64412}
- {223895FB-EE4C-4225-8042-292352B43973} = {42226933-0A0D-48E8-85EC-AFE773A1F841}
- {1340286B-2E39-4CE6-BFD2-0B6B124641D0} = {42226933-0A0D-48E8-85EC-AFE773A1F841}
- {6D2627B2-2531-48C2-B560-3F89FAE82A61} = {FFA662D3-B67B-478D-92FC-76DC5EB64412}
+ {42226933-0A0D-48E8-85EC-AFE773A1F841} = {2635EC9B-2E5F-4313-AC21-0B847F31F36C}
+ {64264688-0F5C-4AB0-8F2B-B59B717CCE00} = {2635EC9B-2E5F-4313-AC21-0B847F31F36C}
+ {D5293208-2BEF-42FC-A64C-5954F61720BA} = {2635EC9B-2E5F-4313-AC21-0B847F31F36C}
+ {B99E1F96-5989-41FF-A4FB-90EFD5C3099F} = {64264688-0F5C-4AB0-8F2B-B59B717CCE00}
+ {1D651A53-6755-465B-93FC-FA537A5A614E} = {64264688-0F5C-4AB0-8F2B-B59B717CCE00}
+ {DB98D551-C74A-426E-AF15-D1D49610E00E} = {D5293208-2BEF-42FC-A64C-5954F61720BA}
+ {9101ADE3-F77A-4806-B3AF-1FFC38D0C88D} = {D5293208-2BEF-42FC-A64C-5954F61720BA}
+ {B49EFCCA-3E5D-4E26-8E83-4070C6FE34C8} = {42226933-0A0D-48E8-85EC-AFE773A1F841}
+ {CAEA84EF-B121-48AE-AE0F-AFB514A3FAFF} = {42226933-0A0D-48E8-85EC-AFE773A1F841}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {A9969D89-C98B-40A5-A12B-FC87E55B3A19}
diff --git a/src/Channels/BotSharp.Channel.FacebookMessenger/BotSharp.Channel.FacebookMessenger.csproj b/src/Plugins/Channels/BotSharp.Channel.FacebookMessenger/BotSharp.Channel.FacebookMessenger.csproj
similarity index 100%
rename from src/Channels/BotSharp.Channel.FacebookMessenger/BotSharp.Channel.FacebookMessenger.csproj
rename to src/Plugins/Channels/BotSharp.Channel.FacebookMessenger/BotSharp.Channel.FacebookMessenger.csproj
diff --git a/src/Channels/BotSharp.Channel.Weixin/BotSharp.Channel.Weixin.csproj b/src/Plugins/Channels/BotSharp.Channel.Weixin/BotSharp.Channel.Weixin.csproj
similarity index 100%
rename from src/Channels/BotSharp.Channel.Weixin/BotSharp.Channel.Weixin.csproj
rename to src/Plugins/Channels/BotSharp.Channel.Weixin/BotSharp.Channel.Weixin.csproj
diff --git a/src/Channels/BotSharp.Channel.Weixin/README.md b/src/Plugins/Channels/BotSharp.Channel.Weixin/README.md
similarity index 100%
rename from src/Channels/BotSharp.Channel.Weixin/README.md
rename to src/Plugins/Channels/BotSharp.Channel.Weixin/README.md
diff --git a/src/Platforms/BotSharp.Platform.AureAi/AzureAiServiceCollectionExtensions.cs b/src/Plugins/Platforms/BotSharp.Platform.AureAi/AzureAiServiceCollectionExtensions.cs
similarity index 100%
rename from src/Platforms/BotSharp.Platform.AureAi/AzureAiServiceCollectionExtensions.cs
rename to src/Plugins/Platforms/BotSharp.Platform.AureAi/AzureAiServiceCollectionExtensions.cs
diff --git a/src/Platforms/BotSharp.Platform.AureAi/AzureAiSettings.cs b/src/Plugins/Platforms/BotSharp.Platform.AureAi/AzureAiSettings.cs
similarity index 100%
rename from src/Platforms/BotSharp.Platform.AureAi/AzureAiSettings.cs
rename to src/Plugins/Platforms/BotSharp.Platform.AureAi/AzureAiSettings.cs
diff --git a/src/Platforms/BotSharp.Platform.AureAi/BotSharp.Platform.AzureAi.csproj b/src/Plugins/Platforms/BotSharp.Platform.AureAi/BotSharp.Platform.AzureAi.csproj
similarity index 68%
rename from src/Platforms/BotSharp.Platform.AureAi/BotSharp.Platform.AzureAi.csproj
rename to src/Plugins/Platforms/BotSharp.Platform.AureAi/BotSharp.Platform.AzureAi.csproj
index 864adce4..7e954f29 100644
--- a/src/Platforms/BotSharp.Platform.AureAi/BotSharp.Platform.AzureAi.csproj
+++ b/src/Plugins/Platforms/BotSharp.Platform.AureAi/BotSharp.Platform.AzureAi.csproj
@@ -1,4 +1,4 @@
-
+
netstandard2.1
@@ -11,7 +11,7 @@
-
+
diff --git a/src/Platforms/BotSharp.Platform.AureAi/Handlers/ChatCompletionHandler.cs b/src/Plugins/Platforms/BotSharp.Platform.AureAi/Handlers/ChatCompletionHandler.cs
similarity index 100%
rename from src/Platforms/BotSharp.Platform.AureAi/Handlers/ChatCompletionHandler.cs
rename to src/Plugins/Platforms/BotSharp.Platform.AureAi/Handlers/ChatCompletionHandler.cs
diff --git a/src/Platforms/BotSharp.Platform.Community/BotSharp.Platform.Community.csproj b/src/Plugins/Platforms/BotSharp.Platform.Community/BotSharp.Platform.Community.csproj
similarity index 78%
rename from src/Platforms/BotSharp.Platform.Community/BotSharp.Platform.Community.csproj
rename to src/Plugins/Platforms/BotSharp.Platform.Community/BotSharp.Platform.Community.csproj
index e89f1bda..ba00cb5c 100644
--- a/src/Platforms/BotSharp.Platform.Community/BotSharp.Platform.Community.csproj
+++ b/src/Plugins/Platforms/BotSharp.Platform.Community/BotSharp.Platform.Community.csproj
@@ -12,7 +12,7 @@
-
+
\ No newline at end of file
diff --git a/src/Platforms/BotSharp.Platform.Community/Handlers/ChatCompletionHandler.cs b/src/Plugins/Platforms/BotSharp.Platform.Community/Handlers/ChatCompletionHandler.cs
similarity index 100%
rename from src/Platforms/BotSharp.Platform.Community/Handlers/ChatCompletionHandler.cs
rename to src/Plugins/Platforms/BotSharp.Platform.Community/Handlers/ChatCompletionHandler.cs
diff --git a/src/Platforms/BotSharp.Platform.Community/LlamaSharpSettings.cs b/src/Plugins/Platforms/BotSharp.Platform.Community/LlamaSharpSettings.cs
similarity index 100%
rename from src/Platforms/BotSharp.Platform.Community/LlamaSharpSettings.cs
rename to src/Plugins/Platforms/BotSharp.Platform.Community/LlamaSharpSettings.cs
diff --git a/src/Platforms/BotSharp.Platform.Community/LlamaSharplServiceCollectionExtensions.cs b/src/Plugins/Platforms/BotSharp.Platform.Community/LlamaSharplServiceCollectionExtensions.cs
similarity index 100%
rename from src/Platforms/BotSharp.Platform.Community/LlamaSharplServiceCollectionExtensions.cs
rename to src/Plugins/Platforms/BotSharp.Platform.Community/LlamaSharplServiceCollectionExtensions.cs
diff --git a/src/Platforms/BotSharp.Platform.OpenAi/BotSharp.Platform.OpenAi.csproj b/src/Plugins/Platforms/BotSharp.Platform.OpenAi/BotSharp.Platform.OpenAi.csproj
similarity index 100%
rename from src/Platforms/BotSharp.Platform.OpenAi/BotSharp.Platform.OpenAi.csproj
rename to src/Plugins/Platforms/BotSharp.Platform.OpenAi/BotSharp.Platform.OpenAi.csproj
diff --git a/src/UiAdapters/ChatbotUI/ChatbotUI.csproj b/src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/BotSharp.UIAdapter.ChatbotUI.csproj
similarity index 81%
rename from src/UiAdapters/ChatbotUI/ChatbotUI.csproj
rename to src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/BotSharp.UIAdapter.ChatbotUI.csproj
index 46dae57d..4301521d 100644
--- a/src/UiAdapters/ChatbotUI/ChatbotUI.csproj
+++ b/src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/BotSharp.UIAdapter.ChatbotUI.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/src/UiAdapters/ChatbotUI/Chatbot-UI.md b/src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/Chatbot-UI.md
similarity index 100%
rename from src/UiAdapters/ChatbotUI/Chatbot-UI.md
rename to src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/Chatbot-UI.md
diff --git a/src/UiAdapters/ChatbotUI/ChatbotUiController.cs b/src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/ChatbotUiController.cs
similarity index 100%
rename from src/UiAdapters/ChatbotUI/ChatbotUiController.cs
rename to src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/ChatbotUiController.cs
diff --git a/src/UiAdapters/ChatbotUI/ViewModels/OpenAiChatOutput.cs b/src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/ViewModels/OpenAiChatOutput.cs
similarity index 100%
rename from src/UiAdapters/ChatbotUI/ViewModels/OpenAiChatOutput.cs
rename to src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/ViewModels/OpenAiChatOutput.cs
diff --git a/src/UiAdapters/ChatbotUI/ViewModels/OpenAiChoice.cs b/src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/ViewModels/OpenAiChoice.cs
similarity index 100%
rename from src/UiAdapters/ChatbotUI/ViewModels/OpenAiChoice.cs
rename to src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/ViewModels/OpenAiChoice.cs
diff --git a/src/UiAdapters/ChatbotUI/ViewModels/OpenAiMessageBody.cs b/src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/ViewModels/OpenAiMessageBody.cs
similarity index 100%
rename from src/UiAdapters/ChatbotUI/ViewModels/OpenAiMessageBody.cs
rename to src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/ViewModels/OpenAiMessageBody.cs
diff --git a/src/UiAdapters/ChatbotUI/ViewModels/OpenAiMessageInput.cs b/src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/ViewModels/OpenAiMessageInput.cs
similarity index 100%
rename from src/UiAdapters/ChatbotUI/ViewModels/OpenAiMessageInput.cs
rename to src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/ViewModels/OpenAiMessageInput.cs
diff --git a/src/UiAdapters/ChatbotUI/ViewModels/OpenAiModels.cs b/src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/ViewModels/OpenAiModels.cs
similarity index 100%
rename from src/UiAdapters/ChatbotUI/ViewModels/OpenAiModels.cs
rename to src/Plugins/UiAdapters/BotSharp.UiAdapter.ChatbotUI/ViewModels/OpenAiModels.cs
diff --git a/src/UiAdapters/HuggingChatUI/HuggingChatUI.csproj b/src/Plugins/UiAdapters/BotSharp.UiAdapter.HuggingChatUI/BotSharp.UIAdapter.HuggingChatUI.csproj
similarity index 76%
rename from src/UiAdapters/HuggingChatUI/HuggingChatUI.csproj
rename to src/Plugins/UiAdapters/BotSharp.UiAdapter.HuggingChatUI/BotSharp.UIAdapter.HuggingChatUI.csproj
index ad4bc398..6e134e84 100644
--- a/src/UiAdapters/HuggingChatUI/HuggingChatUI.csproj
+++ b/src/Plugins/UiAdapters/BotSharp.UiAdapter.HuggingChatUI/BotSharp.UIAdapter.HuggingChatUI.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/src/Plugins/UiAdapters/BotSharp.UiAdapter.HuggingChatUI/HuggingChat-UI.md b/src/Plugins/UiAdapters/BotSharp.UiAdapter.HuggingChatUI/HuggingChat-UI.md
new file mode 100644
index 00000000..908f15b1
--- /dev/null
+++ b/src/Plugins/UiAdapters/BotSharp.UiAdapter.HuggingChatUI/HuggingChat-UI.md
@@ -0,0 +1,24 @@
+# Chatbot UI
+[HuggingChat UI](https://github.com/huggingface/chat-ui) is A chat interface using open source models, eg OpenAssistant..
+
+```shell
+git clone https://github.com/huggingface/chat-ui
+npm i
+npm run dev
+```
+
+Add `clientConfig.js` file in `src/lib` folder
+```js
+import { base } from "$app/paths";
+
+export const BASE_URL = `http://localhost:5500${base}`;
+```
+
+* Copy `.env` as `.env.local`
+
+Add BotSharp host in the API endpoint
+```svelte
+import { BASE_URL } from '$lib/clientConfig.js'
+# Change all ${base} to ${BASE_URL}
+${base}/conversation -> ${BASE_URL}/conversation
+```
diff --git a/src/UiAdapters/HuggingChatUI/HuggingChatUiController.cs b/src/Plugins/UiAdapters/BotSharp.UiAdapter.HuggingChatUI/HuggingChatUiController.cs
similarity index 100%
rename from src/UiAdapters/HuggingChatUI/HuggingChatUiController.cs
rename to src/Plugins/UiAdapters/BotSharp.UiAdapter.HuggingChatUI/HuggingChatUiController.cs
diff --git a/src/UiAdapters/HuggingChatUI/ViewModels/ConversationCreationModel.cs b/src/Plugins/UiAdapters/BotSharp.UiAdapter.HuggingChatUI/ViewModels/ConversationCreationModel.cs
similarity index 100%
rename from src/UiAdapters/HuggingChatUI/ViewModels/ConversationCreationModel.cs
rename to src/Plugins/UiAdapters/BotSharp.UiAdapter.HuggingChatUI/ViewModels/ConversationCreationModel.cs
diff --git a/src/UiAdapters/HuggingChatUI/ViewModels/ConversationViewModel.cs b/src/Plugins/UiAdapters/BotSharp.UiAdapter.HuggingChatUI/ViewModels/ConversationViewModel.cs
similarity index 100%
rename from src/UiAdapters/HuggingChatUI/ViewModels/ConversationViewModel.cs
rename to src/Plugins/UiAdapters/BotSharp.UiAdapter.HuggingChatUI/ViewModels/ConversationViewModel.cs
diff --git a/src/UiAdapters/HuggingChatUI/HuggingChat-UI.md b/src/UiAdapters/HuggingChatUI/HuggingChat-UI.md
deleted file mode 100644
index 7b9c3733..00000000
--- a/src/UiAdapters/HuggingChatUI/HuggingChat-UI.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Chatbot UI
-[HuggingChat UI](https://github.com/huggingface/chat-ui) is A chat interface using open source models, eg OpenAssistant..
-
-```shell
-git clone https://github.com/huggingface/chat-ui
-npm i
-npm run dev
-```
-
-* Rename `.env.local.example` to `.env.local`
-
-```shell
-# Change host to BotSharp service
-OPENAI_API_HOST=http://localhost:5500
-```
-
diff --git a/src/WebStarter/WebStarter.csproj b/src/WebStarter/WebStarter.csproj
index f2cf8992..762e49fb 100644
--- a/src/WebStarter/WebStarter.csproj
+++ b/src/WebStarter/WebStarter.csproj
@@ -27,11 +27,10 @@
-
-
-
-
-
+
+
+
+