namespace AIStudio.Tools.AssistantSessions; /// /// Identifies one logical assistant session slot. /// public readonly record struct AssistantSessionKey { /// /// Initializes a new assistant session key. /// /// The application component the assistant belongs to. /// The assistant-specific instance ID, such as a component type or plugin ID. public AssistantSessionKey(Components component, string instanceId) { this.Component = component; this.InstanceId = instanceId; } /// /// Gets the application component the assistant belongs to. /// public Components Component { get; init; } /// /// Gets the assistant-specific instance ID, such as a component type or plugin ID. /// public string InstanceId { get; init; } /// /// Converts the key into a compact diagnostic string. /// /// The component and instance ID joined by a colon. public override string ToString() => $"{this.Component}:{this.InstanceId}"; }