Skip to content

AgentDescriptor

Namespace AgentPrism · Assembly AgentPrism.Abstractions.dll

A summary view of an agent listed in the catalog. It carries everything the user interface needs to draw the agent list, without having to build the agent.

public sealed record AgentDescriptor : IEquatable<AgentDescriptor>

objectAgentDescriptor

IEquatable<AgentDescriptor>

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

public AgentDescriptor()

Gets the names of the other agents this agent may call.

public IReadOnlyList<string> CallableAgentNames { get; init; }

IReadOnlyList<string>

An agent registered in code with a factory carries no declarative definition; the list is empty for such an agent. That means the graph can be incomplete, which is why the static cycle check is not enough on its own.

Gets the short description.

public string? Description { get; init; }

string?

Gets the name shown in the user interface.

public string? DisplayName { get; init; }

string?

Gets the bound model. It can be unknown for code agents.

public ModelBinding? Model { get; init; }

ModelBinding?

Gets the unique name of the agent.

public required string Name { get; init; }

string

Gets the origin of the definition.

public required AgentDefinitionOrigin Origin { get; init; }

AgentDefinitionOrigin

Gets the names of the skills this agent may load at run time.

public IReadOnlyList<string> SkillNames { get; init; }

IReadOnlyList<string>

Gets the name of the source that supplies this agent, for example code or database. Several sources can share the same AgentDescriptor.Origin value.

public required string SourceName { get; init; }

string

Gets the names of the tools this agent may use.

public IReadOnlyList<string> ToolNames { get; init; }

IReadOnlyList<string>

Gets the time of the last change (UTC).

public DateTimeOffset? UpdatedAt { get; init; }

DateTimeOffset?

Gets whether the harness capabilities are enabled.

public bool UsesHarness { get; init; }

bool

Gets the definition version. It is always 1 for code agents.

public int Version { get; init; }

int

public override bool Equals(object? obj)

obj object?

bool

public bool Equals(AgentDescriptor? other)

other AgentDescriptor?

bool

public override int GetHashCode()

int

public override string ToString()

string

operator ==(AgentDescriptor?, AgentDescriptor?)

Section titled “ operator ==(AgentDescriptor?, AgentDescriptor?)”
public static bool operator ==(AgentDescriptor? left, AgentDescriptor? right)

left AgentDescriptor?

right AgentDescriptor?

bool

operator !=(AgentDescriptor?, AgentDescriptor?)

Section titled “ operator !=(AgentDescriptor?, AgentDescriptor?)”
public static bool operator !=(AgentDescriptor? left, AgentDescriptor? right)

left AgentDescriptor?

right AgentDescriptor?

bool