.NET API
AgentDetailResponse
Tracon.AspNetCore.dllDetailed view of a single agent.
public sealed record AgentDetailResponse : IEquatable<AgentDetailResponse>Inheritance
Section titled “Inheritance”Implements
Section titled “Implements”IEquatable<AgentDetailResponse>
Inherited Members
Section titled “Inherited Members”object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Remarks
Section titled “Remarks”The catalog shows agents defined both in code and in the database. Those
defined in code cannot be edited: on a name collision,
code wins, so a definition written to the database would
never resolve. AgentDetailResponse.IsEditable lets the UI know this in advance.
A code-defined agent still exposes its instructions where they can be read
without ambiguity — see Definition and FactoryInstructions —
even though it cannot be edited here.
Constructors
Section titled “Constructors”AgentDetailResponse()
Section titled “ AgentDetailResponse()”public AgentDetailResponse()Properties
Section titled “Properties”Definition
Section titled “ Definition”The agent’s definition. null only for a code agent built
from a factory (AddAgent(name, factory)), which carries no
AgentDefinition at all. A code agent declared with
AddAgent(AgentDefinition) returns its in-memory definition here
despite never being written to the database.
public AgentDefinition? Definition { get; init; }Property Value
Section titled “Property Value”Descriptor
Section titled “ Descriptor”Catalog summary.
public required AgentDescriptor Descriptor { get; init; }Property Value
Section titled “Property Value”FactoryInstructions
Section titled “ FactoryInstructions”Best-effort instructions read directly from the resolved agent when
Definition is null because the agent is
built from a factory (AddAgent(name, factory)) and its concrete
type exposes them (currently only Microsoft.Agents.AI.ChatClientAgent).
null when Definition is populated instead
(read Definition.Instructions there), when the factory’s concrete
type does not expose instructions, or when invoking the factory to check
failed — this field is diagnostic only and never blocks the response.
public string? FactoryInstructions { get; init; }Property Value
Section titled “Property Value”IsEditable
Section titled “ IsEditable”Whether this agent can be modified through the management API.
public required bool IsEditable { get; init; }Property Value
Section titled “Property Value”Methods
Section titled “Methods”Equals(object?)
Section titled “ Equals(object?)”public override bool Equals(object? obj)Parameters
Section titled “Parameters”obj object?
Returns
Section titled “Returns”Equals(AgentDetailResponse?)
Section titled “ Equals(AgentDetailResponse?)”public bool Equals(AgentDetailResponse? other)Parameters
Section titled “Parameters”other AgentDetailResponse?
Returns
Section titled “Returns”GetHashCode()
Section titled “ GetHashCode()”public override int GetHashCode()Returns
Section titled “Returns”ToString()
Section titled “ ToString()”public override string ToString()Returns
Section titled “Returns”Operators
Section titled “Operators”operator ==(AgentDetailResponse?, AgentDetailResponse?)
Section titled “ operator ==(AgentDetailResponse?, AgentDetailResponse?)”public static bool operator ==(AgentDetailResponse? left, AgentDetailResponse? right)Parameters
Section titled “Parameters”left AgentDetailResponse?
right AgentDetailResponse?
Returns
Section titled “Returns”operator !=(AgentDetailResponse?, AgentDetailResponse?)
Section titled “ operator !=(AgentDetailResponse?, AgentDetailResponse?)”public static bool operator !=(AgentDetailResponse? left, AgentDetailResponse? right)Parameters
Section titled “Parameters”left AgentDetailResponse?
right AgentDetailResponse?