namespace AIStudio.Assistants.BeyondFactsLab;
///
/// Where the BeyondFacts Lab keeps a chat, e.g., in a step of a preparation.
///
///
/// Each place holds one chat at most, and the ID of the chat follows from the place, see BflThreadId. Two places of
/// the same kind with the same values are equal, so a place serves as a key.
///
public abstract record BflThreadLocation
{
///
/// Gets the ID of the chat, which follows from its place.
///
public abstract Guid ChatId { get; }
///
/// Gets a key which no other place has, e.g., for the registry of running assistant sessions and for the log.
///
public abstract string Key { get; }
///
/// Gets the name the chat stores, which tells people who look into its file where it belongs.
///
public abstract string ChatName { get; }
}