mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
* Adding support for events & shared state in durable workflows. * PR feedback fixes * PR feedback fixes. * Add YieldOutputAsync calls to 05_WorkflowEvents sample executors The integration test asserts that WorkflowOutputEvent is found in the stream, but the sample executors only used AddEventAsync for custom events and never called YieldOutputAsync. Since WorkflowOutputEvent is only emitted via explicit YieldOutputAsync calls, the assertion would fail. Added YieldOutputAsync to each executor to match the test expectation and demonstrate the API in the sample. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix deserialization to use shared serializer options. * PR feedback updates. * Sample cleanup * PR feedback fixes * Addressing PR review feedback for DurableStreamingWorkflowRun - Use -1 instead of 0 for taskId in TaskFailedException when task ID is not relevant. - Add [NotNullWhen(true)] to TryParseWorkflowResult out parameter following .NET TryXXX conventions. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
26 lines
857 B
C#
26 lines
857 B
C#
// Copyright (c) Microsoft. All rights reserved.
|
|
|
|
using Microsoft.Agents.AI.Workflows;
|
|
|
|
namespace Microsoft.Agents.AI.DurableTask.Workflows;
|
|
|
|
/// <summary>
|
|
/// Event raised when an executor requests the workflow to halt via <see cref="IWorkflowContext.RequestHaltAsync"/>.
|
|
/// </summary>
|
|
public sealed class DurableHaltRequestedEvent : WorkflowEvent
|
|
{
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="DurableHaltRequestedEvent"/> class.
|
|
/// </summary>
|
|
/// <param name="executorId">The ID of the executor that requested the halt.</param>
|
|
public DurableHaltRequestedEvent(string executorId) : base($"Halt requested by {executorId}")
|
|
{
|
|
this.ExecutorId = executorId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the ID of the executor that requested the halt.
|
|
/// </summary>
|
|
public string ExecutorId { get; }
|
|
}
|