├── .editorconfig
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── documentation.md
│ ├── feature_request.md
│ ├── improvement.md
│ ├── performance.md
│ └── task.md
├── dependabot.yml
└── workflows
│ ├── bounty.yml
│ ├── copilot-setup-steps.yml.yml
│ ├── elsa-server-and-studio.yml
│ ├── elsa-server.yml
│ ├── elsa-studio.yml
│ ├── packages.yml
│ ├── pr.yml
│ └── stale.yml
├── .gitignore
├── .nuke
├── build.schema.json
└── parameters.json
├── CONTRIBUTING.md
├── Directory.Build.props
├── Directory.Packages.props
├── Elsa.sln
├── Elsa.sln.DotSettings
├── LICENSE
├── NuGet.Config
├── README.md
├── build.cmd
├── build.ps1
├── build.sh
├── build
├── .editorconfig
├── Build.CI.GitHubActions.cs
├── Build.cs
├── Directory.Build.props
├── Directory.Build.targets
├── _build.csproj
└── _build.csproj.DotSettings
├── design
├── artwork
│ ├── android-elsa-portrait.png
│ ├── creative-elsa-animation.gif
│ ├── elsa-3.1-art.png
│ ├── elsa-logo-art.png
│ ├── elsa-logo-art.psd
│ ├── elsa-v3-avatar.png
│ └── glass.ai
├── custom
│ ├── 1x
│ │ └── Artboard 1.png
│ ├── 2x
│ │ ├── Artboard 1@2x.png
│ │ └── elsa-logo.png
│ ├── icon.ai
│ ├── icon.png
│ └── icon.psd
├── github-social-preview-banner-for-elsa.psd
├── icon
│ ├── dark
│ │ ├── android-icon-144x144.png
│ │ ├── android-icon-192x192.png
│ │ ├── android-icon-36x36.png
│ │ ├── android-icon-48x48.png
│ │ ├── android-icon-72x72.png
│ │ ├── android-icon-96x96.png
│ │ ├── apple-icon-114x114.png
│ │ ├── apple-icon-120x120.png
│ │ ├── apple-icon-144x144.png
│ │ ├── apple-icon-152x152.png
│ │ ├── apple-icon-180x180.png
│ │ ├── apple-icon-57x57.png
│ │ ├── apple-icon-60x60.png
│ │ ├── apple-icon-72x72.png
│ │ ├── apple-icon-76x76.png
│ │ ├── apple-icon-precomposed.png
│ │ ├── apple-icon.png
│ │ ├── browserconfig.xml
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon-96x96.png
│ │ ├── favicon.ico
│ │ ├── manifest.json
│ │ ├── ms-icon-144x144.png
│ │ ├── ms-icon-150x150.png
│ │ ├── ms-icon-310x310.png
│ │ └── ms-icon-70x70.png
│ └── light
│ │ ├── android-icon-144x144.png
│ │ ├── android-icon-192x192.png
│ │ ├── android-icon-36x36.png
│ │ ├── android-icon-48x48.png
│ │ ├── android-icon-72x72.png
│ │ ├── android-icon-96x96.png
│ │ ├── apple-icon-114x114.png
│ │ ├── apple-icon-120x120.png
│ │ ├── apple-icon-144x144.png
│ │ ├── apple-icon-152x152.png
│ │ ├── apple-icon-180x180.png
│ │ ├── apple-icon-57x57.png
│ │ ├── apple-icon-60x60.png
│ │ ├── apple-icon-72x72.png
│ │ ├── apple-icon-76x76.png
│ │ ├── apple-icon-precomposed.png
│ │ ├── apple-icon.png
│ │ ├── browserconfig.xml
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon-96x96.png
│ │ ├── favicon.ico
│ │ ├── manifest.json
│ │ ├── ms-icon-144x144.png
│ │ ├── ms-icon-150x150.png
│ │ ├── ms-icon-310x310.png
│ │ └── ms-icon-70x70.png
├── logo
│ ├── 40w
│ │ ├── Asset 1.png
│ │ ├── Asset 3.png
│ │ └── Asset 4.png
│ ├── Elsa-20-transparent.png
│ ├── Elsa.ai
│ ├── Esla-12.png
│ ├── Esla-13.png
│ ├── Esla-14.png
│ ├── Esla-15.png
│ ├── Esla-16.png
│ ├── Esla-17.png
│ ├── Esla-18.png
│ ├── Esla-19.png
│ ├── Esla-20.png
│ ├── Esla-21.png
│ ├── Esla-22.png
│ ├── Esla_Source.ai
│ ├── Esla_vector-17.svg
│ ├── Esla_vector-18.svg
│ ├── Esla_vector-19.svg
│ ├── Esla_vector-20.svg
│ ├── Esla_vector-21.svg
│ ├── Esla_vector-22.svg
│ └── elsa-logo-glass.png
└── screenshots
│ ├── elsa-studio-login.png
│ ├── http-hello-world-workflow-designer.png
│ └── http-send-email-workflow-designer.png
├── doc
├── adr
│ ├── 0001-record-architecture-decisions.md
│ ├── 0002-fault-propagation-from-child-to-parent-activities.md
│ ├── 0003-direct-bookmark-management-in-workflowexecutioncontext.md
│ ├── 0004-token-centric-flowchart-execution-model.md
│ ├── graph.dot
│ └── toc.md
└── bounty
│ ├── bounty-announcement-template.md
│ ├── bounty-footer.md
│ └── bounty-quality-standards.md
├── docker
├── .dockerignore
├── ElsaServer-Datadog.Dockerfile
├── ElsaServer.Dockerfile
├── ElsaServerAndStudio.Dockerfile
├── ElsaStudio.Dockerfile
├── docker-compose-datadog+otel-collector.yml
├── docker-compose-kafka.yml
├── docker-compose.yml
├── init-db-postgres.sh
├── otel-collector-config.yaml
└── setup
│ └── oracle-setup
│ └── setup.sql
├── dotnet-install.sh
├── gen
├── ElsaLexer.interp
├── ElsaLexer.java
├── ElsaLexer.tokens
├── ElsaParser.interp
├── ElsaParser.java
├── ElsaParser.tokens
├── ElsaParserBaseListener.java
├── ElsaParserBaseVisitor.java
├── ElsaParserListener.java
└── ElsaParserVisitor.java
├── icon.png
├── scripts
├── docker
│ ├── build-and-run-all-in-one-web-docker.sh
│ ├── docker-compose-citus.yml
│ ├── docker-compose-yugabyte.yml
│ ├── docker-compose.yml
│ └── docker-run-all-in-one-web.ps1
├── k8s
│ ├── elsa-server
│ │ ├── deployment.yaml
│ │ ├── role-binding.yaml
│ │ ├── role.yaml
│ │ ├── service-account.yml
│ │ └── service.yaml
│ ├── elsa-studio
│ │ ├── deployment.yaml
│ │ └── service.yaml
│ ├── plant-uml
│ │ └── deployment.yaml
│ ├── postgres
│ │ ├── config-map.yaml
│ │ ├── deployment.yaml
│ │ └── service.yml
│ └── trace-lens
│ │ ├── deployment.yaml
│ │ └── service.yaml
└── migrations
│ ├── README.md
│ ├── efcore-3.0.sh
│ ├── efcore-3.1-sql.sh
│ ├── efcore-3.1.sh
│ ├── efcore-3.2.sh
│ ├── efcore-3.3.sh
│ ├── efcore-3.4.sh
│ └── efcore-3.5.sh
├── src
├── Directory.Build.props
├── apps
│ ├── Directory.Build.props
│ ├── Elsa.Server.LoadBalancer
│ │ ├── Elsa.Server.LoadBalancer.csproj
│ │ ├── FodyWeavers.xml
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ ├── Elsa.Server.Web
│ │ ├── Elsa.Server.Web.csproj
│ │ ├── Elsa.Server.Web.csproj.DotSettings
│ │ ├── Filters
│ │ │ └── HttpRequestAuthenticationHeaderFilter.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── README.md
│ │ ├── RadioListActivity.cs
│ │ └── appsettings.json
│ ├── Elsa.ServerAndStudio.Web
│ │ ├── Activities
│ │ │ ├── CustomEvent.cs
│ │ │ └── CustomHttpEndpoint.cs
│ │ ├── Elsa.ServerAndStudio.Web.csproj
│ │ ├── Enums
│ │ │ ├── DistributedCachingTransport.cs
│ │ │ ├── MassTransitBroker.cs
│ │ │ └── SqlDatabaseProvider.cs
│ │ ├── Extensions
│ │ │ └── CorsOptionsExtensions.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Pages
│ │ │ └── _Host.cshtml
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── README.md
│ │ └── appsettings.json
│ ├── Elsa.Studio.Web
│ │ ├── Elsa.Studio.Web.csproj
│ │ ├── FodyWeavers.xml
│ │ ├── Pages
│ │ │ └── _Host.cshtml
│ │ ├── Program.cs
│ │ └── Properties
│ │ │ └── launchSettings.json
│ └── ElsaStudioWebAssembly
│ │ ├── ElsaStudioWebAssembly.csproj
│ │ ├── FodyWeavers.xml
│ │ ├── MainLayout.razor
│ │ ├── Program.cs
│ │ ├── Properties
│ │ └── launchSettings.json
│ │ ├── README.md
│ │ └── _Imports.razor
├── clients
│ └── Elsa.Api.Client
│ │ ├── Converters
│ │ ├── TypeJsonConverter.cs
│ │ ├── VersionOptionsJsonConverter.cs
│ │ └── VersionOptionsTypeConverter.cs
│ │ ├── Elsa.Api.Client.csproj
│ │ ├── Elsa.Api.Client.csproj.DotSettings
│ │ ├── Extensions
│ │ ├── ActivityExtensions.cs
│ │ ├── ApiResponseExtensions.cs
│ │ ├── DependencyInjectionExtensions.cs
│ │ ├── DictionaryExtensions.cs
│ │ ├── HeaderExtensions.cs
│ │ ├── JsonElementExtensions.cs
│ │ ├── JsonObjectExtensions.cs
│ │ ├── JsonSerializerOptionsExtensions.cs
│ │ ├── ObjectConverter.cs
│ │ ├── PropertyBagExtensions.cs
│ │ ├── ResilienceStrategyExtensions.cs
│ │ └── TypeExtensions.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Helpers
│ │ └── RefitSettingsHelper.cs
│ │ ├── HttpMessageHandlers
│ │ └── ApiKeyHttpMessageHandler.cs
│ │ ├── IsExternalInit.cs
│ │ ├── Options
│ │ ├── ElsaClientBuilderOptions.cs
│ │ └── ElsaClientOptions.cs
│ │ ├── RealTime
│ │ └── Messages
│ │ │ ├── ActivityExecutedMessage.cs
│ │ │ ├── ActivityExecutingMessage.cs
│ │ │ ├── ActivityExecutionLogUpdatedMessage.cs
│ │ │ ├── WorkflowExecutionLogUpdatedMessage.cs
│ │ │ └── WorkflowInstanceUpdatedMessage.cs
│ │ ├── Resources
│ │ ├── ActivityDescriptorOptions
│ │ │ ├── Contracts
│ │ │ │ └── IActivityDescriptorOptionsApi.cs
│ │ │ ├── Requests
│ │ │ │ └── GetActivityDescriptorOptionsRequest.cs
│ │ │ └── Responses
│ │ │ │ └── GetActivityDescriptorOptionsResponse.cs
│ │ ├── ActivityDescriptors
│ │ │ ├── Contracts
│ │ │ │ └── IActivityDescriptorsApi.cs
│ │ │ ├── Enums
│ │ │ │ ├── ActivityKind.cs
│ │ │ │ └── PortType.cs
│ │ │ ├── Models
│ │ │ │ ├── ActivityDescriptor.cs
│ │ │ │ ├── InputDescriptor.cs
│ │ │ │ ├── OutputDescriptor.cs
│ │ │ │ ├── Port.cs
│ │ │ │ └── PropertyDescriptor.cs
│ │ │ ├── Requests
│ │ │ │ └── ListActivityDescriptorsRequest.cs
│ │ │ └── Responses
│ │ │ │ └── ListActivityDescriptorsResponse.cs
│ │ ├── ActivityExecutions
│ │ │ ├── Contracts
│ │ │ │ └── IActivityExecutionsApi.cs
│ │ │ ├── Models
│ │ │ │ ├── ActivityExecutionRecord.cs
│ │ │ │ ├── ActivityExecutionRecordSummary.cs
│ │ │ │ ├── ActivityExecutionReport.cs
│ │ │ │ └── ActivityExecutionStats.cs
│ │ │ └── Requests
│ │ │ │ ├── GetActivityExecutionReportRequest.cs
│ │ │ │ └── ListActivityExecutionsRequest.cs
│ │ ├── Alterations
│ │ │ ├── Contracts
│ │ │ │ └── IAlterationsApi.cs
│ │ │ ├── Enums
│ │ │ │ ├── ActivityStatus.cs
│ │ │ │ ├── AlterationJobStatus.cs
│ │ │ │ └── AlterationPlanStatus.cs
│ │ │ ├── Models
│ │ │ │ ├── ActivityFilter.cs
│ │ │ │ ├── AlterationJob.cs
│ │ │ │ ├── AlterationLog.cs
│ │ │ │ ├── AlterationLogEntry.cs
│ │ │ │ ├── AlterationPlan.cs
│ │ │ │ ├── AlterationPlanParams.cs
│ │ │ │ ├── AlterationWorkflowInstanceFilter.cs
│ │ │ │ └── RunAlterationsResult.cs
│ │ │ ├── Requests
│ │ │ │ └── BulkRetryRequest.cs
│ │ │ └── Responses
│ │ │ │ ├── BulkRetryResponse.cs
│ │ │ │ ├── DryRunResponse.cs
│ │ │ │ ├── GetAlterationPlanResponse.cs
│ │ │ │ ├── RunRequest.cs
│ │ │ │ ├── RunResponse.cs
│ │ │ │ └── SubmitResponse.cs
│ │ ├── CommitStrategies
│ │ │ ├── Contracts
│ │ │ │ └── IIncidentStrategiesApi.cs
│ │ │ └── Models
│ │ │ │ └── CommitStrategyDescriptor.cs
│ │ ├── Features
│ │ │ ├── Contracts
│ │ │ │ └── IFeaturesApi.cs
│ │ │ └── Models
│ │ │ │ └── FeatureDescriptor.cs
│ │ ├── Identity
│ │ │ ├── Contracts
│ │ │ │ └── ILoginApi.cs
│ │ │ ├── Requests
│ │ │ │ └── LoginRequest.cs
│ │ │ └── Responses
│ │ │ │ └── LoginResponse.cs
│ │ ├── IncidentStrategies
│ │ │ ├── Contracts
│ │ │ │ └── IIncidentStrategiesApi.cs
│ │ │ └── Models
│ │ │ │ └── IncidentStrategyDescriptor.cs
│ │ ├── LogPersistenceStrategies
│ │ │ ├── Contracts
│ │ │ │ └── ILogPersistenceStrategiesApi.cs
│ │ │ └── Models
│ │ │ │ └── LogPersistenceStrategyDescriptor.cs
│ │ ├── Package
│ │ │ ├── Contracts
│ │ │ │ └── IPackageApi.cs
│ │ │ └── Models
│ │ │ │ └── PackageVersionResponse.cs
│ │ ├── Resilience
│ │ │ ├── Contracts
│ │ │ │ ├── IIncidentStrategiesApi.cs
│ │ │ │ └── IRetryAttemptsApi.cs
│ │ │ └── Models
│ │ │ │ ├── ResilienceStrategyConfig.cs
│ │ │ │ ├── ResilienceStrategyConfigMode.cs
│ │ │ │ └── RetryAttempt.cs
│ │ ├── Scripting
│ │ │ ├── Contracts
│ │ │ │ ├── IExpressionsApi.cs
│ │ │ │ └── IJavaScriptApi.cs
│ │ │ ├── Extensions
│ │ │ │ └── ExpressionExtensions.cs
│ │ │ ├── Models
│ │ │ │ ├── Expression.cs
│ │ │ │ └── ExpressionDescriptor.cs
│ │ │ └── Requests
│ │ │ │ └── GetWorkflowJavaScriptDefinitionRequest.cs
│ │ ├── StorageDrivers
│ │ │ ├── Contracts
│ │ │ │ └── IStorageDriversApi.cs
│ │ │ ├── Models
│ │ │ │ └── StorageDriverDescriptor.cs
│ │ │ └── Responses
│ │ │ │ └── ListStorageDriversResponse.cs
│ │ ├── Tasks
│ │ │ ├── Contracts
│ │ │ │ └── ITasksApi.cs
│ │ │ └── Requests
│ │ │ │ └── ReportTaskCompletedRequest.cs
│ │ ├── VariableTypes
│ │ │ ├── Contracts
│ │ │ │ └── IStorageDriversApi.cs
│ │ │ ├── Models
│ │ │ │ └── VariableTypeDescriptor.cs
│ │ │ └── Responses
│ │ │ │ └── ListVariableTypesResponse.cs
│ │ ├── WorkflowActivationStrategies
│ │ │ ├── Contracts
│ │ │ │ └── IWorkflowActivationStrategiesApi.cs
│ │ │ └── Models
│ │ │ │ └── WorkflowActivationStrategyDescriptor.cs
│ │ ├── WorkflowDefinitions
│ │ │ ├── Contracts
│ │ │ │ ├── IExecuteWorkflowApi.cs
│ │ │ │ └── IWorkflowDefinitionsApi.cs
│ │ │ ├── Enums
│ │ │ │ ├── LogPersistenceMode.cs
│ │ │ │ └── OrderByWorkflowDefinition.cs
│ │ │ ├── Models
│ │ │ │ ├── ArgumentDefinition.cs
│ │ │ │ ├── BulkExportWorkflowDefinitionsRequest.cs
│ │ │ │ ├── ExecuteResponse.cs
│ │ │ │ ├── ImportFilesResponse.cs
│ │ │ │ ├── InputDefinition.cs
│ │ │ │ ├── OutputDefinition.cs
│ │ │ │ ├── UIHintDescriptor.cs
│ │ │ │ ├── Variable.cs
│ │ │ │ ├── VariableDefinition.cs
│ │ │ │ ├── WorkflowCommitStateOptions.cs
│ │ │ │ ├── WorkflowDefinition.cs
│ │ │ │ ├── WorkflowDefinitionModel.cs
│ │ │ │ ├── WorkflowDefinitionSummary.cs
│ │ │ │ └── WorkflowOptions.cs
│ │ │ ├── Requests
│ │ │ │ ├── BulkDeleteWorkflowDefinitionVersionsRequest.cs
│ │ │ │ ├── BulkDeleteWorkflowDefinitionsRequest.cs
│ │ │ │ ├── BulkPublishWorkflowDefinitionsRequest.cs
│ │ │ │ ├── BulkRetractWorkflowDefinitionsRequest.cs
│ │ │ │ ├── DispatchWorkflowDefinitionRequest.cs
│ │ │ │ ├── ExecuteWorkflowDefinitionRequest.cs
│ │ │ │ ├── GetWorkflowDefinitionRequest.cs
│ │ │ │ ├── ListWorkflowDefinitionsRequest.cs
│ │ │ │ ├── PublishWorkflowDefinitionRequest.cs
│ │ │ │ ├── RetractWorkflowDefinitionRequest.cs
│ │ │ │ ├── SaveWorkflowDefinitionRequest.cs
│ │ │ │ └── UpdateConsumingWorkflowReferencesRequest.cs
│ │ │ └── Responses
│ │ │ │ ├── BulkDeleteWorkflowDefinitionsResponse.cs
│ │ │ │ ├── BulkPublishWorkflowDefinitionsResponse.cs
│ │ │ │ ├── BulkRetractWorkflowDefinitionsResponse.cs
│ │ │ │ ├── CountWorkflowDefinitionsResponse.cs
│ │ │ │ ├── ExecuteWorkflowDefinitionResponse.cs
│ │ │ │ ├── GetIsNameUniqueResponse.cs
│ │ │ │ ├── GetPathSegmentsResponse.cs
│ │ │ │ ├── SaveWorkflowDefinitionResponse.cs
│ │ │ │ └── UpdateConsumingWorkflowReferencesResponse.cs
│ │ ├── WorkflowExecutionContexts
│ │ │ ├── Contracts
│ │ │ │ └── IWorkflowContextProviderDescriptorsApi.cs
│ │ │ └── Models
│ │ │ │ └── WorkflowContextProviderDescriptor.cs
│ │ └── WorkflowInstances
│ │ │ ├── Contracts
│ │ │ └── IWorkflowInstancesApi.cs
│ │ │ ├── Enums
│ │ │ ├── OrderByWorkflowInstance.cs
│ │ │ ├── WorkflowStatus.cs
│ │ │ └── WorkflowSubStatus.cs
│ │ │ ├── Models
│ │ │ ├── ActivityExecutionContextState.cs
│ │ │ ├── ActivityIncident.cs
│ │ │ ├── Bookmark.cs
│ │ │ ├── BulkExportWorkflowInstancesRequest.cs
│ │ │ ├── CompletionCallbackState.cs
│ │ │ ├── ExceptionState.cs
│ │ │ ├── PersistentVariableState.cs
│ │ │ ├── ResolvedVariable.cs
│ │ │ ├── WorkflowExecutionLogRecord.cs
│ │ │ ├── WorkflowFaultState.cs
│ │ │ ├── WorkflowInstance.cs
│ │ │ ├── WorkflowInstanceSummary.cs
│ │ │ └── WorkflowState.cs
│ │ │ ├── Requests
│ │ │ ├── BulkCancelWorkflowInstancesRequest.cs
│ │ │ ├── BulkDeleteWorkflowInstancesRequest.cs
│ │ │ ├── GetFilteredJournalRequest.cs
│ │ │ ├── JournalFilter.cs
│ │ │ └── ListWorkflowInstancesRequest.cs
│ │ │ └── Responses
│ │ │ ├── BulkDeleteWorkflowInstancesResponse.cs
│ │ │ └── WorkflowInstanceExecutionStateResponse.cs
│ │ ├── Serialization
│ │ └── SerializerOptions.cs
│ │ └── Shared
│ │ ├── Enums
│ │ ├── LogPersistenceEvaluationMode.cs
│ │ ├── MergeMode.cs
│ │ └── TimestampFilterOperator.cs
│ │ ├── HeaderNames.cs
│ │ ├── Models
│ │ ├── ActivityDesignerMetadata.cs
│ │ ├── ActivityNode.cs
│ │ ├── ActivityOutput.cs
│ │ ├── ActivityPathSegment.cs
│ │ ├── ActivityStatus.cs
│ │ ├── Connection.cs
│ │ ├── Container.cs
│ │ ├── DynamicOutcomesOptions.cs
│ │ ├── Endpoint.cs
│ │ ├── Entity.cs
│ │ ├── HttpStatusCodeCase.cs
│ │ ├── Link.cs
│ │ ├── LinkedEntity.cs
│ │ ├── ListResponse.cs
│ │ ├── LogPersistenceConfiguration.cs
│ │ ├── MemoryReference.cs
│ │ ├── OrderDirection.cs
│ │ ├── PagedListResponse.cs
│ │ ├── Position.cs
│ │ ├── PropertyBag.cs
│ │ ├── Size.cs
│ │ ├── SwitchCase.cs
│ │ ├── TimestampFilter.cs
│ │ ├── VersionOptions.cs
│ │ ├── VersionedEntity.cs
│ │ └── WrappedInput.cs
│ │ └── UIHints
│ │ ├── CheckList
│ │ ├── CheckList.cs
│ │ ├── CheckListItem.cs
│ │ └── CheckListProps.cs
│ │ ├── CodeEditor
│ │ ├── CodeEditorOptions.cs
│ │ ├── EditorHeight.cs
│ │ └── MultiLineOptions.cs
│ │ ├── DropDown
│ │ ├── DropDownProps.cs
│ │ ├── SelectList.cs
│ │ └── SelectListItem.cs
│ │ ├── RadioList
│ │ ├── RadioList.cs
│ │ ├── RadioListItem.cs
│ │ └── RadioListProps.cs
│ │ └── SingleLine
│ │ └── SingleLineProps.cs
├── common
│ ├── Elsa.Api.Common
│ │ ├── Abstractions
│ │ │ └── Endpoints.cs
│ │ ├── Elsa.Api.Common.csproj
│ │ ├── EndpointSecurityOptions.cs
│ │ ├── Extensions
│ │ │ ├── HttpContextAccessorExtensions.cs
│ │ │ ├── ModuleExtensions.cs
│ │ │ ├── ObjectDictionaryExtensions.cs
│ │ │ ├── SwaggerExtensions.cs
│ │ │ └── WebApplicationExtensions.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Models
│ │ │ ├── CountResponse.cs
│ │ │ ├── LinkedResource.cs
│ │ │ ├── ListResponse.cs
│ │ │ ├── PagedListResponse.cs
│ │ │ └── ValidateCredentialsResult.cs
│ │ ├── PermissionNames.cs
│ │ └── Requirements
│ │ │ ├── LocalHostPermissionRequirement.cs
│ │ │ └── LocalHostRequirement.cs
│ ├── Elsa.Features
│ │ ├── Abstractions
│ │ │ └── FeatureBase.cs
│ │ ├── Attributes
│ │ │ ├── DependencyOf.cs
│ │ │ └── DependsOn.cs
│ │ ├── Contracts
│ │ │ └── IInstalledFeatureRegistry.cs
│ │ ├── Elsa.Features.csproj
│ │ ├── Extensions
│ │ │ ├── DependencyInjectionExtensions.cs
│ │ │ └── EnumerableTopologicalSortExtensions.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Implementations
│ │ │ └── Module.cs
│ │ ├── Models
│ │ │ └── FeatureDescriptor.cs
│ │ └── Services
│ │ │ ├── IFeature.cs
│ │ │ ├── IModule.cs
│ │ │ └── InstalledFeatureRegistry.cs
│ ├── Elsa.Mediator
│ │ ├── Abstractions
│ │ │ └── ChannelBase.cs
│ │ ├── Channels
│ │ │ ├── CommandsChannel.cs
│ │ │ ├── JobsChannel.cs
│ │ │ └── NotificationsChannel.cs
│ │ ├── CommandStrategies
│ │ │ ├── BackgroundStrategy.cs
│ │ │ └── DefaultStrategy.cs
│ │ ├── CommandStrategy.cs
│ │ ├── Contexts
│ │ │ ├── CommandStrategyContext.cs
│ │ │ └── NotificationStrategyContext.cs
│ │ ├── Contracts
│ │ │ ├── ICommand.cs
│ │ │ ├── ICommandHandler.cs
│ │ │ ├── ICommandSender.cs
│ │ │ ├── ICommandStrategy.cs
│ │ │ ├── ICommandsChannel.cs
│ │ │ ├── IConsumer.cs
│ │ │ ├── IEventPublishingStrategy.cs
│ │ │ ├── IJobQueue.cs
│ │ │ ├── IJobsChannel.cs
│ │ │ ├── IMediator.cs
│ │ │ ├── INotification.cs
│ │ │ ├── INotificationHandler.cs
│ │ │ ├── INotificationSender.cs
│ │ │ ├── INotificationsChannel.cs
│ │ │ ├── IRequest.cs
│ │ │ ├── IRequestHandler.cs
│ │ │ └── IRequestSender.cs
│ │ ├── Elsa.Mediator.csproj
│ │ ├── Extensions
│ │ │ ├── DependencyInjectionExtensions.cs
│ │ │ ├── HandlerExtensions.cs
│ │ │ └── MediatorExtensions.cs
│ │ ├── FodyWeavers.xml
│ │ ├── HostedServices
│ │ │ ├── BackgroundCommandSenderHostedService.cs
│ │ │ ├── BackgroundEventPublisherHostedService.cs
│ │ │ ├── JobRunnerHostedService.cs
│ │ │ └── MessageProcessorHostedService.cs
│ │ ├── Middleware
│ │ │ ├── Command
│ │ │ │ ├── CommandContext.cs
│ │ │ │ ├── CommandMiddlewareDelegate.cs
│ │ │ │ ├── CommandPipeline.cs
│ │ │ │ ├── CommandPipelineBuilder.cs
│ │ │ │ ├── CommandPipelineBuilderExtensions.cs
│ │ │ │ ├── Components
│ │ │ │ │ ├── CommandHandlerInvokerMiddleware.cs
│ │ │ │ │ └── CommandLoggingMiddleware.cs
│ │ │ │ ├── Contracts
│ │ │ │ │ ├── ICommandMiddleware.cs
│ │ │ │ │ ├── ICommandPipeline.cs
│ │ │ │ │ └── ICommandPipelineBuilder.cs
│ │ │ │ └── MiddlewareExtensions.cs
│ │ │ ├── MiddlewareHelpers.cs
│ │ │ ├── Notification
│ │ │ │ ├── Components
│ │ │ │ │ ├── NotificationHandlerInvokerMiddleware.cs
│ │ │ │ │ └── NotificationLoggingMiddleware.cs
│ │ │ │ ├── Contracts
│ │ │ │ │ ├── INotificationMiddleware.cs
│ │ │ │ │ ├── INotificationPipeline.cs
│ │ │ │ │ └── INotificationPipelineBuilder.cs
│ │ │ │ ├── MiddlewareExtensions.cs
│ │ │ │ ├── NotificationContext.cs
│ │ │ │ ├── NotificationMiddlewareDelegate.cs
│ │ │ │ ├── NotificationPipeline.cs
│ │ │ │ ├── NotificationPipelineBuilder.cs
│ │ │ │ └── NotificationPipelineBuilderExtensions.cs
│ │ │ └── Request
│ │ │ │ ├── Components
│ │ │ │ ├── RequestHandlerInvokerMiddleware.cs
│ │ │ │ └── RequestLoggingMiddleware.cs
│ │ │ │ ├── Contracts
│ │ │ │ ├── IRequestMiddleware.cs
│ │ │ │ ├── IRequestPipeline.cs
│ │ │ │ └── IRequestPipelineBuilder.cs
│ │ │ │ ├── MiddlewareExtensions.cs
│ │ │ │ ├── RequestContext.cs
│ │ │ │ ├── RequestMiddlewareDelegate.cs
│ │ │ │ ├── RequestPipeline.cs
│ │ │ │ ├── RequestPipelineBuilder.cs
│ │ │ │ └── RequestPipelineBuilderExtensions.cs
│ │ ├── Models
│ │ │ ├── EnqueuedJob.cs
│ │ │ └── Unit.cs
│ │ ├── NotificationStrategy.cs
│ │ ├── Options
│ │ │ └── MediatorOptions.cs
│ │ ├── PublishingStrategies
│ │ │ ├── BackgroundProcessingStrategy.cs
│ │ │ ├── ParallelProcessingStrategy.cs
│ │ │ └── SequentialProcessingStrategy.cs
│ │ └── Services
│ │ │ ├── DefaultMediator.cs
│ │ │ └── JobQueue.cs
│ ├── Elsa.Testing.Shared.Component
│ │ ├── Activities
│ │ │ └── TriggerSignal.cs
│ │ ├── Elsa.Testing.Shared.Component.csproj
│ │ ├── EventArgs
│ │ │ ├── TriggerChangeTokenSignalEventArgs.cs
│ │ │ ├── WorkflowDefinitionDeletedEventArgs.cs
│ │ │ ├── WorkflowFinishedEventArgs.cs
│ │ │ └── WorkflowInstanceSavedEventArgs.cs
│ │ ├── Extensions
│ │ │ └── HttpResponseMessageExtensions.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Handlers
│ │ │ └── WorkflowEventHandlers.cs
│ │ └── Services
│ │ │ ├── SignalManager.cs
│ │ │ ├── StaticValueHolder.cs
│ │ │ ├── TestTenantResolver.cs
│ │ │ ├── TestTenantsProvider.cs
│ │ │ ├── TriggerChangeTokenSignalEvents..cs
│ │ │ ├── WorkflowDefinitionEvents.cs
│ │ │ └── WorkflowEvents.cs
│ ├── Elsa.Testing.Shared.Integration
│ │ ├── DispatchWorkflowExtensions.cs
│ │ ├── Elsa.Testing.Shared.Integration.csproj
│ │ ├── FodyWeavers.xml
│ │ ├── RunActivityExtensions.cs
│ │ ├── RunWorkflowExtensions.cs
│ │ ├── ServiceProviderExtensions.cs
│ │ ├── TestApplicationBuilder.cs
│ │ └── TestWorkflow.cs
│ └── Elsa.Testing.Shared
│ │ ├── CapturingTextWriter.cs
│ │ ├── CombinedTextWriter.cs
│ │ ├── Elsa.Testing.Shared.csproj
│ │ ├── FodyWeavers.xml
│ │ ├── UnicodeRangeGenerator.cs
│ │ ├── XunitConsoleTextWriter.cs
│ │ ├── XunitLogger.cs
│ │ └── XunitLoggerProvider.cs
├── extensions
│ └── Elsa.Testing.Extensions
│ │ ├── Elsa.Testing.Extensions.csproj
│ │ ├── Extensions
│ │ └── WebApplicationFactoryExtensions.cs
│ │ └── README.md
├── modules
│ ├── Elsa.Caching
│ │ ├── Contracts
│ │ │ ├── ICacheManager.cs
│ │ │ ├── IChangeTokenSignalInvoker.cs
│ │ │ └── IChangeTokenSignaler.cs
│ │ ├── Elsa.Caching.csproj
│ │ ├── Elsa.Caching.csproj.DotSettings
│ │ ├── Extensions
│ │ │ └── ModuleExtensions.cs
│ │ ├── Features
│ │ │ └── MemoryCacheFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Options
│ │ │ └── CachingOptions.cs
│ │ └── Services
│ │ │ ├── CacheManager.cs
│ │ │ ├── ChangeTokenSignalInvoker.cs
│ │ │ └── ChangeTokenSignaler.cs
│ ├── Elsa.Common
│ │ ├── Attributes
│ │ │ └── ForwardedTypeAttribute.cs
│ │ ├── Codecs
│ │ │ ├── GZip.cs
│ │ │ ├── None.cs
│ │ │ └── Zstd.cs
│ │ ├── Contracts
│ │ │ ├── BackgroundTask.cs
│ │ │ ├── IBackgroundTask.cs
│ │ │ ├── ICompressionCodec.cs
│ │ │ ├── ICompressionCodecResolver.cs
│ │ │ ├── IFormatter.cs
│ │ │ ├── IJsonSerializer.cs
│ │ │ ├── ILogRecord.cs
│ │ │ ├── IRecurringTask.cs
│ │ │ ├── ISerializationOptionsConfigurator.cs
│ │ │ ├── IStartupTask.cs
│ │ │ ├── ISystemClock.cs
│ │ │ ├── ITask.cs
│ │ │ └── RecurringTask.cs
│ │ ├── Converters
│ │ │ ├── BigIntegerJsonConverter.cs
│ │ │ ├── DecimalJsonConverter.cs
│ │ │ ├── IntegerJsonConverter.cs
│ │ │ ├── VersionOptionsJsonConverter.cs
│ │ │ └── VersionOptionsTypeConverter.cs
│ │ ├── DistributedHosting
│ │ │ ├── DistributedLocks
│ │ │ │ └── Noop
│ │ │ │ │ ├── NoopDistributedLock.cs
│ │ │ │ │ ├── NoopDistributedSynchronizationHandle.cs
│ │ │ │ │ └── NoopDistributedSynchronizationProvider.cs
│ │ │ └── Options
│ │ │ │ └── DistributedLockingOptions.cs
│ │ ├── Elsa.Common.csproj
│ │ ├── Elsa.Common.csproj.DotSettings
│ │ ├── Entities
│ │ │ ├── Entity.cs
│ │ │ ├── ManagedEntity.cs
│ │ │ ├── OrderDefinition.cs
│ │ │ ├── OrderDirection.cs
│ │ │ └── VersionedEntity.cs
│ │ ├── Exceptions
│ │ │ └── MissingConfigurationException.cs
│ │ ├── Extensions
│ │ │ ├── CollectionExtensions.cs
│ │ │ ├── ConfigurationExtensions.cs
│ │ │ ├── DependencyInjectionExtensions.cs
│ │ │ ├── EnumerableExtensions.cs
│ │ │ ├── JsonSerializerOptionsExtensions.cs
│ │ │ ├── PropertyAccessorExtensions.cs
│ │ │ ├── QueryableExtensions.cs
│ │ │ ├── ServiceCollectionExtensions.cs
│ │ │ ├── StringExtensions.cs
│ │ │ ├── TypeExtensions.cs
│ │ │ └── VersionedEntityExtensions.cs
│ │ ├── Features
│ │ │ ├── CompressionFeature.cs
│ │ │ ├── DefaultFormattersFeature.cs
│ │ │ ├── MediatorFeature.cs
│ │ │ ├── MultitenancyFeature.cs
│ │ │ └── SystemClockFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Helpers
│ │ │ └── TypeHelper.cs
│ │ ├── Models
│ │ │ ├── Page.cs
│ │ │ ├── PageArgs.cs
│ │ │ └── VersionOptions.cs
│ │ ├── Multitenancy
│ │ │ ├── Abstractions
│ │ │ │ └── TenantResolverBase.cs
│ │ │ ├── Contexts
│ │ │ │ └── TenantResolverContext.cs
│ │ │ ├── Contracts
│ │ │ │ ├── IBackgroundTaskStarter.cs
│ │ │ │ ├── ITaskExecutor.cs
│ │ │ │ ├── ITenantAccessor.cs
│ │ │ │ ├── ITenantActivatedEvent.cs
│ │ │ │ ├── ITenantDeactivatedEvent.cs
│ │ │ │ ├── ITenantFinder.cs
│ │ │ │ ├── ITenantResolver.cs
│ │ │ │ ├── ITenantScopeFactory.cs
│ │ │ │ ├── ITenantService.cs
│ │ │ │ └── ITenantsProvider.cs
│ │ │ ├── Entities
│ │ │ │ └── Tenant.cs
│ │ │ ├── EventArgs
│ │ │ │ ├── TenantActivatedEventArgs.cs
│ │ │ │ ├── TenantDeactivatedEventArgs.cs
│ │ │ │ └── TenantEventArgs.cs
│ │ │ ├── EventHandlers
│ │ │ │ ├── RunBackgroundTasks.cs
│ │ │ │ ├── RunStartupTasks.cs
│ │ │ │ └── StartRecurringTasks.cs
│ │ │ ├── Extensions
│ │ │ │ └── TenantsProviderExtensions.cs
│ │ │ ├── HostedServices
│ │ │ │ └── ActivateTenants.cs
│ │ │ ├── Implementations
│ │ │ │ ├── DefaultTenantAccessor.cs
│ │ │ │ ├── DefaultTenantFinder.cs
│ │ │ │ ├── DefaultTenantResolver.cs
│ │ │ │ ├── DefaultTenantScopeFactory.cs
│ │ │ │ ├── DefaultTenantService.cs
│ │ │ │ ├── DefaultTenantsProvider.cs
│ │ │ │ ├── TaskExecutor.cs
│ │ │ │ └── TenantEventsManager.cs
│ │ │ ├── Models
│ │ │ │ ├── TenantFilter.cs
│ │ │ │ └── TenantScope.cs
│ │ │ └── Results
│ │ │ │ └── TenantResolverResult.cs
│ │ ├── RecurringTasks
│ │ │ ├── CronSchedule.cs
│ │ │ ├── ISchedule.cs
│ │ │ ├── IntervalExpression.cs
│ │ │ ├── IntervalExpressionType.cs
│ │ │ ├── IntervalSchedule.cs
│ │ │ ├── OrderAttribute.cs
│ │ │ ├── RecurringTaskOptions.cs
│ │ │ ├── RecurringTaskSchedule.cs
│ │ │ ├── RecurringTaskScheduleManager.cs
│ │ │ ├── ScheduledTimer.cs
│ │ │ └── SingleNodeTaskAttribute.cs
│ │ ├── Serialization
│ │ │ ├── ConfigurableSerializer.cs
│ │ │ ├── ConfigurationJsonConverter.cs
│ │ │ ├── JsonSerializer.cs
│ │ │ ├── ModifiableJsonTypeInfoResolver.cs
│ │ │ ├── SerializerOptions.cs
│ │ │ ├── Serializers.cs
│ │ │ ├── TypeAliasRegistry.cs
│ │ │ └── TypeTypeConverter.cs
│ │ └── Services
│ │ │ ├── CompressionCodecResolver.cs
│ │ │ ├── JsonFormatter.cs
│ │ │ ├── MemoryStore.cs
│ │ │ └── SystemClock.cs
│ ├── Elsa.Expressions.CSharp
│ │ ├── Activities
│ │ │ └── RunCSharp
│ │ │ │ ├── RunCSharp.cs
│ │ │ │ └── RunCSharpOptionsProvider.cs
│ │ ├── Contexts
│ │ │ ├── ScriptConfigurationContext.cs
│ │ │ └── ScriptOptionsConfigurationContext.cs
│ │ ├── Contracts
│ │ │ └── ICSharpEvaluator.cs
│ │ ├── Elsa.Expressions.CSharp.csproj
│ │ ├── Expressions
│ │ │ └── CSharpExpressionHandler.cs
│ │ ├── Extensions
│ │ │ ├── CSharpEvaluatorExtensions.cs
│ │ │ ├── ModuleExtensions.cs
│ │ │ └── VariableNameExtensions.cs
│ │ ├── Features
│ │ │ └── CSharpFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Handlers
│ │ │ ├── AddAssembliesAndReferencesFromOptions.cs
│ │ │ ├── ConfigureScriptsFromOptions.cs
│ │ │ ├── GenerateArgumentAccessors.cs
│ │ │ ├── GenerateWorkflowInputAccessors.cs
│ │ │ └── GenerateWorkflowVariableAccessors.cs
│ │ ├── Models
│ │ │ ├── ExecutionContextProxy.cs
│ │ │ ├── Globals.cs
│ │ │ ├── OutcomeProxy.cs
│ │ │ └── OutputProxy.cs
│ │ ├── Notifications
│ │ │ └── EvaluatingCSharp.cs
│ │ ├── Options
│ │ │ └── CSharpOptions.cs
│ │ ├── Providers
│ │ │ └── CSharpExpressionDescriptorProvider.cs
│ │ └── Services
│ │ │ └── CSharpEvaluator.cs
│ ├── Elsa.Expressions.JavaScript.Libraries
│ │ ├── ClientLib
│ │ │ ├── dist
│ │ │ │ ├── lodash.js
│ │ │ │ ├── lodashFp.js
│ │ │ │ └── moment.js
│ │ │ ├── package-lock.json
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── lodash.js
│ │ │ │ ├── lodashFp.js
│ │ │ │ └── moment.js
│ │ │ └── webpack.config.js
│ │ ├── Elsa.Expressions.JavaScript.Libraries.csproj
│ │ ├── Elsa.Expressions.JavaScript.Libraries.csproj.DotSettings
│ │ ├── Extensions
│ │ │ └── JavaScriptFeatureExtensions.cs
│ │ ├── Features
│ │ │ ├── LodashFeature.cs
│ │ │ ├── LodashFpFeature.cs
│ │ │ ├── MomentFeature.cs
│ │ │ └── ScriptModuleFeatureBase.cs
│ │ └── FodyWeavers.xml
│ ├── Elsa.Expressions.JavaScript
│ │ ├── Activities
│ │ │ └── RunJavaScript
│ │ │ │ ├── RunJavaScript.cs
│ │ │ │ ├── RunJavaScriptFunctionsDefinitionProvider.cs
│ │ │ │ └── RunJavaScriptOptionsProvider.cs
│ │ ├── Contracts
│ │ │ ├── IJavaScriptEvaluator.cs
│ │ │ └── ITypeAliasRegistry.cs
│ │ ├── Elsa.Expressions.JavaScript.csproj
│ │ ├── Endpoints
│ │ │ └── TypeDefinitions
│ │ │ │ └── Endpoint.cs
│ │ ├── Expressions
│ │ │ └── JavaScriptExpressionHandler.cs
│ │ ├── Extensions
│ │ │ ├── DependencyInjectionExtensions.cs
│ │ │ ├── EngineExtensions.cs
│ │ │ ├── ModuleExtensions.cs
│ │ │ ├── TypeAliasRegistryExtensions.cs
│ │ │ └── VariableNameExtensions.cs
│ │ ├── Features
│ │ │ └── JavaScriptFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Handlers
│ │ │ ├── ConfigureEngineWithCommonFunctions.cs
│ │ │ ├── ConfigureEngineWithCommonTypes.cs
│ │ │ ├── ConfigureEngineWithVariables.cs
│ │ │ └── ConfigureEngineWithVariablesAndInputOutputAccessors.cs
│ │ ├── Helpers
│ │ │ ├── ObjectArrayHelper.cs
│ │ │ ├── ObjectConverterHelper.cs
│ │ │ └── VariableNameValidator.cs
│ │ ├── HostedServices
│ │ │ └── RegisterVariableTypesWithJavaScriptHostedService.cs
│ │ ├── Models
│ │ │ └── Expression.cs
│ │ ├── Notifications
│ │ │ ├── CreatingJavaScriptEngine.cs
│ │ │ ├── EvaluatedJavaScript.cs
│ │ │ └── EvaluatingJavaScript.cs
│ │ ├── ObjectConverters
│ │ │ ├── ByteArrayConverter.cs
│ │ │ ├── EnumToStringConverter.cs
│ │ │ └── JsonElementConverter.cs
│ │ ├── Options
│ │ │ └── JintOptions.cs
│ │ ├── Providers
│ │ │ ├── ActivityOutputFunctionsDefinitionProvider.cs
│ │ │ ├── CommonFunctionsDefinitionProvider.cs
│ │ │ ├── CommonTypesDefinitionProvider.cs
│ │ │ ├── InputFunctionsDefinitionProvider.cs
│ │ │ ├── JavaScriptExpressionSyntaxProvider.cs
│ │ │ ├── VariableTypeDefinitionProvider.cs
│ │ │ ├── WorkflowVariablesTypeDefinitionProvider.cs
│ │ │ └── WorkflowVariablesVariableProvider.cs
│ │ ├── Services
│ │ │ ├── JintJavaScriptEvaluator.cs
│ │ │ └── TypeAliasRegistry.cs
│ │ └── TypeDefinitions
│ │ │ ├── Abstractions
│ │ │ ├── FunctionDefinitionProvider.cs
│ │ │ ├── TypeDefinitionProvider.cs
│ │ │ └── VariableDefinitionProvider.cs
│ │ │ ├── Builders
│ │ │ ├── FunctionDefinitionBuilder.cs
│ │ │ ├── TypeDefinitionBuilder.cs
│ │ │ └── VariableDefinitionBuilder.cs
│ │ │ ├── Contracts
│ │ │ ├── IFunctionDefinitionProvider.cs
│ │ │ ├── ITypeDefinitionDocumentRenderer.cs
│ │ │ ├── ITypeDefinitionProvider.cs
│ │ │ ├── ITypeDefinitionService.cs
│ │ │ ├── ITypeDescriber.cs
│ │ │ └── IVariableDefinitionProvider.cs
│ │ │ ├── Models
│ │ │ ├── FunctionDefinition.cs
│ │ │ ├── ParameterDefinition.cs
│ │ │ ├── PropertyDefinition.cs
│ │ │ ├── TypeDefinition.cs
│ │ │ ├── TypeDefinitionContext.cs
│ │ │ ├── TypeDefinitionsDocument.cs
│ │ │ └── VariableDefinition.cs
│ │ │ └── Services
│ │ │ ├── TypeDefinitionDocumentRenderer.cs
│ │ │ ├── TypeDefinitionService.cs
│ │ │ └── TypeDescriber.cs
│ ├── Elsa.Expressions.Liquid
│ │ ├── Contracts
│ │ │ ├── ILiquidFilter.cs
│ │ │ └── ILiquidTemplateManager.cs
│ │ ├── Elsa.Expressions.Liquid.csproj
│ │ ├── Expressions
│ │ │ └── LiquidExpressionHandler.cs
│ │ ├── Extensions
│ │ │ ├── DependencyInjectionExtensions.cs
│ │ │ ├── ModuleExtensions.cs
│ │ │ └── TemplateContextExtensions.cs
│ │ ├── Features
│ │ │ └── LiquidFeature.cs
│ │ ├── Filters
│ │ │ ├── Base64Filter.cs
│ │ │ └── DictionaryKeysFilter.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Handlers
│ │ │ └── ConfigureLiquidEngine.cs
│ │ ├── Helpers
│ │ │ ├── ConfigurationSectionWrapper.cs
│ │ │ ├── LiquidActivityModel.cs
│ │ │ ├── LiquidObjectAccessor.cs
│ │ │ └── LiquidPropertyAccessor.cs
│ │ ├── Notifications
│ │ │ └── RenderingLiquidTemplate.cs
│ │ ├── Options
│ │ │ └── FluidOptions.cs
│ │ ├── Providers
│ │ │ └── LiquidExpressionSyntaxProvider.cs
│ │ └── Services
│ │ │ ├── LiquidParser.cs
│ │ │ └── LiquidTemplateManager.cs
│ ├── Elsa.Expressions.Python
│ │ ├── Activities
│ │ │ └── RunPython
│ │ │ │ ├── RunPython.cs
│ │ │ │ └── RunPythonOptionsProvider.cs
│ │ ├── Contracts
│ │ │ └── IPythonEvaluator.cs
│ │ ├── Elsa.Expressions.Python.csproj
│ │ ├── Expressions
│ │ │ └── PythonExpressionHandler.cs
│ │ ├── Extensions
│ │ │ └── ModuleExtensions.cs
│ │ ├── Features
│ │ │ └── PythonFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Handlers
│ │ │ ├── AddInputAccessors.cs
│ │ │ ├── ConfigurePythonFromOptions.cs
│ │ │ └── GenerateWorkflowVariableAccessors.cs
│ │ ├── HostedServices
│ │ │ └── PythonGlobalInterpreterManager.cs
│ │ ├── Models
│ │ │ ├── ExecutionContextProxy.cs
│ │ │ ├── InputProxy.cs
│ │ │ ├── OutcomeProxy.cs
│ │ │ └── OutputProxy.cs
│ │ ├── Notifications
│ │ │ └── EvaluatingPython.cs
│ │ ├── Options
│ │ │ └── PythonOptions.cs
│ │ ├── Providers
│ │ │ └── PythonExpressionSyntaxProvider.cs
│ │ └── Services
│ │ │ └── PythonNetPythonEvaluator.cs
│ ├── Elsa.Expressions
│ │ ├── Contracts
│ │ │ ├── IExpressionDescriptorProvider.cs
│ │ │ ├── IExpressionDescriptorRegistry.cs
│ │ │ ├── IExpressionDescriptorRegistryPopulator.cs
│ │ │ ├── IExpressionEvaluator.cs
│ │ │ ├── IExpressionHandler.cs
│ │ │ └── IWellKnownTypeRegistry.cs
│ │ ├── DelegateExpressionHandler.cs
│ │ ├── Elsa.Expressions.csproj
│ │ ├── Exceptions
│ │ │ └── TypeConversionException.cs
│ │ ├── Extensions
│ │ │ ├── ExpressionOptionsExtensions.cs
│ │ │ ├── JsonElementExtensions.cs
│ │ │ ├── ModuleExtensions.cs
│ │ │ ├── TypeExtensions.cs
│ │ │ └── WellKnowTypeRegistryExtensions.cs
│ │ ├── Features
│ │ │ └── ExpressionsFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Helpers
│ │ │ ├── ObjectConverter.cs
│ │ │ └── ObjectFormatter.cs
│ │ ├── LiteralExpression.cs
│ │ ├── Models
│ │ │ ├── Brackets.cs
│ │ │ ├── Expression.cs
│ │ │ ├── ExpressionDescriptor.cs
│ │ │ ├── ExpressionEvaluatorOptions.cs
│ │ │ ├── ExpressionExecutionContext.cs
│ │ │ ├── ExpressionSerializationContext.cs
│ │ │ ├── Literal.cs
│ │ │ ├── MemoryBlock.cs
│ │ │ ├── MemoryBlockReference.cs
│ │ │ ├── MemoryRegister.cs
│ │ │ ├── ObjectLiteral.cs
│ │ │ └── Result.cs
│ │ ├── Options
│ │ │ └── ExpressionOptions.cs
│ │ └── Services
│ │ │ ├── ExpressionEvaluator.cs
│ │ │ └── WellKnownTypeRegistry.cs
│ ├── Elsa.Hosting.Management
│ │ ├── Contracts
│ │ │ └── IApplicationInstanceNameProvider.cs
│ │ ├── Elsa.Hosting.Management.csproj
│ │ ├── Extensions
│ │ │ └── ModuleExtensions.cs
│ │ ├── Features
│ │ │ └── ClusteringFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── HostedServices
│ │ │ ├── InstanceHeartbeatMonitorService.cs
│ │ │ └── InstanceHeartbeatService.cs
│ │ ├── Notifications
│ │ │ └── HeartbeatTimedOut.cs
│ │ ├── Options
│ │ │ └── HeartbeatOptions.cs
│ │ └── Services
│ │ │ ├── RandomApplicationInstanceNameProvider.cs
│ │ │ └── RandomIntIdentityGenerator.cs
│ ├── Elsa.Http
│ │ ├── Abstractions
│ │ │ ├── DownloadableContentHandlerBase.cs
│ │ │ ├── HttpCorrelationIdSelectorBase.cs
│ │ │ └── HttpWorkflowInstanceIdSelectorBase.cs
│ │ ├── Activities
│ │ │ ├── DownloadHttpFile.cs
│ │ │ ├── FlowSendHttpRequest.cs
│ │ │ ├── HttpEndpoint.cs
│ │ │ ├── HttpEndpointBase.cs
│ │ │ ├── SendHttpRequest.cs
│ │ │ ├── SendHttpRequestBase.cs
│ │ │ ├── WriteFileHttpResponse.cs
│ │ │ └── WriteHttpResponse.cs
│ │ ├── BookmarkMetadata.cs
│ │ ├── Bookmarks
│ │ │ └── HttpEndpointBookmarkPayload.cs
│ │ ├── Constants
│ │ │ ├── HttpFaultCategories.cs
│ │ │ └── HttpFaultCodes.cs
│ │ ├── ContentWriters
│ │ │ ├── BinaryContentFactory.cs
│ │ │ ├── FormUrlEncodedHttpContentFactory.cs
│ │ │ ├── IHttpContentFactory.cs
│ │ │ ├── JsonContentFactory.cs
│ │ │ ├── RawStringContent.cs
│ │ │ ├── TextContentFactory.cs
│ │ │ └── XmlContentFactory.cs
│ │ ├── Contexts
│ │ │ ├── DownloadableContext.cs
│ │ │ ├── HttpEndpointRouteProviderContext.cs
│ │ │ └── HttpResponseParserContext.cs
│ │ ├── Contracts
│ │ │ ├── IAbsoluteUrlProvider.cs
│ │ │ ├── IDownloadableContentHandler.cs
│ │ │ ├── IDownloadableManager.cs
│ │ │ ├── IFileCacheStorageProvider.cs
│ │ │ ├── IFileDownloader.cs
│ │ │ ├── IHttpContentParser.cs
│ │ │ ├── IHttpCorrelationIdSelector.cs
│ │ │ ├── IHttpEndpointAuthorizationHandler.cs
│ │ │ ├── IHttpEndpointBasePathProvider.cs
│ │ │ ├── IHttpEndpointFaultHandler.cs
│ │ │ ├── IHttpEndpointRoutesProvider.cs
│ │ │ ├── IHttpWorkflowInstanceIdSelector.cs
│ │ │ ├── IHttpWorkflowLookupService.cs
│ │ │ ├── IHttpWorkflowsCacheManager.cs
│ │ │ ├── IRouteMatcher.cs
│ │ │ ├── IRouteTable.cs
│ │ │ └── IRouteTableUpdater.cs
│ │ ├── DownloadableContentHandlers
│ │ │ ├── BinaryDownloadableContentHandler.cs
│ │ │ ├── DownloadableDownloadableContentHandler.cs
│ │ │ ├── FormFileDownloadableContentHandler.cs
│ │ │ ├── HttpFileDownloadableContentHandler.cs
│ │ │ ├── MultiDownloadableContentHandler.cs
│ │ │ ├── StreamDownloadableContentHandler.cs
│ │ │ ├── StringDownloadableContentHandler.cs
│ │ │ └── UrlDownloadableContentHandler.cs
│ │ ├── Elsa.Http.csproj
│ │ ├── Elsa.Http.csproj.DotSettings
│ │ ├── Exceptions
│ │ │ └── HttpBadRequestException.cs
│ │ ├── Extensions
│ │ │ ├── ApplicationBuilderExtensions.cs
│ │ │ ├── ExpressionExecutionContextExtensions.cs
│ │ │ ├── HeadersExtensions.cs
│ │ │ ├── HttpActivityExecutionContextExtensions.cs
│ │ │ ├── HttpContextTenantExtensions.cs
│ │ │ ├── HttpEndpointActivityExecutionContextExtensions.cs
│ │ │ ├── HttpStatusCodeExtensions.cs
│ │ │ ├── ModuleExtensions.cs
│ │ │ ├── RouteExtensions.cs
│ │ │ ├── ServiceCollectionExtensions.cs
│ │ │ ├── StringArrayExtensions.cs
│ │ │ └── StringValueExtensions.cs
│ │ ├── Features
│ │ │ ├── HttpCacheFeature.cs
│ │ │ ├── HttpFeature.cs
│ │ │ └── HttpJavaScriptFeature.cs
│ │ ├── FileCaches
│ │ │ └── BlobFileCacheStorageProvider.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Handlers
│ │ │ ├── AllowAnonymousHttpEndpointAuthorizationHandler.cs
│ │ │ ├── AuthenticationBasedHttpEndpointAuthorizationHandler.cs
│ │ │ ├── ConfigureWorkflowStateSerialization.cs
│ │ │ ├── DefaultHttpEndpointFaultHandler.cs
│ │ │ ├── DetailedHttpEndpointFaultHandler.cs
│ │ │ ├── InvalidateHttpWorkflowsCache.cs
│ │ │ └── UpdateRouteTable.cs
│ │ ├── HttpStimulusNames.cs
│ │ ├── Middleware
│ │ │ └── HttpWorkflowsMiddleware.cs
│ │ ├── Models
│ │ │ ├── AuthorizeHttpEndpointContext.cs
│ │ │ ├── Downloadable.cs
│ │ │ ├── EventTokenPayload.cs
│ │ │ ├── HttpEndpointFaultContext.cs
│ │ │ ├── HttpEndpointOptions.cs
│ │ │ ├── HttpFile.cs
│ │ │ ├── HttpHeaders.cs
│ │ │ ├── HttpRouteData.cs
│ │ │ ├── HttpStatusCodeCase.cs
│ │ │ └── HttpWorkflowLookupResult.cs
│ │ ├── Options
│ │ │ ├── DownloadableOptions.cs
│ │ │ ├── FileDownloadOptions.cs
│ │ │ ├── HttpActivityOptions.cs
│ │ │ └── HttpFileCacheOptions.cs
│ │ ├── Parsers
│ │ │ ├── FileHttpContentParser.cs
│ │ │ ├── JsonHttpContentParser.cs
│ │ │ ├── PlainTextHttpContentParser.cs
│ │ │ ├── TextHtmlHttpContentParser.cs
│ │ │ └── XmlHttpContentParser.cs
│ │ ├── PortResolvers
│ │ │ └── SendHttpRequestActivityPortResolver.cs
│ │ ├── Resilience
│ │ │ └── HttpResilienceStrategy.cs
│ │ ├── Scripting
│ │ │ └── JavaScript
│ │ │ │ └── HttpJavaScriptHandler.cs
│ │ ├── Selectors
│ │ │ ├── HeaderHttpCorrelationIdSelector.cs
│ │ │ ├── HeaderHttpWorkflowInstanceIdSelector.cs
│ │ │ ├── QueryStringHttpCorrelationIdSelector.cs
│ │ │ └── QueryStringHttpWorkflowInstanceIdSelector.cs
│ │ ├── Serialization
│ │ │ ├── HttpHeadersConverter.cs
│ │ │ └── HttpStatusCodeCaseForWorkflowInstanceConverter.cs
│ │ ├── Services
│ │ │ ├── CachingHttpWorkflowLookupService.cs
│ │ │ ├── DefaultAbsoluteUrlProvider.cs
│ │ │ ├── DefaultDownloadableManager.cs
│ │ │ ├── DefaultHttpEndpointBasePathProvider.cs
│ │ │ ├── DefaultHttpEndpointRoutesProvider.cs
│ │ │ ├── DefaultRouteTableUpdater.cs
│ │ │ ├── HttpClientFileDownloader.cs
│ │ │ ├── HttpWorkflowLookupService.cs
│ │ │ ├── HttpWorkflowsCacheManager.cs
│ │ │ ├── RouteMatcher.cs
│ │ │ ├── RouteTable.cs
│ │ │ └── ZipManager.cs
│ │ ├── Tasks
│ │ │ └── UpdateRouteTableStartupTask.cs
│ │ ├── TriggerPayloadValidators
│ │ │ └── HttpEndpointTriggerPayloadValidator.cs
│ │ └── UIHints
│ │ │ ├── HttpContentTypeOptionsProvider.cs
│ │ │ └── HttpEndpointPathUIHandler.cs
│ ├── Elsa.Identity
│ │ ├── Constants
│ │ │ ├── CharacterSequences.cs
│ │ │ └── CustomClaimTypes.cs
│ │ ├── Contracts
│ │ │ ├── IAccessTokenIssuer.cs
│ │ │ ├── IApiKeyGenerator.cs
│ │ │ ├── IApiKeyParser.cs
│ │ │ ├── IApplicationCredentialsValidator.cs
│ │ │ ├── IApplicationProvider.cs
│ │ │ ├── IApplicationStore.cs
│ │ │ ├── IClientIdGenerator.cs
│ │ │ ├── IRandomStringGenerator.cs
│ │ │ ├── IRoleProvider.cs
│ │ │ ├── IRoleStore.cs
│ │ │ ├── ISecretGenerator.cs
│ │ │ ├── ISecretHasher.cs
│ │ │ ├── IUserCredentialsValidator.cs
│ │ │ ├── IUserProvider.cs
│ │ │ └── IUserStore.cs
│ │ ├── Elsa.Identity.csproj
│ │ ├── Endpoints
│ │ │ ├── Applications
│ │ │ │ └── Create
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ ├── Login
│ │ │ │ ├── Endpoint.cs
│ │ │ │ ├── Models.cs
│ │ │ │ └── RequestValidator.cs
│ │ │ ├── RefreshToken
│ │ │ │ └── Endpoint.cs
│ │ │ ├── Roles
│ │ │ │ └── Create
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ ├── Secrets
│ │ │ │ └── Hash
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ ├── Models.cs
│ │ │ │ │ └── Validators.cs
│ │ │ └── Users
│ │ │ │ └── Create
│ │ │ │ ├── Endpoint.cs
│ │ │ │ └── Models.cs
│ │ ├── Entities
│ │ │ ├── Application.cs
│ │ │ ├── Role.cs
│ │ │ └── User.cs
│ │ ├── Extensions
│ │ │ ├── ApplicationProviderExtensions.cs
│ │ │ ├── ModuleExtensions.cs
│ │ │ ├── RoleProviderExtensions.cs
│ │ │ └── UserProviderExtensions.cs
│ │ ├── Features
│ │ │ ├── DefaultAuthenticationFeature.cs
│ │ │ └── IdentityFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── IdentityPolicyNames.cs
│ │ ├── Models
│ │ │ ├── ApiKey.cs
│ │ │ ├── ApplicationFilter.cs
│ │ │ ├── HashedSecret.cs
│ │ │ ├── IssuedTokens.cs
│ │ │ ├── LoginResponse.cs
│ │ │ ├── RoleFilter.cs
│ │ │ └── UserFilter.cs
│ │ ├── Multitenancy
│ │ │ ├── ClaimsTenantResolver.cs
│ │ │ └── CurrentUserTenantResolver.cs
│ │ ├── OptionConfigurators
│ │ │ ├── ConfigureJwtBearerOptions.cs
│ │ │ └── ValidateIdentityTokenOptions.cs
│ │ ├── Options
│ │ │ ├── ApplicationsOptions.cs
│ │ │ ├── IdentityTokenOptions.cs
│ │ │ ├── RolesOptions.cs
│ │ │ └── UsersOptions.cs
│ │ ├── Providers
│ │ │ ├── AdminApiKeyProvider.cs
│ │ │ ├── AdminRoleProvider.cs
│ │ │ ├── AdminUserProvider.cs
│ │ │ ├── ConfigurationBasedApplicationProvider.cs
│ │ │ ├── ConfigurationBasedRoleProvider.cs
│ │ │ ├── ConfigurationBasedUserProvider.cs
│ │ │ ├── DefaultApiKeyProvider.cs
│ │ │ ├── StoreBasedApplicationProvider.cs
│ │ │ ├── StoreBasedRoleProvider.cs
│ │ │ └── StoreBasedUserProvider.cs
│ │ └── Services
│ │ │ ├── DefaultAccessTokenIssuer.cs
│ │ │ ├── DefaultApiKeyGeneratorAndParser.cs
│ │ │ ├── DefaultApplicationCredentialsValidator.cs
│ │ │ ├── DefaultClientIdGenerator.cs
│ │ │ ├── DefaultRandomStringGenerator.cs
│ │ │ ├── DefaultSecretGenerator.cs
│ │ │ ├── DefaultSecretHasher.cs
│ │ │ ├── DefaultUserCredentialsValidator.cs
│ │ │ ├── MemoryApplicationStore.cs
│ │ │ ├── MemoryRoleStore.cs
│ │ │ └── MemoryUserStore.cs
│ ├── Elsa.KeyValues
│ │ ├── Contracts
│ │ │ └── IKeyValueStore.cs
│ │ ├── Elsa.KeyValues.csproj
│ │ ├── Entities
│ │ │ └── SerializedKeyValuePair.cs
│ │ ├── Features
│ │ │ └── KeyValueFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Models
│ │ │ └── KeyValueFilter.cs
│ │ └── Stores
│ │ │ └── MemoryKeyValueStore.cs
│ ├── Elsa.Resilience.Core
│ │ ├── Attributes
│ │ │ └── ResilienceCategoryAttribute.cs
│ │ ├── Contracts
│ │ │ ├── IResilienceStrategy.cs
│ │ │ ├── IResilienceStrategyCatalog.cs
│ │ │ ├── IResilienceStrategyConfigEvaluator.cs
│ │ │ ├── IResilienceStrategySource.cs
│ │ │ ├── IResilientActivity.cs
│ │ │ ├── IResilientActivityInvoker.cs
│ │ │ ├── IRetryAttemptReader.cs
│ │ │ └── IRetryAttemptRecorder.cs
│ │ ├── Elsa.Resilience.Core.csproj
│ │ ├── Elsa.Resilience.Core.csproj.DotSettings
│ │ ├── Entities
│ │ │ └── RetryAttemptRecord.cs
│ │ ├── Extensions
│ │ │ └── ActivityExecutionExtensions.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Models
│ │ │ ├── RecordRetryAttemptsContext.cs
│ │ │ ├── ResilienceStrategyConfig.cs
│ │ │ ├── ResilienceStrategyConfigMode.cs
│ │ │ └── RetryAttempt.cs
│ │ ├── Options
│ │ │ └── ResilienceOptions.cs
│ │ ├── Serialization
│ │ │ └── ResilienceStrategySerializer.cs
│ │ └── Services
│ │ │ ├── ResilienceStrategyCatalog.cs
│ │ │ ├── ResilienceStrategyConfigEvaluator.cs
│ │ │ ├── ResilientActivityInvoker.cs
│ │ │ ├── RetryTelemetryListener.cs
│ │ │ ├── VoidRetryAttemptReader.cs
│ │ │ └── VoidRetryAttemptRecorder.cs
│ ├── Elsa.Resilience
│ │ ├── Elsa.Resilience.csproj
│ │ ├── Endpoints
│ │ │ ├── ResilienceStrategies
│ │ │ │ └── List
│ │ │ │ │ └── Endpoint.cs
│ │ │ ├── Retries
│ │ │ │ └── List
│ │ │ │ │ └── Endpoint.cs
│ │ │ └── SimulateResponse
│ │ │ │ ├── Endpoint.cs
│ │ │ │ ├── Models.cs
│ │ │ │ └── StatusCodeMessageLookup.cs
│ │ ├── Extensions
│ │ │ └── ModuleExtensions.cs
│ │ ├── Features
│ │ │ └── ResilienceFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Handlers
│ │ │ └── PropagateRetryAttemptedFlag.cs
│ │ ├── Modifiers
│ │ │ └── ResilientActivityDescriptorModifier.cs
│ │ ├── Recorders
│ │ │ ├── ActivityExecutionContextRetryAttemptReader.cs
│ │ │ └── ActivityExecutionContextRetryAttemptRecorder.cs
│ │ └── StrategySources
│ │ │ └── ConfigurationResilienceStrategySource.cs
│ ├── Elsa.SasTokens
│ │ ├── Contracts
│ │ │ ├── DataProtectorTokenService.cs
│ │ │ └── ITokenService.cs
│ │ ├── Elsa.SasTokens.csproj
│ │ ├── Extensions
│ │ │ └── ModuleExtensions.cs
│ │ ├── Features
│ │ │ └── SasTokensFeature.cs
│ │ └── FodyWeavers.xml
│ ├── Elsa.Scheduling
│ │ ├── Activities
│ │ │ ├── Cron.cs
│ │ │ ├── Delay.cs
│ │ │ ├── StartAt.cs
│ │ │ ├── Timer.cs
│ │ │ └── TimerBase.cs
│ │ ├── Bookmarks
│ │ │ ├── CronBookmarkPayload.cs
│ │ │ ├── CronTriggerPayload.cs
│ │ │ ├── DelayPayload.cs
│ │ │ ├── StartAtPayload.cs
│ │ │ ├── TimerBookmarkPayload.cs
│ │ │ └── TimerTriggerPayload.cs
│ │ ├── Commands
│ │ │ └── RunScheduledTask.cs
│ │ ├── Contracts
│ │ │ ├── IBookmarkScheduler.cs
│ │ │ ├── ICronParser.cs
│ │ │ ├── ISchedule.cs
│ │ │ ├── IScheduledTask.cs
│ │ │ ├── IScheduler.cs
│ │ │ ├── ITask.cs
│ │ │ ├── ITriggerScheduler.cs
│ │ │ └── IWorkflowScheduler.cs
│ │ ├── Elsa.Scheduling.csproj
│ │ ├── Elsa.Scheduling.csproj.DotSettings
│ │ ├── Extensions
│ │ │ ├── DelayActivityExecutionContextExtensions.cs
│ │ │ ├── ModuleExtensions.cs
│ │ │ └── TimerActivityExecutionContextExtensions.cs
│ │ ├── Features
│ │ │ └── SchedulingFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Handlers
│ │ │ ├── DeleteSchedules.cs
│ │ │ ├── RunScheduledTaskHandler.cs
│ │ │ ├── ScheduleWorkflows.cs
│ │ │ └── UpdateTenantSchedules.cs
│ │ ├── HostedServices
│ │ │ └── CreateSchedulesBackgroundTask.cs
│ │ ├── Models
│ │ │ ├── ScheduleContext.cs
│ │ │ └── TaskExecutionContext.cs
│ │ ├── Requests
│ │ │ ├── ScheduleExistingWorkflowInstanceRequest.cs
│ │ │ └── ScheduleNewWorkflowInstanceRequest.cs
│ │ ├── ScheduledTasks
│ │ │ ├── ScheduledCronTask.cs
│ │ │ ├── ScheduledRecurringTask.cs
│ │ │ └── ScheduledSpecificInstantTask.cs
│ │ ├── Schedules
│ │ │ ├── CronSchedule.cs
│ │ │ ├── RecurringSchedule.cs
│ │ │ └── SpecificInstantSchedule.cs
│ │ ├── SchedulingStimulusNames.cs
│ │ ├── Services
│ │ │ ├── CronosCronParser.cs
│ │ │ ├── DefaultBookmarkScheduler.cs
│ │ │ ├── DefaultTriggerScheduler.cs
│ │ │ ├── DefaultWorkflowScheduler.cs
│ │ │ └── LocalScheduler.cs
│ │ ├── Tasks
│ │ │ ├── DelegateTask.cs
│ │ │ ├── ResumeWorkflowTask.cs
│ │ │ └── RunWorkflowTask.cs
│ │ └── TriggerPayloadValidators
│ │ │ └── CronTriggerPayloadValidator.cs
│ ├── Elsa.Tenants.AspNetCore
│ │ ├── Elsa.Tenants.AspNetCore.csproj
│ │ ├── Elsa.Tenants.AspNetCore.csproj.DotSettings
│ │ ├── Extensions
│ │ │ ├── ModuleExtensions.cs
│ │ │ ├── TenantExtensions.cs
│ │ │ └── TenantResolutionMiddlewareExtensions.cs
│ │ ├── Features
│ │ │ └── MultitenantHttpRoutingFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Middleware
│ │ │ └── TenantResolutionMiddleware.cs
│ │ ├── Options
│ │ │ └── MultitenancyHttpOptions.cs
│ │ ├── Resolvers
│ │ │ ├── HeaderTenantResolver.cs
│ │ │ ├── HostTenantResolver.cs
│ │ │ └── RoutePrefixTenantResolver.cs
│ │ ├── Services
│ │ │ ├── TenantPrefixHttpEndpointBasePathProvider.cs
│ │ │ └── TenantPrefixHttpEndpointRoutesProvider.cs
│ │ └── Settings
│ │ │ └── HttpEndpointOptions.cs
│ ├── Elsa.Tenants
│ │ ├── Contracts
│ │ │ ├── ITenantResolutionPipeline.cs
│ │ │ ├── ITenantResolverPipelineInvoker.cs
│ │ │ └── ITenantStore.cs
│ │ ├── Elsa.Tenants.csproj
│ │ ├── Elsa.Tenants.csproj.DotSettings
│ │ ├── Endpoints
│ │ │ └── Tenants
│ │ │ │ ├── Add
│ │ │ │ └── Endpoint.cs
│ │ │ │ ├── Delete
│ │ │ │ └── Endpoint.cs
│ │ │ │ ├── Get
│ │ │ │ └── Endpoint.cs
│ │ │ │ ├── List
│ │ │ │ └── Endpoint.cs
│ │ │ │ ├── Refresh
│ │ │ │ └── Endpoint.cs
│ │ │ │ └── Update
│ │ │ │ └── Endpoint.cs
│ │ ├── Extensions
│ │ │ └── ModuleExtensions.cs
│ │ ├── Features
│ │ │ ├── TenantManagementEndpointsFeature.cs
│ │ │ ├── TenantManagementFeature.cs
│ │ │ └── TenantsFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Options
│ │ │ ├── MultitenancyOptions.cs
│ │ │ └── TenantsOptions.cs
│ │ ├── Providers
│ │ │ ├── ConfigurationTenantsProvider.cs
│ │ │ └── StoreTenantsProvider.cs
│ │ └── Services
│ │ │ ├── DefaultTenantResolverPipelineInvoker.cs
│ │ │ ├── MemoryTenantStore.cs
│ │ │ └── TenantResolutionPipelineBuilder.cs
│ ├── Elsa.WorkflowProviders.BlobStorage
│ │ ├── Contracts
│ │ │ └── IBlobStorageProvider.cs
│ │ ├── Elsa.WorkflowProviders.BlobStorage.csproj
│ │ ├── Extensions
│ │ │ └── ModuleExtensions.cs
│ │ ├── Features
│ │ │ └── BlobStorageFeature.cs
│ │ ├── FodyWeavers.xml
│ │ └── Providers
│ │ │ ├── BlobStorageProvider.cs
│ │ │ └── BlobStorageWorkflowsProvider.cs
│ ├── Elsa.Workflows.Api
│ │ ├── AssemblyInfo.cs
│ │ ├── Constants
│ │ │ └── AuthorizationPolicies.cs
│ │ ├── Contracts
│ │ │ └── IWorkflowDefinitionLinker.cs
│ │ ├── Elsa.Workflows.Api.csproj
│ │ ├── Elsa.Workflows.Api.csproj.DotSettings
│ │ ├── Endpoints
│ │ │ ├── ActivityDescriptorOptions
│ │ │ │ └── Get
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ ├── ActivityDescriptors
│ │ │ │ ├── Get
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ └── List
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ ├── ActivityExecutionSummaries
│ │ │ │ └── ListSummaries
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ ├── ActivityExecutions
│ │ │ │ ├── Count
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── Get
│ │ │ │ │ └── Endpoint.cs
│ │ │ │ ├── List
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ └── Report
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ ├── CommitStrategies
│ │ │ │ ├── Activities
│ │ │ │ │ └── List
│ │ │ │ │ │ └── Endpoint.cs
│ │ │ │ ├── Models.cs
│ │ │ │ └── Workflows
│ │ │ │ │ └── List
│ │ │ │ │ └── Endpoint.cs
│ │ │ ├── Events
│ │ │ │ ├── TriggerAuthenticated
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ └── TriggerPublic
│ │ │ │ │ └── Endpoint.cs
│ │ │ ├── Features
│ │ │ │ ├── Get
│ │ │ │ │ └── Endpoint.cs
│ │ │ │ └── List
│ │ │ │ │ └── Endpoint.cs
│ │ │ ├── IncidentStrategies
│ │ │ │ └── List
│ │ │ │ │ └── Endpoint.cs
│ │ │ ├── LogPersistenceStrategies
│ │ │ │ └── List
│ │ │ │ │ └── Endpoint.cs
│ │ │ ├── Package
│ │ │ │ ├── Endpoint.cs
│ │ │ │ └── Models.cs
│ │ │ ├── Scripting
│ │ │ │ └── ExpressionDescriptors
│ │ │ │ │ └── List
│ │ │ │ │ └── Endpoint.cs
│ │ │ ├── StorageDrivers
│ │ │ │ └── List
│ │ │ │ │ ├── Constants.cs
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ ├── Tasks
│ │ │ │ └── Complete
│ │ │ │ │ ├── Constants.cs
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ ├── VariableTypes
│ │ │ │ └── List
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ ├── WorkflowActivationStrategies
│ │ │ │ └── List
│ │ │ │ │ └── Endpoint.cs
│ │ │ ├── WorkflowDefinitions
│ │ │ │ ├── BulkDelete
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── BulkDeleteVersions
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── BulkDispatch
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── BulkPublish
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── BulkRetract
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── Count
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── Delete
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── DeleteVersion
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── Dispatch
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── Execute
│ │ │ │ │ ├── EndpointBase.cs
│ │ │ │ │ ├── GetEndpoint.cs
│ │ │ │ │ ├── Models.cs
│ │ │ │ │ └── PostEndpoint.cs
│ │ │ │ ├── Export
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── GetByDefinitionId
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── GetById
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── GetManyById
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── Graph
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ ├── Models.cs
│ │ │ │ │ └── Segments
│ │ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ │ └── Models.cs
│ │ │ │ ├── Import
│ │ │ │ │ └── Endpoint.cs
│ │ │ │ ├── ImportFiles
│ │ │ │ │ └── Endpoint.cs
│ │ │ │ ├── IsNameUnique
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── List
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── Post
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── Publish
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── Refresh
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── Reload
│ │ │ │ │ └── Endpoint.cs
│ │ │ │ ├── Retract
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── UpdateReferences
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ └── Version
│ │ │ │ │ ├── Delete.cs
│ │ │ │ │ ├── List.cs
│ │ │ │ │ └── Revert.cs
│ │ │ └── WorkflowInstances
│ │ │ │ ├── BulkCancel
│ │ │ │ ├── Endpoint.cs
│ │ │ │ ├── Models.cs
│ │ │ │ └── RequestValidator.cs
│ │ │ │ ├── BulkDelete
│ │ │ │ ├── Endpoint.cs
│ │ │ │ └── Models.cs
│ │ │ │ ├── Cancel
│ │ │ │ ├── Endpoint.cs
│ │ │ │ └── Models.cs
│ │ │ │ ├── Delete
│ │ │ │ ├── Endpoint.cs
│ │ │ │ └── Models.cs
│ │ │ │ ├── ExecutionState
│ │ │ │ ├── Endpoint.cs
│ │ │ │ └── Models.cs
│ │ │ │ ├── Export
│ │ │ │ ├── Endpoint.cs
│ │ │ │ └── Models.cs
│ │ │ │ ├── Get
│ │ │ │ ├── Endpoint.cs
│ │ │ │ ├── Mappers.cs
│ │ │ │ └── Models.cs
│ │ │ │ ├── Import
│ │ │ │ ├── Endpoint.cs
│ │ │ │ └── Models.cs
│ │ │ │ ├── Journal
│ │ │ │ ├── FilteredList
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── GetLastEntry
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ └── List
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ └── Models.cs
│ │ │ │ ├── List
│ │ │ │ ├── Endpoint.cs
│ │ │ │ └── Models.cs
│ │ │ │ └── Variables
│ │ │ │ ├── List
│ │ │ │ └── Endpoint.cs
│ │ │ │ └── Post
│ │ │ │ └── Endpoint.cs
│ │ ├── Extensions
│ │ │ ├── ApplicationBuilderExtensions.cs
│ │ │ ├── ModuleExtensions.cs
│ │ │ └── WorkflowsApiFeatureExtensions.cs
│ │ ├── Features
│ │ │ ├── RealTimeWorkflowUpdatesFeature.cs
│ │ │ └── WorkflowsApiFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Middleware
│ │ │ └── JsonSerializationErrorHandlerMiddleware.cs
│ │ ├── Models
│ │ │ ├── ActivityPathSegment.cs
│ │ │ ├── ExecutionLogRecord.cs
│ │ │ ├── ExportedWorkflowState.cs
│ │ │ ├── LinkedWorkflowDefinitionModel.cs
│ │ │ ├── LinkedWorkflowDefinitionSummary.cs
│ │ │ ├── OrderByWorkflowDefinition.cs
│ │ │ ├── OrderByWorkflowInstance.cs
│ │ │ └── WorkflowInstanceModel.cs
│ │ ├── Options
│ │ │ └── ApiEndpointOptions.cs
│ │ ├── RealTime
│ │ │ ├── Contracts
│ │ │ │ └── IWorkflowInstanceClient.cs
│ │ │ ├── Extensions
│ │ │ │ └── ApplicationBuilderExtensions.cs
│ │ │ ├── Handlers
│ │ │ │ └── BroadcastWorkflowProgress.cs
│ │ │ ├── Hubs
│ │ │ │ └── WorkflowInstanceHub.cs
│ │ │ └── Messages
│ │ │ │ ├── ActivityExecutedMessage.cs
│ │ │ │ ├── ActivityExecutingMessage.cs
│ │ │ │ ├── ActivityExecutionLogUpdatedMessage.cs
│ │ │ │ ├── WorkflowExecutionLogUpdatedMessage.cs
│ │ │ │ └── WorkflowInstanceUpdatedMessage.cs
│ │ ├── Requirements
│ │ │ └── NotReadOnlyRequirement.cs
│ │ ├── Serialization
│ │ │ ├── ArgumentJsonConverter.cs
│ │ │ ├── ArgumentJsonConverterFactory.cs
│ │ │ └── SerializationConfigurator.cs
│ │ └── Services
│ │ │ └── StaticWorkflowDefinitionLinker.cs
│ ├── Elsa.Workflows.Core
│ │ ├── Abstractions
│ │ │ ├── Activity.cs
│ │ │ ├── ActivityStateFilterBase.cs
│ │ │ ├── ActivityT.cs
│ │ │ ├── Behavior.cs
│ │ │ ├── CodeActivity.cs
│ │ │ ├── PropertyUIHandlerBase.cs
│ │ │ ├── SerializationOptionsConfiguratorBase.cs
│ │ │ ├── Trigger.cs
│ │ │ └── WorkflowBase.cs
│ │ ├── ActivationValidators
│ │ │ └── AllowAlwaysStrategy.cs
│ │ ├── Activities
│ │ │ ├── Break.cs
│ │ │ ├── Complete.cs
│ │ │ ├── Composite.cs
│ │ │ ├── Container.cs
│ │ │ ├── Correlate.cs
│ │ │ ├── DynamicActivity.cs
│ │ │ ├── End.cs
│ │ │ ├── Fault.cs
│ │ │ ├── Finish.cs
│ │ │ ├── Flowchart
│ │ │ │ ├── Activities
│ │ │ │ │ ├── FlowDecision.cs
│ │ │ │ │ ├── FlowFork.cs
│ │ │ │ │ ├── FlowJoin.cs
│ │ │ │ │ ├── FlowNode.cs
│ │ │ │ │ ├── FlowSwitch.cs
│ │ │ │ │ ├── Flowchart.Counters.cs
│ │ │ │ │ ├── Flowchart.Tokens.cs
│ │ │ │ │ └── Flowchart.cs
│ │ │ │ ├── Attributes
│ │ │ │ │ └── FlowNodeAttribute.cs
│ │ │ │ ├── Contracts
│ │ │ │ │ └── IJoinNode.cs
│ │ │ │ ├── Extensions
│ │ │ │ │ ├── ActivityExecutionContextExtensions.cs
│ │ │ │ │ ├── ActivityExtensions.cs
│ │ │ │ │ ├── ConnectionsExtensions.cs
│ │ │ │ │ └── FlowchartExtensions.cs
│ │ │ │ ├── Models
│ │ │ │ │ ├── Connection.cs
│ │ │ │ │ ├── Endpoint.cs
│ │ │ │ │ ├── FlowGraph.cs
│ │ │ │ │ ├── FlowJoinMode.cs
│ │ │ │ │ ├── FlowScope.cs
│ │ │ │ │ ├── FlowSwitchCase.cs
│ │ │ │ │ ├── MergeMode.cs
│ │ │ │ │ ├── ObsoleteConnection.cs
│ │ │ │ │ ├── Outcomes.cs
│ │ │ │ │ ├── Position.cs
│ │ │ │ │ └── Token.cs
│ │ │ │ └── Serialization
│ │ │ │ │ ├── ConnectionComparer.cs
│ │ │ │ │ ├── ConnectionJsonConverter.cs
│ │ │ │ │ ├── FlowchartJsonConverter.cs
│ │ │ │ │ ├── FlowchartSerializationOptionConfigurator.cs
│ │ │ │ │ └── ObsoleteConnectionJsonConverter.cs
│ │ │ ├── For.cs
│ │ │ ├── ForEach.cs
│ │ │ ├── ForEachT.cs
│ │ │ ├── Fork.cs
│ │ │ ├── If.cs
│ │ │ ├── Inline.cs
│ │ │ ├── NotFoundActivity.cs
│ │ │ ├── Parallel.cs
│ │ │ ├── ParallelForEach.cs
│ │ │ ├── ParallelForEachT.cs
│ │ │ ├── ReadLine.cs
│ │ │ ├── Sequence.cs
│ │ │ ├── SetName.cs
│ │ │ ├── SetVariable.cs
│ │ │ ├── Start.cs
│ │ │ ├── Switch.cs
│ │ │ ├── While.cs
│ │ │ ├── Workflow.cs
│ │ │ └── WriteLine.cs
│ │ ├── Attributes
│ │ │ ├── ActivityAttribute.cs
│ │ │ ├── ExcludeFromHashAttribute.cs
│ │ │ ├── InboundAttribute.cs
│ │ │ ├── InputAttribute.cs
│ │ │ ├── JsonIgnoreCompositeRootAttribute.cs
│ │ │ ├── OutputAttribute.cs
│ │ │ ├── PortAttribute.cs
│ │ │ └── StateAttribute.cs
│ │ ├── Behaviors
│ │ │ ├── AutoCompleteBehavior.cs
│ │ │ ├── BreakBehavior.cs
│ │ │ └── ScheduledChildCallbackBehavior.cs
│ │ ├── Builders
│ │ │ ├── WorkflowBuilder.cs
│ │ │ └── WorkflowBuilderFactory.cs
│ │ ├── CommitStates
│ │ │ ├── CommitStrategiesFeature.cs
│ │ │ ├── Contracts
│ │ │ │ ├── IActivityCommitStrategy.cs
│ │ │ │ ├── ICommitStateHandler.cs
│ │ │ │ ├── ICommitStrategyRegistry.cs
│ │ │ │ └── IWorkflowCommitStrategy.cs
│ │ │ ├── Extensions
│ │ │ │ └── ModuleExtensions.cs
│ │ │ ├── Helpers
│ │ │ │ ├── ObjectMetadataDescriber.cs
│ │ │ │ └── ObjectRegistrationFactory.cs
│ │ │ ├── Models
│ │ │ │ ├── ActivityCommitStateStrategyContext.cs
│ │ │ │ ├── ActivityCommitStrategyRegistration.cs
│ │ │ │ ├── ActivityLifetimeEvent.cs
│ │ │ │ ├── ActivityStrategyDescriptor.cs
│ │ │ │ ├── CommitAction.cs
│ │ │ │ ├── CommitStrategyMetadata.cs
│ │ │ │ ├── ObjectRegistration.cs
│ │ │ │ ├── WorkflowCommitStateStrategyContext.cs
│ │ │ │ ├── WorkflowCommitStrategyRegistration.cs
│ │ │ │ ├── WorkflowLifetimeEvent.cs
│ │ │ │ └── WorkflowStrategyDescriptor.cs
│ │ │ ├── Options
│ │ │ │ └── CommitStateOptions.cs
│ │ │ ├── Services
│ │ │ │ └── DefaultCommitStrategyRegistry.cs
│ │ │ ├── Strategies
│ │ │ │ ├── Activities
│ │ │ │ │ ├── CommitAlwaysActivityStrategy.cs
│ │ │ │ │ ├── CommitNeverActivityStrategy.cs
│ │ │ │ │ ├── ExecutedActivityStrategy.cs
│ │ │ │ │ └── ExecutingActivityStrategy.cs
│ │ │ │ └── Workflows
│ │ │ │ │ ├── ActivityExecutedWorkflowStrategy.cs
│ │ │ │ │ ├── ActivityExecutingWorkflowStrategy.cs
│ │ │ │ │ ├── PeriodicWorkflowStrategy.cs
│ │ │ │ │ ├── WorkflowExecutedWorkflowStrategy.cs
│ │ │ │ │ └── WorkflowExecutingWorkflowStrategy.cs
│ │ │ └── Tasks
│ │ │ │ └── PopulateCommitStrategyRegistry.cs
│ │ ├── Constants
│ │ │ └── DefaultFaultTypes.cs
│ │ ├── Contexts
│ │ │ ├── ActivityCompletedContext.cs
│ │ │ ├── ActivityExecutionContext.Cancel.cs
│ │ │ ├── ActivityExecutionContext.Complete.cs
│ │ │ ├── ActivityExecutionContext.ExecutionLogEntry.cs
│ │ │ ├── ActivityExecutionContext.cs
│ │ │ ├── ActivityStateFilterContext.cs
│ │ │ ├── ResumedBookmarkContext.cs
│ │ │ ├── SignalContext.cs
│ │ │ ├── StorageDriverContext.cs
│ │ │ ├── TriggerIndexingContext.cs
│ │ │ ├── WorkflowExecutionContext.Cancel.cs
│ │ │ ├── WorkflowExecutionContext.ExecutionLogEntry.cs
│ │ │ ├── WorkflowExecutionContext.cs
│ │ │ └── WorkflowIndexingContext.cs
│ │ ├── Contracts
│ │ │ ├── IActivity.cs
│ │ │ ├── IActivityDescriber.cs
│ │ │ ├── IActivityDescriptorModifier.cs
│ │ │ ├── IActivityExecutionMiddleware.cs
│ │ │ ├── IActivityExecutionPipeline.cs
│ │ │ ├── IActivityExecutionPipelineBuilder.cs
│ │ │ ├── IActivityFactory.cs
│ │ │ ├── IActivityInvoker.cs
│ │ │ ├── IActivityPropertyDefaultValueProvider.cs
│ │ │ ├── IActivityPropertyOptionsProvider.cs
│ │ │ ├── IActivityProvider.cs
│ │ │ ├── IActivityRegistry.cs
│ │ │ ├── IActivityRegistryLookupService.cs
│ │ │ ├── IActivityResolver.cs
│ │ │ ├── IActivityScheduler.cs
│ │ │ ├── IActivitySchedulerFactory.cs
│ │ │ ├── IActivitySerializer.cs
│ │ │ ├── IActivityStateFilter.cs
│ │ │ ├── IActivityStateFilterManager.cs
│ │ │ ├── IActivityVisitor.cs
│ │ │ ├── IActivityWithResult.cs
│ │ │ ├── IApiSerializer.cs
│ │ │ ├── IBehavior.cs
│ │ │ ├── IBookmarkPayloadSerializer.cs
│ │ │ ├── IComposite.cs
│ │ │ ├── IEventGenerator.cs
│ │ │ ├── IExecutionContext.cs
│ │ │ ├── IHasher.cs
│ │ │ ├── IIdentityGenerator.cs
│ │ │ ├── IIdentityGraphService.cs
│ │ │ ├── IIncidentStrategy.cs
│ │ │ ├── IIncidentStrategyResolver.cs
│ │ │ ├── IInitializable.cs
│ │ │ ├── ILoggerStateGenerator.cs
│ │ │ ├── IMissingActivityTypesRegistry.cs
│ │ │ ├── IPayloadSerializer.cs
│ │ │ ├── IPropertyDefaultValueResolver.cs
│ │ │ ├── IPropertyUIHandler.cs
│ │ │ ├── IPropertyUIHandlerResolver.cs
│ │ │ ├── ISafeSerializer.cs
│ │ │ ├── ISignalHandler.cs
│ │ │ ├── IStandardInStreamProvider.cs
│ │ │ ├── IStandardOutStreamProvider.cs
│ │ │ ├── IStartNode.cs
│ │ │ ├── IStimulusHasher.cs
│ │ │ ├── IStorageDriver.cs
│ │ │ ├── IStorageDriverManager.cs
│ │ │ ├── ITerminalNode.cs
│ │ │ ├── ITrigger.cs
│ │ │ ├── IUIHintHandler.cs
│ │ │ ├── IVariableContainer.cs
│ │ │ ├── IVariablePersistenceManager.cs
│ │ │ ├── IWorkflow.cs
│ │ │ ├── IWorkflowActivationStrategy.cs
│ │ │ ├── IWorkflowBuilder.cs
│ │ │ ├── IWorkflowBuilderFactory.cs
│ │ │ ├── IWorkflowExecutionMiddleware.cs
│ │ │ ├── IWorkflowExecutionPipeline.cs
│ │ │ ├── IWorkflowExecutionPipelineBuilder.cs
│ │ │ ├── IWorkflowGraphBuilder.cs
│ │ │ ├── IWorkflowInstanceVariableReader.cs
│ │ │ ├── IWorkflowInstanceVariableWriter.cs
│ │ │ ├── IWorkflowRunner.cs
│ │ │ ├── IWorkflowStateExtractor.cs
│ │ │ └── IWorkflowStateSerializer.cs
│ │ ├── Elsa.Workflows.Core.csproj
│ │ ├── Elsa.Workflows.Core.csproj.DotSettings
│ │ ├── Enums
│ │ │ ├── ActivityKind.cs
│ │ │ ├── ActivityStatus.cs
│ │ │ ├── ForkJoinMode.cs
│ │ │ ├── SwitchMode.cs
│ │ │ ├── TypeKind.cs
│ │ │ ├── WorkflowStatus.cs
│ │ │ └── WorkflowSubStatus.cs
│ │ ├── Exceptions
│ │ │ ├── ActivityNotFoundException.cs
│ │ │ ├── DataProcessingException.cs
│ │ │ ├── FaultException.cs
│ │ │ └── UniqueKeyConstraintViolationException.cs
│ │ ├── Expressions
│ │ │ ├── ObjectExpressionHandler.cs
│ │ │ ├── OutputExpressionHandler.cs
│ │ │ └── VariableExpressionHandler.cs
│ │ ├── Extensions
│ │ │ ├── ActivityDescriptorExtensions.cs
│ │ │ ├── ActivityExecutionContextExtensions.InputEvaluation.cs
│ │ │ ├── ActivityExecutionContextExtensions.InputOutput.cs
│ │ │ ├── ActivityExecutionContextExtensions.cs
│ │ │ ├── ActivityExtensions.cs
│ │ │ ├── ActivityNodeExtensions.cs
│ │ │ ├── ActivityPropertyExtensions.cs
│ │ │ ├── ActivityRegistryExtensions.cs
│ │ │ ├── BackgroundActivityExecutionContextExtensions.cs
│ │ │ ├── BehaviorCollectionExtensions.cs
│ │ │ ├── BookmarkExtensions.cs
│ │ │ ├── BreakBehaviorActivityExecutionContextExtensions.cs
│ │ │ ├── DictionaryExtensions.cs
│ │ │ ├── ExpressionEvaluatorExtensions.cs
│ │ │ ├── ExpressionExecutionContextExtensions.cs
│ │ │ ├── InputExtensions.cs
│ │ │ ├── ItemSourceActivityExecutionContextExtensions.cs
│ │ │ ├── JsonElementExtensions.cs
│ │ │ ├── MemoryBlockReferenceExtensions.cs
│ │ │ ├── ModuleExtensions.cs
│ │ │ ├── ObjectExtensions.cs
│ │ │ ├── OutputExtensions.cs
│ │ │ ├── ServiceCollectionExtensions.cs
│ │ │ ├── TriggerExtensions.cs
│ │ │ ├── VariableCollectionExtensions.cs
│ │ │ ├── VariableExtensions.cs
│ │ │ ├── WorkflowBuilderExtensions.cs
│ │ │ ├── WorkflowExecutionContextExtensions.cs
│ │ │ ├── WorkflowExecutionResultExtensions.cs
│ │ │ ├── WorkflowExtensions.cs
│ │ │ └── WorkflowRunnerExtensions.cs
│ │ ├── Features
│ │ │ ├── FlowchartFeature.cs
│ │ │ └── WorkflowsFeature.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Handlers
│ │ │ └── EvaluateParentInputProperties.cs
│ │ ├── Helpers
│ │ │ ├── ActivityTypeNameHelper.cs
│ │ │ ├── Diff.cs
│ │ │ └── TypeNameHelper.cs
│ │ ├── IncidentStrategies
│ │ │ ├── ContinueWithIncidentsStrategy.cs
│ │ │ └── FaultStrategy.cs
│ │ ├── IsExternalInit.cs
│ │ ├── LogPersistence
│ │ │ ├── Contexts
│ │ │ │ └── LogPersistenceStrategyContext.cs
│ │ │ ├── Contracts
│ │ │ │ ├── ILogPersistenceStrategy.cs
│ │ │ │ └── ILogPersistenceStrategyService.cs
│ │ │ ├── Enums
│ │ │ │ └── LogPersistenceMode.cs
│ │ │ ├── Options
│ │ │ │ └── LogPersistenceOptions.cs
│ │ │ ├── Services
│ │ │ │ └── DefaultLogPersistenceStrategyService.cs
│ │ │ └── Strategies
│ │ │ │ ├── Configuration.cs
│ │ │ │ ├── Exclude.cs
│ │ │ │ ├── Include.cs
│ │ │ │ └── Inherit.cs
│ │ ├── Memory
│ │ │ └── Variable.cs
│ │ ├── Middleware
│ │ │ ├── Activities
│ │ │ │ ├── DefaultActivityInvokerMiddleware.cs
│ │ │ │ ├── ExceptionHandlingMiddleware.cs
│ │ │ │ ├── ExecutionLogMiddleware.cs
│ │ │ │ ├── LoggingMiddleware.cs
│ │ │ │ └── NotificationPublishingMiddleware.cs
│ │ │ └── Workflows
│ │ │ │ ├── DefaultActivitySchedulerMiddleware.cs
│ │ │ │ ├── EngineExceptionHandlingMiddleware.cs
│ │ │ │ └── ExceptionHandlingMiddleware.cs
│ │ ├── Models
│ │ │ ├── ActivityDescriptor.cs
│ │ │ ├── ActivityHandle.cs
│ │ │ ├── ActivityIncident.cs
│ │ │ ├── ActivityNode.cs
│ │ │ ├── ActivityOutputRecord.cs
│ │ │ ├── ActivityOutputRegister.cs
│ │ │ ├── ActivityOutputs.cs
│ │ │ ├── ActivityPort.cs
│ │ │ ├── ActivityStateFilterResult.cs
│ │ │ ├── ActivityWorkItem.cs
│ │ │ ├── Argument.cs
│ │ │ ├── ArgumentDefinition.cs
│ │ │ ├── BackgroundExecutionOutcome.cs
│ │ │ ├── BackgroundExecutionResult.cs
│ │ │ ├── Bookmark.cs
│ │ │ ├── BookmarkInfo.cs
│ │ │ ├── ChangeTrackingDictionary.cs
│ │ │ ├── CreateBookmarkArgs.cs
│ │ │ ├── EventGenerator.cs
│ │ │ ├── Input.cs
│ │ │ ├── InputDefinition.cs
│ │ │ ├── InputDescriptor.cs
│ │ │ ├── InvokeWorkflowResult.cs
│ │ │ ├── MissingActivityType.cs
│ │ │ ├── NamedOutput.cs
│ │ │ ├── Output.cs
│ │ │ ├── OutputDefinition.cs
│ │ │ ├── OutputDescriptor.cs
│ │ │ ├── Port.cs
│ │ │ ├── PortType.cs
│ │ │ ├── PropertyDescriptor.cs
│ │ │ ├── ResolvedVariable.cs
│ │ │ ├── RunWorkflowResult.cs
│ │ │ ├── ScheduledActivity.cs
│ │ │ ├── ScheduledActivityOptions.cs
│ │ │ ├── SignalHandlerRegistration.cs
│ │ │ ├── TriggerType.cs
│ │ │ ├── TypeDescriptor.cs
│ │ │ ├── VariableDefinition.cs
│ │ │ ├── VariableModel.cs
│ │ │ ├── VariableUpdateValue.cs
│ │ │ ├── WorkflowDefinitionHandle.cs
│ │ │ ├── WorkflowExecutionLogEntry.cs
│ │ │ ├── WorkflowExecutionLogEventNames.cs
│ │ │ ├── WorkflowExecutionMode.cs
│ │ │ ├── WorkflowExecutionState.cs
│ │ │ ├── WorkflowGraph.cs
│ │ │ ├── WorkflowIdentity.cs
│ │ │ ├── WorkflowInput.cs
│ │ │ ├── WorkflowMetadata.cs
│ │ │ ├── WorkflowOptions.cs
│ │ │ └── WorkflowPublication.cs
│ │ ├── Notifications
│ │ │ ├── ActivityCancelled.cs
│ │ │ ├── ActivityCompleted.cs
│ │ │ ├── ActivityExecuted.cs
│ │ │ ├── ActivityExecuting.cs
│ │ │ ├── InvokingActivityCallback.cs
│ │ │ ├── WorkflowExecuted.cs
│ │ │ ├── WorkflowExecuting.cs
│ │ │ ├── WorkflowFinished.cs
│ │ │ └── WorkflowStarted.cs
│ │ ├── Options
│ │ │ ├── ActivityInvocationOptions.cs
│ │ │ ├── DynamicOutcomesOptions.cs
│ │ │ ├── IncidentOptions.cs
│ │ │ ├── RunWorkflowOptions.cs
│ │ │ └── ScheduleWorkOptions.cs
│ │ ├── Pipelines
│ │ │ ├── ActivityExecution
│ │ │ │ ├── ActivityExecutionMiddlewareExtensions.cs
│ │ │ │ ├── ActivityExecutionPipeline.cs
│ │ │ │ ├── ActivityExecutionPipelinePipelineBuilder.cs
│ │ │ │ └── ActivityMiddlewareDelegate.cs
│ │ │ ├── MiddlewareHelpers.cs
│ │ │ └── WorkflowExecution
│ │ │ │ ├── WorkflowExecutionMiddleware.cs
│ │ │ │ ├── WorkflowExecutionMiddlewareExtensions.cs
│ │ │ │ ├── WorkflowExecutionPipeline.cs
│ │ │ │ ├── WorkflowExecutionPipelineBuilder.cs
│ │ │ │ └── WorkflowMiddlewareDelegate.cs
│ │ ├── PortResolvers
│ │ │ ├── OutboundActivityPortResolver.cs
│ │ │ └── SwitchActivityPortResolver.cs
│ │ ├── Serialization
│ │ │ ├── Configurators
│ │ │ │ ├── AdditionalConvertersConfigurator.cs
│ │ │ │ └── CustomConstructorConfigurator.cs
│ │ │ ├── Converters
│ │ │ │ ├── ActivityJsonConverter.cs
│ │ │ │ ├── ActivityJsonConverterFactory.cs
│ │ │ │ ├── ExcludeFromHashConverter.cs
│ │ │ │ ├── ExpandoObjectConverter.cs
│ │ │ │ ├── ExpandoObjectConverterFactory.cs
│ │ │ │ ├── ExpressionJsonConverter.cs
│ │ │ │ ├── ExpressionJsonConverterFactory.cs
│ │ │ │ ├── FuncExpressionValueConverter.cs
│ │ │ │ ├── FuncExpressionValueConverterFactory.cs
│ │ │ │ ├── InputJsonConverter.cs
│ │ │ │ ├── InputJsonConverterFactory.cs
│ │ │ │ ├── JsonIgnoreCompositeRootConverter.cs
│ │ │ │ ├── JsonIgnoreCompositeRootConverterFactory.cs
│ │ │ │ ├── JsonPrimitiveToStringConverter.cs
│ │ │ │ ├── OutputJsonConverter.cs
│ │ │ │ ├── OutputJsonConverterFactory.cs
│ │ │ │ ├── PolymorphicDictionaryConverter.cs
│ │ │ │ ├── PolymorphicObjectConverter.cs
│ │ │ │ ├── PolymorphicObjectConverterFactory.cs
│ │ │ │ ├── RootActivityNodeConverter.cs
│ │ │ │ ├── SafeDictionaryConverter.cs
│ │ │ │ ├── SafeValueConverter.cs
│ │ │ │ ├── SafeValueConverterFactory.cs
│ │ │ │ ├── TypeJsonConverter.cs
│ │ │ │ ├── VariableConverter.cs
│ │ │ │ └── VariableConverterFactory.cs
│ │ │ ├── Helpers
│ │ │ │ ├── ActivityWriter.cs
│ │ │ │ └── SyntheticPropertiesWriter.cs
│ │ │ ├── ReferenceHandlers
│ │ │ │ ├── CrossScopedReferenceHandler.cs
│ │ │ │ └── CustomPreserveReferenceResolver.cs
│ │ │ └── Serializers
│ │ │ │ ├── ApiSerializer.cs
│ │ │ │ ├── BookmarkPayloadSerializer.cs
│ │ │ │ ├── JsonActivitySerializer.cs
│ │ │ │ ├── JsonPayloadSerializer.cs
│ │ │ │ ├── JsonWorkflowStateSerializer.cs
│ │ │ │ ├── SafeSerializer.cs
│ │ │ │ └── SerializationOptionsConfigurator.cs
│ │ ├── Services
│ │ │ ├── ActivityDescriber.cs
│ │ │ ├── ActivityFactory.cs
│ │ │ ├── ActivityInvoker.cs
│ │ │ ├── ActivityLoggerStateGenerator.cs
│ │ │ ├── ActivityRegistry.cs
│ │ │ ├── ActivityRegistryLookupService.cs
│ │ │ ├── ActivitySchedulerFactory.cs
│ │ │ ├── ActivityVisitor.cs
│ │ │ ├── DefaultActivityStateFilterManager.cs
│ │ │ ├── DefaultIncidentStrategyResolver.cs
│ │ │ ├── DefaultWorkflowInstanceVariableReader.cs
│ │ │ ├── DefaultWorkflowInstanceVariableWriter.cs
│ │ │ ├── Delegates.cs
│ │ │ ├── GuidIdentityGenerator.cs
│ │ │ ├── Hasher.cs
│ │ │ ├── IdentityGraphService.cs
│ │ │ ├── MemoryStorageDriver.cs
│ │ │ ├── NoopCommitStateHandler.cs
│ │ │ ├── PropertyDefaultValueResolver.cs
│ │ │ ├── PropertyOptionsResolver.cs
│ │ │ ├── PropertyUIHandlerResolver.cs
│ │ │ ├── QueueBasedActivityScheduler.cs
│ │ │ ├── RandomLongIdentityGenerator.cs
│ │ │ ├── ShortGuidIdentityGenerator.cs
│ │ │ ├── StackBasedActivityScheduler.cs
│ │ │ ├── StandardInStreamProvider.cs
│ │ │ ├── StandardOutStreamProvider.cs
│ │ │ ├── StimulusHasher.cs
│ │ │ ├── StorageDriverManager.cs
│ │ │ ├── VariableMapper.cs
│ │ │ ├── VariablePersistenceManager.cs
│ │ │ ├── WorkflowGraphBuilder.cs
│ │ │ ├── WorkflowLoggerStateGenerator.cs
│ │ │ ├── WorkflowRunner.cs
│ │ │ └── WorkflowStateExtractor.cs
│ │ ├── Signals
│ │ │ ├── ActivityCompleted.cs
│ │ │ ├── BreakSignal.cs
│ │ │ ├── CancelSignal.cs
│ │ │ ├── CompleteCompositeSignal.cs
│ │ │ ├── ScheduleActivityOutcomes.cs
│ │ │ └── ScheduleChildActivity.cs
│ │ ├── State
│ │ │ ├── ActivityExecutionContextState.cs
│ │ │ ├── ActivityWorkItemState.cs
│ │ │ ├── CompletionCallbackState.cs
│ │ │ ├── ExceptionState.cs
│ │ │ ├── PersistentVariableState.cs
│ │ │ └── WorkflowState.cs
│ │ ├── UIHints
│ │ │ ├── CheckList
│ │ │ │ ├── CheckList.cs
│ │ │ │ ├── CheckListItem.cs
│ │ │ │ ├── CheckListOptionsProviderBase.cs
│ │ │ │ ├── CheckListProps.cs
│ │ │ │ ├── CheckListUIHintHandler.cs
│ │ │ │ └── StaticCheckListOptionsProvider.cs
│ │ │ ├── CodeEditor
│ │ │ │ ├── CodeEditorOptions.cs
│ │ │ │ ├── CodeEditorOptionsProviderBase.cs
│ │ │ │ ├── EditorHeight.cs
│ │ │ │ └── MultiLineOptions.cs
│ │ │ ├── Dropdown
│ │ │ │ ├── DropDownOptionsProviderBase.cs
│ │ │ │ ├── DropDownProps.cs
│ │ │ │ ├── DropDownUIHintHandler.cs
│ │ │ │ ├── SelectList.cs
│ │ │ │ ├── SelectListItem.cs
│ │ │ │ └── StaticDropDownOptionsProvider.cs
│ │ │ ├── InputUIHints.cs
│ │ │ ├── JsonEditor
│ │ │ │ ├── JsonCodeOptionsProvider.cs
│ │ │ │ └── JsonEditorUIHintHandler.cs
│ │ │ ├── RadioList
│ │ │ │ ├── RadioList.cs
│ │ │ │ ├── RadioListItem.cs
│ │ │ │ ├── RadioListOptionsProviderBase.cs
│ │ │ │ ├── RadioListProps.cs
│ │ │ │ ├── RadioListUIHintHandler.cs
│ │ │ │ └── StaticRadioListOptionsProvider.cs
│ │ │ └── SingleLine
│ │ │ │ └── SingleLineProps.cs
│ │ └── VariableStorageDrivers
│ │ │ ├── WorkflowInstanceStorageDriver.cs
│ │ │ └── WorkflowStorageDriver.cs
│ ├── Elsa.Workflows.Management
│ │ ├── Activities
│ │ │ ├── SetOutput
│ │ │ │ └── SetOutput.cs
│ │ │ └── WorkflowDefinitionActivity
│ │ │ │ ├── PropertyNameHelper.cs
│ │ │ │ ├── WorkflowDefinitionActivity.cs
│ │ │ │ ├── WorkflowDefinitionActivityPortResolver.cs
│ │ │ │ └── WorkflowDefinitionActivityProvider.cs
│ │ ├── Contracts
│ │ │ ├── IActivityRegistryPopulator.cs
│ │ │ ├── IWorkflowDefinitionActivityRegistryUpdater.cs
│ │ │ ├── IWorkflowDefinitionCacheManager.cs
│ │ │ ├── IWorkflowDefinitionImporter.cs
│ │ │ ├── IWorkflowDefinitionManager.cs
│ │ │ ├── IWorkflowDefinitionPublisher.cs
│ │ │ ├── IWorkflowDefinitionService.cs
│ │ │ ├── IWorkflowDefinitionStore.cs
│ │ │ ├── IWorkflowInstanceFactory.cs
│ │ │ ├── IWorkflowInstanceManager.cs
│ │ │ ├── IWorkflowInstanceStore.cs
│ │ │ ├── IWorkflowInstanceVariableManager.cs
│ │ │ ├── IWorkflowMaterializer.cs
│ │ │ ├── IWorkflowReferenceUpdater.cs
│ │ │ ├── IWorkflowSerializer.cs
│ │ │ └── IWorkflowValidator.cs
│ │ ├── Elsa.Workflows.Management.csproj
│ │ ├── Elsa.Workflows.Management.csproj.DotSettings
│ │ ├── Entities
│ │ │ ├── WorkflowDefinition.cs
│ │ │ └── WorkflowInstance.cs
│ │ ├── Enums
│ │ │ └── TimestampFilterOperator.cs
│ │ ├── Extensions
│ │ │ ├── ActivityDescriberExtensions.cs
│ │ │ ├── ActivityFactoryExtensions.cs
│ │ │ ├── ModuleExtensions.cs
│ │ │ ├── ServiceCollectionExtensions.cs
│ │ │ ├── WorkflowDefinitionExtensions.cs
│ │ │ ├── WorkflowDefinitionHandleExtensions.cs
│ │ │ ├── WorkflowExtensions.cs
│ │ │ ├── WorkflowInstanceStoreExtensions.cs
│ │ │ └── WorkflowManagementFeatureExtensions.cs
│ │ ├── Features
│ │ │ ├── CachingWorkflowDefinitionsFeature.cs
│ │ │ ├── WorkflowDefinitionsFeature.cs
│ │ │ ├── WorkflowInstancesFeature.cs
│ │ │ └── WorkflowManagementFeature.cs
│ │ ├── Filters
│ │ │ ├── WorkflowDefinitionFilter.cs
│ │ │ ├── WorkflowDefinitionOrder.cs
│ │ │ ├── WorkflowInstanceFilter.cs
│ │ │ └── WorkflowInstanceOrder.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Handlers
│ │ │ └── Notifications
│ │ │ │ ├── DeleteWorkflowInstances.cs
│ │ │ │ ├── EvictWorkflowDefinitionServiceCache.cs
│ │ │ │ ├── RefreshActivityRegistry.cs
│ │ │ │ ├── UpdateConsumingWorkflows.cs
│ │ │ │ └── ValidateWorkflow.cs
│ │ ├── Mappers
│ │ │ ├── VariableDefinitionMapper.cs
│ │ │ ├── WorkflowDefinitionMapper.cs
│ │ │ └── WorkflowStateMapper.cs
│ │ ├── Materializers
│ │ │ ├── ClrWorkflowMaterializer.cs
│ │ │ ├── JsonWorkflowMaterializer.cs
│ │ │ └── TypedWorkflowMaterializer.cs
│ │ ├── Models
│ │ │ ├── AffectedWorkflows.cs
│ │ │ ├── ImportWorkflowResult.cs
│ │ │ ├── PublishWorkflowDefinitionResult.cs
│ │ │ ├── SaveWorkflowDefinitionRequest.cs
│ │ │ ├── TimestampFilter.cs
│ │ │ ├── UpdateWorkflowReferencesResult.cs
│ │ │ ├── VariableDescriptor.cs
│ │ │ ├── WorkflowDefinitionModel.cs
│ │ │ ├── WorkflowDefinitionSummary.cs
│ │ │ ├── WorkflowInstanceId.cs
│ │ │ ├── WorkflowInstanceSummary.cs
│ │ │ └── WorkflowValidationError.cs
│ │ ├── Notifications
│ │ │ ├── WorkflowDefinitionCreated.cs
│ │ │ ├── WorkflowDefinitionDeleted.cs
│ │ │ ├── WorkflowDefinitionDeleting.cs
│ │ │ ├── WorkflowDefinitionPublished.cs
│ │ │ ├── WorkflowDefinitionPublishing.cs
│ │ │ ├── WorkflowDefinitionRetracted.cs
│ │ │ ├── WorkflowDefinitionRetracting.cs
│ │ │ ├── WorkflowDefinitionValidating.cs
│ │ │ ├── WorkflowDefinitionVersionDeleted.cs
│ │ │ ├── WorkflowDefinitionVersionDeleting.cs
│ │ │ ├── WorkflowDefinitionVersionRetracted.cs
│ │ │ ├── WorkflowDefinitionVersionsDeleted.cs
│ │ │ ├── WorkflowDefinitionVersionsDeleting.cs
│ │ │ ├── WorkflowDefinitionVersionsUpdated.cs
│ │ │ ├── WorkflowDefinitionVersionsUpdating.cs
│ │ │ ├── WorkflowDefinitionsDeleted.cs
│ │ │ ├── WorkflowDefinitionsDeleting.cs
│ │ │ ├── WorkflowInstanceSaved.cs
│ │ │ ├── WorkflowInstancesDeleted.cs
│ │ │ └── WorkflowInstancesDeleting.cs
│ │ ├── Options
│ │ │ ├── ManagementOptions.cs
│ │ │ └── WorkflowInstanceOptions.cs
│ │ ├── Providers
│ │ │ ├── DefaultExpressionDescriptorProvider.cs
│ │ │ └── TypedActivityProvider.cs
│ │ ├── Services
│ │ │ ├── ActivityRegistryPopulator.cs
│ │ │ ├── CachingWorkflowDefinitionService.cs
│ │ │ ├── ExpressionDescriptorRegistry.cs
│ │ │ ├── WorkflowDefinitionActivityRegistryUpdater.cs
│ │ │ ├── WorkflowDefinitionCacheManager.cs
│ │ │ ├── WorkflowDefinitionImporter.cs
│ │ │ ├── WorkflowDefinitionManager.cs
│ │ │ ├── WorkflowDefinitionPublisher.cs
│ │ │ ├── WorkflowDefinitionService.cs
│ │ │ ├── WorkflowInstanceFactory.cs
│ │ │ ├── WorkflowInstanceManager.cs
│ │ │ ├── WorkflowInstanceVariableManager.cs
│ │ │ ├── WorkflowReferenceUpdater.cs
│ │ │ ├── WorkflowSerializer.cs
│ │ │ └── WorkflowValidator.cs
│ │ └── Stores
│ │ │ ├── CachingWorkflowDefinitionStore.cs
│ │ │ ├── MemoryWorkflowDefinitionStore.cs
│ │ │ └── MemoryWorkflowInstanceStore.cs
│ ├── Elsa.Workflows.Runtime.Distributed
│ │ ├── Elsa.Workflows.Runtime.Distributed.csproj
│ │ ├── Elsa.Workflows.Runtime.Distributed.csproj.DotSettings
│ │ ├── Extensions
│ │ │ └── ModuleExtensions.cs
│ │ ├── Features
│ │ │ └── DistributedRuntimeFeature.cs
│ │ ├── FodyWeavers.xml
│ │ └── Services
│ │ │ ├── DistributedBookmarkQueueWorker.cs
│ │ │ ├── DistributedWorkflowClient.cs
│ │ │ ├── DistributedWorkflowRuntime.Obsolete.cs
│ │ │ └── DistributedWorkflowRuntime.cs
│ ├── Elsa.Workflows.Runtime.ProtoActor
│ │ └── Extensions
│ │ │ └── ProtoOutputExtensions.cs
│ ├── Elsa.Workflows.Runtime
│ │ ├── ActivationValidators
│ │ │ ├── CorrelatedSingletonStrategy.cs
│ │ │ ├── CorrelationStrategy.cs
│ │ │ └── SingletonStrategy.cs
│ │ ├── Activities
│ │ │ ├── BulkDispatchWorkflows.cs
│ │ │ ├── DispatchWorkflow.cs
│ │ │ ├── Event.cs
│ │ │ ├── EventBase.cs
│ │ │ ├── ExecuteWorkflow.cs
│ │ │ ├── PublishEvent.cs
│ │ │ └── RunTask.cs
│ │ ├── Bookmarks
│ │ │ ├── BackgroundActivityBookmark.cs
│ │ │ ├── BulkDispatchWorkflowBookmark.cs
│ │ │ ├── DispatchWorkflowBookmark.cs
│ │ │ ├── EventBookmarkPayload.cs
│ │ │ ├── ExecuteWorkflowPayload.cs
│ │ │ └── RunTaskBookmarkPayload.cs
│ │ ├── Commands
│ │ │ ├── CancelWorkflowsCommand.cs
│ │ │ ├── DispatchResumeWorkflowsCommand.cs
│ │ │ ├── DispatchStimulusCommand.cs
│ │ │ ├── DispatchTriggerWorkflowsCommand.cs
│ │ │ ├── DispatchWorkflowDefinitionCommand.cs
│ │ │ └── DispatchWorkflowInstanceCommand.cs
│ │ ├── Comparers
│ │ │ └── WorkflowTriggerEqualityComparer.cs
│ │ ├── Constants
│ │ │ ├── RuntimeFaultCategories.cs
│ │ │ └── RuntimeFaultCodes.cs
│ │ ├── Contexts
│ │ │ └── WorkflowActivationStrategyEvaluationContext.cs
│ │ ├── Contracts
│ │ │ ├── IActivityExecutionManager.cs
│ │ │ ├── IActivityExecutionStatsService.cs
│ │ │ ├── IActivityExecutionStore.cs
│ │ │ ├── IActivityExecutonMapper.cs
│ │ │ ├── IBackgroundActivityInvoker.cs
│ │ │ ├── IBackgroundActivityScheduler.cs
│ │ │ ├── IBookmarkBoundWorkflowService.cs
│ │ │ ├── IBookmarkManager.cs
│ │ │ ├── IBookmarkPersister.cs
│ │ │ ├── IBookmarkQueue.cs
│ │ │ ├── IBookmarkQueueProcessor.cs
│ │ │ ├── IBookmarkQueuePurger.cs
│ │ │ ├── IBookmarkQueueSignaler.cs
│ │ │ ├── IBookmarkQueueStore.cs
│ │ │ ├── IBookmarkQueueWorker.cs
│ │ │ ├── IBookmarkResumer.cs
│ │ │ ├── IBookmarkStore.cs
│ │ │ ├── IBookmarkUpdater.cs
│ │ │ ├── IBookmarksPersistedHandler.cs
│ │ │ ├── IEventPublisher.cs
│ │ │ ├── ILogRecordExtractor.cs
│ │ │ ├── ILogRecordSink.cs
│ │ │ ├── ILogRecordStore.cs
│ │ │ ├── IRegistriesPopulator.cs
│ │ │ ├── IStimulusDispatcher.cs
│ │ │ ├── IStimulusSender.cs
│ │ │ ├── ITaskDispatcher.cs
│ │ │ ├── ITaskReporter.cs
│ │ │ ├── ITriggerBoundWorkflowService.cs
│ │ │ ├── ITriggerIndexer.cs
│ │ │ ├── ITriggerInvoker.cs
│ │ │ ├── ITriggerPayloadValidator.cs
│ │ │ ├── ITriggerStore.cs
│ │ │ ├── IWorkflowActivationStrategyEvaluator.cs
│ │ │ ├── IWorkflowCanceler.cs
│ │ │ ├── IWorkflowCancellationDispatcher.cs
│ │ │ ├── IWorkflowCancellationService.cs
│ │ │ ├── IWorkflowClient.cs
│ │ │ ├── IWorkflowDefinitionRefresher.cs
│ │ │ ├── IWorkflowDefinitionStorePopulator.cs
│ │ │ ├── IWorkflowDefinitionsReloader.cs
│ │ │ ├── IWorkflowDispatcher.cs
│ │ │ ├── IWorkflowExecutionLogStore.cs
│ │ │ ├── IWorkflowHost.cs
│ │ │ ├── IWorkflowHostFactory.cs
│ │ │ ├── IWorkflowInbox.cs
│ │ │ ├── IWorkflowInvoker.cs
│ │ │ ├── IWorkflowMatcher.cs
│ │ │ ├── IWorkflowRegister.cs
│ │ │ ├── IWorkflowRestarter.cs
│ │ │ ├── IWorkflowRuntime.cs
│ │ │ ├── IWorkflowStarter.cs
│ │ │ └── IWorkflowsProvider.cs
│ │ ├── Elsa.Workflows.Runtime.csproj
│ │ ├── Elsa.Workflows.Runtime.csproj.DotSettings
│ │ ├── Entities
│ │ │ ├── ActivityExecutionRecord.cs
│ │ │ ├── ActivityExecutionRecordSummary.cs
│ │ │ ├── BookmarkQueueItem.cs
│ │ │ ├── StoredBookmark.cs
│ │ │ ├── StoredTrigger.cs
│ │ │ ├── WorkflowExecutionLogRecord.cs
│ │ │ └── WorkflowInboxMessage.cs
│ │ ├── Exceptions
│ │ │ ├── WorkflowGraphNotFoundException.cs
│ │ │ └── WorkflowInstanceNotFoundException.cs
│ │ ├── Extensions
│ │ │ ├── ActivityExecutionContextExtensions.cs
│ │ │ ├── BookmarkExtensions.cs
│ │ │ ├── BookmarkQueueItemExtensions.cs
│ │ │ ├── DeferredTasksExecutionContextExtensions.cs
│ │ │ ├── DependencyInjectionExtensions.cs
│ │ │ ├── LogExtensions.cs
│ │ │ ├── ModuleExtensions.cs
│ │ │ ├── PipelineWorkflowsFeatureExtensions.cs
│ │ │ ├── RateLimitedFuncExtensions.cs
│ │ │ ├── StoredBookmarkExtensions.cs
│ │ │ ├── StoredTriggerExtensions.cs
│ │ │ ├── StoredTriggerStoreExtensions.cs
│ │ │ ├── WorkflowBrokerExtensions.cs
│ │ │ ├── WorkflowClientExtensions.cs
│ │ │ ├── WorkflowDictionaryExtensions.cs
│ │ │ ├── WorkflowDispatcherExtensions.cs
│ │ │ ├── WorkflowExecutionPipelineBuilderExtensions.cs
│ │ │ ├── WorkflowInstanceStoreExtensions.cs
│ │ │ ├── WorkflowTriggerExtensions.cs
│ │ │ └── WorkflowsFeatureExtensions.cs
│ │ ├── Features
│ │ │ ├── CachingWorkflowRuntimeFeature.cs
│ │ │ ├── DefaultWorkflowRuntimeFeature.cs
│ │ │ └── WorkflowRuntimeFeature.cs
│ │ ├── Filters
│ │ │ ├── ActivityExecutionRecordFilter.cs
│ │ │ ├── BookmarkFilter.cs
│ │ │ ├── BookmarkQueueFilter.cs
│ │ │ ├── TriggerFilter.cs
│ │ │ ├── WorkflowExecutionLogRecordFilter.cs
│ │ │ ├── WorkflowInboxMessageFilter.cs
│ │ │ └── WorkflowsFilter.cs
│ │ ├── FodyWeavers.xml
│ │ ├── Handlers
│ │ │ ├── CancelBackgroundActivities.cs
│ │ │ ├── CancelWorkflowsCommandHandler.cs
│ │ │ ├── DeleteActivityExecutionLogRecords.cs
│ │ │ ├── DeleteBookmarks.cs
│ │ │ ├── DeleteTriggers.cs
│ │ │ ├── DeleteWorkflowExecutionLogRecords.cs
│ │ │ ├── DispatchStimulusCommandHandler.cs
│ │ │ ├── DispatchWorkflowRequestHandler.cs
│ │ │ ├── IndexTriggers.cs
│ │ │ ├── InvalidateTriggersCache.cs
│ │ │ ├── InvalidateWorkflowsCache.cs
│ │ │ ├── RefreshActivityRegistry.cs
│ │ │ ├── ResumeBulkDispatchWorkflowActivity.cs
│ │ │ ├── ResumeDispatchWorkflowActivity.cs
│ │ │ ├── ResumeExecuteWorkflowActivity.cs
│ │ │ ├── SignalBookmarkQueueWorker.cs
│ │ │ └── ValidateWorkflowRequestHandler.cs
│ │ ├── IsExternalInit.cs
│ │ ├── LogPersistence
│ │ │ ├── Contracts
│ │ │ │ └── IActivityPropertyLogPersistenceEvaluator.cs
│ │ │ ├── Extensions
│ │ │ │ ├── ActivityExecutionContextExtensions.cs
│ │ │ │ └── ActivityExecutionPipelineBuilderExtensions.cs
│ │ │ ├── Handlers
│ │ │ │ └── EvaluateParentInputProperties.cs
│ │ │ ├── Middleware
│ │ │ │ └── EvaluateLogPersistenceModesMiddleware.cs
│ │ │ ├── Models
│ │ │ │ ├── ActivityLogPersistenceModeMap.cs
│ │ │ │ ├── LogPersistenceConfiguration.cs
│ │ │ │ └── LogPersistenceEvaluationMode.cs
│ │ │ └── Services
│ │ │ │ └── ActivityPropertyLogPersistenceEvaluator.cs
│ │ ├── Matches
│ │ │ ├── ResumableWorkflowMatch.cs
│ │ │ ├── StartableWorkflowMatch.cs
│ │ │ └── WorkflowMatch.cs
│ │ ├── Messages
│ │ │ ├── CreateAndRunWorkflowInstanceRequest.cs
│ │ │ ├── CreateWorkflowInstanceRequest.cs
│ │ │ ├── CreateWorkflowInstanceResponse.cs
│ │ │ ├── RunWorkflowInstanceRequest.cs
│ │ │ └── RunWorkflowInstanceResponse.cs
│ │ ├── Middleware
│ │ │ ├── Activities
│ │ │ │ └── BackgroundActivityInvokerMiddleware.cs
│ │ │ └── Workflows
│ │ │ │ ├── CancelWorkflowMiddleware.cs
│ │ │ │ ├── HeartbeatMiddleware.cs
│ │ │ │ ├── PersistActivityExecutionLogMiddleware.cs
│ │ │ │ ├── PersistBookmarkMiddleware.cs
│ │ │ │ ├── PersistWorkflowExecutionLogMiddleware.cs
│ │ │ │ └── PersistentVariablesMiddleware.cs
│ │ ├── Models
│ │ │ ├── ActivityExecutionStats.cs
│ │ │ ├── BookmarkBoundWorkflow.cs
│ │ │ ├── CancellationFailureReason.cs
│ │ │ ├── DispatchWorkflowOptions.cs
│ │ │ ├── DispatcherChannel.cs
│ │ │ ├── ExecuteWorkflowResult.cs
│ │ │ ├── MaterializedWorkflow.cs
│ │ │ ├── NewBookmarkQueueItem.cs
│ │ │ ├── NewWorkflowInboxMessage.cs
│ │ │ ├── ReloadedWorkflowDefinition.cs
│ │ │ ├── ResumeBookmarkResult.cs
│ │ │ ├── ScheduledBackgroundActivity.cs
│ │ │ ├── StimulusMetadata.cs
│ │ │ └── TriggerBoundWorkflow.cs
│ │ ├── Notifications
│ │ │ ├── ActivityExecutionLogUpdated.cs
│ │ │ ├── ActivityExecutionRecordDeleted.cs
│ │ │ ├── ActivityExecutionRecordUpdated.cs
│ │ │ ├── BackgroundActivityExecutionCompleted.cs
│ │ │ ├── BookmarkSaved.cs
│ │ │ ├── BookmarkSaving.cs
│ │ │ ├── BookmarksDeleted.cs
│ │ │ ├── BookmarksDeleting.cs
│ │ │ ├── IndexedWorkflowBookmarks.cs
│ │ │ ├── IndexedWorkflowTriggers.cs
│ │ │ ├── RunTaskRequest.cs
│ │ │ ├── WorkflowBookmarksDeleted.cs
│ │ │ ├── WorkflowBookmarksIndexed.cs
│ │ │ ├── WorkflowBookmarksPersisted.cs
│ │ │ ├── WorkflowCancelled.cs
│ │ │ ├── WorkflowCancelling.cs
│ │ │ ├── WorkflowDefinitionsRefreshed.cs
│ │ │ ├── WorkflowDefinitionsReloaded.cs
│ │ │ ├── WorkflowExecutionLogUpdated.cs
│ │ │ └── WorkflowTriggersIndexed.cs
│ │ ├── Options
│ │ │ ├── BookmarkQueuePurgeOptions.cs
│ │ │ ├── BroadcastWorkflowInboxMessageOptions.cs
│ │ │ ├── FindBookmarkOptions.cs
│ │ │ ├── ResumeBookmarkOptions.cs
│ │ │ ├── RuntimeOptions.cs
│ │ │ ├── TriggerWorkflowsOptions.cs
│ │ │ ├── WorkflowDispatcherOptions.cs
│ │ │ ├── WorkflowHostOptions.cs
│ │ │ └── WorkflowInboxCleanupOptions.cs
│ │ ├── OrderDefinitions
│ │ │ ├── ActivityExecutionRecordOrder.cs
│ │ │ ├── BookmarkQueueItemOrder.cs
│ │ │ ├── StoredTriggerOrder.cs
│ │ │ └── WorkflowExecutionLogRecordOrder.cs
│ │ ├── Parameters
│ │ │ ├── ResumeWorkflowRuntimeParams.cs
│ │ │ ├── StartWorkflowHostParams.cs
│ │ │ └── StartWorkflowRuntimeParams.cs
│ │ ├── Params
│ │ │ ├── ExecuteWorkflowParams.cs
│ │ │ └── WorkflowInboxMessageDeliveryParams.cs
│ │ ├── Providers
│ │ │ └── ClrWorkflowsProvider.cs
│ │ ├── Requests
│ │ │ ├── CountRunningWorkflowsRequest.cs
│ │ │ ├── DispatchCancelWorkflowRequest.cs
│ │ │ ├── DispatchResumeWorkflowsRequest.cs
│ │ │ ├── DispatchStimulusRequest.cs
│ │ │ ├── DispatchTriggerWorkflowsRequest.cs
│ │ │ ├── DispatchWorkflowDefinitionRequest.cs
│ │ │ ├── DispatchWorkflowInstanceRequest.cs
│ │ │ ├── InvokeTriggerRequest.cs
│ │ │ ├── RefreshWorkflowDefinitionsRequest.cs
│ │ │ ├── ResumeBookmarkRequest.cs
│ │ │ ├── StartWorkflowRequest.cs
│ │ │ └── UpdateBookmarksRequest.cs
│ │ ├── Responses
│ │ │ ├── DispatchCancelWorkflowsResponse.cs
│ │ │ ├── DispatchResumeWorkflowsResponse.cs
│ │ │ ├── DispatchStimulusResponse.cs
│ │ │ ├── DispatchTriggerWorkflowsResponse.cs
│ │ │ ├── DispatchWorkflowDefinitionResponse.cs
│ │ │ ├── DispatchWorkflowInstanceResponse.cs
│ │ │ ├── RefreshWorkflowDefinitionsResponse.cs
│ │ │ └── StartWorkflowResponse.cs
│ │ ├── Results
│ │ │ ├── CanStartWorkflowResult.cs
│ │ │ ├── CancellationResult.cs
│ │ │ ├── DeliverWorkflowInboxMessageResult.cs
│ │ │ ├── RunWorkflowResult.cs
│ │ │ ├── SendStimulusResult.cs
│ │ │ ├── SubmitWorkflowInboxMessageResult.cs
│ │ │ ├── TriggerWorkflowsResult.cs
│ │ │ └── WorkflowExecutionResult.cs
│ │ ├── RuntimeStimulusNames.cs
│ │ ├── Services
│ │ │ ├── ActivityExecutionService.cs
│ │ │ ├── BackgroundActivityInvoker.cs
│ │ │ ├── BackgroundStimulusDispatcher.cs
│ │ │ ├── BackgroundTaskDispatcher.cs
│ │ │ ├── BackgroundWorkflowCancellationDispatcher.cs
│ │ │ ├── BackgroundWorkflowDispatcher.cs
│ │ │ ├── BookmarkBoundWorkflowService.cs
│ │ │ ├── BookmarkPersister.cs
│ │ │ ├── BookmarkQueueProcessor.cs
│ │ │ ├── BookmarkQueueSignaler.cs
│ │ │ ├── BookmarkQueueWorker.cs
│ │ │ ├── BookmarkResumer.cs
│ │ │ ├── BookmarkUpdater.cs
│ │ │ ├── DefaultActivityExecutionManager.cs
│ │ │ ├── DefaultActivityExecutionMapper.cs
│ │ │ ├── DefaultBookmarkManager.cs
│ │ │ ├── DefaultBookmarkQueuePurger.cs
│ │ │ ├── DefaultCommitStateHandler.cs
│ │ │ ├── DefaultRegistriesPopulator.cs
│ │ │ ├── DefaultWorkflowActivationStrategyEvaluator.cs
│ │ │ ├── DefaultWorkflowDefinitionStorePopulator.cs
│ │ │ ├── DefaultWorkflowRegistry.cs
│ │ │ ├── DefaultWorkflowRestarter.cs
│ │ │ ├── DefaultWorkflowStarter.cs
│ │ │ ├── EventPublisher.cs
│ │ │ ├── HeartbeatGenerator.cs
│ │ │ ├── LocalBackgroundActivityScheduler.cs
│ │ │ ├── LocalWorkflowClient.cs
│ │ │ ├── LocalWorkflowRuntime.Obsolete.cs
│ │ │ ├── LocalWorkflowRuntime.cs
│ │ │ ├── ObsoleteWorkflowRuntime.cs
│ │ │ ├── StimulusProxyWorkflowInbox.cs
│ │ │ ├── StimulusSender.cs
│ │ │ ├── StoreActivityExecutionLogSink.cs
│ │ │ ├── StoreBookmarkQueue.cs
│ │ │ ├── StoreWorkflowExecutionLogSink.cs
│ │ │ ├── SynchronousTaskDispatcher.cs
│ │ │ ├── TaskReporter.cs
│ │ │ ├── TriggerBoundWorkflowService.cs
│ │ │ ├── TriggerIndexer.cs
│ │ │ ├── TriggerInvoker.cs
│ │ │ ├── ValidatingWorkflowDispatcher.cs
│ │ │ ├── WorkflowCanceler.cs
│ │ │ ├── WorkflowCancellationService.cs
│ │ │ ├── WorkflowDefinitionRefresher.cs
│ │ │ ├── WorkflowDefinitionsReloader.cs
│ │ │ ├── WorkflowExecutionLogRecordExtractor.cs
│ │ │ ├── WorkflowHeartbeatGeneratorFactory.cs
│ │ │ ├── WorkflowHost.cs
│ │ │ ├── WorkflowHostFactory.cs
│ │ │ ├── WorkflowInvoker.cs
│ │ │ └── WorkflowMatcher.cs
│ │ ├── Stimuli
│ │ │ ├── BackgroundActivityStimulus.cs
│ │ │ ├── BulkDispatchWorkflowsStimulus.cs
│ │ │ ├── DispatchWorkflowStimulus.cs
│ │ │ ├── EventStimulus.cs
│ │ │ ├── ExecuteWorkflowStimulus.cs
│ │ │ └── RunTaskStimulus.cs
│ │ ├── Stores
│ │ │ ├── CachingTriggerStore.cs
│ │ │ ├── MemoryActivityExecutionStore.cs
│ │ │ ├── MemoryBookmarkQueueStore.cs
│ │ │ ├── MemoryBookmarkStore.cs
│ │ │ ├── MemoryTriggerStore.cs
│ │ │ ├── MemoryWorkflowExecutionLogStore.cs
│ │ │ ├── NoopActivityExecutionStore.cs
│ │ │ └── NoopWorkflowExecutionLogStore.cs
│ │ ├── Tasks
│ │ │ ├── PopulateRegistriesStartupTask.cs
│ │ │ ├── PurgeBookmarkQueueRecurringTask.cs
│ │ │ ├── RestartInterruptedWorkflowsTask.cs
│ │ │ └── TriggerBookmarkQueueRecurringTask.cs
│ │ └── UIHints
│ │ │ └── DispatcherChannelOptionsProvider.cs
│ └── Elsa
│ │ ├── Elsa.csproj
│ │ ├── Extensions
│ │ ├── DependencyInjectionExtensions.cs
│ │ └── ServiceProviderExtensions.cs
│ │ ├── Features
│ │ ├── AppFeature.cs
│ │ └── ElsaFeature.cs
│ │ └── FodyWeavers.xml
└── samples
│ ├── IntegrationTestSample.cs
│ └── README.md
├── tempvalidator
├── Program.cs
└── tempvalidator.csproj
└── test
├── Directory.Build.props
├── component
├── Directory.Build.props
└── Elsa.Workflows.ComponentTests
│ ├── Elsa.Workflows.ComponentTests.csproj
│ ├── Elsa.Workflows.ComponentTests.csproj.DotSettings
│ ├── Helpers
│ ├── Abstractions
│ │ └── AppComponentTest.cs
│ ├── Activities
│ │ └── TriggerSignal.cs
│ ├── Decorators
│ │ └── EventPublishingChangeTokenSignaler.cs
│ ├── Fixtures
│ │ ├── App.cs
│ │ ├── AppCollection.cs
│ │ ├── Cluster.cs
│ │ ├── Infrastructure.cs
│ │ └── WorkflowServer.cs
│ ├── Materializers
│ │ └── TestWorkflowMaterializer.cs
│ └── WorkflowProviders
│ │ └── TestWorkflowProvider.cs
│ ├── Scenarios
│ ├── Activities
│ │ └── FlowJoins
│ │ │ ├── Tests.cs
│ │ │ └── Workflows.cs
│ ├── BasicWorkflows
│ │ ├── HelloWorldTests.cs
│ │ └── hello-world.json
│ ├── BulkDispatchWorkflows
│ │ ├── BulkDispatchWorkflowsTests.cs
│ │ └── Workflows
│ │ │ ├── EmployeeGreetingWorkflow.cs
│ │ │ ├── FruitWorkflow.cs
│ │ │ ├── GreetEmployeesWorkflow.cs
│ │ │ └── MixFruitsWorkflow.cs
│ ├── CachingAndWorkflowDefinitionActivity
│ │ ├── WorkflowDefinitionActivityTests.cs
│ │ └── Workflows
│ │ │ ├── workflow-definition-child.json
│ │ │ ├── workflow-definition-grand-child.json
│ │ │ └── workflow-definition-parent.json
│ ├── ClusteredHosting
│ │ └── ActivityRegistrySyncTests.cs
│ ├── DispatchWorkflows
│ │ ├── DispatchWorkflowsTests.cs
│ │ └── Workflows
│ │ │ ├── ChildWorkflow.cs
│ │ │ └── DispatchAndWaitWorkflow.cs
│ ├── ExecuteWorkflows
│ │ ├── ExecuteWorkflowsTests.cs
│ │ └── Workflows
│ │ │ ├── MainWorkflow.cs
│ │ │ └── SubroutineWorkflow.cs
│ ├── HttpWorkflows
│ │ ├── HttpHelloWorldTests.cs
│ │ ├── ResumeSpecificHttpWorkflowInstanceTests.cs
│ │ ├── RouteDataTests.cs
│ │ └── Workflows
│ │ │ ├── RouteDataWorkflow.cs
│ │ │ ├── SimpleHttpApiWorkflow.cs
│ │ │ └── http-hello-world.json
│ ├── InputOutput
│ │ ├── InputOutputTests.cs
│ │ └── Workflows
│ │ │ ├── consumer.json
│ │ │ └── provider.json
│ ├── JavaScriptVariables
│ │ ├── JavaScriptVariablesWorkflow1.cs
│ │ ├── JavaScriptVariablesWorkflow2.cs
│ │ ├── JavaScriptVariablesWorkflow3.cs
│ │ └── JavaScriptVariablesWorkflowTests.cs
│ ├── LogPersistenceModes
│ │ ├── InputOutputLoggingTests.cs
│ │ ├── input-output-logging-1.json
│ │ ├── input-output-logging-2.json
│ │ ├── input-output-logging-3-child.json
│ │ └── input-output-logging-3.json
│ ├── Multitenancy
│ │ ├── MultitenancyTests.cs
│ │ └── Workflows
│ │ │ ├── WorkflowForTenant1.cs
│ │ │ └── WorkflowForTenant2.cs
│ ├── Variables
│ │ ├── Activities
│ │ │ └── CountdownStep.cs
│ │ ├── CountdownWorkflowTests.cs
│ │ └── Workflows
│ │ │ └── CountdownWorkflow.cs
│ ├── WorkflowActivities
│ │ ├── AutoUpdateTests.cs
│ │ ├── DeleteWorkflowTests.cs
│ │ ├── SaveWorkflowTests.cs
│ │ └── Workflows
│ │ │ ├── CacheInvalidation_Child.json
│ │ │ ├── CacheInvalidation_Childv2.json
│ │ │ ├── CacheInvalidation_Parent.json
│ │ │ ├── DeleteWorkflow.cs
│ │ │ └── DeleteWorkflowClustered.cs
│ ├── WorkflowCompletion
│ │ ├── WorkflowCompletionTests.cs
│ │ ├── fork.json
│ │ └── hello-world.json
│ ├── WorkflowDefinitionRefresh
│ │ ├── DynamicEndpointTests.cs
│ │ └── dynamic-endpoint-http-workflow.json
│ ├── WorkflowDefinitionReload
│ │ ├── ReloadWorkflowTests.cs
│ │ └── Workflows
│ │ │ └── http-workflow.json
│ └── WorkflowJsonStructures
│ │ ├── WorkflowJsonStructureTests.cs
│ │ ├── main.json
│ │ └── sub.json
│ └── xunit.runner.json
├── integration
├── Elsa.Activities.IntegrationTests
│ ├── Elsa.Activities.IntegrationTests.csproj
│ ├── SetNameTests.cs
│ ├── Usings.cs
│ └── WriteLineTests.cs
├── Elsa.JavaScript.IntegrationTests
│ ├── Elsa.JavaScript.IntegrationTests.csproj
│ ├── JsonConverterTest.cs
│ ├── JsonElementConverterTests.cs
│ └── ToJsonTests.cs
├── Elsa.Resilience.IntegrationTests
│ ├── Elsa.Resilience.IntegrationTests.csproj
│ ├── FlowSendHttpRequestResilienceTests.cs
│ ├── SequentialStatusHandler.cs
│ ├── TestRetryAttemptRecorder.cs
│ └── Usings.cs
└── Elsa.Workflows.IntegrationTests
│ ├── Activities
│ ├── Break
│ │ ├── BreakTests.cs
│ │ └── Workflows
│ │ │ ├── BreakForEachWorkflow.cs
│ │ │ ├── BreakForWorkflow.cs
│ │ │ ├── BreakWhileForkWorkflow.cs
│ │ │ └── BreakWhileWorkflow.cs
│ ├── Finish
│ │ ├── FinishForkedWorkflow.cs
│ │ ├── FinishSequentialWorkflow.cs
│ │ └── FinishTests.cs
│ ├── ForEach
│ │ ├── ForEachTests.cs
│ │ ├── ForEachWorkflow.cs
│ │ └── NestedForEachWithBreakWorkflow.cs
│ ├── Fork
│ │ ├── BasicForkWorkflow.cs
│ │ ├── ForkTests.cs
│ │ └── JoinAnyForkWorkflow.cs
│ ├── If
│ │ └── IfTests.cs
│ ├── Sequence
│ │ ├── NestedSequentialWorkflow.cs
│ │ ├── SequenceTests.cs
│ │ └── SequentialWorkflow.cs
│ └── WriteLine
│ │ └── WriteLineTests.cs
│ ├── Core
│ ├── ScheduleActivityExecutionContextTests.cs
│ └── SerializerEncodingTests.cs
│ ├── Elsa.Workflows.IntegrationTests.csproj
│ ├── Elsa.Workflows.IntegrationTests.csproj.DotSettings
│ ├── Scenarios
│ ├── ActivityNotificationsMiddleware
│ │ ├── Spy.cs
│ │ ├── TestHandler.cs
│ │ ├── Tests.cs
│ │ └── Workflows.cs
│ ├── ActivityOutputs
│ │ ├── LoopingWorkflow.cs
│ │ ├── SumActivity.cs
│ │ ├── SumWorkflow.cs
│ │ └── Tests.cs
│ ├── Blocking
│ │ ├── Tests.cs
│ │ └── Workflows.cs
│ ├── BlockingAndBreaking
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ ├── BreakWhileFromForkWorkflow.cs
│ │ │ ├── WaitAllForkWorkflow.cs
│ │ │ └── WaitAnyForkWorkflow.cs
│ ├── CanExecute
│ │ ├── Activities
│ │ │ └── CustomActivity.cs
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ └── MagicWorkflow.cs
│ ├── Composites
│ │ ├── Tests.cs
│ │ └── Workflows.cs
│ ├── CompositesAndOutcomes
│ │ ├── CompositesAndOutcomeWaitAnyTests.cs
│ │ └── Workflows
│ │ │ ├── completor.json
│ │ │ ├── consumer.json
│ │ │ └── tester.json
│ ├── CompositesPassingData
│ │ ├── Tests.cs
│ │ └── Workflows.cs
│ ├── DependencyWorkflows
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ ├── atom-activity.json
│ │ │ ├── matter-activity.json
│ │ │ └── molecule-activity.json
│ ├── DependencyWorkflowsPublishing
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ ├── child.json
│ │ │ └── parent.json
│ ├── ExplicitJoins
│ │ ├── ExplicitJoinWaitAnyTests.cs
│ │ └── Workflows
│ │ │ ├── join-all-1.json
│ │ │ ├── join-all-2.json
│ │ │ └── join-any-1.json
│ ├── FlowchartCompletion
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ ├── workflow1.json
│ │ │ ├── workflow2.json
│ │ │ ├── workflow3.json
│ │ │ ├── workflow4.json
│ │ │ ├── workflow5.json
│ │ │ └── workflow6.json
│ ├── FlowchartNextActivity
│ │ ├── Activities
│ │ │ └── CustomActivity.cs
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ └── FlowchartWorkflow.cs
│ ├── HttpRequestWithLiquid
│ │ ├── JavascriptAndLiquidWorkflow.cs
│ │ └── Tests.cs
│ ├── ImplicitJoins
│ │ ├── BraidedWorkflowTests.cs
│ │ ├── ImplicitLoopWorkflowTests.cs
│ │ ├── JoinRunsOnceTests.cs
│ │ ├── ParallelJoinCompletesTests.cs
│ │ └── Workflows
│ │ │ ├── BraidedWorkflow.cs
│ │ │ ├── ImplicitLoopWorkflow.cs
│ │ │ ├── join.json
│ │ │ └── parallel-join.json
│ ├── ImportAndExecute
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ ├── implicit-loop.json
│ │ │ └── writeline.json
│ ├── ImportAndPublish
│ │ ├── ImportAndPublishCronTests.cs
│ │ ├── ImportAndPublishHttpEndpointsTests.cs
│ │ ├── ImportAndPublishTimerTests.cs
│ │ └── Workflows
│ │ │ ├── bad-cron-expression.json
│ │ │ ├── cron-every-hour.json
│ │ │ ├── http-workflow.json
│ │ │ └── timer-workflow.json
│ ├── Incidents
│ │ ├── IncidentStrategyTests.cs
│ │ ├── Statics
│ │ │ └── TestSettings.cs
│ │ └── Workflows
│ │ │ └── FaultyWorkflow.cs
│ ├── JavaScriptFunctions
│ │ └── BytesAndStringEncodingTests.cs
│ ├── JavaScriptListsAndArrays
│ │ └── Tests.cs
│ ├── JavaScriptNativeVariables
│ │ ├── Data.cs
│ │ ├── Tests.cs
│ │ └── Workflows.cs
│ ├── JsonObjectSerialization
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ └── instance-serialization.json
│ ├── JsonObjectToObjectRemainsJsonObject
│ │ ├── Activities
│ │ │ ├── JsonObjectProducer.cs
│ │ │ └── ObjectProcessor.cs
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ └── TestWorkflow.cs
│ ├── ParentChildCompletion
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ ├── child.json
│ │ │ └── parent.json
│ ├── ParentChildInputs
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ ├── child.json
│ │ │ ├── parent1.json
│ │ │ └── parent2.json
│ ├── ParentChildOutputMapping
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ ├── a.json
│ │ │ ├── b.json
│ │ │ ├── c.json
│ │ │ ├── calculator.json
│ │ │ ├── consumer.json
│ │ │ ├── d.json
│ │ │ ├── producer.json
│ │ │ └── sum.json
│ ├── RunAsynchronousActivityOutput
│ │ ├── Activities
│ │ │ └── SampleActivity.cs
│ │ └── Tests.cs
│ ├── Serialization
│ │ └── Tests.cs
│ ├── SetGetVariables
│ │ ├── Tests.cs
│ │ └── Workflows.cs
│ ├── SetGetVariablesFromActivities
│ │ ├── Activities
│ │ │ ├── CreateVariableActivity.cs
│ │ │ └── ReadVariableActivity.cs
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ └── SampleWorkflow.cs
│ ├── WorkflowCancellation
│ │ ├── DefaultRuntimeTests.cs
│ │ └── Workflows
│ │ │ ├── BulkSuspendedWorkflow.cs
│ │ │ ├── ResumeDispatchWorkflow.cs
│ │ │ ├── SimpleChildWorkflow.cs
│ │ │ └── SimpleSuspendedWorkflow.cs
│ ├── WorkflowInstanceName
│ │ ├── WorkflowInstanceNameTests.cs
│ │ └── Workflows
│ │ │ └── NamedWorkflow.cs
│ ├── WorkflowOutputMapping
│ │ ├── Tests.cs
│ │ └── Workflows
│ │ │ └── workflow-output.json
│ └── WorkflowResults
│ │ └── Tests.cs
│ ├── Serialization
│ ├── ContainerSerialization
│ │ └── Tests.cs
│ ├── JsonSerialization
│ │ ├── JArrayIsland.json
│ │ ├── JArrayWithoutType.json
│ │ ├── JObjectIsland.json
│ │ ├── JObjectWithoutType.json
│ │ ├── JsonArrayIsland.json
│ │ ├── JsonArrayWithoutType.json
│ │ ├── JsonObjectIsland.json
│ │ ├── JsonObjectWithoutType.json
│ │ └── Tests.cs
│ ├── Polymorphism
│ │ ├── Models.cs
│ │ ├── Tests.cs
│ │ └── data.json
│ ├── ProgrammaticWorkflowsAndDelegates
│ │ ├── Tests.cs
│ │ └── Workflows.cs
│ ├── SpecialPropertySerialization
│ │ └── Tests.cs
│ ├── UIHintSerializiation
│ │ ├── ActivityUIHintDescriberTests.cs
│ │ ├── TestActivity.cs
│ │ └── TestEnumType.cs
│ ├── VariableExpressions
│ │ ├── Activities.cs
│ │ ├── Tests.cs
│ │ └── Workflows.cs
│ └── VariableTypes
│ │ ├── Models.cs
│ │ ├── Tests.cs
│ │ └── Workflows.cs
│ └── Usings.cs
├── performance
├── Directory.Build.props
└── Elsa.Workflows.PerformanceTests
│ ├── Config.cs
│ ├── ConsoleActivitiesBenchmark.cs
│ ├── Elsa.Workflows.PerformanceTests.csproj
│ └── Program.cs
└── unit
├── Elsa.Common.Core
├── Elsa.Common.Core.csproj
└── EnumerableExtensionsTests.cs
├── Elsa.Http.UnitTests
├── ContentWriters
│ ├── ContentFactoryTests.cs
│ └── RawStringContentTests.cs
└── Elsa.Http.UnitTests.csproj
├── Elsa.Workflows.Core.UnitTests
├── Elsa.Workflows.Core.UnitTests.csproj
├── ExpressionExecutionContextExtensionsTests.cs
├── Flowchart
│ ├── FlowGraphExtensions.cs
│ └── FlowGraphTests.cs
├── ObjectConversion
│ ├── Person.cs
│ └── Tests.cs
└── Usings.cs
└── Elsa.Workflows.Runtime.UnitTests
├── Elsa.Workflows.Runtime.UnitTests.csproj
├── Services
└── DefaultWorkflowDefinitionStorePopulatorTests.cs
└── Usings.cs
/.nuke/parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./build.schema.json",
3 | "Solution": "Elsa.sln"
4 | }
5 |
--------------------------------------------------------------------------------
/build.cmd:
--------------------------------------------------------------------------------
1 | :; set -eo pipefail
2 | :; SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd)
3 | :; ${SCRIPT_DIR}/build.sh "$@"
4 | :; exit $?
5 |
6 | @ECHO OFF
7 | powershell -ExecutionPolicy ByPass -NoProfile -File "%~dp0build.ps1" %*
8 |
--------------------------------------------------------------------------------
/build/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | false
5 |
6 |
7 |
--------------------------------------------------------------------------------
/design/artwork/android-elsa-portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/artwork/android-elsa-portrait.png
--------------------------------------------------------------------------------
/design/artwork/creative-elsa-animation.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/artwork/creative-elsa-animation.gif
--------------------------------------------------------------------------------
/design/artwork/elsa-3.1-art.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/artwork/elsa-3.1-art.png
--------------------------------------------------------------------------------
/design/artwork/elsa-logo-art.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/artwork/elsa-logo-art.png
--------------------------------------------------------------------------------
/design/artwork/elsa-logo-art.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/artwork/elsa-logo-art.psd
--------------------------------------------------------------------------------
/design/artwork/elsa-v3-avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/artwork/elsa-v3-avatar.png
--------------------------------------------------------------------------------
/design/artwork/glass.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/artwork/glass.ai
--------------------------------------------------------------------------------
/design/custom/1x/Artboard 1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/custom/1x/Artboard 1.png
--------------------------------------------------------------------------------
/design/custom/2x/Artboard 1@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/custom/2x/Artboard 1@2x.png
--------------------------------------------------------------------------------
/design/custom/2x/elsa-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/custom/2x/elsa-logo.png
--------------------------------------------------------------------------------
/design/custom/icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/custom/icon.ai
--------------------------------------------------------------------------------
/design/custom/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/custom/icon.png
--------------------------------------------------------------------------------
/design/custom/icon.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/custom/icon.psd
--------------------------------------------------------------------------------
/design/github-social-preview-banner-for-elsa.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/github-social-preview-banner-for-elsa.psd
--------------------------------------------------------------------------------
/design/icon/dark/android-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/android-icon-144x144.png
--------------------------------------------------------------------------------
/design/icon/dark/android-icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/android-icon-192x192.png
--------------------------------------------------------------------------------
/design/icon/dark/android-icon-36x36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/android-icon-36x36.png
--------------------------------------------------------------------------------
/design/icon/dark/android-icon-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/android-icon-48x48.png
--------------------------------------------------------------------------------
/design/icon/dark/android-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/android-icon-72x72.png
--------------------------------------------------------------------------------
/design/icon/dark/android-icon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/android-icon-96x96.png
--------------------------------------------------------------------------------
/design/icon/dark/apple-icon-114x114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/apple-icon-114x114.png
--------------------------------------------------------------------------------
/design/icon/dark/apple-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/apple-icon-120x120.png
--------------------------------------------------------------------------------
/design/icon/dark/apple-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/apple-icon-144x144.png
--------------------------------------------------------------------------------
/design/icon/dark/apple-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/apple-icon-152x152.png
--------------------------------------------------------------------------------
/design/icon/dark/apple-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/apple-icon-180x180.png
--------------------------------------------------------------------------------
/design/icon/dark/apple-icon-57x57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/apple-icon-57x57.png
--------------------------------------------------------------------------------
/design/icon/dark/apple-icon-60x60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/apple-icon-60x60.png
--------------------------------------------------------------------------------
/design/icon/dark/apple-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/apple-icon-72x72.png
--------------------------------------------------------------------------------
/design/icon/dark/apple-icon-76x76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/apple-icon-76x76.png
--------------------------------------------------------------------------------
/design/icon/dark/apple-icon-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/apple-icon-precomposed.png
--------------------------------------------------------------------------------
/design/icon/dark/apple-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/apple-icon.png
--------------------------------------------------------------------------------
/design/icon/dark/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 | #ffffff
--------------------------------------------------------------------------------
/design/icon/dark/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/favicon-16x16.png
--------------------------------------------------------------------------------
/design/icon/dark/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/favicon-32x32.png
--------------------------------------------------------------------------------
/design/icon/dark/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/favicon-96x96.png
--------------------------------------------------------------------------------
/design/icon/dark/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/favicon.ico
--------------------------------------------------------------------------------
/design/icon/dark/ms-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/ms-icon-144x144.png
--------------------------------------------------------------------------------
/design/icon/dark/ms-icon-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/ms-icon-150x150.png
--------------------------------------------------------------------------------
/design/icon/dark/ms-icon-310x310.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/ms-icon-310x310.png
--------------------------------------------------------------------------------
/design/icon/dark/ms-icon-70x70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/dark/ms-icon-70x70.png
--------------------------------------------------------------------------------
/design/icon/light/android-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/android-icon-144x144.png
--------------------------------------------------------------------------------
/design/icon/light/android-icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/android-icon-192x192.png
--------------------------------------------------------------------------------
/design/icon/light/android-icon-36x36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/android-icon-36x36.png
--------------------------------------------------------------------------------
/design/icon/light/android-icon-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/android-icon-48x48.png
--------------------------------------------------------------------------------
/design/icon/light/android-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/android-icon-72x72.png
--------------------------------------------------------------------------------
/design/icon/light/android-icon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/android-icon-96x96.png
--------------------------------------------------------------------------------
/design/icon/light/apple-icon-114x114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/apple-icon-114x114.png
--------------------------------------------------------------------------------
/design/icon/light/apple-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/apple-icon-120x120.png
--------------------------------------------------------------------------------
/design/icon/light/apple-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/apple-icon-144x144.png
--------------------------------------------------------------------------------
/design/icon/light/apple-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/apple-icon-152x152.png
--------------------------------------------------------------------------------
/design/icon/light/apple-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/apple-icon-180x180.png
--------------------------------------------------------------------------------
/design/icon/light/apple-icon-57x57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/apple-icon-57x57.png
--------------------------------------------------------------------------------
/design/icon/light/apple-icon-60x60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/apple-icon-60x60.png
--------------------------------------------------------------------------------
/design/icon/light/apple-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/apple-icon-72x72.png
--------------------------------------------------------------------------------
/design/icon/light/apple-icon-76x76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/apple-icon-76x76.png
--------------------------------------------------------------------------------
/design/icon/light/apple-icon-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/apple-icon-precomposed.png
--------------------------------------------------------------------------------
/design/icon/light/apple-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/apple-icon.png
--------------------------------------------------------------------------------
/design/icon/light/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 | #ffffff
--------------------------------------------------------------------------------
/design/icon/light/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/favicon-16x16.png
--------------------------------------------------------------------------------
/design/icon/light/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/favicon-32x32.png
--------------------------------------------------------------------------------
/design/icon/light/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/favicon-96x96.png
--------------------------------------------------------------------------------
/design/icon/light/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/favicon.ico
--------------------------------------------------------------------------------
/design/icon/light/ms-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/ms-icon-144x144.png
--------------------------------------------------------------------------------
/design/icon/light/ms-icon-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/ms-icon-150x150.png
--------------------------------------------------------------------------------
/design/icon/light/ms-icon-310x310.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/ms-icon-310x310.png
--------------------------------------------------------------------------------
/design/icon/light/ms-icon-70x70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/icon/light/ms-icon-70x70.png
--------------------------------------------------------------------------------
/design/logo/40w/Asset 1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/40w/Asset 1.png
--------------------------------------------------------------------------------
/design/logo/40w/Asset 3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/40w/Asset 3.png
--------------------------------------------------------------------------------
/design/logo/40w/Asset 4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/40w/Asset 4.png
--------------------------------------------------------------------------------
/design/logo/Elsa-20-transparent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Elsa-20-transparent.png
--------------------------------------------------------------------------------
/design/logo/Elsa.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Elsa.ai
--------------------------------------------------------------------------------
/design/logo/Esla-12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Esla-12.png
--------------------------------------------------------------------------------
/design/logo/Esla-13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Esla-13.png
--------------------------------------------------------------------------------
/design/logo/Esla-14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Esla-14.png
--------------------------------------------------------------------------------
/design/logo/Esla-15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Esla-15.png
--------------------------------------------------------------------------------
/design/logo/Esla-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Esla-16.png
--------------------------------------------------------------------------------
/design/logo/Esla-17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Esla-17.png
--------------------------------------------------------------------------------
/design/logo/Esla-18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Esla-18.png
--------------------------------------------------------------------------------
/design/logo/Esla-19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Esla-19.png
--------------------------------------------------------------------------------
/design/logo/Esla-20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Esla-20.png
--------------------------------------------------------------------------------
/design/logo/Esla-21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Esla-21.png
--------------------------------------------------------------------------------
/design/logo/Esla-22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Esla-22.png
--------------------------------------------------------------------------------
/design/logo/Esla_Source.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/Esla_Source.ai
--------------------------------------------------------------------------------
/design/logo/elsa-logo-glass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/logo/elsa-logo-glass.png
--------------------------------------------------------------------------------
/design/screenshots/elsa-studio-login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/screenshots/elsa-studio-login.png
--------------------------------------------------------------------------------
/design/screenshots/http-hello-world-workflow-designer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/screenshots/http-hello-world-workflow-designer.png
--------------------------------------------------------------------------------
/design/screenshots/http-send-email-workflow-designer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/design/screenshots/http-send-email-workflow-designer.png
--------------------------------------------------------------------------------
/doc/adr/toc.md:
--------------------------------------------------------------------------------
1 | # Architecture Decision Records
2 |
3 | * [1. Record architecture decisions](0001-record-architecture-decisions.md)
4 | * [2. Fault Propagation from Child to Parent Activities](0002-fault-propagation-from-child-to-parent-activities.md)
5 | * [3. Direct Bookmark Management in WorkflowExecutionContext](0003-direct-bookmark-management-in-workflowexecutioncontext.md)
--------------------------------------------------------------------------------
/docker/.dockerignore:
--------------------------------------------------------------------------------
1 | **/.dockerignore
2 | **/.env
3 | **/.git
4 | **/.gitignore
5 | **/.project
6 | **/.settings
7 | **/.toolstarget
8 | **/.vs
9 | **/.vscode
10 | **/.idea
11 | **/*.*proj.user
12 | **/*.dbmdl
13 | **/*.jfm
14 | **/azds.yaml
15 | **/bin
16 | **/charts
17 | **/docker-compose*
18 | **/Dockerfile*
19 | **/node_modules
20 | **/npm-debug.log
21 | **/obj
22 | **/secrets.dev.yaml
23 | **/values.dev.yaml
24 | LICENSE
25 | README.md
--------------------------------------------------------------------------------
/docker/init-db-postgres.sh:
--------------------------------------------------------------------------------
1 | echo "Starting database initialization"
2 |
3 | psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
4 | CREATE USER tracelens WITH PASSWORD 'tracelenspass';
5 | CREATE DATABASE tracelens;
6 | GRANT ALL PRIVILEGES ON DATABASE tracelens TO tracelens;
7 | EOSQL
8 |
9 | echo "Database initialization completed"
--------------------------------------------------------------------------------
/docker/setup/oracle-setup/setup.sql:
--------------------------------------------------------------------------------
1 | alter session set "_ORACLE_SCRIPT"=true;
2 | CREATE USER ELSA IDENTIFIED BY elsa;
3 | GRANT ALL PRIVILEGES TO ELSA;
--------------------------------------------------------------------------------
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elsa-workflows/elsa-core/f6c069fc7816d9c6a53b768842463e3292fa91d3/icon.png
--------------------------------------------------------------------------------
/scripts/docker/build-and-run-all-in-one-web-docker.sh:
--------------------------------------------------------------------------------
1 | docker build -t elsa-server:latest -f ../../docker/ElsaServer.Dockerfile .
2 | docker run -t -i -e ASPNETCORE_ENVIRONMENT='Development' -e HTTP_PORTS=8080 -p 13000:8080 elsa-server:local
--------------------------------------------------------------------------------
/scripts/docker/docker-run-all-in-one-web.ps1:
--------------------------------------------------------------------------------
1 | docker build -t elsa-all-in-one-web:local -f ./src/apps/all-in-one-web/Dockerfile .
2 | docker run -t -i -e ASPNETCORE_ENVIRONMENT='Development' -p 24000:80 elsa-all-in-one-web:local
--------------------------------------------------------------------------------
/scripts/k8s/elsa-server/role-binding.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: rbac.authorization.k8s.io/v1
2 | kind: RoleBinding
3 | metadata:
4 | name: proto-cluster
5 | roleRef:
6 | apiGroup: rbac.authorization.k8s.io
7 | kind: Role
8 | name: proto-cluster
9 | subjects:
10 | - kind: ServiceAccount
11 | name: proto-cluster # this is the service account that should have the role applied
--------------------------------------------------------------------------------
/scripts/k8s/elsa-server/role.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: rbac.authorization.k8s.io/v1
2 | kind: Role
3 | metadata:
4 | name: proto-cluster
5 | rules:
6 | - apiGroups:
7 | - ""
8 | resources:
9 | - pods
10 | verbs:
11 | - get
12 | - list
13 | - watch
14 | - patch
--------------------------------------------------------------------------------
/scripts/k8s/elsa-server/service-account.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ServiceAccount
3 | metadata:
4 | name: proto-cluster
5 | namespace: default # Ensure the namespace matches your deployment
--------------------------------------------------------------------------------
/scripts/k8s/elsa-server/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: elsa-server-service
5 | spec:
6 | type: LoadBalancer
7 | sessionAffinity: None
8 | ports:
9 | - port: 8001
10 | targetPort: 8080
11 | selector:
12 | app: elsa-server
13 |
--------------------------------------------------------------------------------
/scripts/k8s/elsa-studio/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: elsa-studio-service
5 | spec:
6 | type: LoadBalancer
7 | sessionAffinity: None
8 | ports:
9 | - port: 9001
10 | targetPort: 8080
11 | selector:
12 | app: elsa-studio
13 |
--------------------------------------------------------------------------------
/scripts/k8s/postgres/service.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: postgres
5 | labels:
6 | app: postgres
7 | spec:
8 | type: LoadBalancer
9 | ports:
10 | - port: 5432
11 | targetPort: 5432
12 | selector:
13 | app: postgres
--------------------------------------------------------------------------------
/scripts/migrations/README.md:
--------------------------------------------------------------------------------
1 | The `ef-migration-runtime-schema` package provides a runtime schema for the Entity Framework Core migrations. This schema is used to generate the migration scripts for the database.
2 |
3 | https://www.nuget.org/packages/ef-migration-runtime-schema
--------------------------------------------------------------------------------
/src/apps/Elsa.Server.LoadBalancer/Elsa.Server.LoadBalancer.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/apps/Elsa.Server.LoadBalancer/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/apps/Elsa.Server.LoadBalancer/Program.cs:
--------------------------------------------------------------------------------
1 | var builder = WebApplication.CreateBuilder(args);
2 | builder.Services.AddReverseProxy().LoadFromConfig(builder.Configuration.GetSection("ReverseProxy"));
3 | var app = builder.Build();
4 | app.MapReverseProxy();
5 | await app.RunAsync();
--------------------------------------------------------------------------------
/src/apps/Elsa.Server.LoadBalancer/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/apps/Elsa.Server.Web/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/apps/Elsa.ServerAndStudio.Web/Enums/DistributedCachingTransport.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.ServerAndStudio.Web.Enums;
2 |
3 | ///
4 | /// Represents the transport options for distributed caching.
5 | ///
6 | public enum DistributedCachingTransport
7 | {
8 | None,
9 | Memory,
10 | MassTransit
11 | }
--------------------------------------------------------------------------------
/src/apps/Elsa.ServerAndStudio.Web/Enums/MassTransitBroker.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.ServerAndStudio.Web.Enums;
2 |
3 | ///
4 | /// Represents the type of messaging broker used in MassTransit.
5 | ///
6 | public enum MassTransitBroker
7 | {
8 | Memory,
9 | AzureServiceBus,
10 | RabbitMq
11 | }
--------------------------------------------------------------------------------
/src/apps/Elsa.ServerAndStudio.Web/Enums/SqlDatabaseProvider.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.ServerAndStudio.Web.Enums;
2 |
3 | public enum SqlDatabaseProvider
4 | {
5 | SqlServer,
6 | Sqlite,
7 | MySql,
8 | PostgreSql,
9 | CockroachDb
10 | }
--------------------------------------------------------------------------------
/src/apps/Elsa.ServerAndStudio.Web/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/apps/Elsa.Studio.Web/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/apps/ElsaStudioWebAssembly/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/apps/ElsaStudioWebAssembly/MainLayout.razor:
--------------------------------------------------------------------------------
1 | @inherits LayoutComponentBase
2 |
3 |
4 | @Body
5 |
--------------------------------------------------------------------------------
/src/apps/ElsaStudioWebAssembly/README.md:
--------------------------------------------------------------------------------
1 | # Server
2 |
3 | This project represents the Elsa Studio Blazor web assembly application and is hosted by Elsa.AllInOne.Web.
--------------------------------------------------------------------------------
/src/apps/ElsaStudioWebAssembly/_Imports.razor:
--------------------------------------------------------------------------------
1 | @using System.Net.Http
2 | @using System.Net.Http.Json
3 | @using Microsoft.AspNetCore.Components.Routing
4 | @using Microsoft.AspNetCore.Components.Web
5 | @using Microsoft.AspNetCore.Components.WebAssembly.Http
6 | @using Microsoft.JSInterop
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/IsExternalInit.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | // ReSharper disable once CheckNamespace
4 | namespace System.Runtime.CompilerServices;
5 |
6 | [EditorBrowsable(EditorBrowsableState.Never)]
7 | internal sealed class IsExternalInit;
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/RealTime/Messages/WorkflowExecutionLogUpdatedMessage.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.RealTime.Messages;
2 |
3 | ///
4 | /// Represents a message that is sent when the workflow execution log is updated.
5 | ///
6 | public record WorkflowExecutionLogUpdatedMessage();
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/RealTime/Messages/WorkflowInstanceUpdatedMessage.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.RealTime.Messages;
2 |
3 | ///
4 | /// Represents a message that is sent when the workflow instance is updated.
5 | ///
6 | /// The ID of the workflow instance that was updated.
7 | public record WorkflowInstanceUpdatedMessage(string WorkflowInstanceId);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/ActivityDescriptorOptions/Responses/GetActivityDescriptorOptionsResponse.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.ActivityDescriptorOptions.Responses;
2 | ///
3 | /// Represents a response from get activity descriptors Options.
4 | ///
5 | /// The options elements.
6 | public record GetActivityDescriptorOptionsResponse(IDictionary Items);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/ActivityDescriptors/Enums/PortType.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.ActivityDescriptors.Enums;
2 |
3 | ///
4 | /// The type of a port.
5 | ///
6 | public enum PortType
7 | {
8 | ///
9 | /// A port that is embedded in the activity.
10 | ///
11 | Embedded,
12 |
13 | ///
14 | /// A flow port.
15 | ///
16 | Flow
17 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/ActivityDescriptors/Models/OutputDescriptor.cs:
--------------------------------------------------------------------------------
1 | using JetBrains.Annotations;
2 |
3 | namespace Elsa.Api.Client.Resources.ActivityDescriptors.Models;
4 |
5 | ///
6 | /// A descriptor of an activity's output property.
7 | ///
8 | [PublicAPI]
9 | public class OutputDescriptor : PropertyDescriptor
10 | {
11 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/ActivityExecutions/Models/ActivityExecutionReport.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.ActivityExecutions.Models;
2 |
3 | ///
4 | /// Represents a report of activity executions.
5 | ///
6 | /// The activity execution stats.
7 | public record ActivityExecutionReport(ICollection Stats);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/Alterations/Models/AlterationLog.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.Alterations.Models;
2 |
3 | ///
4 | /// Represents a log of alterations.
5 | ///
6 | public class AlterationLog
7 | {
8 |
9 | ///
10 | /// The log entries.
11 | ///
12 | public ICollection LogEntries { get; set; } = new List();
13 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/Alterations/Responses/SubmitResponse.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.Alterations.Responses;
2 |
3 | ///
4 | /// The response to the "Submit" endpoint
5 | ///
6 | public class SubmitResponse
7 | {
8 | ///
9 | /// The ID of the alteration plan created as part of the Submit request
10 | ///
11 | public string PlanId { get; set; } = string.Empty;
12 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/CommitStrategies/Models/CommitStrategyDescriptor.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.CommitStrategies.Models;
2 |
3 | ///
4 | /// Represents a descriptor for a commit strategy, containing information such as its technical name,
5 | /// display name, and description.
6 | ///
7 | public record CommitStrategyDescriptor(string Name, string DisplayName, string Description);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/Identity/Requests/LoginRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.Identity.Requests;
2 |
3 | ///
4 | /// Represents a request to log in.
5 | ///
6 | /// The username.
7 | /// The password.
8 | public record LoginRequest(string Username, string Password);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/Identity/Responses/LoginResponse.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.Identity.Responses;
2 |
3 | ///
4 | /// The response of logging in.
5 | ///
6 | public record LoginResponse(bool IsAuthenticated, string? AccessToken, string? RefreshToken);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/Package/Models/PackageVersionResponse.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.Package.Models;
2 |
3 | ///
4 | /// Contains the installed package version of Elsa.
5 | ///
6 | /// The installed package version of Elsa.
7 | public record PackageVersionResponse(string PackageVersion);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/Resilience/Models/ResilienceStrategyConfigMode.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.Resilience.Models;
2 |
3 | public enum ResilienceStrategyConfigMode
4 | {
5 | Identifier,
6 | Expression,
7 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/StorageDrivers/Responses/ListStorageDriversResponse.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Api.Client.Resources.StorageDrivers.Models;
2 |
3 | namespace Elsa.Api.Client.Resources.StorageDrivers.Responses;
4 |
5 | ///
6 | /// The response containing the storage drivers.
7 | ///
8 | /// The storage drivers.
9 | public record ListStorageDriversResponse(ICollection Items);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/Tasks/Requests/ReportTaskCompletedRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.Tasks.Requests;
2 |
3 | ///
4 | /// Represents a request to report a task has been completed.
5 | ///
6 | /// The result of the task being reported as completed.
7 | public record ReportTaskCompletedRequest(object? Result);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/VariableTypes/Responses/ListVariableTypesResponse.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Api.Client.Resources.VariableTypes.Models;
2 |
3 | namespace Elsa.Api.Client.Resources.VariableTypes.Responses;
4 |
5 | ///
6 | /// A response containing a list of variable types.
7 | ///
8 | /// A list of variable types.
9 | public record ListVariableTypesResponse(ICollection Items);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/BulkExportWorkflowDefinitionsRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Models;
2 |
3 | ///
4 | /// A request to bulk export workflow definitions.
5 | ///
6 | /// The version IDs of the workflow definitions to export.
7 | public record BulkExportWorkflowDefinitionsRequest(string[] Ids);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/ExecuteResponse.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Api.Client.Resources.WorkflowInstances.Models;
2 |
3 | namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Models;
4 |
5 | public record ExecuteResponse(WorkflowState WorkflowState);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/ImportFilesResponse.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Models;
2 |
3 | ///
4 | /// The response of a file import operation.
5 | ///
6 | /// The number of workflows that were imported.
7 | public record ImportFilesResponse(int Count);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/OutputDefinition.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Models;
2 |
3 | ///
4 | /// A definition of a workflow's output.
5 | ///
6 | public class OutputDefinition : ArgumentDefinition
7 | {
8 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Requests/PublishWorkflowDefinitionRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Requests;
2 |
3 | ///
4 | /// Request to publish a workflow definition.
5 | ///
6 | public record PublishWorkflowDefinitionRequest;
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Requests/RetractWorkflowDefinitionRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Requests;
2 |
3 | ///
4 | /// Request to retract a workflow definition.
5 | ///
6 | public record RetractWorkflowDefinitionRequest;
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Requests/UpdateConsumingWorkflowReferencesRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Requests;
2 |
3 | ///
4 | /// Represents a request to update the references of consuming workflow definitions to point to the latest version of the specified definition.
5 | ///
6 | public record UpdateConsumingWorkflowReferencesRequest;
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Responses/BulkDeleteWorkflowDefinitionsResponse.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Responses;
2 |
3 | ///
4 | /// The response from a request to delete workflow definitions.
5 | ///
6 | /// The number of workflow definitions deleted.
7 | public record BulkDeleteWorkflowDefinitionsResponse(long Deleted);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Responses/BulkRetractWorkflowDefinitionsResponse.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Responses;
2 |
3 | ///
4 | /// The response from a request to publish workflow definitions.
5 | ///
6 | public record BulkRetractWorkflowDefinitionsResponse(
7 | ICollection Retracted,
8 | ICollection AlreadyRetracted,
9 | ICollection NotFound);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Responses/CountWorkflowDefinitionsResponse.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Responses;
2 |
3 | ///
4 | /// A response containing the number of workflow definitions.
5 | ///
6 | public record CountWorkflowDefinitionsResponse(long Count);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Responses/ExecuteWorkflowDefinitionResponse.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Api.Client.Resources.WorkflowInstances.Models;
2 |
3 | namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Responses;
4 |
5 | ///
6 | /// A response to a request to execute a workflow definition.
7 | ///
8 | public record ExecuteWorkflowDefinitionResponse(WorkflowState WorkflowState);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Responses/GetIsNameUniqueResponse.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Responses;
2 |
3 | ///
4 | /// A response containing a value indicating whether a workflow definition name is unique.
5 | ///
6 | /// true if the name is unique, otherwise false.
7 | public record GetIsNameUniqueResponse(bool IsUnique);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Responses/GetPathSegmentsResponse.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Api.Client.Shared.Models;
2 |
3 | namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Responses;
4 |
5 | public record GetPathSegmentsResponse(ActivityNode ChildNode, ActivityNode Container, ICollection PathSegments);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowInstances/Models/BulkExportWorkflowInstancesRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.WorkflowInstances.Models;
2 |
3 | ///
4 | /// A request to bulk export workflow instances.
5 | ///
6 | /// The version IDs of the workflow instances to export.
7 | public record BulkExportWorkflowInstancesRequest(string[] Ids);
8 |
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowInstances/Models/ResolvedVariable.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.WorkflowInstances.Models;
2 |
3 | public record ResolvedVariable(string Id, string Name, object? Value);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowInstances/Requests/GetFilteredJournalRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Resources.WorkflowInstances.Requests;
2 |
3 | ///
4 | /// Represents a request to list journal records.
5 | ///
6 | public class GetFilteredJournalRequest
7 | {
8 | ///
9 | /// Gets or sets the filter to apply.
10 | ///
11 | public JournalFilter? Filter { get; set; }
12 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Resources/WorkflowInstances/Responses/BulkDeleteWorkflowInstancesResponse.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace Elsa.Api.Client.Resources.WorkflowInstances.Responses;
4 |
5 | internal sealed class BulkDeleteWorkflowInstancesResponse
6 | {
7 | [JsonPropertyName("deleted")] public int DeletedCount { get; }
8 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/Enums/LogPersistenceEvaluationMode.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared.Enums;
2 |
3 | public enum LogPersistenceEvaluationMode
4 | {
5 | Strategy,
6 | Expression
7 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/HeaderNames.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared;
2 |
3 | ///
4 | /// Contains header names used by the Elsa API.
5 | ///
6 | public static class HeaderNames
7 | {
8 | ///
9 | /// The name of the header that contains the workflow instance ID.
10 | ///
11 | public const string WorkflowInstanceId = "x-elsa-workflow-instance-id";
12 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/Models/DynamicOutcomesOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared.Models;
2 |
3 | ///
4 | /// Options for dynamic outcomes.
5 | ///
6 | /// A list of fixed outcomes that will be appended to the final list of outcomes.
7 | public record DynamicOutcomesOptions(ICollection? FixedOutcomes);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/Models/Entity.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared.Models;
2 |
3 | ///
4 | /// Represents an entity.
5 | ///
6 | public abstract class Entity
7 | {
8 | ///
9 | /// Gets or sets the ID of this entity.
10 | ///
11 | public string Id { get; set; } = default!;
12 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/Models/Link.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared.Models;
2 |
3 | public record Link(string Href, string Rel, string Method);
4 |
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/Models/ListResponse.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared.Models;
2 |
3 | ///
4 | /// Represents a generic list response that offers a unified format for returning list of things from API endpoints.
5 | ///
6 | public record ListResponse(ICollection Items, long Count);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/Models/LogPersistenceConfiguration.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Api.Client.Resources.Scripting.Models;
2 | using Elsa.Api.Client.Shared.Enums;
3 |
4 | namespace Elsa.Api.Client.Shared.Models;
5 |
6 | public class LogPersistenceConfiguration
7 | {
8 | public LogPersistenceEvaluationMode EvaluationMode { get; set; }
9 | public string? StrategyType { get; set; }
10 | public Expression? Expression { get; set; }
11 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/Models/MemoryReference.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared.Models;
2 |
3 | ///
4 | /// Represents a reference to a memory block.
5 | ///
6 | public class MemoryReference
7 | {
8 | ///
9 | /// Gets or sets the ID of the memory block being referenced.
10 | ///
11 | public string Id { get; set; } = default!;
12 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/Models/OrderDirection.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared.Models;
2 |
3 | ///
4 | /// The order direction.
5 | ///
6 | public enum OrderDirection
7 | {
8 | ///
9 | /// Ascending order.
10 | ///
11 | Ascending,
12 |
13 | ///
14 | ///
15 | ///
16 | Descending
17 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/UIHints/CheckList/CheckList.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared.UIHints.CheckList;
2 |
3 | public record CheckList(IEnumerable Items, bool IsFlagsEnum = false);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/UIHints/CheckList/CheckListProps.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared.UIHints.CheckList;
2 |
3 | public class CheckListProps
4 | {
5 | ///
6 | /// The select list.
7 | ///
8 | public CheckList? CheckList { get; set; }
9 | }
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/UIHints/CodeEditor/MultiLineOptions.cs:
--------------------------------------------------------------------------------
1 | using JetBrains.Annotations;
2 |
3 | namespace Elsa.Api.Client.Shared.UIHints.CodeEditor;
4 |
5 | ///
6 | /// Options for the multi-line editor component.
7 | ///
8 | /// The height of the editor.
9 | [PublicAPI]
10 | public record MultiLineOptions(EditorHeight EditorHeight);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/UIHints/DropDown/SelectList.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared.UIHints.DropDown;
2 |
3 | ///
4 | /// Represents a list of select list items.
5 | ///
6 | /// The items.
7 | /// Whether the select list represents a flags enum.
8 | public record SelectList(ICollection Items, bool IsFlagsEnum = false);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/UIHints/DropDown/SelectListItem.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared.UIHints.DropDown;
2 |
3 | ///
4 | /// Represents an item in a .
5 | ///
6 | public record SelectListItem(string Text, string Value);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/UIHints/RadioList/RadioList.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared.UIHints.RadioList;
2 |
3 | public record RadioList(IEnumerable Items, bool IsFlagsEnum = false);
--------------------------------------------------------------------------------
/src/clients/Elsa.Api.Client/Shared/UIHints/RadioList/RadioListProps.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Api.Client.Shared.UIHints.RadioList;
2 |
3 | public class RadioListProps
4 | {
5 | ///
6 | /// The select list.
7 | ///
8 | public RadioList? RadioList { get; set; }
9 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Api.Common/EndpointSecurityOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa;
2 |
3 | public static class EndpointSecurityOptions
4 | {
5 | public static string AdminRoleName = "Admin";
6 | public static string ReaderRoleName = "Reader";
7 | public static string WriteRoleName = "Writer";
8 | public static bool SecurityIsEnabled = true;
9 |
10 | public static void DisableSecurity() => SecurityIsEnabled = false;
11 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Api.Common/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/common/Elsa.Api.Common/Models/CountResponse.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Models;
2 |
3 | ///
4 | /// Represents a count response that offers a unified format for returning count of things from API endpoints.
5 | ///
6 | /// The number of items found for a given query.
7 | public record CountResponse(long Count);
--------------------------------------------------------------------------------
/src/common/Elsa.Api.Common/Models/LinkedResource.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Models;
2 |
3 | public record LinkedResource(Link[] Links)
4 | {
5 | public LinkedResource() : this([]) { }
6 | }
7 |
8 | public record Link(string Href, string Rel, string Method);
--------------------------------------------------------------------------------
/src/common/Elsa.Api.Common/Models/ValidateCredentialsResult.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Models;
2 |
3 | public record ValidateCredentialsResult(bool IsValid, object? Context = null)
4 | {
5 | public static ValidateCredentialsResult Invalid() => new(false);
6 | public static ValidateCredentialsResult Valid(object? context = null) => new(true, context);
7 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Api.Common/PermissionNames.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa;
2 |
3 | public static class PermissionNames
4 | {
5 | public const string All = "*";
6 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Features/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/common/Elsa.Mediator/Channels/CommandsChannel.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Mediator.Abstractions;
2 | using Elsa.Mediator.Contracts;
3 |
4 | namespace Elsa.Mediator.Channels;
5 |
6 | ///
7 | public class CommandsChannel : ChannelBase, ICommandsChannel
8 | {
9 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Mediator/Channels/JobsChannel.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Mediator.Abstractions;
2 | using Elsa.Mediator.Contracts;
3 | using Elsa.Mediator.Models;
4 |
5 | namespace Elsa.Mediator.Channels;
6 |
7 | ///
8 | public class JobsChannel : ChannelBase, IJobsChannel
9 | {
10 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Mediator/Channels/NotificationsChannel.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Mediator.Abstractions;
2 | using Elsa.Mediator.Contracts;
3 |
4 | namespace Elsa.Mediator.Channels;
5 |
6 | ///
7 | public class NotificationsChannel : ChannelBase, INotificationsChannel
8 | {
9 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Mediator/Contracts/ICommand.cs:
--------------------------------------------------------------------------------
1 | using JetBrains.Annotations;
2 |
3 | namespace Elsa.Mediator.Contracts;
4 |
5 | ///
6 | /// Represents a command.
7 | ///
8 | [PublicAPI]
9 | public interface ICommand
10 | {
11 | }
12 |
13 | ///
14 | /// Represents a command.
15 | ///
16 | /// The type of the result.
17 | [PublicAPI]
18 | public interface ICommand : ICommand
19 | {
20 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Mediator/Contracts/IMediator.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Mediator.Contracts;
2 |
3 | ///
4 | /// Represents a mediator that can send requests, commands and publish events.
5 | ///
6 | public interface IMediator : IRequestSender, ICommandSender, INotificationSender
7 | {
8 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Mediator/Contracts/INotification.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Mediator.Contracts;
2 |
3 | ///
4 | /// Represents a notification.
5 | ///
6 | public interface INotification
7 | {
8 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Mediator/Contracts/IRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Mediator.Contracts;
2 |
3 | ///
4 | /// Represents a request.
5 | ///
6 | public interface IRequest
7 | {
8 | }
9 |
10 | ///
11 | /// Represents a request.
12 | ///
13 | /// The type of the response.
14 | public interface IRequest : IRequest
15 | {
16 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Mediator/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/common/Elsa.Mediator/Middleware/Command/CommandMiddlewareDelegate.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Mediator.Middleware.Command;
2 |
3 | ///
4 | /// Represents a command middleware delegate.
5 | ///
6 | public delegate ValueTask CommandMiddlewareDelegate(CommandContext context);
--------------------------------------------------------------------------------
/src/common/Elsa.Mediator/Middleware/Command/Contracts/ICommandMiddleware.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Mediator.Middleware.Command.Contracts;
2 |
3 | ///
4 | /// Represents a command middleware.
5 | ///
6 | public interface ICommandMiddleware
7 | {
8 | ///
9 | /// Invokes the middleware.
10 | ///
11 | /// The command context.
12 | ValueTask InvokeAsync(CommandContext context);
13 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Mediator/Middleware/Notification/NotificationMiddlewareDelegate.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Mediator.Middleware.Notification;
2 |
3 | ///
4 | /// Represents a delegate for a notification middleware.
5 | ///
6 | public delegate ValueTask NotificationMiddlewareDelegate(NotificationContext context);
--------------------------------------------------------------------------------
/src/common/Elsa.Mediator/Middleware/Request/RequestMiddlewareDelegate.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Mediator.Middleware.Request;
2 |
3 | ///
4 | /// Represents a delegate for a request middleware.
5 | ///
6 | public delegate ValueTask RequestMiddlewareDelegate(RequestContext context);
--------------------------------------------------------------------------------
/src/common/Elsa.Mediator/Models/Unit.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Mediator.Models;
2 |
3 | ///
4 | /// Represents a void result.
5 | ///
6 | public record Unit
7 | {
8 | ///
9 | /// Gets the singleton instance of .
10 | ///
11 | public static readonly Unit Instance = new();
12 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Testing.Shared.Component/EventArgs/TriggerChangeTokenSignalEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Testing.Shared;
2 |
3 | public class TriggerChangeTokenSignalEventArgs(string key) : EventArgs
4 | {
5 | public string Key { get; } = key;
6 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Testing.Shared.Component/EventArgs/WorkflowDefinitionDeletedEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Testing.Shared;
2 |
3 | public class WorkflowDefinitionDeletedEventArgs(string definitionId) : EventArgs
4 | {
5 | public string DefinitionId { get; } = definitionId;
6 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Testing.Shared.Component/EventArgs/WorkflowFinishedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Workflows.Activities;
2 | using Elsa.Workflows.State;
3 |
4 | namespace Elsa.Testing.Shared;
5 |
6 | public class WorkflowFinishedEventArgs(Workflow workflow, WorkflowState workflowState) : EventArgs
7 | {
8 | public Workflow Workflow { get; } = workflow;
9 | public WorkflowState WorkflowState { get; } = workflowState;
10 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Testing.Shared.Component/EventArgs/WorkflowInstanceSavedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Workflows.Management.Entities;
2 |
3 | namespace Elsa.Testing.Shared;
4 |
5 | public class WorkflowInstanceSavedEventArgs(WorkflowInstance workflowInstance) : EventArgs
6 | {
7 | public WorkflowInstance WorkflowInstance { get; } = workflowInstance;
8 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Testing.Shared.Component/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/common/Elsa.Testing.Shared.Component/Services/StaticValueHolder.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Testing.Shared.Services;
2 |
3 | public static class StaticValueHolder
4 | {
5 | public static object? Value { get; set; }
6 | }
7 |
--------------------------------------------------------------------------------
/src/common/Elsa.Testing.Shared.Component/Services/TestTenantResolver.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Common.Multitenancy;
2 |
3 | namespace Elsa.Testing.Shared.Services;
4 |
5 | public class TestTenantResolver : TenantResolverBase
6 | {
7 | protected override TenantResolverResult Resolve(TenantResolverContext context)
8 | {
9 | return AutoResolve("Tenant1");
10 | }
11 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Testing.Shared.Component/Services/TriggerChangeTokenSignalEvents..cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Testing.Shared.Services;
2 |
3 | public class TriggerChangeTokenSignalEvents
4 | {
5 | public event EventHandler? ChangeTokenSignalTriggered;
6 | public void RaiseChangeTokenSignalTriggered(TriggerChangeTokenSignalEventArgs args) => ChangeTokenSignalTriggered?.Invoke(this, args);
7 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Testing.Shared.Component/Services/WorkflowDefinitionEvents.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Testing.Shared.Services;
2 |
3 | public class WorkflowDefinitionEvents
4 | {
5 | public event EventHandler? WorkflowDefinitionDeleted;
6 | public void OnWorkflowDefinitionDeleted(WorkflowDefinitionDeletedEventArgs args) => WorkflowDefinitionDeleted?.Invoke(this, args);
7 | }
--------------------------------------------------------------------------------
/src/common/Elsa.Testing.Shared.Integration/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/common/Elsa.Testing.Shared/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Caching/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Caching/Options/CachingOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Caching.Options;
2 |
3 | ///
4 | /// Provides options for configuring caching.
5 | ///
6 | public class CachingOptions
7 | {
8 | ///
9 | /// Gets or sets the duration for which cache entries are stored.
10 | ///
11 | public TimeSpan CacheDuration { get; set; } = TimeSpan.FromMinutes(1);
12 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Attributes/ForwardedTypeAttribute.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common;
2 |
3 | ///
4 | /// Helps to forward types to new types when deserializing JSON containing types that have been renamed and or moved to a different namespace.
5 | ///
6 | /// The new type to forward to.
7 | public class ForwardedTypeAttribute(Type type) : Attribute
8 | {
9 | public Type NewType { get; set; } = type;
10 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Contracts/BackgroundTask.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common;
2 |
3 | public abstract class BackgroundTask : IBackgroundTask
4 | {
5 | public virtual Task ExecuteAsync(CancellationToken cancellationToken) => Task.CompletedTask;
6 | public virtual Task StartAsync(CancellationToken cancellationToken) => Task.CompletedTask;
7 | public virtual Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
8 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Contracts/IBackgroundTask.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common;
2 |
3 | ///
4 | /// Represents a task that is executed in the background.
5 | /// In multi-tenant applications, this task is executed for each tenant.
6 | ///
7 | public interface IBackgroundTask : ITask
8 | {
9 | Task StartAsync(CancellationToken cancellationToken);
10 | Task StopAsync(CancellationToken cancellationToken);
11 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Contracts/ICompressionCodecResolver.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common;
2 |
3 | ///
4 | /// Resolves a from its name.
5 | ///
6 | public interface ICompressionCodecResolver
7 | {
8 | ///
9 | /// Resolves a from its name.
10 | ///
11 | ICompressionCodec Resolve(string name);
12 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Contracts/ILogRecord.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common;
2 |
3 | ///
4 | /// Represents a log record.
5 | ///
6 | public interface ILogRecord;
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Contracts/IRecurringTask.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common;
2 |
3 | ///
4 | /// Represents a recurring task that is executed in the background.
5 | /// In multi-tenant applications, this task is executed for each tenant.
6 | ///
7 | public interface IRecurringTask : ITask
8 | {
9 | Task StartAsync(CancellationToken cancellationToken);
10 | Task StopAsync(CancellationToken cancellationToken);
11 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Contracts/IStartupTask.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common;
2 |
3 | ///
4 | /// Represents a task that is executed during application startup.
5 | /// In multi-tenant applications, this task is executed for each tenant.
6 | ///
7 | public interface IStartupTask : ITask
8 | {
9 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Contracts/ISystemClock.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common;
2 |
3 | ///
4 | /// Represents a system clock.
5 | ///
6 | public interface ISystemClock
7 | {
8 | ///
9 | /// Gets the current date and time in UTC.
10 | ///
11 | DateTimeOffset UtcNow { get; }
12 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Contracts/ITask.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common;
2 |
3 | public interface ITask
4 | {
5 | Task ExecuteAsync(CancellationToken cancellationToken);
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Contracts/RecurringTask.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common;
2 |
3 | public abstract class RecurringTask : IRecurringTask
4 | {
5 | public virtual Task ExecuteAsync(CancellationToken cancellationToken) => Task.CompletedTask;
6 | public virtual Task StartAsync(CancellationToken cancellationToken) => Task.CompletedTask;
7 | public virtual Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
8 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Entities/ManagedEntity.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Entities;
2 |
3 | ///
4 | /// An entity that maintains a "created" timestamp.
5 | ///
6 | public abstract class ManagedEntity : Entity
7 | {
8 | public DateTimeOffset CreatedAt { get; set; }
9 | public DateTimeOffset UpdatedAt { get; set; }
10 | public string? Owner { get; set; }
11 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Entities/OrderDirection.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Entities;
2 |
3 | ///
4 | /// The order direction.
5 | ///
6 | public enum OrderDirection
7 | {
8 | ///
9 | /// Ascending order.
10 | ///
11 | Ascending,
12 |
13 | ///
14 | ///
15 | ///
16 | Descending
17 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Exceptions/MissingConfigurationException.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Exceptions;
2 |
3 | ///
4 | /// Configuration is missing.
5 | ///
6 | public class MissingConfigurationException : Exception
7 | {
8 | ///
9 | public MissingConfigurationException(string message) : base(message)
10 | {
11 | }
12 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Multitenancy/Contracts/IBackgroundTaskStarter.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Multitenancy;
2 |
3 | public interface IBackgroundTaskStarter
4 | {
5 | Task StartAsync(IBackgroundTask task, CancellationToken cancellationToken);
6 | Task StopAsync(IBackgroundTask task, CancellationToken cancellationToken);
7 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Multitenancy/Contracts/ITaskExecutor.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Multitenancy;
2 |
3 | public interface ITaskExecutor
4 | {
5 | Task ExecuteTaskAsync(ITask task, CancellationToken cancellationToken);
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Multitenancy/Contracts/ITenantAccessor.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Multitenancy;
2 |
3 | public interface ITenantAccessor
4 | {
5 | ///
6 | /// Get the current .
7 | ///
8 | /// Current tenant or null.
9 | Tenant? Tenant { get; }
10 |
11 | IDisposable PushContext(Tenant? tenant);
12 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Multitenancy/Contracts/ITenantActivatedEvent.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Multitenancy;
2 |
3 | public interface ITenantActivatedEvent
4 | {
5 | Task TenantActivatedAsync(TenantActivatedEventArgs args);
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Multitenancy/Contracts/ITenantDeactivatedEvent.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Multitenancy;
2 |
3 | public interface ITenantDeactivatedEvent
4 | {
5 | Task TenantDeactivatedAsync(TenantDeactivatedEventArgs args);
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Multitenancy/Contracts/ITenantFinder.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Multitenancy;
2 |
3 | public interface ITenantFinder
4 | {
5 | Task FindByIdAsync(string tenantId, CancellationToken cancellationToken = default);
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Multitenancy/Contracts/ITenantScopeFactory.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Multitenancy;
2 |
3 | public interface ITenantScopeFactory
4 | {
5 | ///
6 | /// Creates a new tenant scope.
7 | ///
8 | /// The tenant.
9 | /// The tenant scope.
10 | TenantScope CreateScope(Tenant? tenant);
11 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Multitenancy/EventArgs/TenantActivatedEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Multitenancy;
2 |
3 | public record TenantActivatedEventArgs(Tenant Tenant, TenantScope TenantScope, CancellationToken CancellationToken) : TenantEventArgs(Tenant, TenantScope, CancellationToken);
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Multitenancy/EventArgs/TenantDeactivatedEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Multitenancy;
2 |
3 | public record TenantDeactivatedEventArgs(Tenant Tenant, TenantScope TenantScope, CancellationToken CancellationToken) : TenantEventArgs(Tenant, TenantScope, CancellationToken);
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Multitenancy/EventArgs/TenantEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Multitenancy;
2 |
3 | public record TenantEventArgs(Tenant Tenant, TenantScope TenantScope, CancellationToken CancellationToken);
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/RecurringTasks/CronSchedule.cs:
--------------------------------------------------------------------------------
1 | using Cronos;
2 |
3 | namespace Elsa.Common.RecurringTasks;
4 |
5 | public class CronSchedule(ISystemClock systemClock, CronExpression expression) : ISchedule
6 | {
7 | public ScheduledTimer CreateTimer(Func action)
8 | {
9 | return new ScheduledTimer(action, () => expression.GetNextOccurrence(systemClock.UtcNow.DateTime)!.Value - systemClock.UtcNow.DateTime);
10 | }
11 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/RecurringTasks/ISchedule.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.RecurringTasks;
2 |
3 | public interface ISchedule
4 | {
5 | ScheduledTimer CreateTimer(Func action);
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/RecurringTasks/IntervalExpressionType.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.RecurringTasks;
2 |
3 | public enum IntervalExpressionType
4 | {
5 | Cron,
6 | Interval
7 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/RecurringTasks/IntervalSchedule.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.RecurringTasks;
2 |
3 | public class IntervalSchedule(TimeSpan interval) : ISchedule
4 | {
5 | public ScheduledTimer CreateTimer(Func action)
6 | {
7 | return new ScheduledTimer(action, () => interval);
8 | }
9 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/RecurringTasks/OrderAttribute.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.RecurringTasks;
2 |
3 | ///
4 | /// Configures a task with a priority.
5 | ///
6 | [AttributeUsage(AttributeTargets.Class)]
7 | public class OrderAttribute(float order) : Attribute
8 | {
9 | public float Order { get; } = order;
10 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/RecurringTasks/RecurringTaskOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.RecurringTasks;
2 |
3 | public class RecurringTaskOptions
4 | {
5 | public RecurringTaskSchedule Schedule { get; } = new();
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/RecurringTasks/SingleNodeTaskAttribute.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.RecurringTasks;
2 |
3 | ///
4 | /// Configures a task to be executed on a single node in a multi-node environment.
5 | ///
6 | [AttributeUsage(AttributeTargets.Class)]
7 | public class SingleNodeTaskAttribute : Attribute;
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Serialization/TypeAliasRegistry.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Serialization;
2 |
3 | public static class TypeAliasRegistry
4 | {
5 | public static Dictionary TypeAliases { get; } = new();
6 |
7 | public static void RegisterAlias(string alias, Type type) => TypeAliases[alias] = type;
8 |
9 | public static Type? GetType(string alias) => TypeAliases.GetValueOrDefault(alias);
10 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Common/Services/SystemClock.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Common.Services;
2 |
3 | ///
4 | public class SystemClock : ISystemClock
5 | {
6 | ///
7 | public DateTimeOffset UtcNow => DateTimeOffset.UtcNow;
8 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.CSharp/Activities/RunCSharp/RunCSharpOptionsProvider.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using Elsa.Workflows.UIHints.CodeEditor;
3 |
4 | // ReSharper disable once CheckNamespace
5 | namespace Elsa.Expressions.CSharp.Activities;
6 |
7 | internal class RunCSharpOptionsProvider : CodeEditorOptionsProviderBase
8 | {
9 | protected override string GetLanguage(PropertyInfo propertyInfo, object? context) => "csharp";
10 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.CSharp/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.JavaScript.Libraries/ClientLib/src/lodash.js:
--------------------------------------------------------------------------------
1 | module.exports = require('lodash');
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.JavaScript.Libraries/ClientLib/src/lodashFp.js:
--------------------------------------------------------------------------------
1 | module.exports = require('lodash/fp');
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.JavaScript.Libraries/ClientLib/src/moment.js:
--------------------------------------------------------------------------------
1 | module.exports = require('moment');
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.JavaScript.Libraries/Features/LodashFeature.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Features.Services;
2 |
3 | namespace Elsa.Expressions.JavaScript.Libraries;
4 |
5 | public class LodashFeature(IModule module) : ScriptModuleFeatureBase("lodash", module);
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.JavaScript.Libraries/Features/LodashFpFeature.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Features.Services;
2 |
3 | namespace Elsa.Expressions.JavaScript.Libraries;
4 |
5 | public class LodashFpFeature(IModule module) : ScriptModuleFeatureBase("lodashFp", module);
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.JavaScript.Libraries/Features/MomentFeature.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Features.Services;
2 |
3 | namespace Elsa.Expressions.JavaScript.Libraries;
4 |
5 | public class MomentFeature(IModule module) : ScriptModuleFeatureBase("moment", module);
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.JavaScript.Libraries/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.JavaScript/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.JavaScript/Helpers/VariableNameValidator.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Expressions.JavaScript.Helpers;
2 |
3 | public static class VariableNameValidator
4 | {
5 | public static bool IsValidVariableName(string name)
6 | {
7 | return !string.IsNullOrWhiteSpace(name) && name.All(char.IsLetterOrDigit);
8 | }
9 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.JavaScript/TypeDefinitions/Models/TypeDefinitionContext.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Workflows.Models;
2 |
3 | namespace Elsa.Expressions.JavaScript.TypeDefinitions.Models;
4 |
5 | ///
6 | /// Provides context to intellisense providers.
7 | ///
8 | public record TypeDefinitionContext(WorkflowGraph WorkflowGraph, string? ActivityTypeName, string? PropertyName, CancellationToken CancellationToken);
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.Liquid/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.Liquid/Helpers/LiquidActivityModel.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Workflows;
2 |
3 | namespace Elsa.Expressions.Liquid.Helpers;
4 |
5 | ///
6 | /// A model that is passed to Liquid templates when rendering an activity.
7 | ///
8 | public record LiquidActivityModel(ActivityExecutionContext ActivityExecutionContext, string? ActivityName, string? ActivityId)
9 | {
10 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.Liquid/Notifications/RenderingLiquidTemplate.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Expressions.Models;
2 | using Elsa.Mediator.Contracts;
3 | using Fluid;
4 |
5 | namespace Elsa.Expressions.Liquid.Notifications;
6 |
7 | public record RenderingLiquidTemplate(TemplateContext TemplateContext, ExpressionExecutionContext Context) : INotification;
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.Python/Activities/RunPython/RunPythonOptionsProvider.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using Elsa.Workflows.UIHints.CodeEditor;
3 |
4 | // ReSharper disable once CheckNamespace
5 | namespace Elsa.Expressions.Python.Activities;
6 |
7 | internal class RunPythonOptionsProvider : CodeEditorOptionsProviderBase
8 | {
9 | protected override string GetLanguage(PropertyInfo propertyInfo, object? context) => "python";
10 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions.Python/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Expressions/Models/ExpressionSerializationContext.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json;
2 |
3 | namespace Elsa.Expressions.Models;
4 |
5 | ///
6 | /// Defines the context for expression serialization.
7 | ///
8 | public record ExpressionSerializationContext(string ExpressionType, JsonElement JsonElement, JsonSerializerOptions Options, Type MemoryBlockType);
--------------------------------------------------------------------------------
/src/modules/Elsa.Hosting.Management/Contracts/IApplicationInstanceNameProvider.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Hosting.Management.Contracts;
2 |
3 | ///
4 | /// Provides a name of the current application instance.
5 | ///
6 | public interface IApplicationInstanceNameProvider
7 | {
8 | ///
9 | /// Returns a name for the instance.
10 | ///
11 | public string GetName();
12 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Hosting.Management/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Hosting.Management/Notifications/HeartbeatTimedOut.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Mediator.Contracts;
2 |
3 | namespace Elsa.Hosting.Management.Notifications;
4 |
5 | public record HeartbeatTimedOut(string InstanceName) : INotification;
6 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/Constants/HttpFaultCategories.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Http;
2 |
3 | public static class HttpFaultCategories
4 | {
5 | public const string Http = "HTTP";
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/Constants/HttpFaultCodes.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Http;
2 |
3 | public static class HttpFaultCodes
4 | {
5 | public const string NoHttpContext = "NoHttpContext";
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/Contexts/HttpEndpointRouteProviderContext.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Http.Bookmarks;
2 | using JetBrains.Annotations;
3 |
4 | namespace Elsa.Http.Contexts;
5 |
6 | [UsedImplicitly]
7 | public record HttpEndpointRouteProviderContext(HttpEndpointBookmarkPayload Payload, string? TenantId, CancellationToken CancellationToken);
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/Contexts/HttpResponseParserContext.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Http.Contexts;
2 |
3 | ///
4 | /// Represents the context in which an HTTP response is being parsed.
5 | ///
6 | public record HttpResponseParserContext(Stream Content, string ContentType, Type? ReturnType, IDictionary Headers, CancellationToken CancellationToken);
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/Contracts/IFileCacheStorageProvider.cs:
--------------------------------------------------------------------------------
1 | using FluentStorage.Blobs;
2 |
3 | namespace Elsa.Http;
4 |
5 | ///
6 | /// Represents a provider of a file cache storage.
7 | ///
8 | public interface IFileCacheStorageProvider
9 | {
10 | ///
11 | /// Gets the storage.
12 | ///
13 | ///
14 | IBlobStorage GetStorage();
15 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/Contracts/IHttpEndpointBasePathProvider.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Http;
2 |
3 | public interface IHttpEndpointBasePathProvider
4 | {
5 | string GetBasePath();
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/Contracts/IHttpEndpointFaultHandler.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Http;
2 |
3 | ///
4 | /// Implement this to control what to return to the client in case an unhandled exception occurs while executing the workflow.
5 | ///
6 | public interface IHttpEndpointFaultHandler
7 | {
8 | ValueTask HandleAsync(HttpEndpointFaultContext context);
9 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/Contracts/IHttpEndpointRoutesProvider.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Http.Contexts;
2 |
3 | namespace Elsa.Http;
4 |
5 | public interface IHttpEndpointRoutesProvider
6 | {
7 | Task> GetRoutesAsync(HttpEndpointRouteProviderContext context);
8 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/Exceptions/HttpBadRequestException.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Http.Exceptions;
2 |
3 | ///
4 | /// Exception thrown when a bad request is received.
5 | ///
6 | public class HttpBadRequestException : Exception
7 | {
8 | ///
9 | public HttpBadRequestException(string message, Exception exception) : base(message, exception)
10 | {
11 | }
12 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/Extensions/StringArrayExtensions.cs:
--------------------------------------------------------------------------------
1 | // ReSharper disable once CheckNamespace
2 |
3 | namespace Elsa.Extensions;
4 |
5 | public static class StringArrayExtensions
6 | {
7 | public static string JoinSegments(this IEnumerable segments, string separator = "/")
8 | {
9 | return string.Join(separator, segments.Where(x => !string.IsNullOrWhiteSpace(x)).Select(x => x!.Trim('/')));
10 | }
11 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/HttpStimulusNames.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Http;
2 |
3 | public class HttpStimulusNames
4 | {
5 | public const string HttpEndpoint = "Elsa.HttpEndpoint";
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/Models/AuthorizeHttpEndpointContext.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Workflows.Activities;
2 | using Microsoft.AspNetCore.Http;
3 |
4 | namespace Elsa.Http;
5 |
6 | ///
7 | /// Represents the context for authorizing an HTTP endpoint.
8 | ///
9 | public record AuthorizeHttpEndpointContext(HttpContext HttpContext, Workflow Workflow, string? Policy = default);
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/Models/EventTokenPayload.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Http;
2 |
3 | ///
4 | /// Represents the payload of an event, serialized as a secured token.
5 | ///
6 | /// The name of the event.
7 | /// The ID of the workflow instance to trigger with the event.
8 | public record EventTokenPayload(string EventName, string WorkflowInstanceId);
--------------------------------------------------------------------------------
/src/modules/Elsa.Http/Models/HttpWorkflowLookupResult.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Workflows.Models;
2 | using Elsa.Workflows.Runtime.Entities;
3 |
4 | namespace Elsa.Http;
5 |
6 | ///
7 | /// Represents the result of a workflow lookup.
8 | ///
9 | public record HttpWorkflowLookupResult(WorkflowGraph? WorkflowGraph, ICollection Triggers);
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/Constants/CustomClaimTypes.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Identity.Constants;
2 |
3 | ///
4 | /// Constants for claims.
5 | ///
6 | public static class CustomClaimTypes
7 | {
8 | ///
9 | /// The tenant ID claim.
10 | ///
11 | public const string TenantId = "http://schemas.microsoft.com/identity/claims/tenantid";
12 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/Contracts/IAccessTokenIssuer.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Identity.Entities;
2 | using Elsa.Identity.Models;
3 |
4 | namespace Elsa.Identity.Contracts;
5 |
6 | public interface IAccessTokenIssuer
7 | {
8 | ValueTask IssueTokensAsync(User user, CancellationToken cancellationToken = default);
9 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/Contracts/IClientIdGenerator.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Identity.Contracts;
2 |
3 | ///
4 | /// Represents a generator of client identifiers.
5 | ///
6 | public interface IClientIdGenerator
7 | {
8 | ///
9 | /// Generates a short identifier.
10 | ///
11 | /// The client ID.
12 | Task GenerateAsync(CancellationToken cancellationToken = default);
13 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/Contracts/IRandomStringGenerator.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Identity.Contracts;
2 |
3 | ///
4 | /// Represents a generator of random strings.
5 | ///
6 | public interface IRandomStringGenerator
7 | {
8 | ///
9 | /// Generates a short identifier.
10 | ///
11 | /// The client ID.
12 | string Generate(int length = 32, char[]? chars = null);
13 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/Contracts/ISecretGenerator.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Identity.Contracts;
2 |
3 | ///
4 | /// Generates secrets.
5 | ///
6 | public interface ISecretGenerator
7 | {
8 | ///
9 | /// Generates a secret.
10 | ///
11 | /// The length of the secret.
12 | /// The secret.
13 | string Generate(int length = 32);
14 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/Endpoints/Login/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Identity.Endpoints.Login;
2 |
3 | public class Request
4 | {
5 | public string Username { get; set; } = null!;
6 | public string Password { get; set; } = null!;
7 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/Endpoints/Login/RequestValidator.cs:
--------------------------------------------------------------------------------
1 | using FastEndpoints;
2 | using FluentValidation;
3 | using JetBrains.Annotations;
4 |
5 | namespace Elsa.Identity.Endpoints.Login;
6 |
7 | [PublicAPI]
8 | internal class RequestValidator : Validator
9 | {
10 | public RequestValidator()
11 | {
12 | RuleFor(x => x.Username).NotNull();
13 | RuleFor(x => x.Password).NotNull();
14 | }
15 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/Endpoints/Roles/Create/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Identity.Endpoints.Roles.Create;
2 |
3 | internal class Request
4 | {
5 | public string? Id { get; set; } = null!;
6 | public string Name { get; set; } = null!;
7 | public ICollection? Permissions { get; set; }
8 | }
9 |
10 | internal record Response(
11 | string Id,
12 | string Name,
13 | ICollection Permissions
14 | );
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/Endpoints/Secrets/Hash/Validators.cs:
--------------------------------------------------------------------------------
1 | using FastEndpoints;
2 | using FluentValidation;
3 | using JetBrains.Annotations;
4 |
5 | namespace Elsa.Identity.Endpoints.Secrets.Hash;
6 |
7 | [PublicAPI]
8 | internal class RequestValidator : Validator
9 | {
10 | public RequestValidator()
11 | {
12 | RuleFor(x => x.Secret).NotEmpty();
13 | }
14 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/IdentityPolicyNames.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Identity;
2 |
3 | ///
4 | /// Provides policy name constants.
5 | ///
6 | public static class IdentityPolicyNames
7 | {
8 | ///
9 | /// The Security Root policy represents root access to security related feature, such as hashing passwords.
10 | ///
11 | public const string SecurityRoot = "SecurityRoot";
12 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/Models/IssuedTokens.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Identity.Models;
2 |
3 | ///
4 | /// Represents issued tokens.
5 | ///
6 | /// The access token.
7 | /// The refresh token.
8 | public record IssuedTokens(string AccessToken, string RefreshToken);
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/Options/ApplicationsOptions.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Identity.Entities;
2 |
3 | namespace Elsa.Identity.Options;
4 |
5 | ///
6 | /// Represents options that stores available applications.
7 | ///
8 | public class ApplicationsOptions
9 | {
10 | ///
11 | /// Gets or sets the applications.
12 | ///
13 | public ICollection Applications { get; set; } = new List();
14 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/Options/RolesOptions.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Identity.Entities;
2 |
3 | namespace Elsa.Identity.Options;
4 |
5 | ///
6 | /// Represents options that stores available roles.
7 | ///
8 | public class RolesOptions
9 | {
10 | ///
11 | /// Gets or sets the roles.
12 | ///
13 | public ICollection Roles { get; set; } = new List();
14 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Identity/Options/UsersOptions.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Identity.Entities;
2 |
3 | namespace Elsa.Identity.Options;
4 |
5 | ///
6 | /// Represents options that stores available users.
7 | ///
8 | public class UsersOptions
9 | {
10 | ///
11 | /// Gets or sets the users.
12 | ///
13 | public ICollection Users { get; set; } = new List();
14 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.KeyValues/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience.Core/Attributes/ResilienceCategoryAttribute.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Resilience;
2 |
3 | [AttributeUsage(AttributeTargets.Class)]
4 | public class ResilienceCategoryAttribute(string category) : Attribute
5 | {
6 | public string Category { get; } = category;
7 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience.Core/Contracts/IResilienceStrategy.cs:
--------------------------------------------------------------------------------
1 | using Polly;
2 |
3 | namespace Elsa.Resilience;
4 |
5 | public interface IResilienceStrategy
6 | {
7 | string Id { get; set; }
8 | string DisplayName { get; set; }
9 | Task ConfigurePipeline(ResiliencePipelineBuilder pipelineBuilder, ResilienceContext context);
10 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience.Core/Contracts/IResilienceStrategyCatalog.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Resilience;
2 |
3 | public interface IResilienceStrategyCatalog
4 | {
5 | Task> ListAsync(CancellationToken cancellationToken = default);
6 | Task GetAsync(string id, CancellationToken cancellationToken = default);
7 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience.Core/Contracts/IResilienceStrategyConfigEvaluator.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Expressions.Models;
2 | using Elsa.Resilience.Models;
3 |
4 | namespace Elsa.Resilience;
5 |
6 | public interface IResilienceStrategyConfigEvaluator
7 | {
8 | Task EvaluateAsync(ResilienceStrategyConfig? config, ExpressionExecutionContext context, CancellationToken cancellationToken = default);
9 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience.Core/Contracts/IResilienceStrategySource.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Resilience;
2 |
3 | public interface IResilienceStrategySource
4 | {
5 | Task> GetStrategiesAsync(CancellationToken cancellationToken = default);
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience.Core/Contracts/IResilientActivity.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Resilience.Models;
2 | using Elsa.Workflows;
3 |
4 | namespace Elsa.Resilience;
5 |
6 | public interface IResilientActivity : IActivity
7 | {
8 | IDictionary CollectRetryDetails(ActivityExecutionContext context, RetryAttempt attempt);
9 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience.Core/Contracts/IRetryAttemptReader.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Common.Models;
2 | using Elsa.Resilience.Entities;
3 |
4 | namespace Elsa.Resilience;
5 |
6 | public interface IRetryAttemptReader
7 | {
8 | Task> ReadAttemptsAsync(string activityInstanceId, PageArgs? pageArgs = null, CancellationToken cancellationToken = default);
9 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience.Core/Contracts/IRetryAttemptRecorder.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Resilience.Models;
2 |
3 | namespace Elsa.Resilience;
4 |
5 | public interface IRetryAttemptRecorder
6 | {
7 | Task RecordAsync(RecordRetryAttemptsContext context);
8 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience.Core/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience.Core/Models/RecordRetryAttemptsContext.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Resilience.Entities;
2 | using Elsa.Workflows;
3 |
4 | namespace Elsa.Resilience.Models;
5 |
6 | public record RecordRetryAttemptsContext(ActivityExecutionContext ActivityExecutionContext, ICollection Attempts, CancellationToken CancellationToken);
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience.Core/Models/ResilienceStrategyConfigMode.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Resilience.Models;
2 |
3 | public enum ResilienceStrategyConfigMode
4 | {
5 | Identifier,
6 | Expression,
7 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience.Core/Models/RetryAttempt.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Workflows;
2 |
3 | namespace Elsa.Resilience.Models;
4 |
5 | public record RetryAttempt(ActivityExecutionContext ActivityExecutionContext, int AttemptNumber, TimeSpan RetryDelay, object? Result, Exception? Exception)
6 | {
7 | internal static readonly object RetriesKey = new();
8 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience.Core/Options/ResilienceOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Resilience.Options;
2 |
3 | public class ResilienceOptions
4 | {
5 | public ICollection StrategyTypes { get; set; } = new List();
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience/Endpoints/SimulateResponse/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Resilience.Endpoints.SimulateResponse;
2 |
3 | public record SimulatedResponse(string Message);
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience/Extensions/ModuleExtensions.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Extensions;
2 | using Elsa.Features.Services;
3 | using Elsa.Resilience.Features;
4 |
5 | namespace Elsa.Resilience.Extensions;
6 |
7 | public static class ModuleExtensions
8 | {
9 | public static IModule UseResilience(this IModule module, Action? configure = null)
10 | {
11 | return module.Use(configure);
12 | }
13 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Resilience/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.SasTokens/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/Bookmarks/CronBookmarkPayload.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Scheduling.Bookmarks;
2 |
3 | internal record CronBookmarkPayload(DateTimeOffset ExecuteAt, string CronExpression);
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/Bookmarks/CronTriggerPayload.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Scheduling.Bookmarks;
2 |
3 | public record CronTriggerPayload(string CronExpression);
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/Bookmarks/DelayPayload.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Scheduling.Activities;
2 |
3 | namespace Elsa.Scheduling.Bookmarks;
4 |
5 | ///
6 | /// A bookmark payload for .
7 | ///
8 | public record DelayPayload(DateTimeOffset ResumeAt);
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/Bookmarks/StartAtPayload.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Scheduling.Bookmarks;
2 |
3 | internal record StartAtPayload(DateTimeOffset ExecuteAt);
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/Bookmarks/TimerBookmarkPayload.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Scheduling.Bookmarks;
2 |
3 | internal record TimerBookmarkPayload(DateTimeOffset ResumeAt);
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/Bookmarks/TimerTriggerPayload.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Scheduling.Bookmarks;
2 |
3 | public record TimerTriggerPayload(DateTimeOffset StartAt, TimeSpan Interval);
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/Commands/RunScheduledTask.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Mediator.Contracts;
2 |
3 | namespace Elsa.Scheduling.Commands;
4 |
5 | ///
6 | /// A command to run a scheduled task.
7 | ///
8 | public record RunScheduledTask(ITask Task) : ICommand;
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/Contracts/ISchedule.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Scheduling;
2 |
3 | ///
4 | /// A schedule that can be used to schedule a task.
5 | ///
6 | public interface ISchedule
7 | {
8 | ///
9 | /// Create a scheduled task.
10 | ///
11 | /// The context.
12 | /// The scheduled task.
13 | IScheduledTask Schedule(ScheduleContext context);
14 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/Contracts/IScheduledTask.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Scheduling;
2 |
3 | ///
4 | /// Represents a scheduled task.
5 | ///
6 | public interface IScheduledTask
7 | {
8 | ///
9 | /// Cancels the scheduled task.
10 | ///
11 | void Cancel();
12 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/Contracts/ITask.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Scheduling;
2 |
3 | ///
4 | /// Represents a task.
5 | ///
6 | public interface ITask
7 | {
8 | ///
9 | /// Executes the task.
10 | ///
11 | ValueTask ExecuteAsync(TaskExecutionContext context);
12 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/Models/ScheduleContext.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Scheduling;
2 |
3 | ///
4 | /// The context for scheduling a task.
5 | ///
6 | /// The service provider.
7 | /// The task to schedule.
8 | public record ScheduleContext(IServiceProvider ServiceProvider, ITask Task);
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/Models/TaskExecutionContext.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Scheduling;
2 |
3 | ///
4 | /// Represents a task execution context.
5 | ///
6 | /// The service provider.
7 | /// The cancellation token.
8 | public record TaskExecutionContext(IServiceProvider ServiceProvider, CancellationToken CancellationToken);
--------------------------------------------------------------------------------
/src/modules/Elsa.Scheduling/SchedulingStimulusNames.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Scheduling;
2 |
3 | public static class SchedulingStimulusNames
4 | {
5 | public const string Cron = "Elsa.Cron";
6 | public const string StartAt = "Elsa.StartAt";
7 | public const string Timer = "Elsa.Timer";
8 | public const string Delay = "Elsa.Delay";
9 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Tenants.AspNetCore/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Tenants.AspNetCore/Options/MultitenancyHttpOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Tenants.AspNetCore.Options;
2 |
3 | public class MultitenancyHttpOptions
4 | {
5 | public string TenantHeaderName { get; set; } = "X-Tenant-Id";
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Tenants.AspNetCore/Settings/HttpEndpointOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Tenants.AspNetCore.Settings;
2 |
3 | public class HttpEndpointSettings
4 | {
5 | public string? Prefix { get; set; }
6 | public string? HeaderName { get; set; }
7 | public string? QueryStringName { get; set; }
8 | public string? Origin { get; set; }
9 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Tenants/Contracts/ITenantResolverPipelineInvoker.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Common.Multitenancy;
2 |
3 | namespace Elsa.Tenants;
4 |
5 | public interface ITenantResolverPipelineInvoker
6 | {
7 | Task InvokePipelineAsync(CancellationToken cancellationToken = default);
8 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Tenants/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.WorkflowProviders.BlobStorage/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.CompilerServices;
2 |
3 | [assembly: InternalsVisibleTo("Elsa.Workflows.IntegrationTests")]
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Constants/AuthorizationPolicies.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Constants;
2 |
3 | public static class AuthorizationPolicies
4 | {
5 | ///
6 | /// The read-only policy ensures that that workflow management is not possible when the read-only mode is enabled or when a workflow is marked as read-only.
7 | ///
8 | public const string NotReadOnlyPolicy = "NotReadOnlyPolicy";
9 | }
10 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/ActivityDescriptors/Get/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.ActivityDescriptors.Get;
2 |
3 | internal class Request
4 | {
5 | public string TypeName { get; set; }
6 | public int? Version { get; set; }
7 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/ActivityDescriptors/List/Models.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Workflows.Models;
2 | using JetBrains.Annotations;
3 |
4 | namespace Elsa.Workflows.Api.Endpoints.ActivityDescriptors.List;
5 |
6 | [PublicAPI]
7 | internal class Response(ICollection items)
8 | {
9 | public ICollection Items { get; set; } = items;
10 | public int Count => Items.Count;
11 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/Package/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.Package;
2 |
3 | internal record Response(string PackageVersion);
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/StorageDrivers/List/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.StorageDrivers.List;
2 |
3 | public class Response(ICollection items)
4 | {
5 | public ICollection Items { get; set; } = items;
6 | }
7 |
8 | public record StorageDriverDescriptor(string TypeName, string DisplayName, double Priority = 0, bool Deprecated = false);
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/Tasks/Complete/Constants.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace Elsa.Workflows.Api.Endpoints.Tasks.Complete;
3 |
4 | ///
5 | /// Provides policy names accepted by the endpoint.
6 | ///
7 | public static class Constants
8 | {
9 | ///
10 | /// The policy name accepted by this endpoint.
11 | ///
12 | public const string PolicyName = "CompleteTask";
13 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/Tasks/Complete/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.Tasks.Complete;
2 |
3 | public class Request
4 | {
5 | public string TaskId { get; set; } = default!;
6 | public object? Result { get; set; }
7 | }
8 |
9 | public class Response
10 | {
11 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/VariableTypes/List/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.VariableTypes.List;
2 |
3 | internal class Response(ICollection items)
4 | {
5 | public ICollection Items { get; set; } = items;
6 | }
7 |
8 | internal record VariableTypeDescriptor(string TypeName, string DisplayName, string Category, string? Description);
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Count/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.WorkflowDefinitions.Count;
2 |
3 | internal record Response(long Count);
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Delete/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.WorkflowDefinitions.Delete;
2 |
3 | internal class Request
4 | {
5 | public string DefinitionId { get; set; } = default!;
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/DeleteVersion/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.WorkflowDefinitions.DeleteVersion;
2 |
3 | internal class Request
4 | {
5 | public string Id { get; set; } = default!;
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/GetByDefinitionId/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.WorkflowDefinitions.GetByDefinitionId;
2 |
3 | internal class Request
4 | {
5 | public string DefinitionId { get; set; } = default!;
6 | public string? VersionOptions { get; set; }
7 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/GetById/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.WorkflowDefinitions.GetById;
2 |
3 | internal class Request
4 | {
5 | public string Id { get; set; } = default!;
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/GetManyById/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.WorkflowDefinitions.GetManyById;
2 |
3 | internal class Request
4 | {
5 | public ICollection Ids { get; set; } = default!;
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Post/Models.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Workflows.Api.Models;
2 |
3 | namespace Elsa.Workflows.Api.Endpoints.WorkflowDefinitions.Post;
4 |
5 | internal record Response(LinkedWorkflowDefinitionModel WorkflowDefinition, bool AlreadyPublished, int ConsumingWorkflowCount);
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Publish/Models.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Workflows.Api.Models;
2 |
3 | namespace Elsa.Workflows.Api.Endpoints.WorkflowDefinitions.Publish;
4 |
5 | internal class Request
6 | {
7 | public string DefinitionId { get; set; } = default!;
8 | }
9 |
10 | internal record Response(LinkedWorkflowDefinitionModel WorkflowDefinition, bool AlreadyPublished, int ConsumingWorkflowCount);
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Retract/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.WorkflowDefinitions.Retract;
2 |
3 | public class Request
4 | {
5 | public string DefinitionId { get; set; } = default!;
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/UpdateReferences/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.WorkflowDefinitions.UpdateReferences;
2 |
3 | internal record Request
4 | {
5 | public string DefinitionId { get; set; } = default!;
6 | }
7 |
8 | internal record Response(IEnumerable AffectedWorkflows);
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowInstances/Cancel/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.WorkflowInstances.Cancel;
2 |
3 | internal class Request
4 | {
5 | public string Id { get; set; } = default!;
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowInstances/Delete/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.WorkflowInstances.Delete;
2 |
3 | internal class Request
4 | {
5 | public string Id { get; set; } = default!;
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowInstances/Get/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.WorkflowInstances.Get;
2 |
3 | internal class Request
4 | {
5 | public string Id { get; set; } = default!;
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowInstances/Import/Models.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.Endpoints.WorkflowInstances.Import;
2 |
3 | internal class Response
4 | {
5 | public int Imported { get; set; }
6 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Models/ExportedWorkflowState.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json;
2 |
3 | namespace Elsa.Workflows.Api.Models;
4 |
5 | ///
6 | /// Represents a workflow state that can be exported and imported.
7 | ///
8 | public record ExportedWorkflowState(
9 | JsonElement WorkflowState,
10 | JsonElement? Bookmarks,
11 | JsonElement? ActivityExecutionRecords,
12 | JsonElement? WorkflowExecutionLogRecords);
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Models/LinkedWorkflowDefinitionModel.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Models;
2 | using Elsa.Workflows.Management.Models;
3 |
4 | namespace Elsa.Workflows.Api.Models;
5 |
6 | public class LinkedWorkflowDefinitionModel(Link[]? links) : WorkflowDefinitionModel
7 | {
8 | public Link[]? Links { get; init; } = links;
9 | }
10 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Models/LinkedWorkflowDefinitionSummary.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Models;
2 | using Elsa.Workflows.Management.Models;
3 |
4 | namespace Elsa.Workflows.Api.Models;
5 |
6 | public class LinkedWorkflowDefinitionSummary : WorkflowDefinitionSummary
7 | {
8 | public Link[]? Links { get; set; }
9 | }
10 |
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/Options/ApiEndpointOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api;
2 |
3 | public class ApiEndpointOptions
4 | {
5 | ///
6 | /// The prefix used for API routes.
7 | ///
8 | public string RoutePrefix { get; set; } = "elsa/api";
9 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/RealTime/Messages/ActivityExecutionLogUpdatedMessage.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Workflows.Runtime;
2 |
3 | namespace Elsa.Workflows.Api.RealTime.Messages;
4 |
5 | ///
6 | /// Contains information about the activity execution logs updated event.
7 | ///
8 | /// Execution stats about a set of activities.
9 | public record ActivityExecutionLogUpdatedMessage(ICollection Stats);
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/RealTime/Messages/WorkflowExecutionLogUpdatedMessage.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.RealTime.Messages;
2 |
3 | ///
4 | /// Represents a message that is sent when the workflow execution log is updated.
5 | ///
6 | public record WorkflowExecutionLogUpdatedMessage();
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Api/RealTime/Messages/WorkflowInstanceUpdatedMessage.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Api.RealTime.Messages;
2 |
3 | ///
4 | /// A message representing that a workflow instance was updated.
5 | ///
6 | /// The ID of the workflow instance that was updated.
7 | public record WorkflowInstanceUpdatedMessage(string WorkflowInstanceId);
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Core/Abstractions/PropertyUIHandlerBase.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 |
3 | namespace Elsa.Workflows;
4 |
5 | public abstract class PropertyUIHandlerBase : IPropertyUIHandler
6 | {
7 | public virtual float Priority => 0;
8 | public abstract ValueTask> GetUIPropertiesAsync(PropertyInfo propertyInfo, object? context, CancellationToken cancellationToken = default);
9 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Contracts/IJoinNode.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Activities.Flowchart.Contracts;
2 |
3 | ///
4 | /// Gives implementing activities a chance to customize certain flowchart execution behaviors.
5 | ///
6 | public interface IJoinNode : IActivity
7 | {
8 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Models/FlowJoinMode.cs:
--------------------------------------------------------------------------------
1 | namespace Elsa.Workflows.Activities.Flowchart.Models;
2 |
3 | public enum FlowJoinMode
4 | {
5 | WaitAll,
6 | WaitAny
7 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Models/Position.cs:
--------------------------------------------------------------------------------
1 | using JetBrains.Annotations;
2 |
3 | namespace Elsa.Workflows.Activities.Flowchart.Models;
4 |
5 | [UsedImplicitly]
6 | public class Position
7 | {
8 | public double X { get; set; }
9 | public double Y { get; set; }
10 | }
--------------------------------------------------------------------------------
/src/modules/Elsa.Workflows.Core/Activities/ForEach.cs:
--------------------------------------------------------------------------------
1 | using Elsa.Workflows.Attributes;
2 |
3 | namespace Elsa.Workflows.Activities;
4 |
5 | ///
6 | /// Iterate over a set of values.
7 | ///
8 | [Activity("Elsa", "Looping", "Iterate over a set of values.")]
9 | public class ForEach : ForEach