using System.Text.Json.Serialization;
namespace AIStudio.Assistants.VisualBriefing;
///
/// Stable, machine-readable visual briefing failure codes.
///
[JsonConverter(typeof(JsonStringEnumConverter))]
public enum VisualBriefingFailureCode
{
///
/// No failure occurred.
///
NONE,
///
/// The selected provider is unavailable.
///
PROVIDER_NOT_SELECTED,
///
/// The selected model lacks a required capability.
///
MODEL_CAPABILITY_MISSING,
///
/// A required source cannot be reached.
///
SOURCE_UNREACHABLE,
///
/// A media transcript is missing or outdated.
///
TRANSCRIPT_UNAVAILABLE,
///
/// Source preparation failed.
///
SOURCE_PREPARATION_FAILED,
///
/// A model call failed.
///
PROVIDER_CALL_FAILED,
///
/// A model response is not valid JSON.
///
RESPONSE_JSON_INVALID,
///
/// A model response does not match its strict contract.
///
RESPONSE_CONTRACT_INVALID,
///
/// AI Studio's own compiler produced parts that violate the artifact contract. This is a defect
/// in AI Studio, never in the model response, and is therefore never sent back to the model.
///
COMPILER_INVARIANT_VIOLATED,
///
/// Source coverage is incomplete or duplicated.
///
SOURCE_COVERAGE_INVALID,
///
/// A visual asset plan is incomplete or invalid.
///
ASSET_PLAN_INVALID,
///
/// An updated content artifact has an incompatible structural signature.
///
CONTENT_SIGNATURE_INCOMPATIBLE,
///
/// The presentation violates the declarative artifact contract.
///
PRESENTATION_INVALID,
///
/// Deterministic artifact assembly failed.
///
ASSEMBLY_FAILED,
///
/// The assembled artifact failed security validation.
///
ARTIFACT_VALIDATION_FAILED,
///
/// Atomic persistence or revision commit failed.
///
STORE_FAILED,
///
/// The operation produced no material revision changes.
///
NO_CHANGES,
///
/// The operation was canceled.
///
CANCELED,
///
/// The app stopped while a persistent build stage was running.
///
BUILD_INTERRUPTED,
///
/// An unexpected internal error occurred.
///
UNEXPECTED,
}