* 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
* 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
* Use NoTracking for EF Core
* Use Activity ID as Node ID for modern tooling
* Fix DispatchWorkflow activity
* Update tests and remove redundant ToolVersion
* Update activity names and descriptions
* Rename JS functions
* Make endpoint class internal
* Pre-create workflow instance ID when dispatching workflows
* Update consuming workflows when the composite activity published
* Display auto-update option and notifications in designer
* Update consuming workflows with a separate api call
* Display notification only if there are consuming workflows found
---------
Co-authored-by: Gürkan Güran <gguran@interfirst.com>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
* 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
* Import publish execute integration test
* Update test
* Extracted import logic into WorkflowDefinitionImporter
* Removed the WorkflowDefinitionRequest model and done a model rename
---------
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
* 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
* 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
* Various additions and tweaks
* Fix WriteHttpResponse when no content type provided
* Bump designer version
* Return when sending response
* Remove faulty validation
* 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
* 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
* 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
* Incremental work on custom activities
* Incremental work on refactoring versioned entities
* Add ActivityDefinition infrastructure
* Incremental work on activity definition manager
* Incremental work on API endpoints
* Refactored flowchart component to include hierarchical nav
* Incremental work on modularization of designer component
* Restructuring into modules
* Rename CustomActivities module
* Apply security
* Fix activity definition GET endpoint
* Incremental work on activity definition provider
* Incremental work on activity definition execution
* Update ActivityDefinitionMaterializer.cs
* Update ActivityDefinitionActivityProvider.cs
* Add activity definition referenced version update handler
* Maintain position of not found activity
* Fix prefix naming