use bevy_reflect::{ReflectDeserialize, ReflectSerialize};
use rig_core::message;
crate::reflect::opaque_reflect! {
struct TextPartReflect(message::Text): PartialEq;
struct ToolCallPartReflect(message::ToolCall): PartialEq;
struct ReasoningPartReflect(message::Sealed<message::Reasoning>): PartialEq;
struct JsonPartReflect(serde_json::Value): PartialEq;
struct ImageMediaReflect(Option<message::ImageMediaType>): PartialEq;
struct AudioMediaReflect(Option<message::AudioMediaType>): PartialEq;
struct VideoMediaReflect(Option<message::VideoMediaType>): PartialEq;
struct DocumentMediaReflect(Option<message::DocumentMediaType>): PartialEq;
struct PartParamsReflect(Option<message::AdditionalParams>): PartialEq;
struct ImageDetailReflect(Option<message::ImageDetail>): PartialEq;
}