namespace AIStudio.Tools.PluginSystem.Assistants;
/// The workspace the chat is created in. An empty name means the launcher opens a chat without a workspace, which the app shows as a disappearing chat.
/// The tools preselected for the chat, or null when the launcher names none.
public sealed record AssistantChatLaunchConfiguration(string WorkspaceName, Guid? ProviderId, Guid? ProfileId, Guid? ChatTemplateId, IReadOnlyList? DataSourceIds, IReadOnlyList? ToolIds)
{
///
/// Whether the launcher opens a chat that belongs to no workspace. The missing workspace name is
/// the whole condition, so the launch behavior and the written plugin follow from it.
///
public bool OpensTemporaryChat => string.IsNullOrWhiteSpace(this.WorkspaceName);
}