.NET API
AgentDefinitionRequest
Tracon.AspNetCore.dllRequest to create or update an agent definition.
public sealed record AgentDefinitionRequest : IEquatable<AgentDefinitionRequest>- Inheritance
- object ← AgentDefinitionRequest
- Implements
- IEquatable<AgentDefinitionRequest>
- Inherited Members
- object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Remarks
Section titled “Remarks”Does not bind directly to AgentDefinition. The definition’s
Origin, Version, TenantId, and UpdatedAt fields
belong to the server; letting the client set these would break version
history and tenant isolation.
Constructors
Section titled “Constructors”AgentDefinitionRequest()
Section titled “ AgentDefinitionRequest()”public AgentDefinitionRequest()Properties
Section titled “Properties”CallableAgents
Section titled “ CallableAgents”The other agents this agent may call, each with the version of it that runs.
public IReadOnlyList<CallableAgentReference> CallableAgents { get; init; }Property Value
Section titled “Property Value”IReadOnlyList<CallableAgentReference>
Remarks
Section titled “Remarks”Checked at the moment the call graph is saved: an unknown name,
self-calling, and indirect cycles are rejected with 400 Bad Request. So is a
version below 1, one the agent does not have, one on an agent defined in code,
and a name that appears twice. Leave version out to run the agent’s current version.
Compaction
Section titled “ Compaction”Context compaction settings. If left empty, no compaction is applied.
public CompactionSettings? Compaction { get; init; }Property Value
Section titled “Property Value”Description
Section titled “ Description”Short description.
public string? Description { get; init; }Property Value
Section titled “Property Value”DisplayName
Section titled “ DisplayName”Name shown in the UI.
public string? DisplayName { get; init; }Property Value
Section titled “Property Value”ExtensionNames
Section titled “ ExtensionNames”Names of agent extensions to compile the agent with, in call order. Extensions
are defined only in code; only the name of an already registered extension may
be given here. See AgentDefinition.ExtensionNames.
public IReadOnlyList<string> ExtensionNames { get; init; }Property Value
Section titled “Property Value”Harness
Section titled “ Harness”Harness settings. If left empty, a plain chat agent is compiled.
public HarnessSettings? Harness { get; init; }Property Value
Section titled “Property Value”Instructions
Section titled “ Instructions”System instructions.
public string? Instructions { get; init; }Property Value
Section titled “Property Value”InstructionsByCulture
Section titled “ InstructionsByCulture”Culture-keyed instructions. See AgentDefinition.InstructionsByCulture.
public IReadOnlyDictionary<string, string>? InstructionsByCulture { get; init; }Property Value
Section titled “Property Value”IReadOnlyDictionary<string, string>?
McpResourceUris
Section titled “ McpResourceUris”MCP resources added to the run context, each of the form
"{server}:{uri}". See AgentDefinition.McpResourceUris.
public IReadOnlyList<string> McpResourceUris { get; init; }Property Value
Section titled “Property Value”Memory
Section titled “ Memory”Memory provider settings. If left empty, no memory provider is added.
public MemorySettings? Memory { get; init; }Property Value
Section titled “Property Value”Metadata
Section titled “ Metadata”Free-form, application-specific metadata. See AgentDefinition.Metadata.
public IReadOnlyDictionary<string, JsonElement> Metadata { get; init; }Property Value
Section titled “Property Value”IReadOnlyDictionary<string, JsonElement>
Remarks
Section titled “Remarks”Owned by the application, not the server: unlike Origin, Version,
TenantId and UpdatedAt, this travels on the request so that an
update does not erase it. Tracon itself never reads these keys.
Model binding: provider, model, and sampling settings.
public required ModelBinding Model { get; init; }Property Value
Section titled “Property Value”Agent name. Unique within the catalog.
public required string Name { get; init; }Property Value
Section titled “Property Value”Parameters
Section titled “ Parameters”The parameter schema. See AgentDefinition.Parameters.
public IReadOnlyList<AgentParameter> Parameters { get; init; }Property Value
Section titled “Property Value”SharedInstructionsName
Section titled “ SharedInstructionsName”The referenced shared instructions block. See AgentDefinition.SharedInstructionsName.
public string? SharedInstructionsName { get; init; }Property Value
Section titled “Property Value”SkillNames
Section titled “ SkillNames”Names of skills that can be loaded at runtime.
public IReadOnlyList<string> SkillNames { get; init; }Property Value
Section titled “Property Value”Skills
Section titled “ Skills”How the agent uses its skills. See AgentDefinition.Skills. If left empty, all
three skill tools ask for approval.
public SkillSettings? Skills { get; init; }Property Value
Section titled “Property Value”SubAgents
Section titled “ SubAgents”How long this agent waits for the agents it calls. See
AgentDefinition.SubAgents. Ignored when
CallableAgents is empty.
public SubAgentSettings? SubAgents { get; init; }Property Value
Section titled “Property Value”ToolNames
Section titled “ ToolNames”Names of tools to use. Tools are defined only in code; only the name of an already registered tool may be given here.
public IReadOnlyList<string> ToolNames { get; init; }Property Value
Section titled “Property Value”Workspace
Section titled “ Workspace”The session workspace of the agent: a file area that belongs to one conversation. See
AgentDefinition.Workspace. If left empty, the agent has no workspace.
public WorkspaceSettings? Workspace { 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(AgentDefinitionRequest?)
Section titled “ Equals(AgentDefinitionRequest?)”public bool Equals(AgentDefinitionRequest? other)Parameters
Section titled “Parameters”other AgentDefinitionRequest?
Returns
Section titled “Returns”GetHashCode()
Section titled “ GetHashCode()”public override int GetHashCode()Returns
Section titled “Returns”ToDefinition()
Section titled “ ToDefinition()”Converts the request into a persistable definition.
public AgentDefinition ToDefinition()Returns
Section titled “Returns”A definition ready to be written to the database.
ToString()
Section titled “ ToString()”public override string ToString()Returns
Section titled “Returns”Operators
Section titled “Operators”operator ==(AgentDefinitionRequest?, AgentDefinitionRequest?)
Section titled “ operator ==(AgentDefinitionRequest?, AgentDefinitionRequest?)”public static bool operator ==(AgentDefinitionRequest? left, AgentDefinitionRequest? right)Parameters
Section titled “Parameters”left AgentDefinitionRequest?
right AgentDefinitionRequest?
Returns
Section titled “Returns”operator !=(AgentDefinitionRequest?, AgentDefinitionRequest?)
Section titled “ operator !=(AgentDefinitionRequest?, AgentDefinitionRequest?)”public static bool operator !=(AgentDefinitionRequest? left, AgentDefinitionRequest? right)Parameters
Section titled “Parameters”left AgentDefinitionRequest?
right AgentDefinitionRequest?