// Copyright (c) Microsoft. All rights reserved.
using System;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
namespace AgentConversation.IntegrationTests;
///
/// Represents a single step within a , combining the agent to invoke,
/// an optional input message, and an optional validation delegate.
///
public sealed class ConversationStep
{
///
/// Gets or sets the name of the agent to invoke for this step.
/// Must match a key in .
///
public required string AgentName { get; init; }
///
/// Gets or sets the optional input message to send to the agent.
/// When , the agent is invoked with no new user input (useful for
/// eliciting a response from the existing conversation context).
///
public ChatMessage? Input { get; init; }
///
/// Gets or sets an optional delegate that validates the agent response and metrics for this step.
/// When , no validation is performed.
///
public Action? Validate { get; init; }
}