Tweaked the jobs mapping handler to accept an optional timeout parameter instead of a cancellation token. This applies the timeout, if specified, to each invocation instead of as a global timeout.
---------
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
fix: Point-in-time not getting scheduled, job payload not being property set on job invocation
When setting a single point-in-time job, the SDK was incorrectly assigning it as a schedule which would promptly fail cron validation. Rather, this now properly sets it to `dueTime` instead. Further, when a Job is invoked, only the payload it was registered with is provided in the callback, not all the elements of a Get Job response, so this was modified to return the `ReadOnlyMemory<byte>` originally provided in the payload back to the caller.
Reviewed by: @philliphoff
Refs: #1455#1457
* Removed obsolete type
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added missing using
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Adding interface for IWorkflowContext for replayability concerns
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed unused IConfiguration
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added ReplaySafeLogger type
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Building out functionality to expose ReplayLogger in workflow context
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added license information to file
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed unnecessary file
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated copyright header for different project, made some tweaks for nullability errors
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added virtual methods that use the already-available ILoggerFactory to create the ReplaySafeLogger on the WorkflowContext
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed unnecessary registration
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated example to demonstrate using ReplaySafeLogger in the orchestration context
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Tweaks on visibility and abstraction so that the methods are available in the context made visible to workflow developers
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed obsolete type registrations
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Simplified argument null check
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed since-removed code leftover from merge
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added documentation demonstrating how to access the replay-safe logger
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed unnecessary and separate ReplaySafeLogger in favor of method to create it off the TaskOrchestrationContext (innerContext)
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
---------
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated documentation to reflect new DaprClient DI injection capabilities
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Clarified relationship between DAPR_HTTP_ENDPOINT and DAPR_HTTP_PORT as well as DAPR_GRPC_ENDPOINT and DAPR_GRPC_PORT.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Clarified configuration prioritization order on DaprClientBuilder as of 1.15 and provided more information/example around sourcing from IConfiguration.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixed typo - great catch Philip!
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added information about using Dapr.Jobs favoring dependency injection
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Building out .NET AI docs
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Building out .NET AI docs
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added first-draft of .NET Aspire docs
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added first-draft of .NET Aspire docs
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added first-draft of .NET Aspire docs
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Reordered the weighting of the development docs to reflect investment level
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated .NET SDK links to point to a better endpoint
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated more of the .NET SDK links
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Reweighted document order
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Building out pubsub docs
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Tweak to clarify use of the Dapr SDK
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added missing whitespace for clarity
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Simplified alert about .NET versioning
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added Dapr.Jobs as a prereq
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added some minor formatting tweaks
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added body of the pubsub how to documentation
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated table layout + reformatted
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added note about using DI functionality in best practices
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixed several typos
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Corrected updated overload
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added best practices documentation for PubSub functionality
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated contribution guide
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added current .NET version support to contributor guide
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Minor word addition
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Renamed for consistency
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Tweaks to introduction text
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added Conversation usage documentation
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated to reflect updated extension method name following merge of #1423
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Built out Jobs introduction
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated support message for Dapr.Workflows
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
---------
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated prototype
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added Dapr.AI project and unit test project to contain the conversational building block (and potentially future other projects)
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Changed default values
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed unnecessary method
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added a few unit tests
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added example project
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added missing copyright headers
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Changed type name -> DaprLlmInput to DaprConversationInput
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Returning read only list
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Update to use IReadOnlyDictionary
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added method to abstract class
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Striving for consistency in how properties are specified on the record
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Refactored enum extensions out to Dapr.Common since it will be used in AI project
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added JSON converter for System.Text.Json to handle enum serialization based on the enum member attributes
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added unit tests to prove out generic enum JSON converter using EnumMember attributes
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added JSON converter to new enum for Dapr Conversation role
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Set up role to map to the string used in grpc call to sidecar
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* No need for the JSON converter after all
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added missing package version to fix build error
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed duplicate using statement breaking build
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixed missing [Fact] annotation
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated proto types to reflect type name changes in https://github.com/dapr/dapr/pull/8250
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added support for service lifetime
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Building out documentation for Dapr AI
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Simplified registration
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Tweaked package version
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Using IConfiguration to source DaprClient values if provided in service provider
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed Models.* directories, flattened into Conversation namespace
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Swapped out to use IReadOnlyDictionary
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added suggested optimization
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixed bad using statement
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updates to use uniform method for standing up new Dapr clients
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed duplicate project reference
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixed build error
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixing build errors
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixed bad references
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixed several build errors
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixing more build errors
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated to fix several build errors
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixed bad refernce
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixing more build errors
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Role is required when submitting conversation input
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed impossible path since the role cannot be nullable
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed impossible path from logic now that role cannot be null
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
---------
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated build and integration test scripts to include .NET 9
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed unused matrix values
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Reverted some .NET 8 requirement
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated setup-dotnet to use latest action version + updated script to prefer a GA release, but use RC if available.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed unnecessary secondary build step
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updating TFM moniker
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added test to install VStest
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Rolling back use of tool as it doesn't independently exist outside of the SDK
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added .NET 9 to build targets
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added .NET 9 to target frameworks across solution
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* I understand the reason for the required install step now - adding it back with a .NET 9 install step
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Placing install steps before build
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updating global.json
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Disabled analyzer errors in unit tests
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added .NET 9 to test
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Changed from #pragma error to #pragma warning
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixed unit tests to resolve analyzer warning
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated integration test to always include .NET 8 and .NET 9 installs
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Falling back to add separate .NET 9 support
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated referenced projects to target appropriate frameworks
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added all target frameworks back to Dapr.Commono
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added warnings to fix nullability analyzer warnings when targeting .NET 6
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated build step to use .NET 9 instead
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixed cloud event middleware tests - the ApplicationBuilder requires a non-null ServiceProvider per https://learn.microsoft.com/en-us/dotnet/core/compatibility/extensions/8.0/activatorutilities-createinstance-null-provider
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Including target for .NET 6, 7, 8 and 9
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Trialing fix to E2E integration test - excluding use of AppWebApplicationFactory in favor of direct use of HttpClient
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Reverting as it breaks the other .NET versions
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Potentially fixed unit tests in .NET 9
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed extra line from build definition
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated documentation to reflect .NET 9 and a note highlighting that .NET 6 and .NET 7 will be deprecated in v1.16
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed unintentionally added file to commit
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added .NET 9 to E2E test setup
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixed typo
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed RC version from .NET 9 build
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Apparently the solution file got a minor change
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed unnecessary null checks
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Whoops - didn't mean to commit that project to the solution
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
---------
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added mechanism to allow the service lifetime to be overridden from a singleton (default) to another lifetime
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added unit tests - updated dependencies accordingly
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added service lifetime to DaprClient as well
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added update to DaprClient to pass service lifetime through
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added documentation indicating how to register DaprWorkflowClient with different lifecycle options.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed unnecessary line from csproj
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Simplified registrations
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Called out an important point about registrations
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
---------
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Changed headers, updated introduction to reflect the difference in serialization between either type and added a brief section to detail the use of System.Text.Json for weakly-typed Dapr actor clients and to point to official documentation on it
---------
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Adds http timeout
Signed-off-by: Elena Kolevska <elena@kolevska.com>
* Adds a timeout for the grpc client
Signed-off-by: Elena Kolevska <elena@kolevska.com>
* Small updates
Signed-off-by: Elena Kolevska <elena@kolevska.com>
* Updates test
Signed-off-by: Elena Kolevska <elena@kolevska.com>
* Adds a timeout example in docs
Signed-off-by: Elena Kolevska <elena@kolevska.com>
* Adds e2e test for http service invocation
Signed-off-by: Elena Kolevska <elena@kolevska.com>
* Adds tests for grpc service invocation
Signed-off-by: Elena Kolevska <elena@kolevska.com>
* Removes grpc timeout, because it’s not needed. It can be passed directly to the call as shown in the updated tests and docs
Signed-off-by: Elena Kolevska <elena@kolevska.com>
* Update src/Dapr.Client/DaprClientBuilder.cs
Signed-off-by: Elena Kolevska <elena-kolevska@users.noreply.github.com>
---------
Signed-off-by: Elena Kolevska <elena@kolevska.com>
Signed-off-by: Elena Kolevska <elena-kolevska@users.noreply.github.com>
Co-authored-by: Phillip Hoff <phillip@orst.edu>
Fix example output to not repeat "Success"
Signed-off-by: Henrik Karström <henrik.karstrom@gmail.com>
Co-authored-by: halspang <70976921+halspang@users.noreply.github.com>
* add section for workflow in .NET SDK docs
Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com>
* add initial draft
Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com>
* edit from Mark
Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com>
* quick pass and update from hal and chris
Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com>
This commit adds support for the shutdown API. It also adds docs for
that method and a few others which were missing from the docs.
https://github.com/dapr/dotnet-sdk/issues/914
Signed-off-by: Hal Spang <halspang@microsoft.com>