mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
.NET: [Feature Branch] Add basic durable workflow support (#3648)
* Add basic durable workflow support. * PR feedback fixes * Add conditional edge sample. * PR feedback fixes. * Minor cleanup. * Minor cleanup * Minor formatting improvements. * Improve comments/documentation on the execution flow.
This commit is contained in:
@@ -100,4 +100,115 @@ internal static partial class Logs
|
||||
public static partial void LogTTLExpirationTimeCleared(
|
||||
this ILogger logger,
|
||||
AgentSessionId sessionId);
|
||||
|
||||
// Durable workflow logs (EventIds 100-199)
|
||||
|
||||
[LoggerMessage(
|
||||
EventId = 100,
|
||||
Level = LogLevel.Information,
|
||||
Message = "Starting workflow '{WorkflowName}' with instance '{InstanceId}'")]
|
||||
public static partial void LogWorkflowStarting(
|
||||
this ILogger logger,
|
||||
string workflowName,
|
||||
string instanceId);
|
||||
|
||||
[LoggerMessage(
|
||||
EventId = 101,
|
||||
Level = LogLevel.Information,
|
||||
Message = "Superstep {Step}: {Count} active executor(s)")]
|
||||
public static partial void LogSuperstepStarting(
|
||||
this ILogger logger,
|
||||
int step,
|
||||
int count);
|
||||
|
||||
[LoggerMessage(
|
||||
EventId = 102,
|
||||
Level = LogLevel.Debug,
|
||||
Message = "Superstep {Step} executors: [{Executors}]")]
|
||||
public static partial void LogSuperstepExecutors(
|
||||
this ILogger logger,
|
||||
int step,
|
||||
string executors);
|
||||
|
||||
[LoggerMessage(
|
||||
EventId = 103,
|
||||
Level = LogLevel.Information,
|
||||
Message = "Workflow completed")]
|
||||
public static partial void LogWorkflowCompleted(
|
||||
this ILogger logger);
|
||||
|
||||
[LoggerMessage(
|
||||
EventId = 104,
|
||||
Level = LogLevel.Warning,
|
||||
Message = "Workflow '{InstanceId}' terminated early: reached maximum superstep limit ({MaxSupersteps}) with {RemainingExecutors} executor(s) still queued")]
|
||||
public static partial void LogWorkflowMaxSuperstepsExceeded(
|
||||
this ILogger logger,
|
||||
string instanceId,
|
||||
int maxSupersteps,
|
||||
int remainingExecutors);
|
||||
|
||||
[LoggerMessage(
|
||||
EventId = 105,
|
||||
Level = LogLevel.Debug,
|
||||
Message = "Fan-In executor {ExecutorId}: aggregated {Count} messages from [{Sources}]")]
|
||||
public static partial void LogFanInAggregated(
|
||||
this ILogger logger,
|
||||
string executorId,
|
||||
int count,
|
||||
string sources);
|
||||
|
||||
[LoggerMessage(
|
||||
EventId = 106,
|
||||
Level = LogLevel.Debug,
|
||||
Message = "Executor '{ExecutorId}' returned result (length: {Length}, messages: {MessageCount})")]
|
||||
public static partial void LogExecutorResultReceived(
|
||||
this ILogger logger,
|
||||
string executorId,
|
||||
int length,
|
||||
int messageCount);
|
||||
|
||||
[LoggerMessage(
|
||||
EventId = 107,
|
||||
Level = LogLevel.Debug,
|
||||
Message = "Dispatching executor '{ExecutorId}' (agentic: {IsAgentic})")]
|
||||
public static partial void LogDispatchingExecutor(
|
||||
this ILogger logger,
|
||||
string executorId,
|
||||
bool isAgentic);
|
||||
|
||||
[LoggerMessage(
|
||||
EventId = 108,
|
||||
Level = LogLevel.Warning,
|
||||
Message = "Agent '{AgentName}' not found")]
|
||||
public static partial void LogAgentNotFound(
|
||||
this ILogger logger,
|
||||
string agentName);
|
||||
|
||||
[LoggerMessage(
|
||||
EventId = 109,
|
||||
Level = LogLevel.Debug,
|
||||
Message = "Edge {Source} -> {Sink}: condition returned false, skipping")]
|
||||
public static partial void LogEdgeConditionFalse(
|
||||
this ILogger logger,
|
||||
string source,
|
||||
string sink);
|
||||
|
||||
[LoggerMessage(
|
||||
EventId = 110,
|
||||
Level = LogLevel.Warning,
|
||||
Message = "Failed to evaluate condition for edge {Source} -> {Sink}, skipping")]
|
||||
public static partial void LogEdgeConditionEvaluationFailed(
|
||||
this ILogger logger,
|
||||
Exception ex,
|
||||
string source,
|
||||
string sink);
|
||||
|
||||
[LoggerMessage(
|
||||
EventId = 111,
|
||||
Level = LogLevel.Debug,
|
||||
Message = "Edge {Source} -> {Sink}: routing message")]
|
||||
public static partial void LogEdgeRoutingMessage(
|
||||
this ILogger logger,
|
||||
string source,
|
||||
string sink);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user