namespace MCPForUnity.Editor.Services.AssetGen.Providers { /// Normalized lifecycle state reported by a provider poll, across all providers. public enum ProviderPollState { Queued, Running, Succeeded, Failed } /// /// Outcome of a single provider poll. is normalized to 0..1. /// On , points at the /// result the C# side will download into the project. On /// , carries a redacted message. /// public sealed class ProviderPollResult { public ProviderPollState State; public float Progress; public string DownloadUrl; /// Inline result bytes for synchronous providers that return base64 (e.g. OpenRouter), /// so the job manager skips the download step. Takes precedence over . public byte[] InlineData; /// Overrides the downloaded file extension, e.g. "zip" for archive results. public string ResultExt; public string Error; } /// Request to generate a 3D model. Shared by every model provider adapter. public sealed class ModelGenRequest { public string Provider; public string Mode; // text | image public string Prompt; public string ImagePath; public string ImageUrl; public string Format = "glb"; public float TargetSize = 1f; public bool Texture = true; public string Tier; public string Name; public string OutputFolder; } /// Request to generate a 2D image. Shared by every image provider adapter. public sealed class ImageGenRequest { public string Provider; public string Mode; // text | image public string Prompt; public string ImagePath; public string ImageUrl; public string Model; public bool Transparent; public bool AsSprite = true; // import as Sprite (2D/UI) vs Default texture public int Width; public int Height; public string Name; public string OutputFolder; } /// /// Public, key-free description of a provider for list_providers. Never carries a key /// value — reports existence only. /// public sealed class ProviderInfo { public string Id; public string Kind; // model | image | marketplace public bool Configured; public string[] Capabilities; } }