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::Reasoning): PartialEq;
struct OpaquePartReflect(message::Opaque): PartialEq;
struct NativeReflect(Option<message::Native>): PartialEq;
struct OriginReflect(Option<message::Origin>): PartialEq;
struct StopReflect(Option<message::StopReason>): 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<serde_json::Value>): PartialEq;
struct ImageDetailReflect(Option<message::ImageDetail>): PartialEq;
}