// Copyright (c) Microsoft. All rights reserved.
namespace Harness.Shared.Console;
///
/// Represents the type of an output entry in the console conversation.
///
public enum OutputEntryType
{
/// User input echo (e.g. "You: hello").
UserInput,
/// In-progress streaming text from the agent (accumulated chunk by chunk).
StreamingText,
/// Informational line (tool calls, errors, usage, approval requests, etc.).
InfoLine,
/// Stream footer (e.g. "(no text response from agent)").
StreamFooter,
/// Pending injected message notification.
PendingMessage,
}
///
/// Represents a single output entry in the console conversation history.
/// These entries are rendered by the via its render delegate.
///
/// The type of output entry.
/// The text content of the entry.
/// Optional foreground color for rendering.
public record OutputEntry(OutputEntryType Type, string Text, ConsoleColor? Color = null);