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