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;
}
}