using StabilityMatrix.Core.Helper; using StabilityMatrix.Core.Helper.Cache; using StabilityMatrix.Core.Models.FileInterfaces; using StabilityMatrix.Core.Models.Progress; using StabilityMatrix.Core.Processes; using StabilityMatrix.Core.Services; namespace StabilityMatrix.Core.Models.Packages; public class DankDiffusion : BaseGitPackage { public DankDiffusion( IGithubApiCache githubApi, ISettingsManager settingsManager, IDownloadService downloadService, IPrerequisiteHelper prerequisiteHelper ) : base(githubApi, settingsManager, downloadService, prerequisiteHelper) { } public override string Name => "dank-diffusion"; public override string DisplayName { get; set; } = "Dank Diffusion"; public override string Author => "mohnjiles"; public override string LicenseType => "AGPL-3.0"; public override string LicenseUrl => "https://github.com/LykosAI/StabilityMatrix/blob/main/LICENSE"; public override string Blurb => "A dank interface for diffusion"; public override string LaunchCommand => "test"; public override SharedFolderMethod RecommendedSharedFolderMethod => SharedFolderMethod.Symlink; public override IReadOnlyList ExtraLaunchCommands => new[] { "test-config", }; public override Uri PreviewImageUri { get; } public override string OutputFolderName { get; } public override Task InstallPackage( string installLocation, TorchVersion torchVersion, DownloadPackageVersionOptions versionOptions, IProgress? progress = null, Action? onConsoleOutput = null ) { throw new NotImplementedException(); } public override Task RunPackage( string installedPackagePath, string command, string arguments, Action? onConsoleOutput ) { throw new NotImplementedException(); } public override Task SetupModelFolders( DirectoryPath installDirectory, SharedFolderMethod sharedFolderMethod ) { throw new NotImplementedException(); } public override Task UpdateModelFolders( DirectoryPath installDirectory, SharedFolderMethod sharedFolderMethod ) { throw new NotImplementedException(); } public override Task RemoveModelFolderLinks( DirectoryPath installDirectory, SharedFolderMethod sharedFolderMethod ) { throw new NotImplementedException(); } public override IEnumerable AvailableTorchVersions { get; } public override List LaunchOptions { get; } public override Dictionary>? SharedFolders { get; } public override Dictionary< SharedOutputType, IReadOnlyList >? SharedOutputFolders { get; } public override Task GetLatestVersion() { throw new NotImplementedException(); } }