Commit graph

25 commits

Author SHA1 Message Date
Sipke Schoorstra 45169d0e71 Add incident timestamp 2023-09-14 11:19:05 +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 a30ac939ee
Refactor safe serializer (#4361) 2023-08-24 13:15:28 +02:00
Sipke Schoorstra 10533131e3 Add fault information to journal 2023-08-21 22:45:56 +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 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
gurkanguran 307a497089
Show suspended activities in journal (#4170)
* Show suspended activities in journal

* Fixes #4143
2023-06-28 18:17:29 +02:00
Sipke Schoorstra 885119c768 Add events for ActivityExecuting and ActivityExecuted 2023-04-28 11:37:01 +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
Sipke Schoorstra 5331476081 Add support for implicit looping constructs
Fixes the issue where a workflow would not complete, even though all flow chart activities executed
2023-04-06 22:37:53 +02:00
Sipke Schoorstra fd2c9f7287 Prevent exception handling middleware from raising another exception
It's possible for multiple activities to raise an exception, in which case we should not try to transition into the Faulted state again.
2023-04-06 15:05:00 +02:00
Sipke Schoorstra fad27d0fb0
Refactor composite activity input and scoped memory (#3815)
* Incremental work

* Enable control over when to include full compositie root

* Cleanup

* Update WorkflowDefinitionActivity

* Implement input as variables

* Delete unused class

* Remove less common types

* Rename ExpandoObject to JSON

* Implement variable scoping

* Remove parent/child relationship from MemoryRegister

* Add support for sending input to "trigger event" endpoint

* Add support for configuring input storage driver

* Remove unused namespace imports

* Auto-register activity types when running a workflow

* Fix missing variables from containers
2023-03-20 19:55:11 +01:00
Sipke Schoorstra 1ac64b8197
Store & display evaluated activity state in workflow instance viewer (#3776)
* Implement activity state persistence

* Add sort API

* Implement activity state view

* Update EF Core migrations
2023-03-07 21:40:53 +01:00
Sipke Schoorstra 1a713b4619
Rename "services" to "contracts" and "implementations" to "services" (#3758) 2023-03-03 22:47:23 +01:00
gurkanguran b9343a1a20
Implemented workflow instance journal partially (#3749)
* Implemented backend support for journal data partially

* Extended journal design with new journal tab

* Serialize JournalData for saving

* Show directly the journal tab when clicked status

* Added ExecutionLogMiddleware

* Refactor

* Replaced newtonsoft.json with built-in json library
2023-03-03 11:44:07 +01:00
Sipke Schoorstra d2d7f23d73
Fix deadlock + multiple trigger support (#3720)
* Lock on specific hash for new workflows and split between trigger new /& existing workflows

* Update flowchart to take into account the triggered activity to start

* Use dispatcher for resuming parent workflows

* Update logging middleware (and remove it by default)
2023-02-20 12:05:57 +01:00
Sipke Schoorstra 06e62b3bcc
Restore workflow journal (#3582)
* Refactor identity options

* Delete templates

Will be created as part of a separate repo.

* Little cleanup

* Increase token lifetime for reference server app

* Cleanup workflow definition editor plugin

* Fix workflow instance viewer component

* Update identity generator to use hyphen format

* Improve workflow and activity execution pipeline registration API

* Fix workflow journal

* Update backend

* Prevent unnecessary re-render

* Restore autolayout function
2023-01-02 22:24:05 +01:00
Sipke Schoorstra 7a98cdf60d
Normalize extensions namespaces (#3577) 2022-12-31 16:16:43 +01:00
Sipke Schoorstra 4f7e82a9dc Implement exception handling middleware 2022-12-26 18:38:30 +01:00
Sipke Schoorstra 24692586a5
Persistent variables (#3563)
* Stash

* Incremental work on persistent variables

* Move variable management to central service

* Implement variable cleanup upon composite activity completion
2022-12-23 16:05:37 +01:00
Sipke Schoorstra 026430fd2d
Composite Activity fixes and improvements (#3512)
* Implement consistent input/output/variable memory block identifiers

* Telnyx fixes and improvements

* Fix bookmark burning

* Refactor AnswerCall

* Incremental work on source + line registration

* Handle missing bookmarks

* Fix bookmark persisted callback mechanism

* Implement distributed locking for default workflow runtime

* Fix recording bookmark

* Increase source file and line coverage
2022-12-07 20:47:36 +01:00
Sipke Schoorstra 8cc8d1bcbf
Telnyx integration (#3453)
* Incremental work on Telnyx integration

* Incremental port of Telnyx activities

* Fix polymorphic JSON serialization for webhook data

* Fix IsFirstPass logic

* Fix trigger base to prevent activity auto completion

* Temporarily disable persistent snapshotting provider for testing

* Fix namespaces

* Add method to register activities in bulk using marker type

* Fix Telnyx refit client setup

* Register all Telnyx activities by default

* Incremental work on webhook driven resumption and correlation

* Incremental work on post-bookmark signaling

* Fix bookmark resolution

* Include correlation ID with bookmark

* Fix Telnyx resumption input

* Replace bookmark persisted signal with handler

* Fix SpeakText completion

* Add flow outcomes to SpeakText activity

* Update GatherUsingSpeak and GatherUsingaudio

* Refactor "is first pass" concept

* Fix WebhookEvent activity

* Add HTTP absolute URL provider

* Formatting and small changes

* Various API enhancements
2022-11-19 22:30:43 +01:00
Sipke Schoorstra 6947f45693 Remove unused namespaces 2022-11-13 12:45:34 +01:00
Sipke Schoorstra c6bfd1f574
Asynchronous Activities (#3386)
* Update job activities handler

Looks like somehow implicit global usings have been removed or disabled 🤔

* Implement background activity execution

* Checkbox UI improvements

* Implement Task configuration for asynchronous execution

* Make job queue hosted service process jobs in parallel

* Make job worker count configurable
2022-10-27 12:05:30 +02:00