namespace AIStudio.Tools.PluginSystem;
///
/// Represents metadata for a configuration object from a configuration plugin. These are
/// complex objects such as configured LLM providers, chat templates, etc.
///
public sealed record PluginConfigurationObject
{
///
/// The id of the configuration plugin to which this configuration object belongs.
///
public required Guid ConfigPluginId { get; init; } = Guid.NewGuid();
///
/// The id of the configuration object, e.g., the id of a chat template.
///
public required Guid Id { get; init; } = Guid.NewGuid();
///
/// The type of the configuration object.
///
public required PluginConfigurationObjectType Type { get; init; } = PluginConfigurationObjectType.NONE;
}