using AIStudio.Settings; using Microsoft.JSInterop; namespace AIStudio.Provider; /// /// A common interface for all providers. /// public interface IProvider { /// /// The provider's ID. /// public string Id { get; } /// /// The provider's instance name. Useful for multiple instances of the same provider, /// e.g., to distinguish between different OpenAI API keys. /// public string InstanceName { get; set; } public IAsyncEnumerable GetChatCompletion(IJSRuntime jsRuntime, SettingsManager settings, Model chatModel, Thread chatThread); public Task> GetModels(IJSRuntime jsRuntime, SettingsManager settings); }