diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml
new file mode 100644
index 00000000..d99b63e7
--- /dev/null
+++ b/.github/workflows/pr.yml
@@ -0,0 +1,41 @@
+# ------------------------------------------------------------------------------
+#
+#
+# This code was generated.
+#
+# - To turn off auto-generation set:
+#
+# [CustomGitHubActions (AutoGenerate = false)]
+#
+# - To trigger manual generation invoke:
+#
+# nuke --generate-configuration GitHubActions_pr --host GitHubActions
+#
+#
+# ------------------------------------------------------------------------------
+
+name: pr
+
+on:
+ pull_request:
+ branches:
+ - main
+ paths:
+ - '**/*'
+
+concurrency:
+ group: ${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
+jobs:
+ ubuntu-latest:
+ name: ubuntu-latest
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: |
+ 9.x
+ - uses: actions/checkout@v4
+ - name: 'Run: Compile, Test, Pack'
+ run: ./build.cmd Compile Test Pack
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4fc395ad..e8eed5b1 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -36,17 +36,19 @@ git checkout -b feature/integration-name
```
Follow the repository's structure when adding a new integration:
```
-Elsa.Integrations.ServiceName/
- ├── Services/
- ├── Activities/
- ├── AI/
+[group-name]/
+ └── Elsa.Integrations.[integration-name]/
+ ├── Services/
+ ├── Activities/
+ ├── AI/
+ ...
```
### 5️⃣ Commit & Push
Ensure your code follows the project’s conventions and add meaningful commit messages:
```sh
git add .
-git commit -m "Add support for [integration name]"
+git commit -m "Add support for [integration-name]"
git push origin feature/integration-name
```
@@ -65,7 +67,7 @@ Our team will review your PR, provide feedback if necessary, and merge it once a
## 🛠 Contribution Guidelines
- **Code Style**: Follow `.editorconfig` settings and existing project conventions.
-- **Documentation**: Every new integration must have a `README.md` inside its folder explaining how to use it.
+- **Documentation**: Every integration must have a `README.md` at the root of its group folder or project. See [README-TEMPLATE](https://github.com/elsa-workflows/elsa-integrations/blob/main/README-TEMPLATE.md).
- **Tests**: If possible, add unit/integration tests for your changes.
---
diff --git a/Directory.Build.props b/Directory.Build.props
index fd0848eb..bfc6e8f2 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -3,8 +3,8 @@
Elsa Workflows Community
2025
- https://github.com/elsa-workflows/elsa-core
- https://github.com/elsa-workflows/elsa-core
+ https://github.com/elsa-workflows/elsa-integrations
+ https://github.com/elsa-workflows/elsa-integrations
git
latest
@@ -21,12 +21,24 @@
Default
latest
+ enable
+ all
+
true
snupkg
true
-
-
- 3.5.0-preview.2783
+
+ false
+
+
+ $(NoWarn);CS0162;CS1591
+
+ $(NoWarn);IL2026;IL2046;IL2057;IL2067;IL2070;IL2072;IL2075;IL2087;IL2091
+
+
+
+ 3.6.0-preview.2935
+ 3.6.0-preview.1018
\ No newline at end of file
diff --git a/Directory.Packages.props b/Directory.Packages.props
index bfe6051f..5b0bc019 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -1,101 +1,95 @@
-
- true
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ true
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Elsa.Integrations.sln b/Elsa.Integrations.sln
index 5f176d11..bcfb4042 100644
--- a/Elsa.Integrations.sln
+++ b/Elsa.Integrations.sln
@@ -1,15 +1,13 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
-VisualStudioVersion = 17.12.35527.113 d17.12
+VisualStudioVersion = 17.12.35527.113
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{527248D6-B851-4C8D-8667-E2FB0A91DABF}"
ProjectSection(SolutionItems) = preProject
src\Directory.Build.props = src\Directory.Build.props
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.AzureStorage", "src\Elsa.Integrations.AzureStorage\Elsa.Integrations.AzureStorage.csproj", "{A8666FC4-66E1-4766-A22B-C410D42D03DD}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "solution", "solution", "{DE39E491-5DDC-40F4-91D5-7F5FAF0E1884}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
@@ -19,22 +17,15 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "solution", "solution", "{DE
icon.png = icon.png
LICENSE = LICENSE
NuGet.Config = NuGet.Config
+ README-TEMPLATE.md = README-TEMPLATE.md
README.md = README.md
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Slack", "src\Elsa.Integrations.Slack\Elsa.Integrations.Slack.csproj", "{9732E404-11B5-48DB-B5D9-97997F018830}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{A99FA26E-2098-403A-BD04-6BBCFBE3AC7D}"
ProjectSection(SolutionItems) = preProject
test\Directory.Build.props = test\Directory.Build.props
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Telnyx", "src\Elsa.Integrations.Telnyx\Elsa.Integrations.Telnyx.csproj", "{128B2FC3-81A7-4327-9665-9155B05F21DA}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.OrchardCore", "src\Elsa.Integrations.OrchardCore\Elsa.Integrations.OrchardCore.csproj", "{71D93DC7-A455-4EDC-86DB-826CCEECEEF8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.AzureServiceBus", "src\Elsa.Integrations.AzureServiceBus\Elsa.Integrations.AzureServiceBus.csproj", "{BC283CFE-D542-4D40-AE7F-6888B876AA2B}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "github", "github", "{D0212324-351E-4CA6-95EE-27754B5367CC}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{3948BAF0-023F-4B43-8E77-56C3B00C6EFD}"
@@ -57,25 +48,62 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.AzureServ
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.TestServer.Web", "test\component\Elsa.TestServer.Web\Elsa.TestServer.Web.csproj", "{91D7599F-B4BC-4C2E-A346-56DDCD6F9FDC}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Activities", "src\Elsa.Integrations.Agents.Activities\Elsa.Integrations.Agents.Activities.csproj", "{328F9C5A-60BD-4996-9422-32637BB1A55B}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sql", "sql", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
+ ProjectSection(SolutionItems) = preProject
+ src\sql\README.md = src\sql\README.md
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Sql", "src\sql\Elsa.Integrations.Sql\Elsa.Integrations.Sql.csproj", "{C28570E2-EE0E-CE53-CB56-7927CAB23E1E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Sql.MySql", "src\sql\Elsa.Integrations.Sql.MySql\Elsa.Integrations.Sql.MySql.csproj", "{9398D427-0A19-552F-AD3F-42F06A39DA8C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Sql.PostgreSql", "src\sql\Elsa.Integrations.Sql.PostgreSql\Elsa.Integrations.Sql.PostgreSql.csproj", "{BD398E79-90DF-510C-2419-C135CCF55C47}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Sql.Sqlite", "src\sql\Elsa.Integrations.Sql.Sqlite\Elsa.Integrations.Sql.Sqlite.csproj", "{3ECB4951-DB9A-C129-F6BD-432AEAEA5997}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Sql.SqlServer", "src\sql\Elsa.Integrations.Sql.SqlServer\Elsa.Integrations.Sql.SqlServer.csproj", "{80692FAE-701B-F877-198B-2B93A428B0C0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Slack", "src\slack\Elsa.Integrations.Slack\Elsa.Integrations.Slack.csproj", "{1B26082A-070B-4E1F-773F-9A7DD6170A98}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Api", "src\Elsa.Integrations.Agents.Api\Elsa.Integrations.Agents.Api.csproj", "{2FB8910D-9310-4DA3-9151-80AA401134A8}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "azure", "azure", "{45B793EC-7BFF-45C0-BD0E-2D1601C8D01E}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Core", "src\Elsa.Integrations.Agents.Core\Elsa.Integrations.Agents.Core.csproj", "{293490F1-E0A1-4067-BDEB-E6CE09649749}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.AzureServiceBus", "src\azure\Elsa.Integrations.AzureServiceBus\Elsa.Integrations.AzureServiceBus.csproj", "{098825FF-A9AB-4888-E8B7-A796774C210B}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Models", "src\Elsa.Integrations.Agents.Models\Elsa.Integrations.Agents.Models.csproj", "{4E6009CF-5525-4AD3-B898-205EC493FB15}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.AzureStorage", "src\azure\Elsa.Integrations.AzureStorage\Elsa.Integrations.AzureStorage.csproj", "{CA62F376-8144-19CD-65F4-E346C2E53F4C}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Persistence", "src\Elsa.Integrations.Agents.Persistence\Elsa.Integrations.Agents.Persistence.csproj", "{863E1AD1-7C87-48B0-8274-A7FE0FC31C60}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "orchardcore", "orchardcore", "{AAD61D93-7C78-42C4-9F37-2564D127A668}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Persistence.EntityFrameworkCore", "src\Elsa.Integrations.Agents.Persistence.EntityFrameworkCore\Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.csproj", "{E441ED7C-A9AF-4CC6-AA4D-02ECD38075CC}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.OrchardCore", "src\orchardcore\Elsa.Integrations.OrchardCore\Elsa.Integrations.OrchardCore.csproj", "{C1929745-1160-E32A-FE78-AD09FDBA05B7}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql", "src\Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql\Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql.csproj", "{0366AA72-4E2C-4416-A3C9-BB1964EAAB89}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Telnyx", "src\telnyx\Elsa.Integrations.Telnyx\Elsa.Integrations.Telnyx.csproj", "{C61EF9E3-807F-42D8-2C6E-EA155EABBD49}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql", "src\Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql\Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql.csproj", "{59AE52F2-8F9F-44A2-92E8-ED4EEB895F31}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "agents", "agents", "{5220DB25-20E9-4D07-801C-A970E71FB21C}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite", "src\Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite\Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite.csproj", "{4455BAC7-FD3C-4429-A2A2-44A83A331056}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Activities", "src\agents\Elsa.Integrations.Agents.Activities\Elsa.Integrations.Agents.Activities.csproj", "{1C8B3D55-FF90-FCA1-6528-93E3E5BC88FF}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer", "src\Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer\Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer.csproj", "{4955F8F7-B4D2-4695-9C29-A2DC9DDCD8E2}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Api", "src\agents\Elsa.Integrations.Agents.Api\Elsa.Integrations.Agents.Api.csproj", "{803E4C85-C898-7F96-0C9B-3B1738F450C9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Core", "src\agents\Elsa.Integrations.Agents.Core\Elsa.Integrations.Agents.Core.csproj", "{5B09EF59-5F6B-885A-126A-3D1BCFDC65E8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Models", "src\agents\Elsa.Integrations.Agents.Models\Elsa.Integrations.Agents.Models.csproj", "{5EFF79C1-CAC8-72E6-B97E-0A0327293389}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Persistence", "src\agents\Elsa.Integrations.Agents.Persistence\Elsa.Integrations.Agents.Persistence.csproj", "{2F068118-E972-CBCB-1D84-8B1B8AB779CD}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "slack", "slack", "{897A92CE-3B9D-43DA-BBDE-085A6AA0BF33}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "telnyx", "telnyx", "{44E2676B-6F07-44F1-9FAB-4A961A1ECEDE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Persistence.EFCore", "src\agents\Elsa.Integrations.Agents.Persistence.EFCore\Elsa.Integrations.Agents.Persistence.EFCore.csproj", "{CEA60FE9-5CFD-24E1-9BCC-E1289E8C4B1A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Persistence.EFCore.MySql", "src\agents\Elsa.Integrations.Agents.Persistence.EFCore.MySql\Elsa.Integrations.Agents.Persistence.EFCore.MySql.csproj", "{2B82D0C6-FCC1-D99D-F00F-EC624A693E2C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql", "src\agents\Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql\Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql.csproj", "{AC88CF06-ECEB-D5A7-2512-4DFDF1475D4D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Persistence.EFCore.Sqlite", "src\agents\Elsa.Integrations.Agents.Persistence.EFCore.Sqlite\Elsa.Integrations.Agents.Persistence.EFCore.Sqlite.csproj", "{22DFEDFA-5D9E-EF0F-D8C6-0288F6F645A8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Integrations.Agents.Persistence.EFCore.SqlServer", "src\agents\Elsa.Integrations.Agents.Persistence.EFCore.SqlServer\Elsa.Integrations.Agents.Persistence.EFCore.SqlServer.csproj", "{FF2A0A1F-DD7E-7CB1-A8F4-2F1044FE2D50}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Studio.Integrations.Agents", "src\agents\Elsa.Studio.Integrations.Agents\Elsa.Studio.Integrations.Agents.csproj", "{F7D8AF26-99DE-FF9F-9536-05249DDCE320}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -83,26 +111,10 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A8666FC4-66E1-4766-A22B-C410D42D03DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A8666FC4-66E1-4766-A22B-C410D42D03DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A8666FC4-66E1-4766-A22B-C410D42D03DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A8666FC4-66E1-4766-A22B-C410D42D03DD}.Release|Any CPU.Build.0 = Release|Any CPU
- {9732E404-11B5-48DB-B5D9-97997F018830}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9732E404-11B5-48DB-B5D9-97997F018830}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9732E404-11B5-48DB-B5D9-97997F018830}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9732E404-11B5-48DB-B5D9-97997F018830}.Release|Any CPU.Build.0 = Release|Any CPU
- {128B2FC3-81A7-4327-9665-9155B05F21DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {128B2FC3-81A7-4327-9665-9155B05F21DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {128B2FC3-81A7-4327-9665-9155B05F21DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {128B2FC3-81A7-4327-9665-9155B05F21DA}.Release|Any CPU.Build.0 = Release|Any CPU
- {71D93DC7-A455-4EDC-86DB-826CCEECEEF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {71D93DC7-A455-4EDC-86DB-826CCEECEEF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {71D93DC7-A455-4EDC-86DB-826CCEECEEF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {71D93DC7-A455-4EDC-86DB-826CCEECEEF8}.Release|Any CPU.Build.0 = Release|Any CPU
- {BC283CFE-D542-4D40-AE7F-6888B876AA2B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BC283CFE-D542-4D40-AE7F-6888B876AA2B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BC283CFE-D542-4D40-AE7F-6888B876AA2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BC283CFE-D542-4D40-AE7F-6888B876AA2B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4D16DD17-0BC9-476D-9B38-0A8644DD92FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4D16DD17-0BC9-476D-9B38-0A8644DD92FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4D16DD17-0BC9-476D-9B38-0A8644DD92FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4D16DD17-0BC9-476D-9B38-0A8644DD92FE}.Release|Any CPU.Build.0 = Release|Any CPU
{A1ADCCC2-01DD-41BA-8A81-FAAE96EC729D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A1ADCCC2-01DD-41BA-8A81-FAAE96EC729D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A1ADCCC2-01DD-41BA-8A81-FAAE96EC729D}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -115,71 +127,130 @@ Global
{91D7599F-B4BC-4C2E-A346-56DDCD6F9FDC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{91D7599F-B4BC-4C2E-A346-56DDCD6F9FDC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{91D7599F-B4BC-4C2E-A346-56DDCD6F9FDC}.Release|Any CPU.Build.0 = Release|Any CPU
- {328F9C5A-60BD-4996-9422-32637BB1A55B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {328F9C5A-60BD-4996-9422-32637BB1A55B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {328F9C5A-60BD-4996-9422-32637BB1A55B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {328F9C5A-60BD-4996-9422-32637BB1A55B}.Release|Any CPU.Build.0 = Release|Any CPU
- {2FB8910D-9310-4DA3-9151-80AA401134A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2FB8910D-9310-4DA3-9151-80AA401134A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2FB8910D-9310-4DA3-9151-80AA401134A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2FB8910D-9310-4DA3-9151-80AA401134A8}.Release|Any CPU.Build.0 = Release|Any CPU
- {293490F1-E0A1-4067-BDEB-E6CE09649749}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {293490F1-E0A1-4067-BDEB-E6CE09649749}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {293490F1-E0A1-4067-BDEB-E6CE09649749}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {293490F1-E0A1-4067-BDEB-E6CE09649749}.Release|Any CPU.Build.0 = Release|Any CPU
- {4E6009CF-5525-4AD3-B898-205EC493FB15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4E6009CF-5525-4AD3-B898-205EC493FB15}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4E6009CF-5525-4AD3-B898-205EC493FB15}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4E6009CF-5525-4AD3-B898-205EC493FB15}.Release|Any CPU.Build.0 = Release|Any CPU
- {863E1AD1-7C87-48B0-8274-A7FE0FC31C60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {863E1AD1-7C87-48B0-8274-A7FE0FC31C60}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {863E1AD1-7C87-48B0-8274-A7FE0FC31C60}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {863E1AD1-7C87-48B0-8274-A7FE0FC31C60}.Release|Any CPU.Build.0 = Release|Any CPU
- {E441ED7C-A9AF-4CC6-AA4D-02ECD38075CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E441ED7C-A9AF-4CC6-AA4D-02ECD38075CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E441ED7C-A9AF-4CC6-AA4D-02ECD38075CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E441ED7C-A9AF-4CC6-AA4D-02ECD38075CC}.Release|Any CPU.Build.0 = Release|Any CPU
- {0366AA72-4E2C-4416-A3C9-BB1964EAAB89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0366AA72-4E2C-4416-A3C9-BB1964EAAB89}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0366AA72-4E2C-4416-A3C9-BB1964EAAB89}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0366AA72-4E2C-4416-A3C9-BB1964EAAB89}.Release|Any CPU.Build.0 = Release|Any CPU
- {59AE52F2-8F9F-44A2-92E8-ED4EEB895F31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {59AE52F2-8F9F-44A2-92E8-ED4EEB895F31}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {59AE52F2-8F9F-44A2-92E8-ED4EEB895F31}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {59AE52F2-8F9F-44A2-92E8-ED4EEB895F31}.Release|Any CPU.Build.0 = Release|Any CPU
- {4455BAC7-FD3C-4429-A2A2-44A83A331056}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4455BAC7-FD3C-4429-A2A2-44A83A331056}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4455BAC7-FD3C-4429-A2A2-44A83A331056}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4455BAC7-FD3C-4429-A2A2-44A83A331056}.Release|Any CPU.Build.0 = Release|Any CPU
- {4955F8F7-B4D2-4695-9C29-A2DC9DDCD8E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4955F8F7-B4D2-4695-9C29-A2DC9DDCD8E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4955F8F7-B4D2-4695-9C29-A2DC9DDCD8E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4955F8F7-B4D2-4695-9C29-A2DC9DDCD8E2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C28570E2-EE0E-CE53-CB56-7927CAB23E1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C28570E2-EE0E-CE53-CB56-7927CAB23E1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C28570E2-EE0E-CE53-CB56-7927CAB23E1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C28570E2-EE0E-CE53-CB56-7927CAB23E1E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9398D427-0A19-552F-AD3F-42F06A39DA8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9398D427-0A19-552F-AD3F-42F06A39DA8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9398D427-0A19-552F-AD3F-42F06A39DA8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9398D427-0A19-552F-AD3F-42F06A39DA8C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BD398E79-90DF-510C-2419-C135CCF55C47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BD398E79-90DF-510C-2419-C135CCF55C47}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BD398E79-90DF-510C-2419-C135CCF55C47}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BD398E79-90DF-510C-2419-C135CCF55C47}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3ECB4951-DB9A-C129-F6BD-432AEAEA5997}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3ECB4951-DB9A-C129-F6BD-432AEAEA5997}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3ECB4951-DB9A-C129-F6BD-432AEAEA5997}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3ECB4951-DB9A-C129-F6BD-432AEAEA5997}.Release|Any CPU.Build.0 = Release|Any CPU
+ {80692FAE-701B-F877-198B-2B93A428B0C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {80692FAE-701B-F877-198B-2B93A428B0C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {80692FAE-701B-F877-198B-2B93A428B0C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {80692FAE-701B-F877-198B-2B93A428B0C0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1B26082A-070B-4E1F-773F-9A7DD6170A98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1B26082A-070B-4E1F-773F-9A7DD6170A98}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1B26082A-070B-4E1F-773F-9A7DD6170A98}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1B26082A-070B-4E1F-773F-9A7DD6170A98}.Release|Any CPU.Build.0 = Release|Any CPU
+ {098825FF-A9AB-4888-E8B7-A796774C210B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {098825FF-A9AB-4888-E8B7-A796774C210B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {098825FF-A9AB-4888-E8B7-A796774C210B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {098825FF-A9AB-4888-E8B7-A796774C210B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CA62F376-8144-19CD-65F4-E346C2E53F4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CA62F376-8144-19CD-65F4-E346C2E53F4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CA62F376-8144-19CD-65F4-E346C2E53F4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CA62F376-8144-19CD-65F4-E346C2E53F4C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C1929745-1160-E32A-FE78-AD09FDBA05B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C1929745-1160-E32A-FE78-AD09FDBA05B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C1929745-1160-E32A-FE78-AD09FDBA05B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C1929745-1160-E32A-FE78-AD09FDBA05B7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C61EF9E3-807F-42D8-2C6E-EA155EABBD49}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C61EF9E3-807F-42D8-2C6E-EA155EABBD49}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C61EF9E3-807F-42D8-2C6E-EA155EABBD49}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C61EF9E3-807F-42D8-2C6E-EA155EABBD49}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1C8B3D55-FF90-FCA1-6528-93E3E5BC88FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1C8B3D55-FF90-FCA1-6528-93E3E5BC88FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1C8B3D55-FF90-FCA1-6528-93E3E5BC88FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1C8B3D55-FF90-FCA1-6528-93E3E5BC88FF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {803E4C85-C898-7F96-0C9B-3B1738F450C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {803E4C85-C898-7F96-0C9B-3B1738F450C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {803E4C85-C898-7F96-0C9B-3B1738F450C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {803E4C85-C898-7F96-0C9B-3B1738F450C9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5B09EF59-5F6B-885A-126A-3D1BCFDC65E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5B09EF59-5F6B-885A-126A-3D1BCFDC65E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5B09EF59-5F6B-885A-126A-3D1BCFDC65E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5B09EF59-5F6B-885A-126A-3D1BCFDC65E8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5EFF79C1-CAC8-72E6-B97E-0A0327293389}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5EFF79C1-CAC8-72E6-B97E-0A0327293389}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5EFF79C1-CAC8-72E6-B97E-0A0327293389}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5EFF79C1-CAC8-72E6-B97E-0A0327293389}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2F068118-E972-CBCB-1D84-8B1B8AB779CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2F068118-E972-CBCB-1D84-8B1B8AB779CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2F068118-E972-CBCB-1D84-8B1B8AB779CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2F068118-E972-CBCB-1D84-8B1B8AB779CD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CEA60FE9-5CFD-24E1-9BCC-E1289E8C4B1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CEA60FE9-5CFD-24E1-9BCC-E1289E8C4B1A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CEA60FE9-5CFD-24E1-9BCC-E1289E8C4B1A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CEA60FE9-5CFD-24E1-9BCC-E1289E8C4B1A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2B82D0C6-FCC1-D99D-F00F-EC624A693E2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2B82D0C6-FCC1-D99D-F00F-EC624A693E2C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2B82D0C6-FCC1-D99D-F00F-EC624A693E2C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2B82D0C6-FCC1-D99D-F00F-EC624A693E2C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AC88CF06-ECEB-D5A7-2512-4DFDF1475D4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AC88CF06-ECEB-D5A7-2512-4DFDF1475D4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AC88CF06-ECEB-D5A7-2512-4DFDF1475D4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AC88CF06-ECEB-D5A7-2512-4DFDF1475D4D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {22DFEDFA-5D9E-EF0F-D8C6-0288F6F645A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {22DFEDFA-5D9E-EF0F-D8C6-0288F6F645A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {22DFEDFA-5D9E-EF0F-D8C6-0288F6F645A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {22DFEDFA-5D9E-EF0F-D8C6-0288F6F645A8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FF2A0A1F-DD7E-7CB1-A8F4-2F1044FE2D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FF2A0A1F-DD7E-7CB1-A8F4-2F1044FE2D50}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FF2A0A1F-DD7E-7CB1-A8F4-2F1044FE2D50}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FF2A0A1F-DD7E-7CB1-A8F4-2F1044FE2D50}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F7D8AF26-99DE-FF9F-9536-05249DDCE320}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F7D8AF26-99DE-FF9F-9536-05249DDCE320}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F7D8AF26-99DE-FF9F-9536-05249DDCE320}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F7D8AF26-99DE-FF9F-9536-05249DDCE320}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
- {A8666FC4-66E1-4766-A22B-C410D42D03DD} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {9732E404-11B5-48DB-B5D9-97997F018830} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {128B2FC3-81A7-4327-9665-9155B05F21DA} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {71D93DC7-A455-4EDC-86DB-826CCEECEEF8} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {BC283CFE-D542-4D40-AE7F-6888B876AA2B} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
{3948BAF0-023F-4B43-8E77-56C3B00C6EFD} = {D0212324-351E-4CA6-95EE-27754B5367CC}
{AF041BAE-B45A-428B-B7F5-921CCB895558} = {A99FA26E-2098-403A-BD04-6BBCFBE3AC7D}
{60461F37-79E1-4EBB-8742-9F6578C6A745} = {A99FA26E-2098-403A-BD04-6BBCFBE3AC7D}
{A1ADCCC2-01DD-41BA-8A81-FAAE96EC729D} = {AF041BAE-B45A-428B-B7F5-921CCB895558}
{2175629F-FA99-4840-9F12-3FE7417706B9} = {60461F37-79E1-4EBB-8742-9F6578C6A745}
{91D7599F-B4BC-4C2E-A346-56DDCD6F9FDC} = {60461F37-79E1-4EBB-8742-9F6578C6A745}
- {328F9C5A-60BD-4996-9422-32637BB1A55B} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {2FB8910D-9310-4DA3-9151-80AA401134A8} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {293490F1-E0A1-4067-BDEB-E6CE09649749} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {4E6009CF-5525-4AD3-B898-205EC493FB15} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {863E1AD1-7C87-48B0-8274-A7FE0FC31C60} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {E441ED7C-A9AF-4CC6-AA4D-02ECD38075CC} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {0366AA72-4E2C-4416-A3C9-BB1964EAAB89} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {59AE52F2-8F9F-44A2-92E8-ED4EEB895F31} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {4455BAC7-FD3C-4429-A2A2-44A83A331056} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {4955F8F7-B4D2-4695-9C29-A2DC9DDCD8E2} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
+ {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
+ {C28570E2-EE0E-CE53-CB56-7927CAB23E1E} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
+ {9398D427-0A19-552F-AD3F-42F06A39DA8C} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
+ {BD398E79-90DF-510C-2419-C135CCF55C47} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
+ {3ECB4951-DB9A-C129-F6BD-432AEAEA5997} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
+ {80692FAE-701B-F877-198B-2B93A428B0C0} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
+ {1B26082A-070B-4E1F-773F-9A7DD6170A98} = {897A92CE-3B9D-43DA-BBDE-085A6AA0BF33}
+ {45B793EC-7BFF-45C0-BD0E-2D1601C8D01E} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
+ {098825FF-A9AB-4888-E8B7-A796774C210B} = {45B793EC-7BFF-45C0-BD0E-2D1601C8D01E}
+ {CA62F376-8144-19CD-65F4-E346C2E53F4C} = {45B793EC-7BFF-45C0-BD0E-2D1601C8D01E}
+ {AAD61D93-7C78-42C4-9F37-2564D127A668} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
+ {C1929745-1160-E32A-FE78-AD09FDBA05B7} = {AAD61D93-7C78-42C4-9F37-2564D127A668}
+ {C61EF9E3-807F-42D8-2C6E-EA155EABBD49} = {44E2676B-6F07-44F1-9FAB-4A961A1ECEDE}
+ {5220DB25-20E9-4D07-801C-A970E71FB21C} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
+ {1C8B3D55-FF90-FCA1-6528-93E3E5BC88FF} = {5220DB25-20E9-4D07-801C-A970E71FB21C}
+ {803E4C85-C898-7F96-0C9B-3B1738F450C9} = {5220DB25-20E9-4D07-801C-A970E71FB21C}
+ {5B09EF59-5F6B-885A-126A-3D1BCFDC65E8} = {5220DB25-20E9-4D07-801C-A970E71FB21C}
+ {5EFF79C1-CAC8-72E6-B97E-0A0327293389} = {5220DB25-20E9-4D07-801C-A970E71FB21C}
+ {2F068118-E972-CBCB-1D84-8B1B8AB779CD} = {5220DB25-20E9-4D07-801C-A970E71FB21C}
+ {897A92CE-3B9D-43DA-BBDE-085A6AA0BF33} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
+ {44E2676B-6F07-44F1-9FAB-4A961A1ECEDE} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
+ {CEA60FE9-5CFD-24E1-9BCC-E1289E8C4B1A} = {5220DB25-20E9-4D07-801C-A970E71FB21C}
+ {2B82D0C6-FCC1-D99D-F00F-EC624A693E2C} = {5220DB25-20E9-4D07-801C-A970E71FB21C}
+ {AC88CF06-ECEB-D5A7-2512-4DFDF1475D4D} = {5220DB25-20E9-4D07-801C-A970E71FB21C}
+ {22DFEDFA-5D9E-EF0F-D8C6-0288F6F645A8} = {5220DB25-20E9-4D07-801C-A970E71FB21C}
+ {FF2A0A1F-DD7E-7CB1-A8F4-2F1044FE2D50} = {5220DB25-20E9-4D07-801C-A970E71FB21C}
+ {F7D8AF26-99DE-FF9F-9536-05249DDCE320} = {5220DB25-20E9-4D07-801C-A970E71FB21C}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {11A771DA-B728-445E-8A88-AE1C84C3B3A6}
EndGlobalSection
EndGlobal
diff --git a/README-TEMPLATE.md b/README-TEMPLATE.md
new file mode 100644
index 00000000..a456a807
--- /dev/null
+++ b/README-TEMPLATE.md
@@ -0,0 +1,210 @@
+# ℹ️ README Template for New Integrations
+
+This template outlines the recommended structure for your integrations README.
+It's designed to showcase all the key features of your integration, provide clear usage instructions and help maintain consistent documentation across all integrations.
+
+Example sentences / hints have been provided for each section to get your started but these should be changed to fit the context of your integration.
+
+Hints are marked with an ℹ️ ( ) ℹ️ and should be removed from your README.
+
+For convenience, you can search and replace the following keywords for quicker boiler plate setup:
+
+| Keyword | Description | Example |
+|-----------|--------------|----------|
+| [integration-name] | Name of the integration | YourIntegration |
+| [CompatibleVersion] | Version the integration works with | V3 |
+
+## 📦 Integration Structure
+Each integration should be organized into its own group folder. Copy this README template file into the root of your integration's directory and rename it to `README.md`. For example:
+```
+[group-name]/
+ ├── README.md
+ ├── Elsa.Integrations.[integration-name]/
+ │ ├── Services/
+ │ ├── Activities/
+ │ ├── AI/
+ └── Elsa.Integrations.[integration-name].Implementation/
+ ├── Services/
+ ├── Activities/
+ ├── AI/
+```
+
+
+⛔ **Remove this header section from your README.** ⛔
+
+---
+
+# [integration-name] Integration
+
+
+ 📖 Table of Contents
+
+ - Overview
+ - Features
+ -
+ Getting Started
+
+
+ -
+ Configuration
+
+
+ - Usage
+ - Activities
+ - Examples
+ - Planned Features
+ - Limitations
+ - Troubleshooting
+ - Notes & Comments
+
+
+
+## 🧠 Overview
+
+This package extends [Elsa Workflows](https://github.com/elsa-workflows/elsa-core) with support for **[integration-name]**. It introduces custom activities that make it easy to integrate [integration-name] features directly into your workflow logic.
+
+## ✨ Key Features
+
+- Activities: `DoSomething`, `DoSomethingElse` and `DoSomethingAlso`
+- Highlight the key features from your integration.
+
+---
+
+## ⚡ Getting Started
+
+### 📋 Prerequisites
+
+- Elsa Workflows **[CompatibleVersion]** installed in your project.
+- Access to the [integration-name] system or API (credentials, URL, etc.).
+
+## 🛠 Installation
+
+The following NuGet packages are available for this integration:
+
+```bash
+Elsa.Integration.[integration-name]
+Elsa.Integration.[integration-name].Implementation1
+Elsa.Integration.[integration-name].Implementation2
+```
+
+You can install the clients via NuGet:
+
+```bash
+dotnet add package Elsa.Integration.[integration-name].Implementation1
+```
+
+## ⚙️ Configuration
+
+### Program.cs
+
+Register the integration in your application startup:
+
+```csharp
+using Elsa.Extensions;
+using Elsa.[integration-name];
+
+services.AddElsa(elsa =>
+ {
+ elsa.Use[integration-name](options =>
+ {
+ options.Property1 = "value1"
+ options.Config = options =>
+ {
+ options.Property2 = "value2";
+ };
+ })
+ }
+```
+
+### Appsettings.json (If applicable)
+Or via `appsettings.json`:
+
+```json
+"[integration-name]": {
+ "Property1": "value1",
+ "Config": {
+ "Property2": "value2"
+ }
+}
+```
+
+---
+
+## 📌 Usage
+
+Once the implementation is registered with your required implementations, the activities will be ready to use, either via code or [Elsa Studio](https://github.com/elsa-workflows/elsa-studio).
+
+## 🚀 Activities
+
+This integration comes with the following activities:
+
+### DoSomething
+
+| Properties | Type | Description | Input/Output | Notes |
+| ---------- | ---- | ----------- | --- | ----- |
+| SomeInput | int? | A brief summery of what this input is for. | Input | Perhaps the min / max values allowed. |
+| OtherInput | string? / Secret | A brief summery of what this input is for. | Input | - |
+| TheOutput | object? | A brief summery of what this output is for. | Output | - |
+
+### DoSomethingElse
+
+| Properties | Type | Description | Input/Output | Notes |
+| ---------- | ---- | ----------- | --- | ----- |
+| SomeInput | int? | A brief summery of what this input is for. | Input | Perhaps the min / max values allowed. |
+| OtherInput | string? / Secret | A brief summery of what this input is for. | Input | - |
+| TheOutput | object? | A brief summery of what this output is for. | Output | - |
+
+
+## 🧪 Examples
+
+### Example of your feature
+
+ℹ️ (List some code snippets / picture examples of how to use aspects of your integration to help others learn how to use them.) ℹ️
+
+---
+
+## 🚧 Limitations
+
+ℹ️ (Bullet point known limitations, if any. For example:) ℹ️
+
+- Does not support async
+- Requires an active and reachable [integration-name] service endpoint
+
+---
+
+## 🆘 Troubleshooting
+
+### Common Errors
+
+ℹ️ (Bullet points known errors, if any. For example:) ℹ️
+
+- **`NullReferenceException`**
+ Ensure all required configuration values (API key, endpoint, etc.) are correctly set.
+
+- **`401 Unauthorized`**
+ Verify that your API key is valid and the endpoint is correct.
+
+- **`Activity not found`**
+ Ensure the activity was registered in `Program.cs` or `Startup.cs` using `.AddActivity<>()`.
+
+---
+
+## 🗺️ Planned Features
+
+ℹ️ (Checkbox points for planned features, if any. For example:) ℹ️
+
+- [ ] Add async retry/backoff support
+- [ ] Add integration tests
+
+---
+
+## 🗒️ Notes & Comments
+
+This integration was developed to add [integration-name] functionality to Elsa Workflows.
+If you have ideas for improvement, encounter issues, or want to share how you're using it, feel free to open an issue or start a discussion!
\ No newline at end of file
diff --git a/README.md b/README.md
index 7eeb0668..28209820 100644
--- a/README.md
+++ b/README.md
@@ -6,101 +6,135 @@ Welcome to the **Elsa Integrations** repository! This project provides a collect
## 🚀 Integration Status
-Below is the current status of each integration. Checkboxes indicate implementation progress.
+Below is the current status of each integration. Icons indicate implementation progress:
+
+ - ✅ = Released
+ - ⏳ = Soon to be released
+ - 🚧 = In development
+ - 🔲 = Not started
### 📨 Messaging & Communication
| Status | Integration | Description | Module Name | Issue |
|--------|------------|-------------|-------------|-------|
-| [ ] | **Telegram** | Send & receive messages, file downloads | `Elsa.Integrations.Telegram` | |
-| [x] | **Slack** | Channel messages, user notifications | `Elsa.Integrations.Slack` | |
-| [ ] | **Discord** | Bot commands, message triggers | `Elsa.Integrations.Discord` | |
-| [ ] | **Microsoft Teams** | Chat automation, meeting reminders | `Elsa.Integrations.Teams` | |
-| [x] | **Telnyx** | Telephony automation | `Elsa.Integrations.Telnyx` | |
+| 🔲 | **Telegram** | Send & receive messages, file downloads | `Elsa.Integrations.Telegram` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| [✅]( https://github.com/elsa-workflows/elsa-integrations/tree/main/src/slack/Elsa.Integrations.Slack) | **Slack** | Channel messages, user notifications | `Elsa.Integrations.Slack` | [View Issue](https://github.com/elsa-workflows/elsa-integrations/issues/26) |
+| 🔲 | **Discord** | Bot commands, message triggers | `Elsa.Integrations.Discord` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Microsoft Teams** | Chat automation, meeting reminders | `Elsa.Integrations.Teams` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| [✅](https://github.com/elsa-workflows/elsa-integrations/tree/main/src/telnyx/Elsa.Integrations.Telnyx) | **Telnyx** | Telephony automation | `Elsa.Integrations.Telnyx` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
### 📧 Email & Productivity
| Status | Integration | Description | Module Name | Issue |
|--------|------------|-------------|-------------|-------|
-| [ ] | **Gmail** | Send, receive, label, draft emails | `Elsa.Integrations.Gmail` | |
-| [ ] | **Outlook (Office 365)** | Email management via Microsoft Graph API | `Elsa.Integrations.Outlook` | |
-| [ ] | **Google Calendar** | Event scheduling and updates | `Elsa.Integrations.GoogleCalendar` | |
-| [ ] | **Microsoft Calendar** | Office 365 calendar integration | `Elsa.Integrations.Office365Calendar` | |
+| 🔲 | **Gmail** | Send, receive, label, draft emails | `Elsa.Integrations.Gmail` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Outlook (Office 365)** | Email management via Microsoft Graph API | `Elsa.Integrations.Outlook` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Google Calendar** | Event scheduling and updates | `Elsa.Integrations.GoogleCalendar` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Microsoft Calendar** | Office 365 calendar integration | `Elsa.Integrations.Office365Calendar` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
### 🗄️ Storage Services
| Status | Integration | Description | Module Name | Issue |
|--------|------------|-------------|-------------|-------|
-| [ ] | **Google Drive** | Upload, download, manage files | `Elsa.Integrations.GoogleDrive` | |
-| [ ] | **OneDrive** | File storage and access for Office 365 | `Elsa.Integrations.OneDrive` | |
-| [ ] | **Azure Storage** | Blob storage management | `Elsa.Integrations.AzureStorage` | https://github.com/elsa-workflows/elsa-integrations/issues/1 |
-| [ ] | **Dropbox** | Cloud storage and file sync | `Elsa.Integrations.Dropbox` | |
+| 🔲 | **Google Drive** | Upload, download, manage files | `Elsa.Integrations.GoogleDrive` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **OneDrive** | File storage and access for Office 365 | `Elsa.Integrations.OneDrive` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🚧 | **Azure Storage** | Blob storage management | `Elsa.Integrations.AzureStorage` | [View Issue](https://github.com/elsa-workflows/elsa-integrations/issues/1) |
+| 🔲 | **Dropbox** | Cloud storage and file sync | `Elsa.Integrations.Dropbox` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+
+### 🗃️ Databases (SQL)
+| Status | Integration | Description | Module Name | Issue |
+|--------|------------|-------------|-------------|-------|
+| [✅]( https://github.com/elsa-workflows/elsa-integrations/tree/main/src/sql/README.md) | **MySql** | Connect and query MySQL databases | `Elsa.Integrations.Sql.MySql` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| [✅]( https://github.com/elsa-workflows/elsa-integrations/tree/main/src/sql/README.md) | **PostgreSql** | Connect and query PostgreSql databases | `Elsa.Integrations.Sql.PostgreSql` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| [✅]( https://github.com/elsa-workflows/elsa-integrations/tree/main/src/sql/README.md) | **Sqlite** | Connect and query Sqlite databases | `Elsa.Integrations.Sql.Sqlite` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| [✅]( https://github.com/elsa-workflows/elsa-integrations/tree/main/src/sql/README.md) | **Sql Server** | Connect and query Microsoft SQL Server databases | `Elsa.Integrations.Sql.SqlServer` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
### 🛠 DevOps & Monitoring
| Status | Integration | Description | Module Name | Issue |
|--------|------------|-------------|-------------|-------|
-| [ ] | **Azure DevOps** | Pipelines, repositories, work items | `Elsa.Integrations.AzureDevOps` | |
-| [ ] | **GitHub** | PR automation, repo events | `Elsa.Integrations.GitHub` | |
-| [ ] | **GitLab** | CI/CD triggers and repo management | `Elsa.Integrations.GitLab` | |
-| [ ] | **Jenkins** | Pipeline automation and job execution | `Elsa.Integrations.Jenkins` | |
-| [ ] | **Datadog** | Monitoring, logging, and alerts | `Elsa.Integrations.Datadog` | |
+| 🔲 | **Azure DevOps** | Pipelines, repositories, work items | `Elsa.Integrations.AzureDevOps` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **GitHub** | PR automation, repo events | `Elsa.Integrations.GitHub` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **GitLab** | CI/CD triggers and repo management | `Elsa.Integrations.GitLab` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Jenkins** | Pipeline automation and job execution | `Elsa.Integrations.Jenkins` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Datadog** | Monitoring, logging, and alerts | `Elsa.Integrations.Datadog` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
### ☁️ Cloud Compute & Serverless
| Status | Integration | Description | Module Name | Issue |
|--------|------------|-------------|-------------|-------|
-| [ ] | **Azure Functions** | Serverless function triggers | `Elsa.Integrations.AzureFunctions` | |
-| [ ] | **AWS Lambda** | Invoke and trigger Lambda functions | `Elsa.Integrations.AWSLambda` | |
-| [ ] | **Google Cloud Functions** | Event-driven function automation | `Elsa.Integrations.GoogleCloudFunctions` | |
+| 🔲 | **Azure Functions** | Serverless function triggers | `Elsa.Integrations.AzureFunctions` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **AWS Lambda** | Invoke and trigger Lambda functions | `Elsa.Integrations.AWSLambda` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Google Cloud Functions** | Event-driven function automation | `Elsa.Integrations.GoogleCloudFunctions` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
### 📊 CRM & Sales Automation
| Status | Integration | Description | Module Name | Issue |
|--------|------------|-------------|-------------|-------|
-| [ ] | **Salesforce** | Lead management, opportunity tracking | `Elsa.Integrations.Salesforce` | [Open Issue](#) |
-| [ ] | **HubSpot** | Contacts, deals, email automation | `Elsa.Integrations.HubSpot` | [Open Issue](#) |
-| [ ] | **Zoho CRM** | Lead scoring, campaign tracking | `Elsa.Integrations.ZohoCRM` | [Open Issue](#) |
-| [ ] | **Pipedrive** | Sales pipeline automation | `Elsa.Integrations.Pipedrive` | [Open Issue](#) |
+| 🔲 | **Salesforce** | Lead management, opportunity tracking | `Elsa.Integrations.Salesforce` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **HubSpot** | Contacts, deals, email automation | `Elsa.Integrations.HubSpot` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Zoho CRM** | Lead scoring, campaign tracking | `Elsa.Integrations.ZohoCRM` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Pipedrive** | Sales pipeline automation | `Elsa.Integrations.Pipedrive` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
### 💰 Payments & Finance
| Status | Integration | Description | Module Name | Issue |
|--------|------------|-------------|-------------|-------|
-| [ ] | **Stripe** | Payment processing, subscriptions | `Elsa.Integrations.Stripe` | |
-| [ ] | **PayPal** | Transactions, refunds, invoicing | `Elsa.Integrations.PayPal` | |
-| [ ] | **Square** | POS and e-commerce transactions | `Elsa.Integrations.Square` | |
-| [ ] | **QuickBooks** | Invoice and expense automation | `Elsa.Integrations.QuickBooks` | |
+| 🔲 | **Stripe** | Payment processing, subscriptions | `Elsa.Integrations.Stripe` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **PayPal** | Transactions, refunds, invoicing | `Elsa.Integrations.PayPal` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Square** | POS and e-commerce transactions | `Elsa.Integrations.Square` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **QuickBooks** | Invoice and expense automation | `Elsa.Integrations.QuickBooks` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
### 🤖 AI & Automation
| Status | Integration | Description | Module Name | Issue |
|--------|------------|-------------|-------------|-------|
-| [ ] | **OpenAI** | GPT-based text generation, chatbots | `Elsa.Integrations.OpenAI` | |
-| [ ] | **Google AI** | AI-enhanced search, translation | `Elsa.Integrations.GoogleAI` | |
-| [ ] | **AWS Comprehend** | NLP services for text analysis | `Elsa.Integrations.AWSComprehend` | |
-| [ ] | **Azure AI** | Vision, speech, language processing | `Elsa.Integrations.AzureAI` | |
+| 🔲 | **OpenAI** | GPT-based text generation, chatbots | `Elsa.Integrations.OpenAI` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Google AI** | AI-enhanced search, translation | `Elsa.Integrations.GoogleAI` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **AWS Comprehend** | NLP services for text analysis | `Elsa.Integrations.AWSComprehend` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Azure AI** | Vision, speech, language processing | `Elsa.Integrations.AzureAI` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
### 🎥 Video & Streaming Platforms
| Status | Integration | Description | Module Name | Issue |
|--------|------------|-------------|-------------|-------|
-| [ ] | **YouTube** | Upload videos, retrieve video details, manage playlists | `Elsa.Integrations.YouTube` | [Open Issue](#) |
-| [ ] | **Rumble** | Upload videos, fetch channel videos, manage content | `Elsa.Integrations.Rumble` | [Open Issue](#) |
-| [ ] | **Twitch** | Live stream events, chat automation, clip management | `Elsa.Integrations.Twitch` | [Open Issue](#) |
-| [ ] | **Vimeo** | Upload videos, manage privacy settings, get video analytics | `Elsa.Integrations.Vimeo` | [Open Issue](#) |
+| 🔲 | **YouTube** | Upload videos, retrieve video details, manage playlists | `Elsa.Integrations.YouTube` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new)|
+| 🔲 | **Rumble** | Upload videos, fetch channel videos, manage content | `Elsa.Integrations.Rumble` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Twitch** | Live stream events, chat automation, clip management | `Elsa.Integrations.Twitch` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Vimeo** | Upload videos, manage privacy settings, get video analytics | `Elsa.Integrations.Vimeo` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
### 🏭 Industrial Communication Protocols
| Status | Integration | Description | Module Name | Issue |
|--------|------------|-------------|-------------|-------|
-| [ ] | **OPC UA** | Browse nodes, Read/Write values, Subscribe/Unsubscribe nodes | `Elsa.Integrations.OPC.UA` | |
-| [ ] | **Modbus** | Read/Write coils, Read discrete Inputs, Read/Write registers | `Elsa.Integrations.Modbus` | |
-| [ ] | **MQTT Sparkplug** | Discover and Subscribe to topics, Publish messages | `Elsa.Integrations.MQTT.Sparkplug` | |
+| 🔲 | **OPC UA** | Browse nodes, Read/Write values, Subscribe/Unsubscribe nodes | `Elsa.Integrations.OPC.UA` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **Modbus** | Read/Write coils, Read discrete Inputs, Read/Write registers | `Elsa.Integrations.Modbus` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+| 🔲 | **MQTT Sparkplug** | Discover and Subscribe to topics, Publish messages | `Elsa.Integrations.MQTT.Sparkplug` | [Open Issue](https://github.com/elsa-workflows/elsa-integrations/issues/new) |
+
---
## 📦 Structure
Each integration is structured as a standalone package under the `Elsa.Integrations` namespace. Example:
-```
-Elsa.Integrations.Gmail/
- ├── Services/
- ├── Activities/
- ├── AI/
-Elsa.Integrations.Telegram/
- ├── Services/
- ├── Activities/
- ├── AI/
+
+```plaintext
+...
+├─azure/
+│ ├── Elsa.Integrations.AzureServiceBus/
+│ │ ├── README.md
+│ │ ├── Services/
+│ │ ├── Activities/
+│ │ ├── AI/
+│ │ └── ...
+│ └── Elsa.Integrations.AzureStorage/
+│ ├── README.md
+│ ├── Services/
+│ ├── Activities/
+│ ├── AI/
+│ └── ...
+├─sql/
+│ ├── README.md
+│ ├── Elsa.Integrations.Sql/
+│ │ ├── Services/
+│ │ ├── Activities/
+│ │ ├── AI/
+│ │ └── ...
+│ └── Elsa.Integrations.Sql.Sqlite/
+│ ├── Services/
+│ ├── Activities/
+│ ├── AI/
+│ └── ...
+...
```
## ⚡ Getting Started
diff --git a/build/_build.csproj b/build/_build.csproj
index 465dc8f6..7d5355af 100644
--- a/build/_build.csproj
+++ b/build/_build.csproj
@@ -3,7 +3,7 @@
Exe
net9.0
-
+
CS0649;CS0169;CA1050;CA1822;CA2211;IDE1006
..
..
@@ -24,7 +24,7 @@
-
+
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index db78798a..84212213 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -7,7 +7,7 @@
-
+
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer.csproj b/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer.csproj
deleted file mode 100644
index 79591086..00000000
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer.csproj
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
- Provides an EF Core migrations for SQL Server for the Agents Persistence module.
- elsa module agents semantic kernel llm ai persistence efcore entity framework core sqlserver
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/Elsa.Integrations.Agents.Activities/Activities/AgentActivity.cs b/src/agents/Elsa.Integrations.Agents.Activities/Activities/AgentActivity.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Activities/Activities/AgentActivity.cs
rename to src/agents/Elsa.Integrations.Agents.Activities/Activities/AgentActivity.cs
diff --git a/src/Elsa.Integrations.Agents.Activities/ActivityProviders/AgentActivityProvider.cs b/src/agents/Elsa.Integrations.Agents.Activities/ActivityProviders/AgentActivityProvider.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Activities/ActivityProviders/AgentActivityProvider.cs
rename to src/agents/Elsa.Integrations.Agents.Activities/ActivityProviders/AgentActivityProvider.cs
diff --git a/src/Elsa.Integrations.Agents.Activities/Elsa.Integrations.Agents.Activities.csproj b/src/agents/Elsa.Integrations.Agents.Activities/Elsa.Integrations.Agents.Activities.csproj
similarity index 100%
rename from src/Elsa.Integrations.Agents.Activities/Elsa.Integrations.Agents.Activities.csproj
rename to src/agents/Elsa.Integrations.Agents.Activities/Elsa.Integrations.Agents.Activities.csproj
diff --git a/src/Elsa.Integrations.Agents.Activities/Elsa.Integrations.Agents.Activities.csproj.DotSettings b/src/agents/Elsa.Integrations.Agents.Activities/Elsa.Integrations.Agents.Activities.csproj.DotSettings
similarity index 100%
rename from src/Elsa.Integrations.Agents.Activities/Elsa.Integrations.Agents.Activities.csproj.DotSettings
rename to src/agents/Elsa.Integrations.Agents.Activities/Elsa.Integrations.Agents.Activities.csproj.DotSettings
diff --git a/src/Elsa.Integrations.Agents.Activities/Extensions/AgentActivitiesFeatureModuleExtensions.cs b/src/agents/Elsa.Integrations.Agents.Activities/Extensions/AgentActivitiesFeatureModuleExtensions.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Activities/Extensions/AgentActivitiesFeatureModuleExtensions.cs
rename to src/agents/Elsa.Integrations.Agents.Activities/Extensions/AgentActivitiesFeatureModuleExtensions.cs
diff --git a/src/Elsa.Integrations.Agents.Activities/Features/AgentActivitiesFeature.cs b/src/agents/Elsa.Integrations.Agents.Activities/Features/AgentActivitiesFeature.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Activities/Features/AgentActivitiesFeature.cs
rename to src/agents/Elsa.Integrations.Agents.Activities/Features/AgentActivitiesFeature.cs
diff --git a/src/Elsa.Integrations.Agents.Activities/FodyWeavers.xml b/src/agents/Elsa.Integrations.Agents.Activities/FodyWeavers.xml
similarity index 100%
rename from src/Elsa.Integrations.Agents.Activities/FodyWeavers.xml
rename to src/agents/Elsa.Integrations.Agents.Activities/FodyWeavers.xml
diff --git a/src/Elsa.Integrations.Agents.Activities/Handlers/RefreshActivityRegistry.cs b/src/agents/Elsa.Integrations.Agents.Activities/Handlers/RefreshActivityRegistry.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Activities/Handlers/RefreshActivityRegistry.cs
rename to src/agents/Elsa.Integrations.Agents.Activities/Handlers/RefreshActivityRegistry.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Elsa.Integrations.Agents.Api.csproj b/src/agents/Elsa.Integrations.Agents.Api/Elsa.Integrations.Agents.Api.csproj
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Elsa.Integrations.Agents.Api.csproj
rename to src/agents/Elsa.Integrations.Agents.Api/Elsa.Integrations.Agents.Api.csproj
diff --git a/src/Elsa.Integrations.Agents.Api/Elsa.Integrations.Agents.Api.csproj.DotSettings b/src/agents/Elsa.Integrations.Agents.Api/Elsa.Integrations.Agents.Api.csproj.DotSettings
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Elsa.Integrations.Agents.Api.csproj.DotSettings
rename to src/agents/Elsa.Integrations.Agents.Api/Elsa.Integrations.Agents.Api.csproj.DotSettings
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Agents/BulkDelete/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/BulkDelete/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Agents/BulkDelete/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/BulkDelete/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Create/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Create/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Create/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Create/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Delete/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Delete/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Delete/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Delete/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Delete/Request.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Delete/Request.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Delete/Request.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Delete/Request.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Agents/GenerateUniqueName/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/GenerateUniqueName/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Agents/GenerateUniqueName/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/GenerateUniqueName/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Get/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Get/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Get/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Get/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Get/Request.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Get/Request.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Get/Request.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Get/Request.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Invoke/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Invoke/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Invoke/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Invoke/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Invoke/Request.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Invoke/Request.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Invoke/Request.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Invoke/Request.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Agents/IsUniqueName/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/IsUniqueName/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Agents/IsUniqueName/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/IsUniqueName/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Agents/List/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/List/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Agents/List/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/List/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Update/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Update/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Agents/Update/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Agents/Update/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/BulkDelete/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/BulkDelete/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/BulkDelete/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/BulkDelete/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Create/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Create/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Create/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Create/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Delete/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Delete/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Delete/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Delete/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Delete/Request.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Delete/Request.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Delete/Request.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Delete/Request.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Get/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Get/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Get/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Get/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Get/Request.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Get/Request.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Get/Request.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Get/Request.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/List/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/List/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/List/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/List/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Update/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Update/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Update/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/ApiKeys/Update/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Plugins/List/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Plugins/List/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Plugins/List/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Plugins/List/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Services/BulkDelete/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/BulkDelete/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Services/BulkDelete/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/BulkDelete/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Services/Create/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/Create/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Services/Create/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/Create/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Services/Delete/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/Delete/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Services/Delete/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/Delete/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Services/Delete/Request.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/Delete/Request.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Services/Delete/Request.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/Delete/Request.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Services/Get/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/Get/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Services/Get/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/Get/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Services/Get/Request.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/Get/Request.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Services/Get/Request.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/Get/Request.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Services/List/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/List/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Services/List/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/List/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Endpoints/Services/Update/Endpoint.cs b/src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/Update/Endpoint.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Endpoints/Services/Update/Endpoint.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Endpoints/Services/Update/Endpoint.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Extensions/AgentDefinitionExtensions.cs b/src/agents/Elsa.Integrations.Agents.Api/Extensions/AgentDefinitionExtensions.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Extensions/AgentDefinitionExtensions.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Extensions/AgentDefinitionExtensions.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Extensions/ModuleExtensions.cs b/src/agents/Elsa.Integrations.Agents.Api/Extensions/ModuleExtensions.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Extensions/ModuleExtensions.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Extensions/ModuleExtensions.cs
diff --git a/src/Elsa.Integrations.Agents.Api/Features/AgentsApiFeature.cs b/src/agents/Elsa.Integrations.Agents.Api/Features/AgentsApiFeature.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/Features/AgentsApiFeature.cs
rename to src/agents/Elsa.Integrations.Agents.Api/Features/AgentsApiFeature.cs
diff --git a/src/Elsa.Integrations.Agents.Api/FodyWeavers.xml b/src/agents/Elsa.Integrations.Agents.Api/FodyWeavers.xml
similarity index 100%
rename from src/Elsa.Integrations.Agents.Api/FodyWeavers.xml
rename to src/agents/Elsa.Integrations.Agents.Api/FodyWeavers.xml
diff --git a/src/Elsa.Integrations.Agents.Core/Abstractions/PluginProvider.cs b/src/agents/Elsa.Integrations.Agents.Core/Abstractions/PluginProvider.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Abstractions/PluginProvider.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Abstractions/PluginProvider.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Contracts/IAgentServiceProvider.cs b/src/agents/Elsa.Integrations.Agents.Core/Contracts/IAgentServiceProvider.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Contracts/IAgentServiceProvider.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Contracts/IAgentServiceProvider.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Contracts/IKernelConfigProvider.cs b/src/agents/Elsa.Integrations.Agents.Core/Contracts/IKernelConfigProvider.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Contracts/IKernelConfigProvider.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Contracts/IKernelConfigProvider.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Contracts/IPluginDiscoverer.cs b/src/agents/Elsa.Integrations.Agents.Core/Contracts/IPluginDiscoverer.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Contracts/IPluginDiscoverer.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Contracts/IPluginDiscoverer.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Contracts/IPluginProvider.cs b/src/agents/Elsa.Integrations.Agents.Core/Contracts/IPluginProvider.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Contracts/IPluginProvider.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Contracts/IPluginProvider.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Contracts/IServiceDiscoverer.cs b/src/agents/Elsa.Integrations.Agents.Core/Contracts/IServiceDiscoverer.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Contracts/IServiceDiscoverer.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Contracts/IServiceDiscoverer.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Elsa.Integrations.Agents.Core.csproj b/src/agents/Elsa.Integrations.Agents.Core/Elsa.Integrations.Agents.Core.csproj
similarity index 90%
rename from src/Elsa.Integrations.Agents.Core/Elsa.Integrations.Agents.Core.csproj
rename to src/agents/Elsa.Integrations.Agents.Core/Elsa.Integrations.Agents.Core.csproj
index bd669771..2bb6eb33 100644
--- a/src/Elsa.Integrations.Agents.Core/Elsa.Integrations.Agents.Core.csproj
+++ b/src/agents/Elsa.Integrations.Agents.Core/Elsa.Integrations.Agents.Core.csproj
@@ -9,9 +9,9 @@
-
-
-
+
+
+
diff --git a/src/Elsa.Integrations.Agents.Core/Elsa.Integrations.Agents.Core.csproj.DotSettings b/src/agents/Elsa.Integrations.Agents.Core/Elsa.Integrations.Agents.Core.csproj.DotSettings
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Elsa.Integrations.Agents.Core.csproj.DotSettings
rename to src/agents/Elsa.Integrations.Agents.Core/Elsa.Integrations.Agents.Core.csproj.DotSettings
diff --git a/src/Elsa.Integrations.Agents.Core/Extensions/AgentConfigExtensions.cs b/src/agents/Elsa.Integrations.Agents.Core/Extensions/AgentConfigExtensions.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Extensions/AgentConfigExtensions.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Extensions/AgentConfigExtensions.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Extensions/FunctionResultExtensions.cs b/src/agents/Elsa.Integrations.Agents.Core/Extensions/FunctionResultExtensions.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Extensions/FunctionResultExtensions.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Extensions/FunctionResultExtensions.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Extensions/ModuleExtensions.cs b/src/agents/Elsa.Integrations.Agents.Core/Extensions/ModuleExtensions.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Extensions/ModuleExtensions.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Extensions/ModuleExtensions.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Extensions/ServiceCollectionExtensions.cs b/src/agents/Elsa.Integrations.Agents.Core/Extensions/ServiceCollectionExtensions.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Extensions/ServiceCollectionExtensions.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Extensions/ServiceCollectionExtensions.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Features/AgentsFeature.cs b/src/agents/Elsa.Integrations.Agents.Core/Features/AgentsFeature.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Features/AgentsFeature.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Features/AgentsFeature.cs
diff --git a/src/Elsa.Integrations.Agents.Core/FodyWeavers.xml b/src/agents/Elsa.Integrations.Agents.Core/FodyWeavers.xml
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/FodyWeavers.xml
rename to src/agents/Elsa.Integrations.Agents.Core/FodyWeavers.xml
diff --git a/src/Elsa.Integrations.Agents.Core/Models/InvokeAgentResult.cs b/src/agents/Elsa.Integrations.Agents.Core/Models/InvokeAgentResult.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Models/InvokeAgentResult.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Models/InvokeAgentResult.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Models/KernelBuilderContext.cs b/src/agents/Elsa.Integrations.Agents.Core/Models/KernelBuilderContext.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Models/KernelBuilderContext.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Models/KernelBuilderContext.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Models/PluginDescriptor.cs b/src/agents/Elsa.Integrations.Agents.Core/Models/PluginDescriptor.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Models/PluginDescriptor.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Models/PluginDescriptor.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Options/AgentsOptions.cs b/src/agents/Elsa.Integrations.Agents.Core/Options/AgentsOptions.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Options/AgentsOptions.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Options/AgentsOptions.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Plugins/ImageGeneratorPlugin.cs b/src/agents/Elsa.Integrations.Agents.Core/Plugins/ImageGeneratorPlugin.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Plugins/ImageGeneratorPlugin.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Plugins/ImageGeneratorPlugin.cs
diff --git a/src/Elsa.Integrations.Agents.Core/ServiceProviders/OpenAIChatCompletionProvider.cs b/src/agents/Elsa.Integrations.Agents.Core/ServiceProviders/OpenAIChatCompletionProvider.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/ServiceProviders/OpenAIChatCompletionProvider.cs
rename to src/agents/Elsa.Integrations.Agents.Core/ServiceProviders/OpenAIChatCompletionProvider.cs
diff --git a/src/Elsa.Integrations.Agents.Core/ServiceProviders/OpenAITextToImageProvider.cs b/src/agents/Elsa.Integrations.Agents.Core/ServiceProviders/OpenAITextToImageProvider.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/ServiceProviders/OpenAITextToImageProvider.cs
rename to src/agents/Elsa.Integrations.Agents.Core/ServiceProviders/OpenAITextToImageProvider.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Services/AgentInvoker.cs b/src/agents/Elsa.Integrations.Agents.Core/Services/AgentInvoker.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Services/AgentInvoker.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Services/AgentInvoker.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Services/ConfigurationKernelConfigProvider.cs b/src/agents/Elsa.Integrations.Agents.Core/Services/ConfigurationKernelConfigProvider.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Services/ConfigurationKernelConfigProvider.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Services/ConfigurationKernelConfigProvider.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Services/KernelFactory.cs b/src/agents/Elsa.Integrations.Agents.Core/Services/KernelFactory.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Services/KernelFactory.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Services/KernelFactory.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Services/PluginDiscoverer.cs b/src/agents/Elsa.Integrations.Agents.Core/Services/PluginDiscoverer.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Services/PluginDiscoverer.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Services/PluginDiscoverer.cs
diff --git a/src/Elsa.Integrations.Agents.Core/Services/ServiceDiscoverer.cs b/src/agents/Elsa.Integrations.Agents.Core/Services/ServiceDiscoverer.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Core/Services/ServiceDiscoverer.cs
rename to src/agents/Elsa.Integrations.Agents.Core/Services/ServiceDiscoverer.cs
diff --git a/src/Elsa.Integrations.Agents.Models/Agents/AgentInputModel.cs b/src/agents/Elsa.Integrations.Agents.Models/Agents/AgentInputModel.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Agents/AgentInputModel.cs
rename to src/agents/Elsa.Integrations.Agents.Models/Agents/AgentInputModel.cs
diff --git a/src/Elsa.Integrations.Agents.Models/Agents/AgentModel.cs b/src/agents/Elsa.Integrations.Agents.Models/Agents/AgentModel.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Agents/AgentModel.cs
rename to src/agents/Elsa.Integrations.Agents.Models/Agents/AgentModel.cs
diff --git a/src/Elsa.Integrations.Agents.Models/ApiKeys/ApiKeyInputModel.cs b/src/agents/Elsa.Integrations.Agents.Models/ApiKeys/ApiKeyInputModel.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/ApiKeys/ApiKeyInputModel.cs
rename to src/agents/Elsa.Integrations.Agents.Models/ApiKeys/ApiKeyInputModel.cs
diff --git a/src/Elsa.Integrations.Agents.Models/ApiKeys/ApiKeyModel.cs b/src/agents/Elsa.Integrations.Agents.Models/ApiKeys/ApiKeyModel.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/ApiKeys/ApiKeyModel.cs
rename to src/agents/Elsa.Integrations.Agents.Models/ApiKeys/ApiKeyModel.cs
diff --git a/src/Elsa.Integrations.Agents.Models/BulkActions/BulkDeleteRequest.cs b/src/agents/Elsa.Integrations.Agents.Models/BulkActions/BulkDeleteRequest.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/BulkActions/BulkDeleteRequest.cs
rename to src/agents/Elsa.Integrations.Agents.Models/BulkActions/BulkDeleteRequest.cs
diff --git a/src/Elsa.Integrations.Agents.Models/BulkActions/BulkDeleteResponse.cs b/src/agents/Elsa.Integrations.Agents.Models/BulkActions/BulkDeleteResponse.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/BulkActions/BulkDeleteResponse.cs
rename to src/agents/Elsa.Integrations.Agents.Models/BulkActions/BulkDeleteResponse.cs
diff --git a/src/Elsa.Integrations.Agents.Models/Configs/AgentConfig.cs b/src/agents/Elsa.Integrations.Agents.Models/Configs/AgentConfig.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Configs/AgentConfig.cs
rename to src/agents/Elsa.Integrations.Agents.Models/Configs/AgentConfig.cs
diff --git a/src/Elsa.Integrations.Agents.Models/Configs/ApiKeyConfig.cs b/src/agents/Elsa.Integrations.Agents.Models/Configs/ApiKeyConfig.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Configs/ApiKeyConfig.cs
rename to src/agents/Elsa.Integrations.Agents.Models/Configs/ApiKeyConfig.cs
diff --git a/src/Elsa.Integrations.Agents.Models/Configs/ExecutionSettingsConfig.cs b/src/agents/Elsa.Integrations.Agents.Models/Configs/ExecutionSettingsConfig.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Configs/ExecutionSettingsConfig.cs
rename to src/agents/Elsa.Integrations.Agents.Models/Configs/ExecutionSettingsConfig.cs
diff --git a/src/Elsa.Integrations.Agents.Models/Configs/FunctionConfig.cs b/src/agents/Elsa.Integrations.Agents.Models/Configs/FunctionConfig.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Configs/FunctionConfig.cs
rename to src/agents/Elsa.Integrations.Agents.Models/Configs/FunctionConfig.cs
diff --git a/src/Elsa.Integrations.Agents.Models/Configs/InputVariableConfig.cs b/src/agents/Elsa.Integrations.Agents.Models/Configs/InputVariableConfig.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Configs/InputVariableConfig.cs
rename to src/agents/Elsa.Integrations.Agents.Models/Configs/InputVariableConfig.cs
diff --git a/src/Elsa.Integrations.Agents.Models/Configs/KernelConfig.cs b/src/agents/Elsa.Integrations.Agents.Models/Configs/KernelConfig.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Configs/KernelConfig.cs
rename to src/agents/Elsa.Integrations.Agents.Models/Configs/KernelConfig.cs
diff --git a/src/Elsa.Integrations.Agents.Models/Configs/OutputVariableConfig.cs b/src/agents/Elsa.Integrations.Agents.Models/Configs/OutputVariableConfig.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Configs/OutputVariableConfig.cs
rename to src/agents/Elsa.Integrations.Agents.Models/Configs/OutputVariableConfig.cs
diff --git a/src/Elsa.Integrations.Agents.Models/Configs/ServiceConfig.cs b/src/agents/Elsa.Integrations.Agents.Models/Configs/ServiceConfig.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Configs/ServiceConfig.cs
rename to src/agents/Elsa.Integrations.Agents.Models/Configs/ServiceConfig.cs
diff --git a/src/Elsa.Integrations.Agents.Models/Elsa.Integrations.Agents.Models.csproj b/src/agents/Elsa.Integrations.Agents.Models/Elsa.Integrations.Agents.Models.csproj
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Elsa.Integrations.Agents.Models.csproj
rename to src/agents/Elsa.Integrations.Agents.Models/Elsa.Integrations.Agents.Models.csproj
diff --git a/src/Elsa.Integrations.Agents.Models/Elsa.Integrations.Agents.Models.csproj.DotSettings b/src/agents/Elsa.Integrations.Agents.Models/Elsa.Integrations.Agents.Models.csproj.DotSettings
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Elsa.Integrations.Agents.Models.csproj.DotSettings
rename to src/agents/Elsa.Integrations.Agents.Models/Elsa.Integrations.Agents.Models.csproj.DotSettings
diff --git a/src/Elsa.Integrations.Agents.Models/FodyWeavers.xml b/src/agents/Elsa.Integrations.Agents.Models/FodyWeavers.xml
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/FodyWeavers.xml
rename to src/agents/Elsa.Integrations.Agents.Models/FodyWeavers.xml
diff --git a/src/Elsa.Integrations.Agents.Models/Plugins/PluginDescriptor.cs b/src/agents/Elsa.Integrations.Agents.Models/Plugins/PluginDescriptor.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Plugins/PluginDescriptor.cs
rename to src/agents/Elsa.Integrations.Agents.Models/Plugins/PluginDescriptor.cs
diff --git a/src/Elsa.Integrations.Agents.Models/Services/ServiceInputModel.cs b/src/agents/Elsa.Integrations.Agents.Models/Services/ServiceInputModel.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Services/ServiceInputModel.cs
rename to src/agents/Elsa.Integrations.Agents.Models/Services/ServiceInputModel.cs
diff --git a/src/Elsa.Integrations.Agents.Models/Services/ServiceModel.cs b/src/agents/Elsa.Integrations.Agents.Models/Services/ServiceModel.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/Services/ServiceModel.cs
rename to src/agents/Elsa.Integrations.Agents.Models/Services/ServiceModel.cs
diff --git a/src/Elsa.Integrations.Agents.Models/UniqueName/GenerateUniqueNameResponse.cs b/src/agents/Elsa.Integrations.Agents.Models/UniqueName/GenerateUniqueNameResponse.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/UniqueName/GenerateUniqueNameResponse.cs
rename to src/agents/Elsa.Integrations.Agents.Models/UniqueName/GenerateUniqueNameResponse.cs
diff --git a/src/Elsa.Integrations.Agents.Models/UniqueName/IsUniqueNameRequest.cs b/src/agents/Elsa.Integrations.Agents.Models/UniqueName/IsUniqueNameRequest.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/UniqueName/IsUniqueNameRequest.cs
rename to src/agents/Elsa.Integrations.Agents.Models/UniqueName/IsUniqueNameRequest.cs
diff --git a/src/Elsa.Integrations.Agents.Models/UniqueName/IsUniqueNameResponse.cs b/src/agents/Elsa.Integrations.Agents.Models/UniqueName/IsUniqueNameResponse.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Models/UniqueName/IsUniqueNameResponse.cs
rename to src/agents/Elsa.Integrations.Agents.Models/UniqueName/IsUniqueNameResponse.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/AgentsMySqlProvidersExtensions.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/AgentsMySqlProvidersExtensions.cs
similarity index 91%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/AgentsMySqlProvidersExtensions.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/AgentsMySqlProvidersExtensions.cs
index a247a3b6..08845a76 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/AgentsMySqlProvidersExtensions.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/AgentsMySqlProvidersExtensions.cs
@@ -1,5 +1,5 @@
using System.Reflection;
-using Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+using Elsa.Integrations.Agents.Persistence.EFCore;
// ReSharper disable once CheckNamespace
namespace Elsa.EntityFrameworkCore.Extensions;
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/DbContextFactories.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/DbContextFactories.cs
similarity index 87%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/DbContextFactories.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/DbContextFactories.cs
index 76ba7473..e3ab42bc 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/DbContextFactories.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/DbContextFactories.cs
@@ -3,7 +3,7 @@
using JetBrains.Annotations;
using Microsoft.EntityFrameworkCore;
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql;
+namespace Elsa.Integrations.Agents.Persistence.EFCore.MySql;
[UsedImplicitly]
public class MySqlAgentsDbContextFactory : DesignTimeDbContextFactoryBase
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql.csproj b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/Elsa.Integrations.Agents.Persistence.EFCore.MySql.csproj
similarity index 88%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql.csproj
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/Elsa.Integrations.Agents.Persistence.EFCore.MySql.csproj
index 1b98e8e2..2fa973f0 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql.csproj
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/Elsa.Integrations.Agents.Persistence.EFCore.MySql.csproj
@@ -13,7 +13,7 @@
-
+
\ No newline at end of file
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/FodyWeavers.xml b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/FodyWeavers.xml
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/FodyWeavers.xml
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/FodyWeavers.xml
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/Migrations/20250302144856_V3_4.Designer.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/Migrations/20250302144856_V3_4.Designer.cs
similarity index 96%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/Migrations/20250302144856_V3_4.Designer.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/Migrations/20250302144856_V3_4.Designer.cs
index 1e75e194..40e6a7ff 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/Migrations/20250302144856_V3_4.Designer.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/Migrations/20250302144856_V3_4.Designer.cs
@@ -1,5 +1,5 @@
//
-using Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+using Elsa.Integrations.Agents.Persistence.EFCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
@@ -8,7 +8,7 @@
#nullable disable
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql.Migrations
+namespace Elsa.Integrations.Agents.Persistence.EFCore.MySql.Migrations
{
[DbContext(typeof(AgentsDbContext))]
[Migration("20250302144856_V3_4")]
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/Migrations/20250302144856_V3_4.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/Migrations/20250302144856_V3_4.cs
similarity index 98%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/Migrations/20250302144856_V3_4.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/Migrations/20250302144856_V3_4.cs
index 828958d4..dc075410 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/Migrations/20250302144856_V3_4.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/Migrations/20250302144856_V3_4.cs
@@ -2,7 +2,7 @@
#nullable disable
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql.Migrations
+namespace Elsa.Integrations.Agents.Persistence.EFCore.MySql.Migrations
{
///
public partial class V3_4 : Migration
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/Migrations/AgentsDbContextModelSnapshot.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/Migrations/AgentsDbContextModelSnapshot.cs
similarity index 96%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/Migrations/AgentsDbContextModelSnapshot.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/Migrations/AgentsDbContextModelSnapshot.cs
index ec2ad3d8..6828f1d8 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/Migrations/AgentsDbContextModelSnapshot.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/Migrations/AgentsDbContextModelSnapshot.cs
@@ -1,5 +1,5 @@
//
-using Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+using Elsa.Integrations.Agents.Persistence.EFCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
@@ -7,7 +7,7 @@
#nullable disable
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql.Migrations
+namespace Elsa.Integrations.Agents.Persistence.EFCore.MySql.Migrations
{
[DbContext(typeof(AgentsDbContext))]
partial class AgentsDbContextModelSnapshot : ModelSnapshot
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/efcore-3.4.sh b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/efcore-3.4.sh
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.MySql/efcore-3.4.sh
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.MySql/efcore-3.4.sh
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/DbContextFactories.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/DbContextFactories.cs
similarity index 85%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/DbContextFactories.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/DbContextFactories.cs
index 9070a895..b39117d7 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/DbContextFactories.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/DbContextFactories.cs
@@ -3,7 +3,7 @@
using JetBrains.Annotations;
using Microsoft.EntityFrameworkCore;
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql;
+namespace Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql;
[UsedImplicitly]
public class PostgreSqlAgentsDbContextFactory : DesignTimeDbContextFactoryBase
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql.csproj b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql.csproj
similarity index 87%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql.csproj
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql.csproj
index 1e24f848..4a43b06a 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql.csproj
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql.csproj
@@ -12,7 +12,7 @@
-
+
\ No newline at end of file
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/FodyWeavers.xml b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/FodyWeavers.xml
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/FodyWeavers.xml
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/FodyWeavers.xml
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/Migrations/20250302144916_V3_4.Designer.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/Migrations/20250302144916_V3_4.Designer.cs
similarity index 96%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/Migrations/20250302144916_V3_4.Designer.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/Migrations/20250302144916_V3_4.Designer.cs
index bedf2012..6f96501a 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/Migrations/20250302144916_V3_4.Designer.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/Migrations/20250302144916_V3_4.Designer.cs
@@ -1,5 +1,5 @@
//
-using Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+using Elsa.Integrations.Agents.Persistence.EFCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
@@ -8,7 +8,7 @@
#nullable disable
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql.Migrations
+namespace Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql.Migrations
{
[DbContext(typeof(AgentsDbContext))]
[Migration("20250302144916_V3_4")]
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/Migrations/20250302144916_V3_4.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/Migrations/20250302144916_V3_4.cs
similarity index 98%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/Migrations/20250302144916_V3_4.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/Migrations/20250302144916_V3_4.cs
index b50a08e3..948a7321 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/Migrations/20250302144916_V3_4.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/Migrations/20250302144916_V3_4.cs
@@ -2,7 +2,7 @@
#nullable disable
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql.Migrations
+namespace Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql.Migrations
{
///
public partial class V3_4 : Migration
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/Migrations/AgentsDbContextModelSnapshot.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/Migrations/AgentsDbContextModelSnapshot.cs
similarity index 96%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/Migrations/AgentsDbContextModelSnapshot.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/Migrations/AgentsDbContextModelSnapshot.cs
index 957b4e2f..a9b23018 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/Migrations/AgentsDbContextModelSnapshot.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/Migrations/AgentsDbContextModelSnapshot.cs
@@ -1,5 +1,5 @@
//
-using Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+using Elsa.Integrations.Agents.Persistence.EFCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
@@ -7,7 +7,7 @@
#nullable disable
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql.Migrations
+namespace Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql.Migrations
{
[DbContext(typeof(AgentsDbContext))]
partial class AgentsDbContextModelSnapshot : ModelSnapshot
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/PostgreSqlProvidersExtensions.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/PostgreSqlProvidersExtensions.cs
similarity index 91%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/PostgreSqlProvidersExtensions.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/PostgreSqlProvidersExtensions.cs
index 430f3dcb..c8295746 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/PostgreSqlProvidersExtensions.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/PostgreSqlProvidersExtensions.cs
@@ -1,5 +1,5 @@
using System.Reflection;
-using Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+using Elsa.Integrations.Agents.Persistence.EFCore;
// ReSharper disable once CheckNamespace
namespace Elsa.EntityFrameworkCore.Extensions;
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/efcore-3.4.sh b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/efcore-3.4.sh
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.PostgreSql/efcore-3.4.sh
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.PostgreSql/efcore-3.4.sh
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/DbContextFactories.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/DbContextFactories.cs
similarity index 85%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/DbContextFactories.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/DbContextFactories.cs
index 34ae323e..55966388 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/DbContextFactories.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/DbContextFactories.cs
@@ -3,7 +3,7 @@
using JetBrains.Annotations;
using Microsoft.EntityFrameworkCore;
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer;
+namespace Elsa.Integrations.Agents.Persistence.EFCore.SqlServer;
[UsedImplicitly]
public class SqlServerAgentsDbContextFactory : DesignTimeDbContextFactoryBase
diff --git a/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer.csproj b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer.csproj
new file mode 100644
index 00000000..c6f8a558
--- /dev/null
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer.csproj
@@ -0,0 +1,18 @@
+
+
+
+ Provides an EF Core migrations for SQL Server for the Agents Persistence module.
+ elsa module agents semantic kernel llm ai persistence efcore entity framework core sqlserver
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/FodyWeavers.xml b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/FodyWeavers.xml
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/FodyWeavers.xml
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/FodyWeavers.xml
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/Migrations/20250302144957_V3_4.Designer.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/Migrations/20250302144957_V3_4.Designer.cs
similarity index 96%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/Migrations/20250302144957_V3_4.Designer.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/Migrations/20250302144957_V3_4.Designer.cs
index 9e6b1e39..269cba86 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/Migrations/20250302144957_V3_4.Designer.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/Migrations/20250302144957_V3_4.Designer.cs
@@ -1,5 +1,5 @@
//
-using Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+using Elsa.Integrations.Agents.Persistence.EFCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
@@ -8,7 +8,7 @@
#nullable disable
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer.Migrations
+namespace Elsa.Integrations.Agents.Persistence.EFCore.SqlServer.Migrations
{
[DbContext(typeof(AgentsDbContext))]
[Migration("20250302144957_V3_4")]
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/Migrations/20250302144957_V3_4.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/Migrations/20250302144957_V3_4.cs
similarity index 98%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/Migrations/20250302144957_V3_4.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/Migrations/20250302144957_V3_4.cs
index 6e2e77f2..a1bafdb4 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/Migrations/20250302144957_V3_4.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/Migrations/20250302144957_V3_4.cs
@@ -2,7 +2,7 @@
#nullable disable
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer.Migrations
+namespace Elsa.Integrations.Agents.Persistence.EFCore.SqlServer.Migrations
{
///
public partial class V3_4 : Migration
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/Migrations/AgentsDbContextModelSnapshot.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/Migrations/AgentsDbContextModelSnapshot.cs
similarity index 96%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/Migrations/AgentsDbContextModelSnapshot.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/Migrations/AgentsDbContextModelSnapshot.cs
index 0a8783c3..4cec3b12 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/Migrations/AgentsDbContextModelSnapshot.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/Migrations/AgentsDbContextModelSnapshot.cs
@@ -1,5 +1,5 @@
//
-using Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+using Elsa.Integrations.Agents.Persistence.EFCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
@@ -7,7 +7,7 @@
#nullable disable
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer.Migrations
+namespace Elsa.Integrations.Agents.Persistence.EFCore.SqlServer.Migrations
{
[DbContext(typeof(AgentsDbContext))]
partial class AgentsDbContextModelSnapshot : ModelSnapshot
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/SqlServerProvidersExtensions.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/SqlServerProvidersExtensions.cs
similarity index 91%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/SqlServerProvidersExtensions.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/SqlServerProvidersExtensions.cs
index 4ded8b54..ef7e6f42 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/SqlServerProvidersExtensions.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/SqlServerProvidersExtensions.cs
@@ -1,5 +1,5 @@
using System.Reflection;
-using Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+using Elsa.Integrations.Agents.Persistence.EFCore;
// ReSharper disable once CheckNamespace
namespace Elsa.EntityFrameworkCore.Extensions;
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/efcore-3.4.sh b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/efcore-3.4.sh
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.SqlServer/efcore-3.4.sh
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.SqlServer/efcore-3.4.sh
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/DbContextFactories.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/DbContextFactories.cs
similarity index 86%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/DbContextFactories.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/DbContextFactories.cs
index 797f83e8..8883989b 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/DbContextFactories.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/DbContextFactories.cs
@@ -3,7 +3,7 @@
using JetBrains.Annotations;
using Microsoft.EntityFrameworkCore;
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite;
+namespace Elsa.Integrations.Agents.Persistence.EFCore.Sqlite;
[UsedImplicitly]
public class SqliteAgentsDbContextFactory : DesignTimeDbContextFactoryBase
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite.csproj b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite.csproj
similarity index 88%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite.csproj
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite.csproj
index a3f647ce..0a5e048d 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite.csproj
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite.csproj
@@ -13,7 +13,7 @@
-
+
\ No newline at end of file
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/FodyWeavers.xml b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/FodyWeavers.xml
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/FodyWeavers.xml
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/FodyWeavers.xml
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/Migrations/20250302144940_V3_4.Designer.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/Migrations/20250302144940_V3_4.Designer.cs
similarity index 96%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/Migrations/20250302144940_V3_4.Designer.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/Migrations/20250302144940_V3_4.Designer.cs
index 942084bf..f30d14c1 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/Migrations/20250302144940_V3_4.Designer.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/Migrations/20250302144940_V3_4.Designer.cs
@@ -1,5 +1,5 @@
//
-using Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+using Elsa.Integrations.Agents.Persistence.EFCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
@@ -7,7 +7,7 @@
#nullable disable
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite.Migrations
+namespace Elsa.Integrations.Agents.Persistence.EFCore.Sqlite.Migrations
{
[DbContext(typeof(AgentsDbContext))]
[Migration("20250302144940_V3_4")]
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/Migrations/20250302144940_V3_4.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/Migrations/20250302144940_V3_4.cs
similarity index 98%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/Migrations/20250302144940_V3_4.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/Migrations/20250302144940_V3_4.cs
index 911cfe86..1231add7 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/Migrations/20250302144940_V3_4.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/Migrations/20250302144940_V3_4.cs
@@ -2,7 +2,7 @@
#nullable disable
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite.Migrations
+namespace Elsa.Integrations.Agents.Persistence.EFCore.Sqlite.Migrations
{
///
public partial class V3_4 : Migration
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/Migrations/AgentsDbContextModelSnapshot.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/Migrations/AgentsDbContextModelSnapshot.cs
similarity index 96%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/Migrations/AgentsDbContextModelSnapshot.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/Migrations/AgentsDbContextModelSnapshot.cs
index 0a42dc84..0ba47552 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/Migrations/AgentsDbContextModelSnapshot.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/Migrations/AgentsDbContextModelSnapshot.cs
@@ -1,12 +1,12 @@
//
-using Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+using Elsa.Integrations.Agents.Persistence.EFCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite.Migrations
+namespace Elsa.Integrations.Agents.Persistence.EFCore.Sqlite.Migrations
{
[DbContext(typeof(AgentsDbContext))]
partial class AgentsDbContextModelSnapshot : ModelSnapshot
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/SqliteProvidersExtensions.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/SqliteProvidersExtensions.cs
similarity index 94%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/SqliteProvidersExtensions.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/SqliteProvidersExtensions.cs
index b3cd72c0..802c0955 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/SqliteProvidersExtensions.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/SqliteProvidersExtensions.cs
@@ -1,5 +1,5 @@
using System.Reflection;
-using Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+using Elsa.Integrations.Agents.Persistence.EFCore;
// ReSharper disable once CheckNamespace
namespace Elsa.EntityFrameworkCore.Extensions;
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/efcore-3.4.sh b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/efcore-3.4.sh
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.Sqlite/efcore-3.4.sh
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore.Sqlite/efcore-3.4.sh
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/Configurations.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/Configurations.cs
similarity index 95%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/Configurations.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore/Configurations.cs
index d9d79dc6..882dab5f 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/Configurations.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/Configurations.cs
@@ -3,7 +3,7 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+namespace Elsa.Integrations.Agents.Persistence.EFCore;
///
/// EF Core configuration for various entity types.
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/DbContext.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/DbContext.cs
similarity index 95%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/DbContext.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore/DbContext.cs
index d750df78..64cad47f 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/DbContext.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/DbContext.cs
@@ -3,7 +3,7 @@
using JetBrains.Annotations;
using Microsoft.EntityFrameworkCore;
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+namespace Elsa.Integrations.Agents.Persistence.EFCore;
///
/// DB context for the Agents module.
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/EFCoreAgentStore.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/EFCoreAgentStore.cs
similarity index 96%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/EFCoreAgentStore.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore/EFCoreAgentStore.cs
index a459a361..7f711ce9 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/EFCoreAgentStore.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/EFCoreAgentStore.cs
@@ -4,7 +4,7 @@
using Elsa.Integrations.Agents.Persistence.Filters;
using JetBrains.Annotations;
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+namespace Elsa.Integrations.Agents.Persistence.EFCore;
///
/// An EF Core implementation of .
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/EFCoreApiKeyStore.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/EFCoreApiKeyStore.cs
similarity index 96%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/EFCoreApiKeyStore.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore/EFCoreApiKeyStore.cs
index ec4740bd..67437a5d 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/EFCoreApiKeyStore.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/EFCoreApiKeyStore.cs
@@ -4,7 +4,7 @@
using Elsa.Integrations.Agents.Persistence.Filters;
using JetBrains.Annotations;
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+namespace Elsa.Integrations.Agents.Persistence.EFCore;
///
/// An EF Core implementation of .
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/EFCoreServiceStore.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/EFCoreServiceStore.cs
similarity index 96%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/EFCoreServiceStore.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore/EFCoreServiceStore.cs
index 4a8f0895..ca5229b5 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/EFCoreServiceStore.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/EFCoreServiceStore.cs
@@ -4,7 +4,7 @@
using Elsa.Integrations.Agents.Persistence.Filters;
using JetBrains.Annotations;
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+namespace Elsa.Integrations.Agents.Persistence.EFCore;
///
/// An EF Core implementation of .
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.csproj b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/Elsa.Integrations.Agents.Persistence.EFCore.csproj
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore.csproj
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore/Elsa.Integrations.Agents.Persistence.EFCore.csproj
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/Extensions.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/Extensions.cs
similarity index 91%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/Extensions.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore/Extensions.cs
index c76d1dbb..d3f6bb81 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/Extensions.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/Extensions.cs
@@ -1,4 +1,4 @@
-using Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+using Elsa.Integrations.Agents.Persistence.EFCore;
using Elsa.Integrations.Agents.Persistence.Features;
using JetBrains.Annotations;
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/Feature.cs b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/Feature.cs
similarity index 94%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/Feature.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore/Feature.cs
index c8c760fa..b17201b2 100644
--- a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/Feature.cs
+++ b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/Feature.cs
@@ -5,7 +5,7 @@
using Elsa.Integrations.Agents.Persistence.Features;
using Microsoft.Extensions.DependencyInjection;
-namespace Elsa.Integrations.Agents.Persistence.EntityFrameworkCore;
+namespace Elsa.Integrations.Agents.Persistence.EFCore;
///
/// Configures the default workflow runtime to use EF Core persistence providers.
diff --git a/src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/FodyWeavers.xml b/src/agents/Elsa.Integrations.Agents.Persistence.EFCore/FodyWeavers.xml
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence.EntityFrameworkCore/FodyWeavers.xml
rename to src/agents/Elsa.Integrations.Agents.Persistence.EFCore/FodyWeavers.xml
diff --git a/src/Elsa.Integrations.Agents.Persistence/Contracts/IAgentManager.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Contracts/IAgentManager.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Contracts/IAgentManager.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Contracts/IAgentManager.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Contracts/IAgentStore.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Contracts/IAgentStore.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Contracts/IAgentStore.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Contracts/IAgentStore.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Contracts/IApiKeyStore.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Contracts/IApiKeyStore.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Contracts/IApiKeyStore.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Contracts/IApiKeyStore.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Contracts/IServiceStore.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Contracts/IServiceStore.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Contracts/IServiceStore.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Contracts/IServiceStore.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Elsa.Integrations.Agents.Persistence.csproj b/src/agents/Elsa.Integrations.Agents.Persistence/Elsa.Integrations.Agents.Persistence.csproj
similarity index 81%
rename from src/Elsa.Integrations.Agents.Persistence/Elsa.Integrations.Agents.Persistence.csproj
rename to src/agents/Elsa.Integrations.Agents.Persistence/Elsa.Integrations.Agents.Persistence.csproj
index 9c3a6f56..15c23494 100644
--- a/src/Elsa.Integrations.Agents.Persistence/Elsa.Integrations.Agents.Persistence.csproj
+++ b/src/agents/Elsa.Integrations.Agents.Persistence/Elsa.Integrations.Agents.Persistence.csproj
@@ -13,8 +13,4 @@
-
-
-
-
diff --git a/src/Elsa.Integrations.Agents.Persistence/Elsa.Integrations.Agents.Persistence.csproj.DotSettings b/src/agents/Elsa.Integrations.Agents.Persistence/Elsa.Integrations.Agents.Persistence.csproj.DotSettings
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Elsa.Integrations.Agents.Persistence.csproj.DotSettings
rename to src/agents/Elsa.Integrations.Agents.Persistence/Elsa.Integrations.Agents.Persistence.csproj.DotSettings
diff --git a/src/Elsa.Integrations.Agents.Persistence/Entities/AgentDefinition.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Entities/AgentDefinition.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Entities/AgentDefinition.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Entities/AgentDefinition.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Entities/ApiKeyDefinition.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Entities/ApiKeyDefinition.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Entities/ApiKeyDefinition.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Entities/ApiKeyDefinition.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Entities/ServiceDefinition.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Entities/ServiceDefinition.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Entities/ServiceDefinition.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Entities/ServiceDefinition.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Extensions/ModuleExtensions.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Extensions/ModuleExtensions.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Extensions/ModuleExtensions.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Extensions/ModuleExtensions.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Features/AgentPersistenceFeature.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Features/AgentPersistenceFeature.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Features/AgentPersistenceFeature.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Features/AgentPersistenceFeature.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Filters/AgentDefinitionFilter.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Filters/AgentDefinitionFilter.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Filters/AgentDefinitionFilter.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Filters/AgentDefinitionFilter.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Filters/ApiKeyDefinitionFilter.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Filters/ApiKeyDefinitionFilter.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Filters/ApiKeyDefinitionFilter.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Filters/ApiKeyDefinitionFilter.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Filters/ServiceDefinitionFilter.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Filters/ServiceDefinitionFilter.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Filters/ServiceDefinitionFilter.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Filters/ServiceDefinitionFilter.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/FodyWeavers.xml b/src/agents/Elsa.Integrations.Agents.Persistence/FodyWeavers.xml
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/FodyWeavers.xml
rename to src/agents/Elsa.Integrations.Agents.Persistence/FodyWeavers.xml
diff --git a/src/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionCreated.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionCreated.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionCreated.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionCreated.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionDeleted.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionDeleted.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionDeleted.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionDeleted.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionUpdated.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionUpdated.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionUpdated.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionUpdated.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionsDeletedInBulk.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionsDeletedInBulk.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionsDeletedInBulk.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Notifications/AgentDefinitionsDeletedInBulk.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Services/AgentManager.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Services/AgentManager.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Services/AgentManager.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Services/AgentManager.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Services/MemoryAgentStore.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Services/MemoryAgentStore.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Services/MemoryAgentStore.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Services/MemoryAgentStore.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Services/MemoryApiKeyStore.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Services/MemoryApiKeyStore.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Services/MemoryApiKeyStore.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Services/MemoryApiKeyStore.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Services/MemoryServiceStore.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Services/MemoryServiceStore.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Services/MemoryServiceStore.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Services/MemoryServiceStore.cs
diff --git a/src/Elsa.Integrations.Agents.Persistence/Services/StoreKernelConfigProvider.cs b/src/agents/Elsa.Integrations.Agents.Persistence/Services/StoreKernelConfigProvider.cs
similarity index 100%
rename from src/Elsa.Integrations.Agents.Persistence/Services/StoreKernelConfigProvider.cs
rename to src/agents/Elsa.Integrations.Agents.Persistence/Services/StoreKernelConfigProvider.cs
diff --git a/src/agents/Elsa.Studio.Integrations.Agents/AgentsIcons.cs b/src/agents/Elsa.Studio.Integrations.Agents/AgentsIcons.cs
new file mode 100644
index 00000000..4b412e46
--- /dev/null
+++ b/src/agents/Elsa.Studio.Integrations.Agents/AgentsIcons.cs
@@ -0,0 +1,16 @@
+namespace Elsa.Studio.Integrations.Agents;
+
+public static class AgentIcons
+{
+ public const string Robot = """
+
+ """;
+
+ public const string AI = """
+
+ """;
+}
\ No newline at end of file
diff --git a/src/agents/Elsa.Studio.Integrations.Agents/AgentsMenu.cs b/src/agents/Elsa.Studio.Integrations.Agents/AgentsMenu.cs
new file mode 100644
index 00000000..7f0cbbcb
--- /dev/null
+++ b/src/agents/Elsa.Studio.Integrations.Agents/AgentsMenu.cs
@@ -0,0 +1,59 @@
+using Elsa.Studio.Contracts;
+using Elsa.Studio.Localization;
+using Elsa.Studio.Models;
+using MudBlazor;
+
+namespace Elsa.Studio.Integrations.Agents;
+
+/// A menu provider for the Agents module.
+public class AgentsMenu(ILocalizer localizer) : IMenuProvider, IMenuGroupProvider
+{
+ ///
+ public ValueTask> GetMenuItemsAsync(CancellationToken cancellationToken = default)
+ {
+ var menuItems = new List