.NET Workflows - Improvements to Declarative Framework (#838)

* Closure

* Verified

* Update dotnet/src/Microsoft.Agents.Workflows.Declarative/Interpreter/DeclarativeWorkflowContext.cs

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

* Sample folder

* System scope fix

* Fix link

* Integrate Foundry SDK fix

* File naming fix

* Update dotnet/src/Microsoft.Agents.Workflows.Declarative/Interpreter/DeclarativeWorkflowContext.cs

Co-authored-by: Tao Chen <taochen@microsoft.com>

* Namespace

* Optimize bind

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
This commit is contained in:
Chris
2025-09-23 21:08:07 +00:00
committed by GitHub
co-authored by Copilot Tao Chen
parent b28e1db478
commit 06827e9f1a
46 changed files with 368 additions and 545 deletions
@@ -18,7 +18,7 @@ internal sealed class AddConversationMessageExecutor(AddConversationMessage mode
protected override async ValueTask<object?> ExecuteAsync(IWorkflowContext context, CancellationToken cancellationToken)
{
StringExpression conversationExpression = Throw.IfNull(this.Model.ConversationId, $"{nameof(this.Model)}.{nameof(this.Model.ConversationId)}");
string conversationId = this.State.Evaluator.GetValue(conversationExpression).Value;
string conversationId = this.Evaluator.GetValue(conversationExpression).Value;
ChatMessage newMessage = new(this.Model.Role.Value.ToChatRole(), [.. this.GetContent()]) { AdditionalProperties = this.GetMetadata() };
@@ -33,7 +33,7 @@ internal sealed class AddConversationMessageExecutor(AddConversationMessage mode
{
foreach (AddConversationMessageContent content in this.Model.Content)
{
AIContent? messageContent = content.Type.Value.ToContent(this.State.Engine.Format(content.Value));
AIContent? messageContent = content.Type.Value.ToContent(this.Engine.Format(content.Value));
if (messageContent is not null)
{
yield return messageContent;
@@ -48,7 +48,7 @@ internal sealed class AddConversationMessageExecutor(AddConversationMessage mode
return null;
}
RecordDataValue? metadataValue = this.State.Evaluator.GetValue(this.Model.Metadata).Value;
RecordDataValue? metadataValue = this.Evaluator.GetValue(this.Model.Metadata).Value;
return metadataValue.ToMetadata();
}