diff --git a/Elsa.sln b/Elsa.sln
index 63aee96e7..81db678e9 100644
--- a/Elsa.sln
+++ b/Elsa.sln
@@ -192,8 +192,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Samples.JsonWorkflows"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Samples.JsonWorkflowProvider", "src\samples\aspnet\Elsa.Samples.JsonWorkflowProvider\Elsa.Samples.JsonWorkflowProvider.csproj", "{C5043453-5FB8-4796-9A80-C4C766F2CB62}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.WorkflowProviders.FluentStorage", "src\modules\Elsa.WorkflowProviders.FluentStorage\Elsa.WorkflowProviders.FluentStorage.csproj", "{044C3108-FE79-460A-9C31-A03C30228836}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps", "src\samples\aspnet\Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps\Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps.csproj", "{3212A999-4AC4-4911-9AA4-92AB906BCB5E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Samples.AspNet.HttpEndpoints", "src\samples\aspnet\Elsa.Samples.AspNet.HttpEndpoints\Elsa.Samples.AspNet.HttpEndpoints.csproj", "{165ACC9D-B67C-4B49-A818-ECFD247C899C}"
@@ -224,6 +222,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Samples.AspNet.DapperP
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Dapper.Migrations", "src\modules\Elsa.Dapper.Migrations\Elsa.Dapper.Migrations.csproj", "{A86DF0F0-24E9-470E-984B-9E7332544972}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.WorkflowProviders.BlobStorage", "src\modules\Elsa.WorkflowProviders.BlobStorage\Elsa.WorkflowProviders.BlobStorage.csproj", "{A702DD84-B55C-4807-9C28-D8F5AC3CCA78}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -518,10 +518,6 @@ Global
{C5043453-5FB8-4796-9A80-C4C766F2CB62}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C5043453-5FB8-4796-9A80-C4C766F2CB62}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C5043453-5FB8-4796-9A80-C4C766F2CB62}.Release|Any CPU.Build.0 = Release|Any CPU
- {044C3108-FE79-460A-9C31-A03C30228836}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {044C3108-FE79-460A-9C31-A03C30228836}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {044C3108-FE79-460A-9C31-A03C30228836}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {044C3108-FE79-460A-9C31-A03C30228836}.Release|Any CPU.Build.0 = Release|Any CPU
{3212A999-4AC4-4911-9AA4-92AB906BCB5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3212A999-4AC4-4911-9AA4-92AB906BCB5E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3212A999-4AC4-4911-9AA4-92AB906BCB5E}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -554,6 +550,10 @@ Global
{A86DF0F0-24E9-470E-984B-9E7332544972}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A86DF0F0-24E9-470E-984B-9E7332544972}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A86DF0F0-24E9-470E-984B-9E7332544972}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A702DD84-B55C-4807-9C28-D8F5AC3CCA78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A702DD84-B55C-4807-9C28-D8F5AC3CCA78}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A702DD84-B55C-4807-9C28-D8F5AC3CCA78}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A702DD84-B55C-4807-9C28-D8F5AC3CCA78}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{155227F0-A33B-40AA-A4B4-06F813EB921B} = {61017E64-6D00-49CB-9E81-5002DC8F7D5F}
@@ -637,7 +637,6 @@ Global
{30B49E42-AE61-4F7C-981F-923F07BB3986} = {5948B0A5-7873-4DBB-BA03-EB283D6EA91B}
{B08B4E00-C2AB-48F3-8389-449F42AEF179} = {5BA4A8FA-F7F4-45B3-AEC8-8886D35AAC79}
{302BFC43-ED2F-43AE-8AD4-FCD481B0AC67} = {B08B4E00-C2AB-48F3-8389-449F42AEF179}
- {044C3108-FE79-460A-9C31-A03C30228836} = {B08B4E00-C2AB-48F3-8389-449F42AEF179}
{C9539BD8-D2AE-4A8D-8281-71A05B3FBF31} = {B08B4E00-C2AB-48F3-8389-449F42AEF179}
{169E2C9B-6687-427F-A278-30BF849BFEDC} = {B08B4E00-C2AB-48F3-8389-449F42AEF179}
{B191F11D-583D-44D9-8A08-F5B0DC58B822} = {B08B4E00-C2AB-48F3-8389-449F42AEF179}
@@ -655,5 +654,6 @@ Global
{4D8F3BB2-709D-481A-8FD3-0DA9762B366D} = {9B4F139F-7D26-435C-A561-89E65A67A8E5}
{D5905087-2E73-44AD-B3CC-70FE8AAA99A1} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5}
{A86DF0F0-24E9-470E-984B-9E7332544972} = {9B4F139F-7D26-435C-A561-89E65A67A8E5}
+ {A702DD84-B55C-4807-9C28-D8F5AC3CCA78} = {B08B4E00-C2AB-48F3-8389-449F42AEF179}
EndGlobalSection
EndGlobal
diff --git a/src/bundles/Elsa.WorkflowServer.Web/Elsa.WorkflowServer.Web.csproj b/src/bundles/Elsa.WorkflowServer.Web/Elsa.WorkflowServer.Web.csproj
index 5ff64b745..8909af306 100644
--- a/src/bundles/Elsa.WorkflowServer.Web/Elsa.WorkflowServer.Web.csproj
+++ b/src/bundles/Elsa.WorkflowServer.Web/Elsa.WorkflowServer.Web.csproj
@@ -19,7 +19,7 @@
-
+
diff --git a/src/designer/designer_packages/elsa-workflows-designer/src/components/shared/input-control-switch/input-control-switch.tsx b/src/designer/designer_packages/elsa-workflows-designer/src/components/shared/input-control-switch/input-control-switch.tsx
index aa3d658cb..36f8adb27 100644
--- a/src/designer/designer_packages/elsa-workflows-designer/src/components/shared/input-control-switch/input-control-switch.tsx
+++ b/src/designer/designer_packages/elsa-workflows-designer/src/components/shared/input-control-switch/input-control-switch.tsx
@@ -30,9 +30,9 @@ export class InputControlSwitch {
}
// Tunneled props.
- @Prop() workflowDefinitionId: string;
- @Prop() activityType: string;
- @Prop() propertyName: string;
+ @Prop({mutable: true}) workflowDefinitionId: string;
+ @Prop({mutable: true}) activityType: string;
+ @Prop({mutable: true}) propertyName: string;
@Prop() label: string;
@Prop() hideLabel: boolean;
diff --git a/src/designer/designer_packages/elsa-workflows-designer/src/modules/flowchart/flowchart.tsx b/src/designer/designer_packages/elsa-workflows-designer/src/modules/flowchart/flowchart.tsx
index 5213733b4..1d95917d0 100644
--- a/src/designer/designer_packages/elsa-workflows-designer/src/modules/flowchart/flowchart.tsx
+++ b/src/designer/designer_packages/elsa-workflows-designer/src/modules/flowchart/flowchart.tsx
@@ -441,6 +441,7 @@ export class FlowchartComponent {
this.graph.fromJSON(model, {silent: false});
this.graph.unfreeze();
rebuildGraph(this.graph);
+ this.graph.scrollToContent();
}
private getFlowchartModel = (): FlowchartModel => {
diff --git a/src/modules/Elsa.WorkflowProviders.FluentStorage/Contracts/IBlobStorageProvider.cs b/src/modules/Elsa.WorkflowProviders.BlobStorage/Contracts/IBlobStorageProvider.cs
similarity index 90%
rename from src/modules/Elsa.WorkflowProviders.FluentStorage/Contracts/IBlobStorageProvider.cs
rename to src/modules/Elsa.WorkflowProviders.BlobStorage/Contracts/IBlobStorageProvider.cs
index f94ec546b..1f0f95cf5 100644
--- a/src/modules/Elsa.WorkflowProviders.FluentStorage/Contracts/IBlobStorageProvider.cs
+++ b/src/modules/Elsa.WorkflowProviders.BlobStorage/Contracts/IBlobStorageProvider.cs
@@ -1,6 +1,6 @@
using FluentStorage.Blobs;
-namespace Elsa.WorkflowProviders.FluentStorage.Contracts;
+namespace Elsa.WorkflowProviders.BlobStorage.Contracts;
///
/// A provider of . The point of this interface is to provide a wrapper for actual implementations.
diff --git a/src/modules/Elsa.WorkflowProviders.FluentStorage/Elsa.WorkflowProviders.FluentStorage.csproj b/src/modules/Elsa.WorkflowProviders.BlobStorage/Elsa.WorkflowProviders.BlobStorage.csproj
similarity index 100%
rename from src/modules/Elsa.WorkflowProviders.FluentStorage/Elsa.WorkflowProviders.FluentStorage.csproj
rename to src/modules/Elsa.WorkflowProviders.BlobStorage/Elsa.WorkflowProviders.BlobStorage.csproj
diff --git a/src/modules/Elsa.WorkflowProviders.FluentStorage/Extensions/ModuleExtensions.cs b/src/modules/Elsa.WorkflowProviders.BlobStorage/Extensions/ModuleExtensions.cs
similarity index 96%
rename from src/modules/Elsa.WorkflowProviders.FluentStorage/Extensions/ModuleExtensions.cs
rename to src/modules/Elsa.WorkflowProviders.BlobStorage/Extensions/ModuleExtensions.cs
index ebe4d2864..34c0b19c3 100644
--- a/src/modules/Elsa.WorkflowProviders.FluentStorage/Extensions/ModuleExtensions.cs
+++ b/src/modules/Elsa.WorkflowProviders.BlobStorage/Extensions/ModuleExtensions.cs
@@ -1,5 +1,5 @@
using Elsa.Features.Services;
-using Elsa.WorkflowProviders.FluentStorage.Features;
+using Elsa.WorkflowProviders.BlobStorage.Features;
using FluentStorage.Blobs;
using JetBrains.Annotations;
diff --git a/src/modules/Elsa.WorkflowProviders.FluentStorage/Features/FluentStorageFeature.cs b/src/modules/Elsa.WorkflowProviders.BlobStorage/Features/FluentStorageFeature.cs
similarity index 85%
rename from src/modules/Elsa.WorkflowProviders.FluentStorage/Features/FluentStorageFeature.cs
rename to src/modules/Elsa.WorkflowProviders.BlobStorage/Features/FluentStorageFeature.cs
index 8281e6817..2ef5f6e8e 100644
--- a/src/modules/Elsa.WorkflowProviders.FluentStorage/Features/FluentStorageFeature.cs
+++ b/src/modules/Elsa.WorkflowProviders.BlobStorage/Features/FluentStorageFeature.cs
@@ -2,15 +2,15 @@ using System.Reflection;
using Elsa.Features.Abstractions;
using Elsa.Features.Attributes;
using Elsa.Features.Services;
-using Elsa.WorkflowProviders.FluentStorage.Contracts;
-using Elsa.WorkflowProviders.FluentStorage.Providers;
+using Elsa.WorkflowProviders.BlobStorage.Contracts;
+using Elsa.WorkflowProviders.BlobStorage.Providers;
using Elsa.Workflows.Management.Features;
using FluentStorage;
using FluentStorage.Blobs;
using JetBrains.Annotations;
using Microsoft.Extensions.DependencyInjection;
-namespace Elsa.WorkflowProviders.FluentStorage.Features;
+namespace Elsa.WorkflowProviders.BlobStorage.Features;
///
/// A feature that enables the FluentStorage workflow definition provider.
@@ -34,7 +34,7 @@ public class FluentStorageFeature : FeatureBase
public override void Apply()
{
Services.AddSingleton(sp => new BlobStorageProvider(BlobStorage(sp)));
- Services.AddWorkflowDefinitionProvider();
+ Services.AddWorkflowDefinitionProvider();
}
///
diff --git a/src/modules/Elsa.WorkflowProviders.FluentStorage/FodyWeavers.xml b/src/modules/Elsa.WorkflowProviders.BlobStorage/FodyWeavers.xml
similarity index 100%
rename from src/modules/Elsa.WorkflowProviders.FluentStorage/FodyWeavers.xml
rename to src/modules/Elsa.WorkflowProviders.BlobStorage/FodyWeavers.xml
diff --git a/src/modules/Elsa.WorkflowProviders.FluentStorage/Providers/BlobStorageProvider.cs b/src/modules/Elsa.WorkflowProviders.BlobStorage/Providers/BlobStorageProvider.cs
similarity index 84%
rename from src/modules/Elsa.WorkflowProviders.FluentStorage/Providers/BlobStorageProvider.cs
rename to src/modules/Elsa.WorkflowProviders.BlobStorage/Providers/BlobStorageProvider.cs
index cd0e90914..419c5718c 100644
--- a/src/modules/Elsa.WorkflowProviders.FluentStorage/Providers/BlobStorageProvider.cs
+++ b/src/modules/Elsa.WorkflowProviders.BlobStorage/Providers/BlobStorageProvider.cs
@@ -1,7 +1,7 @@
-using Elsa.WorkflowProviders.FluentStorage.Contracts;
+using Elsa.WorkflowProviders.BlobStorage.Contracts;
using FluentStorage.Blobs;
-namespace Elsa.WorkflowProviders.FluentStorage.Providers;
+namespace Elsa.WorkflowProviders.BlobStorage.Providers;
///
/// A provider of .
diff --git a/src/modules/Elsa.WorkflowProviders.FluentStorage/Providers/FluentStorageWorkflowProvider.cs b/src/modules/Elsa.WorkflowProviders.BlobStorage/Providers/BlobStorageWorkflowProvider.cs
similarity index 92%
rename from src/modules/Elsa.WorkflowProviders.FluentStorage/Providers/FluentStorageWorkflowProvider.cs
rename to src/modules/Elsa.WorkflowProviders.BlobStorage/Providers/BlobStorageWorkflowProvider.cs
index fc5a8476b..f325944af 100644
--- a/src/modules/Elsa.WorkflowProviders.FluentStorage/Providers/FluentStorageWorkflowProvider.cs
+++ b/src/modules/Elsa.WorkflowProviders.BlobStorage/Providers/BlobStorageWorkflowProvider.cs
@@ -1,6 +1,6 @@
using Elsa.Common.Contracts;
using Elsa.Dsl.Contracts;
-using Elsa.WorkflowProviders.FluentStorage.Contracts;
+using Elsa.WorkflowProviders.BlobStorage.Contracts;
using Elsa.Workflows.Core.Contracts;
using Elsa.Workflows.Management.Mappers;
using Elsa.Workflows.Management.Materializers;
@@ -10,13 +10,13 @@ using Elsa.Workflows.Runtime.Models;
using FluentStorage.Blobs;
using JetBrains.Annotations;
-namespace Elsa.WorkflowProviders.FluentStorage.Providers;
+namespace Elsa.WorkflowProviders.BlobStorage.Providers;
///
/// A workflow definition provider that loads workflow definitions from a storage using FluentStorage (See https://github.com/robinrodricks/FluentStorage).
///
[PublicAPI]
-public class FluentStorageWorkflowProvider : IWorkflowProvider
+public class BlobStorageWorkflowProvider : IWorkflowProvider
{
private readonly IBlobStorageProvider _blobStorageProvider;
private readonly IActivitySerializer _activitySerializer;
@@ -27,9 +27,9 @@ public class FluentStorageWorkflowProvider : IWorkflowProvider
private readonly VariableDefinitionMapper _variableDefinitionMapper;
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
- public FluentStorageWorkflowProvider(
+ public BlobStorageWorkflowProvider(
IBlobStorageProvider blobStorageProvider,
IActivitySerializer activitySerializer,
IDslEngine dslEngine,
diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/Scripting/JavaScript/TypeDefinitions/Endpoint.cs b/src/modules/Elsa.Workflows.Api/Endpoints/Scripting/JavaScript/TypeDefinitions/Endpoint.cs
index 2106307de..21f66609d 100644
--- a/src/modules/Elsa.Workflows.Api/Endpoints/Scripting/JavaScript/TypeDefinitions/Endpoint.cs
+++ b/src/modules/Elsa.Workflows.Api/Endpoints/Scripting/JavaScript/TypeDefinitions/Endpoint.cs
@@ -5,7 +5,6 @@ using Elsa.JavaScript.TypeDefinitions.Contracts;
using Elsa.JavaScript.TypeDefinitions.Models;
using Elsa.Workflows.Core.Models;
using Elsa.Workflows.Management.Contracts;
-using FastEndpoints;
using JetBrains.Annotations;
namespace Elsa.Workflows.Api.Endpoints.Scripting.JavaScript.TypeDefinitions;
diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Version/List.cs b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Version/List.cs
index b6238c0fb..c4b39e89e 100644
--- a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Version/List.cs
+++ b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Version/List.cs
@@ -1,8 +1,6 @@
-using System.DirectoryServices;
-using Elsa.Common.Entities;
+using Elsa.Common.Entities;
using Elsa.Common.Models;
using Elsa.Workflows.Management.Contracts;
-using Elsa.Workflows.Management.Entities;
using Elsa.Workflows.Management.Filters;
using FastEndpoints;
using JetBrains.Annotations;
diff --git a/src/modules/Elsa.Workflows.Api/Serialization/ArgumentJsonConverter.cs b/src/modules/Elsa.Workflows.Api/Serialization/ArgumentJsonConverter.cs
index 0518ad325..80a31d213 100644
--- a/src/modules/Elsa.Workflows.Api/Serialization/ArgumentJsonConverter.cs
+++ b/src/modules/Elsa.Workflows.Api/Serialization/ArgumentJsonConverter.cs
@@ -4,7 +4,7 @@ using System.Text.Json.Serialization;
using Elsa.Expressions.Contracts;
using Elsa.Expressions.Extensions;
using Elsa.Extensions;
-using Elsa.Workflows.Management.Models;
+using Elsa.Workflows.Core.Models;
namespace Elsa.Workflows.Api.Serialization;
diff --git a/src/modules/Elsa.Workflows.Api/Serialization/ArgumentJsonConverterFactory.cs b/src/modules/Elsa.Workflows.Api/Serialization/ArgumentJsonConverterFactory.cs
index 917786367..258fe9fab 100644
--- a/src/modules/Elsa.Workflows.Api/Serialization/ArgumentJsonConverterFactory.cs
+++ b/src/modules/Elsa.Workflows.Api/Serialization/ArgumentJsonConverterFactory.cs
@@ -1,7 +1,7 @@
using System.Text.Json;
using System.Text.Json.Serialization;
using Elsa.Expressions.Contracts;
-using Elsa.Workflows.Management.Models;
+using Elsa.Workflows.Core.Models;
namespace Elsa.Workflows.Api.Serialization;
diff --git a/src/modules/Elsa.Workflows.Core/Builders/WorkflowBuilder.cs b/src/modules/Elsa.Workflows.Core/Builders/WorkflowBuilder.cs
index 5a7937713..b3e78b665 100644
--- a/src/modules/Elsa.Workflows.Core/Builders/WorkflowBuilder.cs
+++ b/src/modules/Elsa.Workflows.Core/Builders/WorkflowBuilder.cs
@@ -44,6 +44,15 @@ public class WorkflowBuilder : IWorkflowBuilder
///
public ICollection Variables { get; set; } = new List();
+ ///
+ public ICollection Inputs { get; set; } = new List();
+
+ ///
+ public ICollection Outputs { get; set; } = new List();
+
+ ///
+ public ICollection Outcomes { get; set; } = new List();
+
///
public Variable? Result { get; set; }
@@ -51,8 +60,8 @@ public class WorkflowBuilder : IWorkflowBuilder
public IDictionary CustomProperties { get; set; } = new Dictionary();
///
- public WorkflowOptions WorkflowOptions { get; } = new();
-
+ public WorkflowOptions WorkflowOptions { get; } = new();
+
///
public Variable WithVariable()
{
@@ -69,7 +78,7 @@ public class WorkflowBuilder : IWorkflowBuilder
Name = name,
Value = value
};
-
+
Variables.Add(variable);
return variable;
}
@@ -88,7 +97,7 @@ public class WorkflowBuilder : IWorkflowBuilder
Variables.Add(variable);
return this;
}
-
+
///
public IWorkflowBuilder WithVariable(Variable variable)
{
@@ -126,7 +135,7 @@ public class WorkflowBuilder : IWorkflowBuilder
var identity = new WorkflowIdentity(definitionId, Version, id);
var publication = WorkflowPublication.LatestAndPublished;
var workflowMetadata = new WorkflowMetadata(Name, Description);
- var workflow = new Workflow(identity, publication, workflowMetadata, WorkflowOptions, root, Variables, CustomProperties);
+ var workflow = new Workflow(identity, publication, workflowMetadata, WorkflowOptions, root, Variables, Inputs, Outputs, Outcomes, CustomProperties);
// If a Result variable is defined, install it into the workflow so we can capture the output into it.
if (Result != null)
@@ -137,14 +146,14 @@ public class WorkflowBuilder : IWorkflowBuilder
var graph = await _activityVisitor.VisitAsync(workflow, cancellationToken);
var nodes = graph.Flatten().ToList();
-
+
// Register all activity types first. The identity graph service will need to know about all activity types.
var distinctActivityTypes = nodes.Select(x => x.Activity.GetType()).Distinct().ToList();
await _activityRegistry.RegisterAsync(distinctActivityTypes, cancellationToken);
-
+
// Assign identities to all activities.
_identityGraphService.AssignIdentities(nodes);
-
+
return workflow;
}
diff --git a/src/modules/Elsa.Workflows.Core/Contracts/IWorkflowBuilder.cs b/src/modules/Elsa.Workflows.Core/Contracts/IWorkflowBuilder.cs
index 07cff7eab..71c8d9fd3 100644
--- a/src/modules/Elsa.Workflows.Core/Contracts/IWorkflowBuilder.cs
+++ b/src/modules/Elsa.Workflows.Core/Contracts/IWorkflowBuilder.cs
@@ -46,6 +46,21 @@ public interface IWorkflowBuilder
/// The workflow variables to store with the workflow being built.
///
ICollection Variables { get; set; }
+
+ ///
+ /// Gets or sets the inputs.
+ ///
+ ICollection Inputs { get; set; }
+
+ ///
+ /// Gets or sets the outputs.
+ ///
+ ICollection Outputs { get; set; }
+
+ ///
+ /// Gets or sets the outcomes.
+ ///
+ ICollection Outcomes { get; set; }
///
/// An internal variable used to get and set the result of the workflow.
diff --git a/src/modules/Elsa.Workflows.Management/Models/ArgumentDefinition.cs b/src/modules/Elsa.Workflows.Core/Models/ArgumentDefinition.cs
similarity index 94%
rename from src/modules/Elsa.Workflows.Management/Models/ArgumentDefinition.cs
rename to src/modules/Elsa.Workflows.Core/Models/ArgumentDefinition.cs
index 270a68854..ff2052a2b 100644
--- a/src/modules/Elsa.Workflows.Management/Models/ArgumentDefinition.cs
+++ b/src/modules/Elsa.Workflows.Core/Models/ArgumentDefinition.cs
@@ -1,4 +1,4 @@
-namespace Elsa.Workflows.Management.Models;
+namespace Elsa.Workflows.Core.Models;
///
/// Base class for workflow input and output definitions.
diff --git a/src/modules/Elsa.Workflows.Management/Models/InputDefinition.cs b/src/modules/Elsa.Workflows.Core/Models/InputDefinition.cs
similarity index 90%
rename from src/modules/Elsa.Workflows.Management/Models/InputDefinition.cs
rename to src/modules/Elsa.Workflows.Core/Models/InputDefinition.cs
index 16a59dcee..a04ca8f77 100644
--- a/src/modules/Elsa.Workflows.Management/Models/InputDefinition.cs
+++ b/src/modules/Elsa.Workflows.Core/Models/InputDefinition.cs
@@ -1,4 +1,4 @@
-namespace Elsa.Workflows.Management.Models;
+namespace Elsa.Workflows.Core.Models;
///
/// A definition of a workflow's input.
diff --git a/src/modules/Elsa.Workflows.Management/Models/OutputDefinition.cs b/src/modules/Elsa.Workflows.Core/Models/OutputDefinition.cs
similarity index 73%
rename from src/modules/Elsa.Workflows.Management/Models/OutputDefinition.cs
rename to src/modules/Elsa.Workflows.Core/Models/OutputDefinition.cs
index 08728b4ad..46de4bc0a 100644
--- a/src/modules/Elsa.Workflows.Management/Models/OutputDefinition.cs
+++ b/src/modules/Elsa.Workflows.Core/Models/OutputDefinition.cs
@@ -1,4 +1,4 @@
-namespace Elsa.Workflows.Management.Models;
+namespace Elsa.Workflows.Core.Models;
///
/// A definition of a workflow's output.
diff --git a/src/modules/Elsa.Workflows.Management/Models/VariableDefinition.cs b/src/modules/Elsa.Workflows.Core/Models/VariableDefinition.cs
similarity index 82%
rename from src/modules/Elsa.Workflows.Management/Models/VariableDefinition.cs
rename to src/modules/Elsa.Workflows.Core/Models/VariableDefinition.cs
index 289f6de76..8441def56 100644
--- a/src/modules/Elsa.Workflows.Management/Models/VariableDefinition.cs
+++ b/src/modules/Elsa.Workflows.Core/Models/VariableDefinition.cs
@@ -1,4 +1,4 @@
-namespace Elsa.Workflows.Management.Models;
+namespace Elsa.Workflows.Core.Models;
///
/// Stores information about a workflow variable.
diff --git a/src/modules/Elsa.Workflows.Core/Models/Workflow.cs b/src/modules/Elsa.Workflows.Core/Models/Workflow.cs
index 8bbe3eae4..a3cbd2ca6 100644
--- a/src/modules/Elsa.Workflows.Core/Models/Workflow.cs
+++ b/src/modules/Elsa.Workflows.Core/Models/Workflow.cs
@@ -22,13 +22,19 @@ public class Workflow : Composite