.NET Workflows - Fix ability of ParseValue action to process list/table types. (#1577)

* Initial plan

* Add test classes for extension methods

Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

* Fix test issues and document bug in ExpandoObjectExtensions

Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

* Address code review feedback - shorten Skip messages and add explanatory comments

Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

* Replace Fields.ToDictionary with GetField calls and fix ExpandoObjectExtensions bug

Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

* Update dotnet/tests/Microsoft.Agents.AI.Workflows.Declarative.UnitTests/Extensions/DataValueExtensionsTests.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update dotnet/tests/Microsoft.Agents.AI.Workflows.Declarative.UnitTests/Extensions/DataValueExtensionsTests.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove unused using statement from DialogBaseExtensionsTests

Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

* Add proper WrapWithBot tests using AdaptiveDialog and OnActivity

Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

* Cleanup

* Better

* Better

* One more test

* Checkpoint

* Checkpoint

* Finally

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Chris
2025-10-21 02:45:07 +00:00
committed by GitHub
co-authored by Copilot copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
parent e8a7d3b1b7
commit 731e3a7633
15 changed files with 1056 additions and 76 deletions
+39
View File
@@ -0,0 +1,39 @@
kind: Workflow
trigger:
kind: OnConversationStart
id: workflow_demo
actions:
- kind: SetVariable
id: set-variable-text
variable: Local.ItemsText
value: '["apple","banana","cat"]'
- kind: SendActivity
id: display-text
activity: |-
(1)
{Local.ItemsText}
- kind: ParseValue
id: parse-list
variable: Local.ItemsList
value: =Local.ItemsText
valueType: Table
- kind: SendActivity
id: display-list
activity: |-
(2)
{Local.ItemsList}
- kind: Foreach
id: loop-list
items: =Local.ItemsList
value: Local.LoopValue
index: Local.LoopIndex
actions:
- kind: SendActivity
id: display-list-item
activity: "{Local.LoopValue} (x{Local.LoopIndex + 1})"