Commit graph

200 commits

Author SHA1 Message Date
Sipke Schoorstra e3efec75b0 Copy local output variables to attached output variables 2023-10-18 19:23:36 +02:00
Sipke Schoorstra 369e4e52c8 Fix CLR materializer
Fix that workflows materialized from CLR materializer lose definition version ID and version
2023-10-15 11:36:56 +02:00
Sipke Schoorstra cdf5f9f614 Rename Port Resolver to Activity Resolver
In the scenario where this resolver is used, it's not about discovering ports, but about constructing a graph from the workflow by going through each activity or activities property.
2023-10-15 11:31:24 +02:00
Sipke Schoorstra 523f301bf7
Feature: Alterations (#4501)
* Implement Alteration types and engine

* Implement Alteration APIs

* Refactor activity work item with support for activity input

* Serialize scheduled activities as part of workflow state

* Add signal to schedule child activity

* Implement stores for plans and jobs

* Add EF Core provider

* Add Retry endpoint

* Keep root context as always active. The root context is the workflow execution context and contains persistent variable state

* Regenerate EF Core migrations

* Handle orphaned activity execution contexts

* Refactor workflow execution factory

* Enable configuring Jint from Program

* Update ModifyVariable alteration with support for type deserialization

* Use ShortGuid for identity

* Cleanup WorkflowServer host
2023-10-07 12:47:36 +02:00
Sipke Schoorstra eebb58e094 Make ActivityJsonSerializer support non-registered activities
For most scenarios, having an activity type in the registry is necessary only when using a visual designer, and not when using programmatic workflows - unless there are activities with modifiers in place. Therefore a warning might suffice.
2023-09-24 20:14:45 +02:00
Sipke Schoorstra 12f9e0844b Add logging of composite completion signal 2023-09-14 17:27:42 +02:00
Sipke Schoorstra 7f0b3cb8fc Fix cascaded handling of SetOutcome 2023-09-14 16:30:18 +02:00
Sipke Schoorstra 03b608410b
Incidents (#4436)
* Implement Incident Strategy interface and resolver

* Add ActivityIncident model

* Add IncidentCount and Incidents properties and update migrations

* Expose incident strategies API endpoint

* Update API client with Incident Strategy models

* Replace Fault with Incidents

* Register fault status when any children have faulted

* Map incident count

* Remove unnecessary AlreadyCompleted result

* Ensure next activities are scheduled only if activity completed normally

* Incident roundtrip and fix workflow instance realtime updates

* Remove unused variable

* Add integration tests
2023-09-14 10:50:02 +02:00
Sipke Schoorstra e8421bd148 Fix SetOutput when used in composite activity 2023-09-11 21:36:07 +02:00
Sipke Schoorstra b72a7e5f6e Change order of RunJavaScript inputs 2023-09-07 20:43:12 +02:00
Sipke Schoorstra 6d9c21c7a5
Dynamic Outcomes + JavaScript Outcomes (#4410)
* Implement dynamic outcomes UI hint

* Implement JavaScript outcomes
2023-09-07 20:34:53 +02:00
Sipke Schoorstra e3d8624e66 Copy output to variable when part of composite activity 2023-09-06 22:05:34 +02:00
Sipke Schoorstra 0dc2b95e5a Maintain tool version of imported file 2023-09-06 22:04:49 +02:00
Sipke Schoorstra 6329a3b805
Use mapping expression for correct EF core projections (#4376) 2023-08-30 18:23:59 +02:00
Sipke Schoorstra 45d194125d
Remove WorkflowStateStore (#4374)
* Remove WorkflowStateStore and use WorkflowInstanceStore instead

* Delete RunningWorkflows actor

* Cleanup
2023-08-30 15:42:16 +02:00
Sipke Schoorstra ca25b78457
Fix Break behavior (#4365)
* Fix Break behavior

* Ensure removal of completion callbacks
2023-08-26 01:11:10 +02:00
Sipke Schoorstra 7c99037de2
EF Core NoTracking (#4323)
* Use NoTracking for EF Core

* Use Activity ID as Node ID for modern tooling

* Fix DispatchWorkflow activity

* Update tests and remove redundant ToolVersion
2023-08-12 16:41:16 +02:00
Sipke Schoorstra a8079090aa
Telnyx fixes (#4300)
* Update flowchart to consider activity instance completion

* Update Telnyx activities to leverage workflow inbox

* Fix Telnyx webhook activities

* Fix TransferCall and IncomingCall activities

* Turn collections into arrays for JS

* Telnyx activity fixes
2023-08-08 20:50:21 +02:00
Sipke Schoorstra 166e11c416
Fix loss of source file + line number (#4293)
Fixes #4287
2023-08-06 20:55:24 +02:00
Sipke Schoorstra 3f3d75940f Set Name on activity descriptors 2023-08-05 11:04:46 +02:00
Sipke Schoorstra e8b1c5efe1 Fix WorkflowDefinitionActivity when referenced wf version not found 2023-08-02 22:53:15 +02:00
Sipke Schoorstra 0e7112eade Fix tool version mapping 2023-08-02 22:52:19 +02:00
Sipke Schoorstra 98f48f3933 Update nullability of options providers 2023-07-31 19:41:25 +02:00
Sipke Schoorstra 64391bca8e Add client-side activity construction property support 2023-07-25 16:21:10 +02:00
Sipke Schoorstra 0c8bbb935c Implement real time workflow update broadcasting using SignalR 2023-07-25 15:12:27 +02:00
Sipke Schoorstra d473f2354b Add ActivityName to execution log, remove FaultedAt instance timestamp 2023-07-21 17:52:52 +02:00
Sipke Schoorstra 1902307cf5 Add support for filtering journal by activity IDs 2023-07-20 22:12:45 +02:00
Sipke Schoorstra 142af4e3b9 Allow to revert to the latest version 2023-07-20 15:50:22 +02:00
Sipke Schoorstra 8652843f48 Implement schedule deletion when workflow instances are deleted 2023-07-20 11:57:20 +02:00
Sipke Schoorstra 72f4461ca3 Implement cascading deletion 2023-07-20 00:05:43 +02:00
Sipke Schoorstra 07c9783363 Implement API to delete specific workflow definition version 2023-07-18 22:33:59 +02:00
Sipke Schoorstra 30c413b1eb Fix composite activity input & output variable mapping 2023-07-18 13:58:37 +02:00
Sipke Schoorstra 6e458e0053 Make Mediator package reusable from outside Elsa feature system 2023-07-17 21:43:35 +02:00
Sipke Schoorstra e3133b5073 Remove commented code 2023-07-16 22:08:16 +02:00
Sipke Schoorstra d31934e9bf Remove unused namespace imports 2023-07-14 19:40:09 +02:00
gurkanguran c11aa6cf5f
Implemented workflow validation for httpendpoint path (#4181)
* Validates HttpEndpoint path before publishing workflow

* Updated behaviour of mediator apis and implemented validation for workflow path

* Implement default strategy option

* Update mediator service names

* Return validation errors as 400 BadRequest

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-07-14 19:19:41 +02:00
Sipke Schoorstra 3a7b3af3b0 Improve handling of synthetic inputs and dynamic input descriptors 2023-07-13 16:16:03 +02:00
Sipke Schoorstra 9671d85013 Cleanup namespaces 2023-07-09 14:02:41 +02:00
Sipke Schoorstra fe2a897a30 Restructure models in Workflows.Core 2023-07-09 13:12:13 +02:00
Sipke Schoorstra 7e0d7d825e Implement workflow instances filtering by multiple statuses 2023-07-07 20:47:04 +02:00
Sipke Schoorstra 49da22fb8e Add ToolVersion field to workflow definition 2023-07-06 18:06:18 +02:00
Sipke Schoorstra 0eea344406 Add ToolVersion field to workflow definition 2023-07-06 15:48:28 +02:00
Sipke Schoorstra 7efe9e590e Fix that CreatedAt date of new versions were not updated 2023-07-06 14:21:10 +02:00
Sipke Schoorstra ab4f28bc02 Add unique name query to workflow definition store 2023-06-30 20:56:37 +02:00
Sipke Schoorstra eabe853fe7 Add workflow definition count endpoint + unique name validation 2023-06-29 22:08:10 +02:00
gurkanguran 3c152f87e9
Prevent variable overriding when setting output in activity (#4157) 2023-06-23 18:42:07 +02:00
Sipke Schoorstra ac57c07e7c Update API client models 2023-06-21 11:10:07 +02:00
herblinernexxbizz 2a9793768a
make isReadonly editable on workflow model (#4130) 2023-06-13 10:25:42 +02:00
herblinernexxbizz 3aa05d1fed
V3 search workflows definitions and instances (#4123)
* search workflowdefinition

* filter workflowinstance

* also add version options

* initiate search field

* add search to workflowinstance

* extend search with description and definitionversionid

* make everything work for workflow definition and instance search
2023-06-12 10:44:33 +02:00
herblinernexxbizz 8c308cc8ee
V3 make workflowdefinition have readonly (#4068)
* add readonly functionality to Elsa

* merge with v3

* remove launch settings

* remove spaces

* Handle merge conflicts

* Exclude non-existent folder from sample project

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-06-12 10:41:38 +02:00