* add a more generic UIHandler to customize how inputAttributes can be handle by the ui
* Add IPropertyUIHandlerResolver and update PropertyUIHandlerResolver
Introduced a new interface, IPropertyUIHandlerResolver, to resolve UI options for a property. Refactored PropertyUIHandlerResolver to implement this interface and removed the unnecessary partial class structure. Also, cleaned up some unnecessary usings in various files for better code organization.
* Refactor variable name and description in InputDescriptor
The 'uISpecifications' variable in the InputDescriptor model is renamed to 'uiSpecifications' for better readability. Additionally, the associated comment was revised to explain that the dictionary is used by the UI.
* "Refactor codebase for improved organization and cleaner architecture"
The codebase has been significantly refactored, moving several classes to more appropriate namespaces for improved organization and cleaner architecture. This includes shifting UI hint handlers, activities, and memory-related components, amongst others. The changes should improve code readability and maintainability, but as this is a broad refactoring effort, thorough regression testing is advised.
* Add CheckList UIHint with associated handler and provider
This update introduces a new UIHint called CheckList to the Elsa.Workflows.Core. This includes the necessary handler and provider classes. The handler is registered in the WorkflowsFeature.cs, and the CheckList UIHint key has been added to the InputUIHints.cs. Various associated files have been created in both the Elsa.Api.Client and Elsa.Workflows.Core project to support this new UIHint.
---------
Co-authored-by: Jérémie DEVILLARD <jdevillard@users.noreply.github.com>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
Code in several activity files and Worker.cs that involve creating bookmarks and handling messages received was refactored to improve readability and clarity. The instantiated "CreateBookmarkArgs" parameter was split into its individual arguments for improved readability. Logging in the Worker.cs file was also fine-tuned, with explicit count of workflows triggered by service bus messages being included in the debug log.
* Add Service Bus Message Test Scenario
* change filename
* add workflow test
* save new unit test project (don't know why Guid have changed
* use WorkfloInbox Message for ReceiveActivity and Worker
* add test
* add correlationId
* add test with correlationId
* saving sln
* Fix project references
* remove Moq librairies for UnitTests Projects
* remove Moq and use NSubstitute
---------
Co-authored-by: Jérémie DEVILLARD <jdevillard@users.noreply.github.com>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
* Add CanExecuteAsync precondition method
* Rename GetInput to GetWorkflowInput to disambiguate between input sent to workflow and input sent to indiviudal activities.
* 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
* 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
* 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
* 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
* 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