Commit Graph

715 Commits

Author SHA1 Message Date
Whit Waldo 6b49bed7f1
Re-enabled the test with a fix to use a fixed 30 days for @monthly in actor deserialization for now (#1530)
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-05-02 17:35:08 -05:00
Whit Waldo faeeb8eaca
Fix for large file cryptography support (#1528)
* Porting the changes from Dapr.Cryptography 1.16 back to 1.15

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-05-02 16:51:41 -05:00
Whit Waldo 0873c5ef6f
Updating gRPC and Microsoft.DurableTask.* packages (#1523)
* Updating gRPC, Google.Protobuf and Microsoft.DurableTask.* packages
2025-04-25 14:45:24 -05:00
Whit Waldo 32d06a7136
Tentative fix for timers deserializing error (#1512)
* Tentative fix for deserializing error
* Added unit tests to prove out timer deserialization for all supported formats

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-04-08 00:17:49 -05:00
Whit Waldo 6f07643280
Refactored to make deserialization for GetJobAsync testable. Added unit test to validate reported customer issue. (#1497)
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-04-01 17:32:17 -05:00
Whit Waldo 55895fa19d
Updated Dapr runtime/CLI version used in integration tests (#1485)
* Updated itests.yml to use latest 1.15 runtime and CLI versions over 1.14 versions
* Updated CLI argument name as `dapr-http-max-request-size` was changed in a recent update included in the CLI

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-03-16 20:14:32 -05:00
Whit Waldo c14fcea0d4
Actor reminder deserialization bugfix (#1483)
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-03-11 13:47:17 -05:00
Whit Waldo bb47132f98
Fixed options passed to conversation API without "conversationId" throwing (#1480)
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-03-04 11:41:05 -06:00
Whit Waldo cb065f2089
Fixed unit tests validating actor reminder deserialization
Updated unit tests for actor reminder deserialization
2025-02-26 07:09:27 -06:00
Whit Waldo 19fd40390b
Fix: Actor reminders should return null if not registered
Added more checks to determine if a reminder was returned or not having discovered that the runtime returns a 200 even if there's no reminder registered. (#1476)
2025-02-26 06:33:52 -06:00
Whit Waldo 94dcdfd5b2
Actor reminders should return null if not registered (#1468)
* The implementation didn't check the status code for whether the actor reminder request failed or not. This updates it to return null if the reminder isn't present.

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed spelling error in unit test name

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit tests to validate GetReminderAsync request

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated to reflect changed interface

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit test to validate null response coming through from mocked ActorTimerManager

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated tests throughout class to use `const string` instead of `var` for constants

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit tests to prove out previously implemented reminder retrieval

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-02-26 03:54:03 -06:00
Whit Waldo c94b61e0d6
Fix for Jobs mapping handler (#1474)
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>
2025-02-26 03:40:58 -06:00
Whit Waldo 52f0851780
Removed out-of-date workflow reference in docs (#1463)
Docs: Removed out-of-date workflow reference
2025-02-24 12:38:47 -06:00
Whit Waldo 2b288a1135
Updating Conversation SDK (#1469)
FIX: Updated conversation protos and types to reflect property change from `message` to `content`

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-02-24 11:46:34 -06:00
Whit Waldo 0dc268f501
Fix: Duration-based scheduling is properly formed (#1462)
Fixed: Duration-based scheduling should be properly formatted

When using a duration-based schedule value (e.g. "5s", it's important that the value be preceded by "@every " so it's properly evaluated by the runtime. While a value of "5s" is perfectly valid in the `dueTime` property, the scheduler expects either a Cron expression or a prefixed duration value, necessitating this change.

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-02-20 01:14:13 -06:00
Whit Waldo e9ee4d21bf
Fix for `GetJobAsync` deserialization issue (#1461)
Bugfix: `GetJobAsync` deserialization failure

Updated GetJobsAsync deserialization to reflect actual values returned

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-02-19 13:07:32 -06:00
Whit Waldo 89d9d56bd5
Fixed Jobs SDK bugs (#1456)
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
2025-02-11 01:16:35 -06:00
Whit Waldo ab3ef305f2
DurableTask package dependency update (#1452)
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-02-03 12:47:05 -06:00
Whit Waldo 9e0672525e
Removed unused reference to FluentAssertions in light of licensing change (#1449)
* Removed unused reference to FluidAssertions in light of licensing change

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed from Dapr.AI.Test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Migrated Dapr.Extensions.Configuration.Test to use Shouldly

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Migrated Dapr.Common.Test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Migrated Dapr.Actors.AspNetCore.Test from FluentAssertions

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing copyright header

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Migrated Dapr.Actors.Test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Migrated Dapr.Client.Test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed unused using reference

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Migrated Dapr.E2E.Test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Migrated Dapr.AspNetCore.Test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Migrated Dapr.AspNetCore.IntegrationTest

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed reference to FluentAssertions

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed several unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed another unit test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed more tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed additional unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updating more unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed more unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed more unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed more unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-01-30 12:41:06 -06:00
Whit Waldo 676c0d7a7f
Bugfix: Crypto ReadOnlyMemory<byte> decryption times out (#1443)
* Bugfix: Removed use of MemoryMarshal as it wasn't decrypting in-memory byte arrays properly (doesn't impact stream encryption/decryption).

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added extension method similar to how the CommunityToolkit.HighPerformance project handles the creation of MemoryStreams without an allocation. Restored the use of MemoryMarshal, but throws an exception if the data cannot be accessed now, instead of hanging as it did in a previous iteration.

Tested both paths (string and stream) from example project successfully.

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing using

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-01-15 11:11:26 -06:00
Whit Waldo ef54d75f70
Simplfying Crypto example (#1442)
* Fixed bad console output showing encrypted bytes

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Simplified example so it doesn't require an Azure Key Vault instance and just uses a local set of keys

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated README to include instructions for generating the private key

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added private RSA key to project for users that lack OpenSSL on their system - updated README to include warning calling out that this key shouldn't be used for anything but demonstration and testing purposes.

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2025-01-14 17:38:28 -06:00
Hannah Hunter 01b4833474
fix typo (#1439)
Signed-off-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com>
2025-01-08 16:01:00 -06:00
Siri Varma Vegiraju 8b9f932c06
Provide the ability to Mock WorkflowActivityContext (#1358)
* Make context mockable

Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Fix project

Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Consolidated version of coverlet.msbuild, coverlet.collector, xunit, xunit.runner.visualstudio, Microsoft.AspNetCore.Mvc.Testing, Moq to the same version in all projects.

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Make context mockable

Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Fix project

Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Added unit test to prove out concern raised on Discord

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Removed unused using

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Added unit test to validate that headers aren't being stripped off request

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Fixed spelling typo

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Added fix to handle null return values

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Removed unnecessary null check

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Removed deprecated methods from DaprClient and tests as well as unused types

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Removed unused (and invalid) reference

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Removed E2E workflow test as it validated DaprClient and the functionality has been moved out to the Dapr.Workflow project instead.

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Adding instance-based CreateInvokableHttpClient (#1319)

This PR takes the implementation of the static method and puts it into the DaprClient instance, pulling from the existing apiTokenHeader on the instance to populate the daprApiToken, pulling the endpoint from the instance's httpEndpoint value and accepting only an appId argument so as to specify the ID of the Dapr app to connect to and place in the resulting URI.

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Fixed security advisory updates across dependencies (transitive and direct) (#1366)

Migrating whole solution to Central Package Management - several package version upgrades to address security advisories and otherwise.

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Removes floating classes and introduces Dapr.Common project (#1365)

Extracting classes out to common project

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Extracted Protos out to common project (#1367)

Protos pulled out to separate shared project

Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Improvement of the dotnet-contributing files (#1330)

Add link about Dapr bot to contribution documentation

Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Support case insensitive cloudevent payloads and forward cloudevent props s headers (#1153)

* forward cloudevent props
Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com>

* refactor middleware
Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com>

* add cloud event property filters
Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com>

* update string check
Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com>

* forward cloudevent props
Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com>

* refactor middleware
Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com>

* add cloud event property filters
Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com>

* update checks
Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Co-authored-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Updating actor serialization documentation (#1371)

* 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>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Prioritize retrieval of environment variables from IConfiguration instead of directly (#1363)

* Implemented against Dapr.Client.AspNetCore and Dapr.Client

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* SImplified DaprWorkflow DI registration and updated to use IConfiguration preference. Needs testing.

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing copyright header

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated actor registration to prefer the updated IConfiguration-based approach for pulling the HTTP endpoint and API token

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Adopted accepted proposal's guidelines for favoring different environment variables for determining the sidecar endpoint. Added notes to explain this in the code going forward.

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Made some lines a little more concise, added hostname default to DaprDefaults to use when building endpoints.

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed and updated unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated to put endpoint resolution mechanism in DaprDefaults within Dapr.Common  - updating projects and unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated packages to fix security advisory https://github.com/advisories/GHSA-447r-wph3-92pm

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated Workflow builder to use DaprDefaults with IConfiguration

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updating global.json

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Tweaked global.json comment

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Adding braces per nit

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Consolidated both registration extension methods to remove duplication

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* cleanup: Removed Serilog nuget from Directory.Packages.props (#1376)

* Removed Serilog nuget from Directory.Packages.props

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Update Directory.Packages.props

Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com>

---------

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>
Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Removed sample folder (#1375)

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>
Co-authored-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Remove unused variables (#1314)

* Remove unused variables

Signed-off-by: Rafael Camara <rafaelcamarac@gmail.com>
Signed-off-by: Rafael Câmara <52082556+RafaelJCamara@users.noreply.github.com>
Co-authored-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Remove unused using statements. (#1313)

Signed-off-by: Rafael Camara <rafaelcamarac@gmail.com>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Incremental source generator for actors (#1334)

* Samples - Add k8s deployment yaml to DemoActor sample (#1308)

* up

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Fixed build

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added scripts for image build

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added readme Build and push Docker image

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added demo-actor.yaml

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Fixed typo

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Updated guide, fixed invocation throw curl

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Removed dockerfile, updated readme, removed ps1 and sh scripts

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Updated base image

Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com>
Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Update demo-actor.yaml

Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com>
Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added overload for DaprClient DI registration (#1289)

* Added overload for DaprClient DI registration allowing the consumer to easily use values from injected services (e.g. IConfiguration).

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added supporting unit test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Co-authored-by: Phillip Hoff <phillip@orst.edu>
Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Merge `release-1.13` back into `master` (#1285)

* Update protos and related use for Dapr 1.13. (#1236)

* Update protos and related use.

Signed-off-by: Phillip Hoff <phillip@orst.edu>

* Update Dapr runtime version.

Signed-off-by: Phillip Hoff <phillip@orst.edu>

* Init properties.

Signed-off-by: Phillip Hoff <phillip@orst.edu>

---------

Signed-off-by: Phillip Hoff <phillip@orst.edu>

* Update artifact action versions. (#1240)

Signed-off-by: Phillip Hoff <phillip@orst.edu>

* Make recursive true as default (#1243)

Signed-off-by: Shivam Kumar <shivamkm07@gmail.com>

* Fix for secret key transformation in multi-value scenarios (#1274)

* Add repro test.

Signed-off-by: Phillip Hoff <phillip@orst.edu>

* Fix for secret key transformation in multi-value scenarios.

Signed-off-by: Phillip Hoff <phillip@orst.edu>

---------

Signed-off-by: Phillip Hoff <phillip@orst.edu>

* Update Dapr version numbers used during testing.

Signed-off-by: Phillip Hoff <phillip@orst.edu>

---------

Signed-off-by: Phillip Hoff <phillip@orst.edu>
Signed-off-by: Shivam Kumar <shivamkm07@gmail.com>
Co-authored-by: Shivam Kumar <shivamkm07@gmail.com>
Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

---------

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>
Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Phillip Hoff <phillip@orst.edu>
Signed-off-by: Shivam Kumar <shivamkm07@gmail.com>
Co-authored-by: Whit Waldo <whit.waldo@innovian.net>
Co-authored-by: Phillip Hoff <phillip@orst.edu>
Co-authored-by: Shivam Kumar <shivamkm07@gmail.com>
Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Aligned nuget version

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* UP

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* UP

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Debug profile added

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Updated implementation

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Emitted DAPR001 Diagnostic warning

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added DAPR002 diagnostic

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Cleaun

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* UP

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added summaries

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added base interface to ActorClient

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Updated

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added ctor

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added nullable directive

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added null check for actorproxy ctor parameter

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Moved DiagnoticException in a dedicate cs file

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Moved generator costants to dedicated class

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added ActorReference creation from the ActorBase class informations (#1277)

* Handled creation of ActorReference from Actor base class

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Updated null check

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added unit test for GetActorReference from null actore and actor proxy

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added test for ActorReference created inside Actor implementation

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Updated description

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Fixed test method naming

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added unit test for exception generated in case the type is not convertible to an ActorReference

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

---------

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added overload to support SDK supplying query string on invoked URL (#1310)

* Refactored extensions and their tests into separate directories

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added overload to method invocation to allow query string parameters to be passed in via the SDK instead of being uncermoniously added to the end of the produced HttpRequestMessage URI

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit tests to support implementation

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Marking HttpExtensions as internal to prevent external usage and updating to work against Uri instead of HttpRequestMessage.

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated unit tests to match new extension purpose

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Resolved an ambiguous method invocation wherein it was taking the query string and passing it as the payload for a request. Removed the offending method and reworked the remaining configurations so there's no API impact.

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Fixed actorProxy argument null check

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Moved ActorClientDesciptor into separta cs file

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Moved textual templates to dedicated class

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Updated comments, property names

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added argument null check to SyntaxFactoryHelpers

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added comments

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Removed obsolete testing packages https://github.com/dotnet/roslyn-sdk/blob/main/src/Microsoft.CodeAnalysis.Testing/README.md#obsolete-packages

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Adapted existing unit test to new source generated code

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Up

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added tests for SyntaxFactoryHelpers

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Updated generation of ArgumentNullException

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Updated nullability

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Fixed internal methods tests

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added test to IEnumerableExtensions

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Unittested GetSyntaxKinds from Accessibility

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* UP

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Updated assignment implementation of ctor body

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Improved unit test

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added implementation of method generation

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Fixed ArgumentNullException invocation

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added test for NameOfExpression

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Fixed ActorProxy method invocation

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Simplified proxy argument definition

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Explicit generic arguments of the proxy call during generation

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Handled cancellation token with default value

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Fixed typo

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Configured eol used in NormalizeWhitespace function

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Normalized expected source

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Moved to constat the ActorProxyTypeName

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Fix typo

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Created ActorProxyInvokeMethodAsync SyntaxFactoryHelper

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Removed custom concat implementation

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* fix (#1329)

Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com>
Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* link to non-dapr endpoint howto (#1335)

Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com>
Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Merge 1.14 release branch back into `master`. (#1337)

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Fixed merge errors
Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Updated some summaries

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added some missing summaries

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Fixed typo

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Improved some summary text

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Improved summaries

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Handled review requests

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Changed SyntaxFactoryHelpers accessor to internal

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

---------

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>
Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Phillip Hoff <phillip@orst.edu>
Signed-off-by: Shivam Kumar <shivamkm07@gmail.com>
Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com>
Co-authored-by: Whit Waldo <whit.waldo@innovian.net>
Co-authored-by: Phillip Hoff <phillip@orst.edu>
Co-authored-by: Shivam Kumar <shivamkm07@gmail.com>
Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Add .NET client for Dapr Jobs API (#1384)

* Package addition + updates

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added Dapr.Jobs project

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Initial commit - unable to proceed without update on master from streaming sub PR

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added class to Dapr.Common, fixed compilation errors

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit tests for Dapr.Common enum extensions

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing copyright header

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added sample Jobs project

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added documentation

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing copyright header

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Downgraded Roslyn packages since master doesn't yet have the incremental source generator updates

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Missed a reference regarding incremental source generators

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Downgraded packages to fix nullability issues on build

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Downgraded from 8.* packages back to 6.* packages for the various Microsoft.Extensions.* packages to fix build issues

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed unnecessary assignment

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added braces for clarity

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added more curley braces

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* More curly braces again

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Marked two properties as static

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated to handle any order of parameters to endpoint route builder delegate

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated default cancellation token value

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing package version in Directory.Packages

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added test to ensure that even if cancellation token is provided, it'll handle the mapping properly

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Updated prereqs to specify .NET 6 and .NET 8 in v1.15 (#1398)

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Refactor DaprWorkflowClientBuilderFactory and WorkflowRuntimeOptions (#1244)

This commit refactors the DaprWorkflowClientBuilderFactory and WorkflowRuntimeOptions classes.

In DaprWorkflowClientBuilderFactory:
- Added a new method, UseGrpcChannelOptions, to allow the use of custom GrpcChannelOptions for creating the GrpcChannel.
- Updated the UseGrpc method to use the GrpcChannelOptions provided by the WorkflowRuntimeOptions.

In WorkflowRuntimeOptions:
- Added a new property, GrpcChannelOptions, to store the custom GrpcChannelOptions.
- Added a new method, UseGrpcChannelOptions, to set the GrpcChannelOptions.

These changes improve the flexibility and customization options for the Dapr workflow client.

Signed-off-by: Michiel van Praat <michiel.vanpraat@humandigital.nl>
Co-authored-by: Michiel van Praat <michiel.vanpraat@humandigital.nl>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Fix for DI registration not completing as expected (#1386)

* Tentative fix for DI registration not completing as expected

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Making injected IConfiguration optional as it might not be populated if user isn't utilizing ASP.NET Core from caller

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed DI injection issue

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed registration of DaprWorkflowClientBuilderFactory

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated field names for consistency

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Minor formatting changes

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed build error caused by bad merge resolution

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Add .NET client for pub/sub support - streaming subscriptions (#1381)

* Building out Dapr.Messaging and test project for streaming pubsub subscriptions

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added copyright notices

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Minor stylistic updates

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added generic client builder to support publish/subscribe client builder

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Tweaked XML comment

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added several unit tests for the generic client builder

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated to include latest review changes:
- Added lock so that while we guarantee the method is called only once, it should be thread-safe now
- Marked PublishSubscribeReceiver as internal so its members aren't part of the public API
- Updated TopicMessage to use IReadOnlyDictionary

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Switched to interlock exchange instead of lock to slightly simplify code

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added sample project

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Minor changes to unit test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Deleted protos folder

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Using lowercase protos dir name

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added registration extension methods

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated example to use DI registration

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added default cancellation token

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Passing stream into method instead of creating it twice

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* ci: set fail-fast to false (#1405)

Signed-off-by: Mike Nguyen <hey@mike.ee>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Added async operations workflow sample (#1394)

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Added workflow example: Fan out/fan in (#1396)

* Added workflow fan out/fan in example

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added copyright headers

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Added workflow sample: Sub-workflows (#1395)

* Added Workflow with sub-workflow

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed duplicate package version reference

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Added workflow sample: Task chaining (#1387)

* Added Workflow Task Chaining example to replace https://github.com/dapr/dotnet-sdk/pull/1206

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Targeting .NET 6, fixed transposition error

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing copyright headers

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Added workflow sample: Monitor (#1388)

* Added workflow monitor

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Restore to original argument names

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Update to target .NET 6

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing copyright headers

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Added workflow example: External interaction (#1389)

* Added workflow example demonstrating external interaction

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added copyright headers

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed .sln file

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Optional DI lifecycle change (#1408)

* 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>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Additional lifecycle registration changes (#1410)

* Added service lifetime to Jobs client

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added service lifetime to messaging client

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added service lifetime to actors registration

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit tests for DaprClient

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Minor naming tweaks

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed invalid using

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added service lifetime tests for actors

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit tests for jobs client lifecycle registrations

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit tests for PubSub and lifecycle registration

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed missing registration dependency

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Preserve comparer of the original dictionary from ConfigurationProvider (#935)

Signed-off-by: Tomas Hrebicek <tomhreb@users.noreply.github.com>
Co-authored-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Update all.sln

Removed duplicate project include of Dapr.Workflow.Test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Bug/476 multiple methods per interface with JSON serialization doesn´t work (#1343)

* update devcontainer

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* update test setup

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* Now the json serialization should work with multiple methods in an interface

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* fixed devcontainer to run actors

Now the devcontainer uses docker in docker, so you can reach the dapr setup after you did run dapr init. This will then only affect the dev container, without compromising the host of the devcontainer

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* fix bugs with the current implementation

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* add a test that checks excatly the behavior

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* fix devcontainer post creatd command

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* change the default to dotnet 8.0

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* I don't know what is different but we commit.

Maybe it resolves the need of chmod for it 🤷‍♀️

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* make it easier to see why the application of an E2E test couldn't start

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* make the exception in E2E more percise

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* fix exception message

Signed-off-by: paule96 <paul-jeschke@outlook.com>

---------

Signed-off-by: paule96 <paul-jeschke@outlook.com>
Co-authored-by: Yaron Schneider <schneider.yaron@live.com>
Co-authored-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Support .NET 9 (#1404)

* 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>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* update .net workflow docs to stable (#1418)

Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* FIX: Actor source generator generates invalid code for generic interfaces (#1419)

* Handled generic actor interface

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added more actor examples

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Updated actor namespace in example project

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

---------

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>
Co-authored-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Add .NET client for LLM Conversations support (#1382)

* 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>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Updated protos to latest in dapr/dapr (#1420)

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Conversation builder consistency changes (#1423)

* Corrected several unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated extension name for consistency

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated registration name for consistency

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* #906 -Added methods in status API supports for saving and reading binary data (#1116)

* Added methods in status API supports for direct storage and reading of byte arrays #906

Signed-off-by: Divya Perumal <divzi.perumal@gmail.com>
Signed-off-by: Divya Perumal <diperuma@microsoft.com>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Fixes + unit tests for streaming PubSub implementation (#1415)

* Added null check - the proto suggests this shouldn't ever be null, but there's an issue reporting as much, so this fixes that

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed the Task.WhenAll making the operation non-blocking

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit test to validate that the subscription is no longer blocking

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed unused line from previous test, added another test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added another test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* More unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added more unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated to make DaprPublishSubscribeClientBuilder configurable via a registered IConfiguration

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing copyright statements

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing package reference

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed bad reference (missed in merge)

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed failing unit test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Tweak to only pass along EventMessage payloads to developers as it's expected that the initial response will be null if EventMessage is populated

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Was missing assignment of the Data property in the TopicMessage. Shout out to both @tommorvolloriddle and @Aimless321 for catching this!

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fix - return would be bad. Continue is the right move.

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added a simple test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Merged in tweaks from #1422

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Fix nulls

Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Delete examples/Client/PublishSubscribe/StreamingSubscriptionExample/Properties/launchSettings.json

Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>

* Delete examples/AI/ConversationalAI/Properties/launchSettings.json

Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>

* Delete daprdocs/content/en/dotnet-sdk-docs/dotnet-ai/dotnet-ai-usage.md

Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>

* Update dotnet-jobs-howto.md

Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>

* Update dotnet-jobs-howto.md

Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>

* Update dotnet-workflowclient-usage.md

Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>

* Update dotnet-workflowclient-usage.md

Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* fix thing

Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Update WorkflowActivityContext.cs

Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Update WorkflowActivityContext.cs

Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>

* Fix version

Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Update Dapr.Workflow.Test.csproj

Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* fix things

Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Delete examples/AI/ConversationalAI/Properties/launchSettings.json

Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Delete examples/Client/PublishSubscribe/StreamingSubscriptionExample/Properties/launchSettings.json

Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>

* Update WorkflowActivityContext.cs

Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>

---------

Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>
Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com>
Signed-off-by: Rafael Camara <rafaelcamarac@gmail.com>
Signed-off-by: Rafael Câmara <52082556+RafaelJCamara@users.noreply.github.com>
Signed-off-by: Phillip Hoff <phillip@orst.edu>
Signed-off-by: Shivam Kumar <shivamkm07@gmail.com>
Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com>
Signed-off-by: Michiel van Praat <michiel.vanpraat@humandigital.nl>
Signed-off-by: Mike Nguyen <hey@mike.ee>
Signed-off-by: Tomas Hrebicek <tomhreb@users.noreply.github.com>
Signed-off-by: paule96 <paul-jeschke@outlook.com>
Signed-off-by: Divya Perumal <divzi.perumal@gmail.com>
Signed-off-by: Divya Perumal <diperuma@microsoft.com>
Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>
Co-authored-by: Siri Varma Vegiraju <svegiraju@microsoft.com>
Co-authored-by: Manuel Menegazzo <mmenegazzo@battistellacompany.it>
Co-authored-by: Whit Waldo <whit.waldo@innovian.net>
Co-authored-by: Shubhdeep Singh <shubhdeepsingh1502@gmail.com>
Co-authored-by: Ilias <polil91@hotmail.com>
Co-authored-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com>
Co-authored-by: Rafael Câmara <52082556+RafaelJCamara@users.noreply.github.com>
Co-authored-by: Phillip Hoff <phillip@orst.edu>
Co-authored-by: Shivam Kumar <shivamkm07@gmail.com>
Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com>
Co-authored-by: Ruud van Falier <119449492+humandigital-ruud@users.noreply.github.com>
Co-authored-by: Michiel van Praat <michiel.vanpraat@humandigital.nl>
Co-authored-by: Mike Nguyen <hey@mike.ee>
Co-authored-by: Tomas Hrebicek <tomhreb@users.noreply.github.com>
Co-authored-by: paule96 <paul-jeschke@outlook.com>
Co-authored-by: Yaron Schneider <schneider.yaron@live.com>
Co-authored-by: Divya Perumal <38757978+divzi-p@users.noreply.github.com>
2024-12-28 13:24:20 -06:00
jev-e da8b21bac4
Support gRPC richer error model (#1436)
* First pass at supporting richer error model in Dapr .NET SDK

Signed-off-by: jev-e <jev@jev.org.uk>
Signed-off-by: jev <jacob@jev.org.uk>

* Add ExtendedErrorDetailFactory, move to seperate files / new folder, add test file.

Signed-off-by: jev <jacob@jev.org.uk>

* Flesh out + rename tests file, tidy more comments.

Signed-off-by: jev <jacob@jev.org.uk>

* Add metadata to ErrorInfo details, add tests for each details type, multiple details

Signed-off-by: jev jacob@jev.org.uk
Signed-off-by: jev <jacob@jev.org.uk>

* Tidy up comments, add copyright to file.

Signed-off-by: jev jacob@jev.org.uk
Signed-off-by: jev <jacob@jev.org.uk>

* add and use constants, more docs tidy up.

Signed-off-by: jev jacob@jev.org.uk
Signed-off-by: jev <jacob@jev.org.uk>

* add initial docs pages for error handling in .net sdk.

Signed-off-by: jev jacob@jev.org.uk
Signed-off-by: jev <jacob@jev.org.uk>

* write daprdocs detailing usage of extendedErrorInfo, rename vars

signed-off-by: jev jacob@jev.org.uk
Signed-off-by: jev <jacob@jev.org.uk>

* Address PR comments

Signed-off-by: jev <jacob@jev.org.uk>

* pr comment; adjust weight

Signed-off-by: jev <jacob@jev.org.uk>

---------

Signed-off-by: jev-e <jev@jev.org.uk>
Signed-off-by: jev <jacob@jev.org.uk>
Signed-off-by: jev jacob@jev.org.uk
2024-12-28 12:56:47 -06:00
Whit Waldo a61db8bf97
Adds workflow replay-safe logger (#1434)
* 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>
2024-12-19 16:23:46 -06:00
Phillip Hoff 2849ec6341
Add RELEASE doc. (#1433)
Signed-off-by: Phillip Hoff <phillip@orst.edu>
2024-12-17 18:47:53 -06:00
Whit Waldo 1454043ff8
Updating Dapr .NET SDK documentation (#1409)
* 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>
2024-12-12 11:07:27 -06:00
Whit Waldo 3d500e84f7
Fixes + unit tests for streaming PubSub implementation (#1415)
* Added null check - the proto suggests this shouldn't ever be null, but there's an issue reporting as much, so this fixes that

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed the Task.WhenAll making the operation non-blocking

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit test to validate that the subscription is no longer blocking

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed unused line from previous test, added another test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added another test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* More unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added more unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated to make DaprPublishSubscribeClientBuilder configurable via a registered IConfiguration

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing copyright statements

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing package reference

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed bad reference (missed in merge)

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed failing unit test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Tweak to only pass along EventMessage payloads to developers as it's expected that the initial response will be null if EventMessage is populated

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Was missing assignment of the Data property in the TopicMessage. Shout out to both @tommorvolloriddle and @Aimless321 for catching this!

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fix - return would be bad. Continue is the right move.

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added a simple test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Merged in tweaks from #1422

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2024-12-11 15:29:39 -06:00
Divya Perumal 3a930c26d2
#906 -Added methods in status API supports for saving and reading binary data (#1116)
* Added methods in status API supports for direct storage and reading of byte arrays #906

Signed-off-by: Divya Perumal <divzi.perumal@gmail.com>
Signed-off-by: Divya Perumal <diperuma@microsoft.com>
2024-12-11 14:41:14 -06:00
Whit Waldo ccf2bfdce3
Conversation builder consistency changes (#1423)
* Corrected several unit tests

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated extension name for consistency

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated registration name for consistency

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2024-12-11 13:42:23 -06:00
Whit Waldo 8bc031887e
Updated protos to latest in dapr/dapr (#1420)
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2024-12-10 22:17:00 -06:00
Whit Waldo 7b5ca4fb6c
Add .NET client for LLM Conversations support (#1382)
* 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>
2024-12-10 09:06:44 -06:00
Manuel Menegazzo cfd4fbee84
FIX: Actor source generator generates invalid code for generic interfaces (#1419)
* Handled generic actor interface

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Added more actor examples

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

* Updated actor namespace in example project

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>

---------

Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com>
Co-authored-by: Whit Waldo <whit.waldo@innovian.net>
2024-12-05 11:36:45 -06:00
Hannah Hunter 232f461682
update .net workflow docs to stable (#1418)
Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com>
2024-12-04 13:12:02 -06:00
Whit Waldo da01dcd644
Support .NET 9 (#1404)
* 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>
2024-12-03 23:50:42 -06:00
paule96 2e0fa8026a
Bug/476 multiple methods per interface with JSON serialization doesn´t work (#1343)
* update devcontainer

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* update test setup

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* Now the json serialization should work with multiple methods in an interface

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* fixed devcontainer to run actors

Now the devcontainer uses docker in docker, so you can reach the dapr setup after you did run dapr init. This will then only affect the dev container, without compromising the host of the devcontainer

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* fix bugs with the current implementation

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* add a test that checks excatly the behavior

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* fix devcontainer post creatd command

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* change the default to dotnet 8.0

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* I don't know what is different but we commit.

Maybe it resolves the need of chmod for it 🤷‍♀️

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* make it easier to see why the application of an E2E test couldn't start

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* make the exception in E2E more percise

Signed-off-by: paule96 <paul-jeschke@outlook.com>

* fix exception message

Signed-off-by: paule96 <paul-jeschke@outlook.com>

---------

Signed-off-by: paule96 <paul-jeschke@outlook.com>
Co-authored-by: Yaron Schneider <schneider.yaron@live.com>
Co-authored-by: Whit Waldo <whit.waldo@innovian.net>
2024-12-03 14:26:00 -06:00
Tomas Hrebicek 80f0c749ea
Preserve comparer of the original dictionary from ConfigurationProvider (#935)
Signed-off-by: Tomas Hrebicek <tomhreb@users.noreply.github.com>
Co-authored-by: Whit Waldo <whit.waldo@innovian.net>
2024-11-29 23:16:18 -06:00
Whit Waldo 0b80c853b6
Additional lifecycle registration changes (#1410)
* Added service lifetime to Jobs client

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added service lifetime to messaging client

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added service lifetime to actors registration

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit tests for DaprClient

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Minor naming tweaks

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed invalid using

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added service lifetime tests for actors

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit tests for jobs client lifecycle registrations

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit tests for PubSub and lifecycle registration

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed missing registration dependency

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2024-11-24 02:14:10 -06:00
Whit Waldo ef04cad901
Optional DI lifecycle change (#1408)
* 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>
2024-11-21 15:40:20 -06:00
Whit Waldo f769eb1205
Added workflow example: External interaction (#1389)
* Added workflow example demonstrating external interaction

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added copyright headers

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed .sln file

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2024-11-18 12:48:53 -06:00
Whit Waldo 57a656bd2b
Added workflow sample: Monitor (#1388)
* Added workflow monitor

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Restore to original argument names

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Update to target .NET 6

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing copyright headers

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2024-11-14 11:48:38 -07:00
Whit Waldo 9d838fca9c
Added workflow sample: Task chaining (#1387)
* Added Workflow Task Chaining example to replace https://github.com/dapr/dotnet-sdk/pull/1206

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Targeting .NET 6, fixed transposition error

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added missing copyright headers

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2024-11-14 10:26:25 -07:00
Whit Waldo 651e5c74cb
Added workflow sample: Sub-workflows (#1395)
* Added Workflow with sub-workflow

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed duplicate package version reference

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2024-11-14 10:04:49 -07:00
Whit Waldo f3979ec080
Added workflow example: Fan out/fan in (#1396)
* Added workflow fan out/fan in example

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added copyright headers

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2024-11-13 12:34:02 -07:00
Whit Waldo 74a98111dc
Added async operations workflow sample (#1394)
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2024-11-12 14:08:21 -07:00
Mike Nguyen 6e2841a14a
ci: set fail-fast to false (#1405)
Signed-off-by: Mike Nguyen <hey@mike.ee>
2024-11-12 10:03:12 -07:00
Whit Waldo 91ee78aff4
Add .NET client for pub/sub support - streaming subscriptions (#1381)
* Building out Dapr.Messaging and test project for streaming pubsub subscriptions

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added copyright notices

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Minor stylistic updates

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added generic client builder to support publish/subscribe client builder

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Tweaked XML comment

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added several unit tests for the generic client builder

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated to include latest review changes:
- Added lock so that while we guarantee the method is called only once, it should be thread-safe now
- Marked PublishSubscribeReceiver as internal so its members aren't part of the public API
- Updated TopicMessage to use IReadOnlyDictionary

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Switched to interlock exchange instead of lock to slightly simplify code

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added sample project

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Minor changes to unit test

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Deleted protos folder

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Using lowercase protos dir name

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added registration extension methods

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated example to use DI registration

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added default cancellation token

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Passing stream into method instead of creating it twice

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2024-11-05 11:57:21 -06:00
Whit Waldo 682df6fec9
Fix for DI registration not completing as expected (#1386)
* Tentative fix for DI registration not completing as expected

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Making injected IConfiguration optional as it might not be populated if user isn't utilizing ASP.NET Core from caller

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed DI injection issue

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed registration of DaprWorkflowClientBuilderFactory

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Updated field names for consistency

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Minor formatting changes

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed build error caused by bad merge resolution

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2024-11-05 01:28:02 -06:00
Ruud van Falier e7d3c47615
Refactor DaprWorkflowClientBuilderFactory and WorkflowRuntimeOptions (#1244)
This commit refactors the DaprWorkflowClientBuilderFactory and WorkflowRuntimeOptions classes.

In DaprWorkflowClientBuilderFactory:
- Added a new method, UseGrpcChannelOptions, to allow the use of custom GrpcChannelOptions for creating the GrpcChannel.
- Updated the UseGrpc method to use the GrpcChannelOptions provided by the WorkflowRuntimeOptions.

In WorkflowRuntimeOptions:
- Added a new property, GrpcChannelOptions, to store the custom GrpcChannelOptions.
- Added a new method, UseGrpcChannelOptions, to set the GrpcChannelOptions.

These changes improve the flexibility and customization options for the Dapr workflow client.

Signed-off-by: Michiel van Praat <michiel.vanpraat@humandigital.nl>
Co-authored-by: Michiel van Praat <michiel.vanpraat@humandigital.nl>
2024-11-04 14:00:26 -06:00
Whit Waldo 7356c9dea2
Updated prereqs to specify .NET 6 and .NET 8 in v1.15 (#1398)
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
2024-11-01 12:23:17 -05:00