Commit graph

116 commits

Author SHA1 Message Date
Sipke Schoorstra 003bf4e335 Fix output accessors and add tests 2023-09-06 22:57:01 +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 4d37c2a1da
Fix Default Workflow Runtime Race condition (#4362)
* Refactor Telnyx activities to use instance ID for correlating events

* Ensure SetVariable sets value in correct scope

* Fix race condition between new instances that are being resumed

* Fix tests
2023-08-24 21:41:45 +02:00
Sipke Schoorstra a30ac939ee
Refactor safe serializer (#4361) 2023-08-24 13:15:28 +02:00
Sipke Schoorstra 48b2e29b00
Refactor activity state serializer (#4357) 2023-08-23 21:57:10 +02:00
Sipke Schoorstra 73482a8e4c
Enhanced Logging for Activity Outcomes and Outputs (#4352)
* Add result to logs

* Include outcomes and outputs with activity execution log

* Include outputs with completed activity events
2023-08-23 13:34:30 +02:00
Sipke Schoorstra 687768bd3e Prevent multiple activity completion
This enables CodeActivity to explicitly complete itself
2023-08-18 10:01:03 +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 0b8d97c422
Fix WriteHttpResponse when NoContent (#4322) 2023-08-12 11:47:07 +02:00
Sipke Schoorstra 74eec314fe
Create variable in local scope (#4321) 2023-08-12 11:04:30 +02:00
Sipke Schoorstra 3ba6a548e1
Update ForEach activity with local variables (#4315)
* Update ForEach activity with local variables

* Add option to include activity instance ID as part of bookmark hash
2023-08-11 21:59:39 +02:00
Sipke Schoorstra 265434b651
Update output selector with support for activity instances (#4307)
* Update output selector with support for activity instances

* Update tests
2023-08-10 00:20:30 +02:00
Sipke Schoorstra 62ae3b1f6e
Add ability to push variables to scheduled work (#4306) 2023-08-09 22:35:44 +02:00
Sipke Schoorstra 95cefe631f
Bookmarks & Activity Instances (#4301)
* Add ActivityInstanceId to bookmark model

* Fix Telnyx activity resumption

* Fix missing activity instance ID forwarding to workflow inbox
2023-08-09 13:02:20 +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 815b544f53 Update Flowchart completion logic
In addition to taking into account scheduled work, also check if there are actual activity instances still running
2023-08-04 11:45:07 +02:00
Sipke Schoorstra e1784f7f6c Rename GetVariableByName to GetVariable and increase XML coverage 2023-07-31 20:03:41 +02:00
gurkanguran d29df110d2
Fixed getting and setting variables in context (#4267)
* Fixed getting and setting variables in context

* Added unit tests

* Add test for named variable

* Search variable in parent contexts

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-07-31 18:53:50 +02:00
Sipke Schoorstra e5e34c821b Add ActivityExecutionRecord entity, persistence and endpoints 2023-07-22 21:05:33 +02:00
Sipke Schoorstra d473f2354b Add ActivityName to execution log, remove FaultedAt instance timestamp 2023-07-21 17:52:52 +02:00
Sipke Schoorstra 06c332389a Fix that activity input was stored o parent context instead of its own 2023-07-18 13:59:12 +02:00
Sipke Schoorstra 6ae59f06d6 Include activity version with execution log 2023-07-18 11:20:00 +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 d482fe037e Undo experimental scheduling of signals 2023-07-12 18:39:02 +02:00
Sipke Schoorstra 938df75664 Implement activity instance status and fix activity completion order 2023-07-09 14:03:23 +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 8c701aa0a7 Implement activity execution log record sequence ordering
This ensures events are always stored in sequence, even if their timestamps are the same.
2023-07-09 12:36:33 +02:00
Sipke Schoorstra b5e882efc0 Add support for mixed-cased JSON keys 2023-07-06 19:32:30 +02:00
Sipke Schoorstra 5d956c9b1e Fix IsCollection type extension 2023-07-04 17:55:30 +02:00
gurkanguran 07b6aedbec
Fixed the issue with setVariable execution in javascript activity (#4158)
* Fixed the issue with setVariable execution in javascript activity
2023-06-24 00:12:01 +02:00
Sipke Schoorstra 04fe32cabb
Implement activity output APIs (#4119) 2023-06-09 22:10:56 +02:00
Sipke Schoorstra 6c1cca372c
Dapper persistence provider (#4109)
* Implement Dapper stores
2023-06-06 20:49:14 +02:00
Sipke Schoorstra 85bff3a528 Fix output serialization 2023-05-28 20:32:51 +02:00
Sipke Schoorstra 6d15c536f3 Make activity input property options provider async 2023-05-21 10:11:16 +02:00
Sipke Schoorstra 791e691ae7 Fix usage of incorrect activity descriptor when evaluating props 2023-05-10 11:38:50 +02:00
Sipke Schoorstra 47ed8e3571
Cleanup IActivity interface (#4010)
* Update activity names and descriptions

* Rename JS functions

* Make endpoint class internal

* Pre-create workflow instance ID when dispatching workflows
2023-05-08 22:38:59 +02:00
Sipke Schoorstra 307962c0f5 Revert "Simplify IActivity (#3991)"
This reverts commit ae9f4104c6.
2023-05-03 10:24:36 +02:00
Sipke Schoorstra ae9f4104c6
Simplify IActivity (#3991)
* Cleanup IActivity interface and update activity ctors

* Increase XML comment coverage
2023-05-02 20:05:36 +02:00
Sipke Schoorstra 7d713d81a3 Add support for default activity input 2023-04-28 22:41:18 +02:00
Sipke Schoorstra b5f1d53e33 Fix named variable issue
Fixes an issue when referencing variables not previously set in higher scope.
2023-04-24 14:30:13 +02:00
Sipke Schoorstra 10c5d0c848 Fix serialization bug and update AllInOne reference app with support for webhooks 2023-04-24 13:44:34 +02:00
Sipke Schoorstra a45b7e5fb2
Implement Onboarding sample (#3944)
* Add Parallel activity

* Update polymorphic converter to handle null values

* Add support for converting ExpandoObject into target type

* Update models in Webhooks module

* Add Onboarding sample projects

* Handle null values in converter

* Add error logging to webhook invoker

* Allow activity resumption callbacks to be static

* Handle $ref when serializing expando objects
2023-04-23 20:03:52 +02:00
Sipke Schoorstra a98ce86c09 Add extension method to run workflows until end 2023-04-22 00:03:24 +02:00
Sipke Schoorstra 80ee38a727 Add missed updates 2023-04-22 00:02:51 +02:00
Sipke Schoorstra 943df3d274 Cleanup and refactoring WorkflowContext APIs 2023-04-18 00:00:46 +02:00
Sipke Schoorstra c8d87cd763
Simplify Proto.Actor bookmarks and triggers (#3917)
* Refactor HTTP route table population

* Update workflow definition EF store to use abstract IWorkflowInstanceStore

This decoupling is necessary, because the application might not be using EF Core, but e.g. Elasticsearch

* Move workflow state persistence to the default workflow runtime feature

* Update JS handler to provide access to variables during trigger indexing

* Configure Proto.Actor runtime with different workflow pipeline

* Add sample using Proto.Actor runtime

* Replace BookmarkGrain with DB based persistence
2023-04-17 15:23:05 +02:00
Sipke Schoorstra c3ed7e7865
Improve JSON serializationfor workflow state (#3913)
* Incremental work on WorkflowStateSerializer

* Update Flow HTTP Request activity to default to Done outcome

* Fix reference handling

* Fix polymorphic object converter

* Add comments

* Add support for registering type alias during DI setup via options

* Fix trigger and bookmark payload persistence

* Update sample model

* Add support for custom dictionary types

* Split general serializer options provider into focused serializer services

* Formatting

* Update migrations
2023-04-17 00:11:58 +02:00