Table of Contents

Class FileAgentDefinitionRegistry

Namespace
JD.AI.Core.Agents
Assembly
JD.AI.Core.dll

File-backed IVersionedAgentDefinitionRegistry that stores AgentDefinition instances as *.agent.yaml files inside environment-scoped sub-directories of a root path.

public sealed class FileAgentDefinitionRegistry : IVersionedAgentDefinitionRegistry, IAgentDefinitionRegistry
Inheritance
FileAgentDefinitionRegistry
Implements
Inherited Members

Remarks

Directory layout:

{root}/dev/     → development agent definitions
{root}/staging/ → staging agent definitions
{root}/prod/    → production agent definitions

Files are named {name}@{version}.agent.yaml. A companion {name}@{version}.sha256 file stores the checksum.

Constructors

FileAgentDefinitionRegistry(string)

public FileAgentDefinitionRegistry(string rootPath)

Parameters

rootPath string

Methods

GetAll()

Returns all registered agent definitions.

public IReadOnlyList<AgentDefinition> GetAll()

Returns

IReadOnlyList<AgentDefinition>

GetByName(string)

Returns the definition with the given name, or null if no matching definition is registered.

public AgentDefinition? GetByName(string name)

Parameters

name string

Returns

AgentDefinition

GetByTag(string)

Returns all definitions that carry the specified tag.

public IReadOnlyList<AgentDefinition> GetByTag(string tag)

Parameters

tag string

Returns

IReadOnlyList<AgentDefinition>

ListAsync(string, CancellationToken)

Lists all definitions in the given environment, optionally filtered by name.

public Task<IReadOnlyList<AgentDefinition>> ListAsync(string environment = "dev", CancellationToken cancellationToken = default)

Parameters

environment string
cancellationToken CancellationToken

Returns

Task<IReadOnlyList<AgentDefinition>>

PromoteAsync(string, string, string, string, CancellationToken)

Copies a definition from fromEnvironment to toEnvironment. The definition must be registered in the source environment.

public Task PromoteAsync(string name, string version, string fromEnvironment, string toEnvironment, CancellationToken cancellationToken = default)

Parameters

name string
version string
fromEnvironment string
toEnvironment string
cancellationToken CancellationToken

Returns

Task

Register(AgentDefinition)

Registers a definition. If a definition with the same definition.Name.Name already exists it is replaced.

public void Register(AgentDefinition definition)

Parameters

definition AgentDefinition

RegisterAsync(AgentDefinition, string, CancellationToken)

Persists the definition in the given environment scope. If a definition with the same name+version already exists it is overwritten.

public Task RegisterAsync(AgentDefinition definition, string environment = "dev", CancellationToken cancellationToken = default)

Parameters

definition AgentDefinition
environment string
cancellationToken CancellationToken

Returns

Task

ResolveAsync(string, string?, string, CancellationToken)

Resolves a definition by name and optional version within the given environment. If version is null or "latest", the highest semver definition is returned. Returns null if not found.

public Task<AgentDefinition?> ResolveAsync(string name, string? version = null, string environment = "dev", CancellationToken cancellationToken = default)

Parameters

name string
version string
environment string
cancellationToken CancellationToken

Returns

Task<AgentDefinition>

UnregisterAsync(string, string, string, CancellationToken)

Removes the named version from the given environment.

public Task UnregisterAsync(string name, string version, string environment = "dev", CancellationToken cancellationToken = default)

Parameters

name string
version string
environment string
cancellationToken CancellationToken

Returns

Task