Table of Contents

Class ToolLoadout

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

Represents a named, curated set of tools to expose to an agent. Defines which plugins are loaded by default, which are discoverable on demand, and which are explicitly disabled.

public sealed class ToolLoadout
Inheritance
ToolLoadout
Inherited Members

Remarks

Use ToolLoadoutBuilder to construct instances via a fluent API. Well-known built-in names are defined in WellKnownLoadouts.

Constructors

ToolLoadout(string)

Initialises a loadout with the given unique name.

public ToolLoadout(string name)

Parameters

name string

Exceptions

ArgumentException

Thrown when name is null or whitespace.

Properties

DefaultPlugins

Explicit plugin names included by default regardless of category. Matching is case-insensitive.

public IReadOnlySet<string> DefaultPlugins { get; init; }

Property Value

IReadOnlySet<string>

DisabledPlugins

Plugin names that are explicitly blocked, overriding any category or default inclusion. Matching is case-insensitive.

public IReadOnlySet<string> DisabledPlugins { get; init; }

Property Value

IReadOnlySet<string>

DiscoverablePatterns

Glob-style patterns for plugins that are discoverable but not eagerly loaded. Supports exact names and wildcard suffixes (e.g. "docker*", "github"). A single "*" makes all unloaded plugins discoverable.

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

Property Value

IReadOnlyList<string>

IncludedCategories

Tool categories whose associated plugins are loaded by default. The registry maps each ToolCategory to a set of plugin names.

public IReadOnlySet<ToolCategory> IncludedCategories { get; init; }

Property Value

IReadOnlySet<ToolCategory>

Name

Unique name identifying this loadout.

public string Name { get; }

Property Value

string

ParentLoadoutName

Optional name of the parent loadout whose settings are inherited before applying this loadout's own additions. Cycles are silently broken.

public string? ParentLoadoutName { get; init; }

Property Value

string