diff --git a/app/MindWork AI Studio.sln b/app/MindWork AI Studio.sln
index 37871ac7..d4a20bd7 100644
--- a/app/MindWork AI Studio.sln
+++ b/app/MindWork AI Studio.sln
@@ -4,6 +4,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MindWork AI Studio", "MindW
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceCodeRules", "SourceCodeRules\SourceCodeRules\SourceCodeRules.csproj", "{0976C1CB-D499-4C86-8ADA-B7A7A4DE0BF8}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharedTools", "SharedTools\SharedTools.csproj", "{969C74DF-7678-4CD5-B269-D03E1ECA3D2A}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -18,6 +20,10 @@ Global
{0976C1CB-D499-4C86-8ADA-B7A7A4DE0BF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0976C1CB-D499-4C86-8ADA-B7A7A4DE0BF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0976C1CB-D499-4C86-8ADA-B7A7A4DE0BF8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {969C74DF-7678-4CD5-B269-D03E1ECA3D2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {969C74DF-7678-4CD5-B269-D03E1ECA3D2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {969C74DF-7678-4CD5-B269-D03E1ECA3D2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {969C74DF-7678-4CD5-B269-D03E1ECA3D2A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
EndGlobalSection
diff --git a/app/MindWork AI Studio/Components/MSGComponentBase.cs b/app/MindWork AI Studio/Components/MSGComponentBase.cs
index 4e904c02..a70a5257 100644
--- a/app/MindWork AI Studio/Components/MSGComponentBase.cs
+++ b/app/MindWork AI Studio/Components/MSGComponentBase.cs
@@ -3,6 +3,8 @@ using AIStudio.Tools.PluginSystem;
using Microsoft.AspNetCore.Components;
+using SharedTools;
+
namespace AIStudio.Components;
public abstract class MSGComponentBase : ComponentBase, IDisposable, IMessageBusReceiver, ILang
diff --git a/app/MindWork AI Studio/MindWork AI Studio.csproj b/app/MindWork AI Studio/MindWork AI Studio.csproj
index a4fae3cb..f70535ce 100644
--- a/app/MindWork AI Studio/MindWork AI Studio.csproj
+++ b/app/MindWork AI Studio/MindWork AI Studio.csproj
@@ -56,6 +56,7 @@
+
diff --git a/app/MindWork AI Studio/packages.lock.json b/app/MindWork AI Studio/packages.lock.json
index 7c4e67da..b35b2e3d 100644
--- a/app/MindWork AI Studio/packages.lock.json
+++ b/app/MindWork AI Studio/packages.lock.json
@@ -205,6 +205,9 @@
"type": "Transitive",
"resolved": "0.16.9",
"contentHash": "7WaVMHklpT3Ye2ragqRIwlFRsb6kOk63BOGADV0fan3ulVfGLUYkDi5yNUsZS/7FVNkWbtHAlDLmu4WnHGfqvQ=="
+ },
+ "sharedtools": {
+ "type": "Project"
}
},
"net9.0/osx-arm64": {}
diff --git a/app/MindWork AI Studio/Tools/FNVHash.cs b/app/SharedTools/FNVHash.cs
similarity index 98%
rename from app/MindWork AI Studio/Tools/FNVHash.cs
rename to app/SharedTools/FNVHash.cs
index cc47645e..a60beeff 100644
--- a/app/MindWork AI Studio/Tools/FNVHash.cs
+++ b/app/SharedTools/FNVHash.cs
@@ -1,5 +1,5 @@
// ReSharper disable MemberCanBePrivate.Global
-namespace AIStudio.Tools;
+namespace SharedTools;
///
/// Implements the Fowler–Noll–Vo hash function for 32-bit and 64-bit hashes.
diff --git a/app/SharedTools/SharedTools.csproj b/app/SharedTools/SharedTools.csproj
new file mode 100644
index 00000000..e0439ac8
--- /dev/null
+++ b/app/SharedTools/SharedTools.csproj
@@ -0,0 +1,10 @@
+
+
+
+ net9.0
+ latest
+ enable
+ enable
+
+
+