Table of Contents

Class FileToolLoadoutRegistry

Namespace
JD.AI.Core.Tools
Assembly
JD.AI.Core.dll

An IToolLoadoutRegistry that discovers and loads *.loadout.yaml files from one or more configured search paths.

public sealed class FileToolLoadoutRegistry : IToolLoadoutRegistry
Inheritance
FileToolLoadoutRegistry
Implements
Inherited Members

Remarks

Files are loaded once at construction. Invalid or unreadable files are skipped silently so that a single bad file does not prevent other loadouts from loading.

Constructors

FileToolLoadoutRegistry(IEnumerable<string>)

Initialises the registry by scanning all supplied paths for *.loadout.yaml files (recursive).

public FileToolLoadoutRegistry(IEnumerable<string> searchPaths)

Parameters

searchPaths IEnumerable<string>

Properties

LoadedCount

Number of loadouts successfully loaded from disk.

public int LoadedCount { get; }

Property Value

int

Methods

GetAll()

Returns all registered loadouts in registration order.

public IReadOnlyList<ToolLoadout> GetAll()

Returns

IReadOnlyList<ToolLoadout>

GetLoadout(string)

Returns the loadout with the given name, or null if not found.

public ToolLoadout? GetLoadout(string name)

Parameters

name string

Returns

ToolLoadout

Register(ToolLoadout)

Registers a loadout. Overwrites any existing loadout with the same name.

public void Register(ToolLoadout loadout)

Parameters

loadout ToolLoadout

ResolveActivePlugins(string, IEnumerable<KernelPlugin>)

Resolves the set of plugin names that should be actively loaded for the given loadout, drawing from availablePlugins. Respects inheritance, category mapping, and disabled-plugin overrides.

public IReadOnlySet<string> ResolveActivePlugins(string loadoutName, IEnumerable<KernelPlugin> availablePlugins)

Parameters

loadoutName string

Name of the loadout to resolve.

availablePlugins IEnumerable<KernelPlugin>

All plugins registered on the kernel.

Returns

IReadOnlySet<string>

Plugin names that should be loaded for this loadout.

ResolveDiscoverablePlugins(string, IEnumerable<KernelPlugin>)

Resolves the set of plugin names that are discoverable (lazy) for the given loadout. These plugins are not loaded by default but can be enabled on request at runtime. Active and disabled plugins are excluded from the discoverable set.

public IReadOnlySet<string> ResolveDiscoverablePlugins(string loadoutName, IEnumerable<KernelPlugin> availablePlugins)

Parameters

loadoutName string

Name of the loadout to resolve.

availablePlugins IEnumerable<KernelPlugin>

All plugins registered on the kernel.

Returns

IReadOnlySet<string>

Plugin names that are discoverable but not currently active.