| File: Model\Assistant\InitialPrompt.cs | Web Access |
| Project: src\src\Aspire.Dashboard\Aspire.Dashboard.csproj (Aspire.Dashboard) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Extensions.AI; using Microsoft.FluentUI.AspNetCore.Components; namespace Aspire.Dashboard.Model.Assistant; public class InitialPrompt { public InitialPrompt(Icon icon, string buttonTitle, string buttonDescription, string chatDisplayText, ChatMessage promptMessage) : this(icon, buttonTitle, buttonDescription, (context) => { context.ChatBuilder.AddUserMessage(chatDisplayText, promptMessage.Text); return Task.CompletedTask; }) { } public InitialPrompt(Icon icon, string buttonTitle, string buttonDescription, Action<InitializePromptContext> createPrompt) : this(icon, buttonTitle, buttonDescription, (context) => { createPrompt(context); return Task.CompletedTask; }) { } public InitialPrompt(Icon icon, string buttonTitle, string buttonDescription, Func<InitializePromptContext, Task> createPrompt) { Icon = icon; ButtonTitle = buttonTitle; ButtonDescription = buttonDescription; CreatePrompt = createPrompt; } public Icon Icon { get; } public string ButtonTitle { get; } public string ButtonDescription { get; } public Func<InitializePromptContext, Task> CreatePrompt { get; } }