elsa-core/src/modules
Sipke Schoorstra bbedd61138
Implement Activity State Filtering and JavaScript Integration (#5993)
* Add secret scripting integration for JavaScript

Introduced a new `Elsa.Secrets.Scripting` module that provides secret management capabilities within JavaScript workflows. This includes configuring the Jint engine to use workflow variables, adding new type and variable definition providers, and integrating with existing secret management features.

* Refactor secret name extraction to a separate method

Moved the logic for extracting secret names from the main method to a dedicated private method `GetSecretNamesFromExpression`. This improves code readability and maintains the single responsibility principle by delegating secret name extraction to its own method.

* Add input evaluation, sensitive input handling, and middleware refactor

Introduced methods for evaluating activity input properties and handling inputs marked as sensitive. Refactored `ExecutionLogMiddleware` constructor for consistency. Enhanced `SendHttpRequestBase` to mark authorization inputs as potentially containing secrets. Removed obsolete entries and adjusted persistence logic for clarity.

* Refactor IActivityStateProtector interface

Remove unused using directives and unnecessary comments. Simplify the definition of the `ProtectedActivityStateContext` record.

* Add activity state filtering mechanism

Introduce an abstract filter base class, context, and result models to enable filtering of activity state. Implement a default filter manager to run these filters and apply a specific filter for obfuscating HTTP request headers. Update necessary dependencies and extension methods to integrate the new filtering functionality.

* Add expired secrets management

Implemented services to manage expired secrets by periodically checking and updating their status. Introduced a new hosted service to perform the sweep and configurable options for the sweep interval. Updated related classes and configurations accordingly.

* Update SweepInterval in appsettings.json

Changed the Secrets Management SweepInterval from 30 seconds to 4 hours. This adjustment aims to reduce the frequency of sweep operations and improve overall system performance.

* Update comment to reflect configuring engine with secrets

The comment was changed to better describe the handler's function, specifying that it configures the Jint engine with secrets instead of workflow variables. This clarifies the purpose and usage of the handler in the context of the code.

* Remove unused inputDescriptors variable

This commit removes the inputDescriptors variable, which was declared but never used in DefaultActivityExecutionMapper.cs. This helps in cleaning up the code and potentially reducing memory usage. Ensuring that all declared variables are utilized can improve code readability and maintainability.
2024-10-02 09:11:35 +02:00
..
Elsa Add OpenTelemetry module (#5810) 2024-07-22 14:36:33 +02:00
Elsa.Agents.Activities Change ActivityKind from Task to Job 2024-09-01 14:40:39 +02:00
Elsa.Agents.Api Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.Agents.Core Update agent management features and refine configuration 2024-09-01 18:50:28 +02:00
Elsa.Agents.Models Add Agents Module with Semantic Kernel Integration (#5937) 2024-09-01 09:03:14 +02:00
Elsa.Agents.Persistence Add Agents Module with Semantic Kernel Integration (#5937) 2024-09-01 09:03:14 +02:00
Elsa.Agents.Persistence.EntityFrameworkCore Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.Agents.Persistence.EntityFrameworkCore.MySql Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.Agents.Persistence.EntityFrameworkCore.Sqlite Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.Agents.Persistence.EntityFrameworkCore.SqlServer Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.Alterations Merge remote-tracking branch 'origin/patch/3.2.x' 2024-08-30 12:23:38 +02:00
Elsa.Alterations.Core Merge remote-tracking branch 'origin/patch/3.2.x' 2024-08-30 12:23:38 +02:00
Elsa.Alterations.MassTransit
Elsa.AzureServiceBus Add Bookmark Queue and Restore Background Activity Execution (#5758) 2024-07-15 22:37:14 +02:00
Elsa.Caching Proto.Actor implementation for ChangeTokenSignalPublisher (#5817) 2024-07-24 22:23:33 +02:00
Elsa.Caching.Distributed Proto.Actor implementation for ChangeTokenSignalPublisher (#5817) 2024-07-24 22:23:33 +02:00
Elsa.Caching.Distributed.MassTransit Proto.Actor implementation for ChangeTokenSignalPublisher (#5817) 2024-07-24 22:23:33 +02:00
Elsa.Caching.Distributed.ProtoActor Proto.Actor implementation for ChangeTokenSignalPublisher (#5817) 2024-07-24 22:23:33 +02:00
Elsa.Common Upgrade Quartz and some warning fixes (#5949) 2024-09-16 01:55:24 -07:00
Elsa.CSharp
Elsa.Dapper Drop NET 7 support and cleanup NuGet package references (#5828) 2024-07-24 14:30:39 +02:00
Elsa.Dapper.Migrations Add Bookmark Queue and Restore Background Activity Execution (#5758) 2024-07-15 22:37:14 +02:00
Elsa.Dsl
Elsa.Elasticsearch Multitenancy (#5159) 2024-06-10 21:30:53 +02:00
Elsa.Email
Elsa.EntityFrameworkCore Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.EntityFrameworkCore.Common Upgrade Quartz and some warning fixes (#5949) 2024-09-16 01:55:24 -07:00
Elsa.EntityFrameworkCore.MySql Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.EntityFrameworkCore.Oracle Drop NET 7 support and cleanup NuGet package references (#5828) 2024-07-24 14:30:39 +02:00
Elsa.EntityFrameworkCore.PostgreSql Add Agents Module with Semantic Kernel Integration (#5937) 2024-09-01 09:03:14 +02:00
Elsa.EntityFrameworkCore.Sqlite Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.EntityFrameworkCore.SqlServer Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.Environments
Elsa.Expressions Upgrade Quartz and some warning fixes (#5949) 2024-09-16 01:55:24 -07:00
Elsa.FileStorage Drop NET 7 support and cleanup NuGet package references (#5828) 2024-07-24 14:30:39 +02:00
Elsa.Hangfire Remove IWorkflowExecutionContextStore and related classes 2024-07-18 18:57:42 +02:00
Elsa.Hosting.Management Multitenancy (#5159) 2024-06-10 21:30:53 +02:00
Elsa.Http Implement Activity State Filtering and JavaScript Integration (#5993) 2024-10-02 09:11:35 +02:00
Elsa.Identity Multitenancy (#5159) 2024-06-10 21:30:53 +02:00
Elsa.JavaScript Implement Activity State Filtering and JavaScript Integration (#5993) 2024-10-02 09:11:35 +02:00
Elsa.KeyValues Add Bookmark Queue and Restore Background Activity Execution (#5758) 2024-07-15 22:37:14 +02:00
Elsa.Labels Multitenancy (#5159) 2024-06-10 21:30:53 +02:00
Elsa.Liquid Added support to retrieve the workflow details through Liquid script (#5909) 2024-08-16 20:16:13 +02:00
Elsa.MassTransit Remove obsolete package MassTransit.Extensions.DependencyInjection (#5955) 2024-09-12 09:53:55 -07:00
Elsa.MassTransit.AzureServiceBus Drop NET 7 support and cleanup NuGet package references (#5828) 2024-07-24 14:30:39 +02:00
Elsa.MassTransit.RabbitMq Merge remote-tracking branch 'origin/patch/3.2.x' 2024-06-12 20:23:51 +02:00
Elsa.MongoDb Merge remote-tracking branch 'origin/patch/3.2.x' 2024-08-30 12:23:38 +02:00
Elsa.OpenTelemetry Simplify Workflow Variables with JS (#5946) 2024-09-06 18:03:47 +02:00
Elsa.OrchardCore Add Orchard Core Integration + Agents Module (#5871) 2024-08-08 19:35:43 +02:00
Elsa.ProtoActor.Core Refactor to use public ClusterName property 2024-07-25 09:07:56 +02:00
Elsa.Python
Elsa.Quartz Upgrade Quartz and some warning fixes (#5949) 2024-09-16 01:55:24 -07:00
Elsa.Quartz.EntityFrameworkCore.MySql Drop NET 7 support and cleanup NuGet package references (#5828) 2024-07-24 14:30:39 +02:00
Elsa.Quartz.EntityFrameworkCore.PostgreSql Drop NET 7 support and cleanup NuGet package references (#5828) 2024-07-24 14:30:39 +02:00
Elsa.Quartz.EntityFrameworkCore.Sqlite Drop NET 7 support and cleanup NuGet package references (#5828) 2024-07-24 14:30:39 +02:00
Elsa.Quartz.EntityFrameworkCore.SqlServer Drop NET 7 support and cleanup NuGet package references (#5828) 2024-07-24 14:30:39 +02:00
Elsa.SasTokens
Elsa.Scheduling Merge remote-tracking branch 'origin/patch/3.2.x' 2024-08-09 18:55:26 +02:00
Elsa.Secrets.Api Implement Activity State Filtering and JavaScript Integration (#5993) 2024-10-02 09:11:35 +02:00
Elsa.Secrets.Core Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.Secrets.Management Implement Activity State Filtering and JavaScript Integration (#5993) 2024-10-02 09:11:35 +02:00
Elsa.Secrets.Models Implement Activity State Filtering and JavaScript Integration (#5993) 2024-10-02 09:11:35 +02:00
Elsa.Secrets.Persistence.EntityFrameworkCore Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.Secrets.Persistence.EntityFrameworkCore.Sqlite Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.Secrets.Scripting Implement Activity State Filtering and JavaScript Integration (#5993) 2024-10-02 09:11:35 +02:00
Elsa.Telnyx Drop NET 7 support and cleanup NuGet package references (#5828) 2024-07-24 14:30:39 +02:00
Elsa.Tenants Upgrade Quartz and some warning fixes (#5949) 2024-09-16 01:55:24 -07:00
Elsa.Webhooks Add Orchard Core Integration + Agents Module (#5871) 2024-08-08 19:35:43 +02:00
Elsa.WorkflowContexts Add Orchard Core Integration + Agents Module (#5871) 2024-08-08 19:35:43 +02:00
Elsa.WorkflowProviders.BlobStorage Drop NET 7 support and cleanup NuGet package references (#5828) 2024-07-24 14:30:39 +02:00
Elsa.Workflows.Api Modified POST Execute API to Display Body in Swagger and Fixed Type-Casting Error in GET Execute API (#5858) 2024-08-16 12:03:18 +02:00
Elsa.Workflows.Core Implement Activity State Filtering and JavaScript Integration (#5993) 2024-10-02 09:11:35 +02:00
Elsa.Workflows.Management Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.Workflows.Runtime Implement Activity State Filtering and JavaScript Integration (#5993) 2024-10-02 09:11:35 +02:00
Elsa.Workflows.Runtime.Distributed Fix background activity completion (#5882) 2024-08-10 10:41:35 +02:00
Elsa.Workflows.Runtime.ProtoActor Proto.Actor implementation for ChangeTokenSignalPublisher (#5817) 2024-07-24 22:23:33 +02:00