use sim_kernel::{CodecId, Lib, Linker, LoadCx, Result};
pub mod decode;
pub mod encode;
pub mod shapes;
pub mod streaming;
pub use decode::{decode_openai_request, decode_openai_response};
pub use encode::{encode_openai_request, encode_openai_response, encode_openai_responses_response};
pub use shapes::{ChatTranscript, OpenAiCodecOptions, OpenAiRequestOptions};
pub use sim_codec_chat::{OpenAiCodec, OpenAiCodecLib, openai_codec_symbol};
pub use streaming::{
GatewayEventData, OpenAiSseSurface, StreamSink, encode_gateway_events_sse,
gateway_event_data_from_packet, gateway_event_data_kind, gateway_event_data_packets,
};
const OPENAI_CODEC_RUNTIME_ID: CodecId = CodecId(0);
pub fn install_openai_codec(cx: &mut LoadCx, linker: &mut Linker<'_>) -> Result<()> {
OpenAiCodecLib::new(OPENAI_CODEC_RUNTIME_ID).load(cx, linker)
}