Class ToolLoadout
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
namestring
Exceptions
- ArgumentException
Thrown when
nameis 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
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
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
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
Name
Unique name identifying this loadout.
public string Name { get; }
Property Value
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; }