using System.Runtime.CompilerServices;
using AIStudio.Chat;
using AIStudio.Settings;
namespace AIStudio.Provider;
public class NoProvider : IProvider
{
#region Implementation of IProvider
public string Id => "none";
public string InstanceName { get; set; } = "None";
///
public string AdditionalJsonApiParameters { get; init; } = string.Empty;
public Task> GetTextModels(string? apiKeyProvisional = null, CancellationToken token = default) => Task.FromResult>([]);
public Task> GetImageModels(string? apiKeyProvisional = null, CancellationToken token = default) => Task.FromResult>([]);
public Task> GetEmbeddingModels(string? apiKeyProvisional = null, CancellationToken token = default) => Task.FromResult>([]);
public async IAsyncEnumerable StreamChatCompletion(Model chatModel, ChatThread chatChatThread, SettingsManager settingsManager, [EnumeratorCancellation] CancellationToken token = default)
{
await Task.FromResult(0);
yield break;
}
public async IAsyncEnumerable StreamImageCompletion(Model imageModel, string promptPositive, string promptNegative = FilterOperator.String.Empty, ImageURL referenceImageURL = default, [EnumeratorCancellation] CancellationToken token = default)
{
await Task.FromResult(0);
yield break;
}
public IReadOnlyCollection GetModelCapabilities(Model model) => [ Capability.NONE ];
#endregion
}