Commit graph

245 commits

Author SHA1 Message Date
Sipke Schoorstra 431db1c353
Refactor store APIs (#3740)
* Add array support for input/output arguments

* Add alias support for nullable types

* Refactor workflow definition store API

* Fix array and ui hint setting of input/output definition

* Refactor workflow instance store API

* Add XML comments

* Refactor trigger and bookmark store API
2023-02-27 14:14:50 +01:00
Sipke Schoorstra 6281299b6a
Update NuGet package references (#3734)
* Update package references

* Accommodate FastEndpoint API changes
2023-02-23 14:49:46 +01:00
Sipke Schoorstra 64ceb843d0 Fix tests 2023-01-31 10:50:32 +01:00
gurkanguran 407bfa6913
Use workflow definition as activity (#3654)
* Implemented usage of workflow definitions as activities

* Updated designer

* Removed activity definitions module

* Allow user to mark workflow to be used as activity

* Refactor

* Refactor

* Cleanup csproj

* Cleanup WorkflowDefinitionActivity

* Pascalize typename

* Fix JS intellisense initial load issue

* Add XML comments

* Add Jobs dependency

* Hide Composite root port from designer

* Move finding workflow activities logic to lower level

* Generate unique identities across hierarchy

* Refactor

* Revert "Generate unique identities across hierarchy"

This reverts commit 74f5e7830309ee76af6ab3a000a5e1ec41f1e90c.

* Implement unique node IDs

* Introduce new VersionOptions option

* Remove unused namespaces

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-01-28 00:36:03 +01:00
Sipke Schoorstra b4dba6ffe5
Add PublishEvent activity and implement MassTransit dispatcher (#3593) 2023-01-04 15:28:28 +01:00
gurkanguran 4272d5a49c
Implemented workflow sink module (#3571)
* Implemented workflow sink module

* Sequentual process of saving sinks in single consumer

* Refactor

* Log errors during sink export

* Removed redundant classes

* Use in process messaging in bundle

* Fixed the issue with duplicated ResultVariable key on serializing

* Moved workflowsink modules out of persistence projects

* Moved migrations out of old projects

Co-authored-by: Gürkan Güran <grkngrn@gmail.com>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-01-01 18:02:38 +01:00
Sipke Schoorstra 7a98cdf60d
Normalize extensions namespaces (#3577) 2022-12-31 16:16:43 +01:00
Sipke Schoorstra 8ac225520b
Improve variable vs non-variable persistence (#3568)
* Incremental fixes

* Fix base assignment of async delegate block reference

* Reuse existing memory blocks

* Remove PlaybackStarted child activity

The PlaybackStarted property is unnecessary, since the PlayAudio activity already completes right after playback has started.

* Add GetCallStatus API method

* Prevent variables on composite activities to be overwritten during deserialization

* Remove unnecessary variable declarations

Activity variables will be declared automatically during activity invocation.

* Add XML comments

* Remove unused references arg

* Streamline variable identity assignment

* Fix composite early exit completion

* Move identity assignment to workflow definition service
2022-12-25 22:02:28 +01:00
Sipke Schoorstra 2dcd9bcd73 Add .NET 7 as a target 2022-12-22 15:40:31 +01:00
Sipke Schoorstra 3dfede96d3 Move shared test utility to common folder + various incremental changes 2022-12-20 12:13:53 +01:00
Sipke Schoorstra b32c3b45bb Remove outdated tests 2022-12-16 22:07:24 +01:00
Sipke Schoorstra 6c4b8e2653 Update test 2022-12-11 22:16:05 +01:00
Sipke Schoorstra 8d32a00b0a Update sample to use new Event.From method 2022-12-09 12:50:41 +01:00
Sipke Schoorstra 272d6f03a7 Fix tests 2022-12-07 21:05:24 +01:00
Sipke Schoorstra 269627adf1 Fix If completion 2022-11-30 11:45:48 +01:00
Sipke Schoorstra 8a4e219e07 Minor renaming 2022-11-23 11:20:35 +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 d626695ff2 Fix imports 2022-11-03 21:42:43 +01:00
Sipke Schoorstra e9d4c9b6d5 Prepare projects for packaging 2022-11-03 21:40:23 +01:00
Sipke Schoorstra e4f9b7717b Initial support for activity cancellation 2022-10-30 23:44:38 +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
Sipke Schoorstra b3bae39bfe
Default Runtime & Persistence (#3287)
* Delete DefaultWorkflowInvoker.cs

* Incremental work

* Refactor runtime

* Implement workflow state store + bookmark store

* Cleanup

* Update migrations

* Move store abstractions to management and runtime projects

* Consolidate persistence providers into single package

* Generate migrations

* Regenerate migrations

* Fix DI of memory stores

* Update migrations

* Refactor definition reference due to unserializable record

* Update web server bundle to use EF core by default

* Update Bookmark.cs

Fixes System Text Json deserialization
2022-09-04 17:04:14 +02:00
Sipke Schoorstra e2ffafc736
Refactor proto actor runtime with snapshot support (#3283)
* Initial working grain

* Incremental work on actor bookmark management & resuming wokflows

* Upgrade Proto Actor package references

* Fix lifetime of actors

* Implement bookmark and resumption

* Update Program.cs

* Update bookmark event publishing

* Refactor proto actor features API

* Implement snapshotting

* Update snapshotting

* Add in-memory provider and use it by default

* Update server bundle to use proto actor sqlite persistence by default
2022-09-02 13:18:53 +02:00
Sipke Schoorstra 078f21cf61 Incremental work 2022-08-26 21:59:17 +02:00
Sipke Schoorstra a983457076 Rename builder service 2022-08-25 13:45:35 +02:00
Sipke Schoorstra dfa1068012 Remove unused namespaces 2022-07-07 22:30:44 +02:00
Sipke Schoorstra 091430f9ff Remove obsolete transformer code 2022-06-27 12:37:52 +02:00
Sipke Schoorstra 4ac74864cd Incremental work on transposition 2022-06-14 15:56:41 +02:00
Sipke Schoorstra f93a051a14 Implement storage driver API endpoint 2022-06-07 15:48:52 +02:00
Sipke Schoorstra b7177f944f Streamline output API 2022-06-06 20:14:51 +02:00
Sipke Schoorstra e67e40bd7b Incremental work on persistent variables 2022-06-06 15:49:54 +02:00
Sipke Schoorstra 1ba45037fd Incremental work on variable capturing + management 2022-06-05 22:49:47 +02:00
Sipke Schoorstra 951149b5d4 Improve memory API 2022-06-04 20:01:20 +02:00
Sipke Schoorstra fccf4737e2
V3 modular configuration (#3070)
* Restructuring (WIP)

* Fix warnings

* Move DSL to modules

* Update namespaces

* Make design factory base reusable

* Update service registrations

* Remove unused namespaces and rename ElsaDbContext

* Incremental work on migrations

* Generate WorkflowsDbContext SQLite migrations

* Rename ServiceCollectionExtensions

* Update DbContextOptionsBuilderExtensions.cs

* Restructure

* Configuration refactorings (WIP)

* Incremental work on configurator API

* Incremental work on configuration API

* Incremental work on configuration API

* Fix workflow runtime options

* Move standard stream providers

* Implement configurator dependencies

* Cleanup configurator API

* Update configurator dependencies

* Cleanup

* Update Label API endpoints

* Fix eager configuration issue
2022-05-26 12:47:31 +02:00
Sipke Schoorstra 1afe3a62a0 Incremental work on modular configuration 2022-05-03 11:44:44 +02:00
Sipke Schoorstra a44ceaeb55
Implement V3 stores (#2980)
* Implement IWorkflowInstanceStore

* Implement IWorkflowDefinitionStore

* Implement IWorkflowTriggerStore

* Implement IWorkflowBookmarkStore

* Implement IWorkflowExecutonLogStore

* Restructure folders

* Persist workflow instance status timestamps
2022-04-30 15:10:11 +02:00
Sipke Schoorstra 261c9cb1a5
Implement Default Workflow Invoker (#2979)
* Implement default invoker

* Proto actor improvements

* Refactor workflow registry handling

* Update migrations
2022-04-30 11:10:08 +02:00
Sipke Schoorstra 53c60adc71
V3 finish activity (#2963)
* Incremental work on Finish activity

* Update OutputExpression.cs

* Update ExpressionHandlerRegistry.cs

* Update IActivity.cs

* Add sub-status

* Finish activity and update tests
2022-04-25 15:18:53 +02:00
Sipke Schoorstra c04f7c996f Refactor contracts/services/implementations namespaces 2022-04-25 11:43:23 +02:00
Sipke Schoorstra be913c7aa0 Update tests 2022-04-25 11:27:18 +02:00
Sipke Schoorstra dbd682eacb Add ability to control when to evaluate input 2022-04-24 22:26:33 +02:00
Sipke Schoorstra b947177ece Incremental work on tests 2022-04-21 23:00:13 +02:00
Sipke Schoorstra c79acde5fc Add Fork tests 2022-04-20 21:38:50 +02:00
Sipke Schoorstra 4849db8a05 Fix activities namespace 2022-04-20 21:06:39 +02:00
Sipke Schoorstra 7fa62582b8 Add tests for If activity 2022-04-20 15:52:51 +02:00
Sipke Schoorstra 75d036b0fc Restructure integration tests 2022-04-20 15:36:58 +02:00
Sipke Schoorstra a8cf10c7e5 Update BreakWorkflowTests.cs 2022-04-20 14:14:32 +02:00
Sipke Schoorstra 1325c3f9c3 Incremental work on Break 2022-04-20 13:57:02 +02:00
Sipke Schoorstra 9c39a3ca4c Update ForEachWorkflowTests.cs 2022-04-20 11:41:32 +02:00