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; }