// Copyright (c) Microsoft. All rights reserved.
namespace Aspire.Hosting.AgentFramework;
///
/// Describes an AI agent exposed by an agent service backend, used for entity discovery in DevUI.
///
///
///
/// When added via ,
/// agent metadata is declared at the AppHost level so that the DevUI aggregator can build the
/// entity listing without querying each backend's /v1/entities endpoint.
///
///
/// Agent services only need to expose the standard OpenAI Responses and Conversations API endpoints
/// (MapOpenAIResponses and MapOpenAIConversations), not a custom discovery endpoint.
///
///
/// The unique identifier for the agent, typically matching the name passed to AddAIAgent.
/// A short description of the agent's capabilities.
public record AgentEntityInfo(string Id, string? Description = null)
{
///
/// Gets the display name for the agent. Defaults to if not specified.
///
public string Name { get; init; } = Id;
///
/// Gets the entity type. Defaults to "agent".
///
public string Type { get; init; } = "agent";
///
/// Gets the framework identifier. Defaults to "agent_framework".
///
public string Framework { get; init; } = "agent_framework";
}