sim_lib_openai_server/codec_openai/
mod.rs1use sim_kernel::{CodecId, Lib, Linker, LoadCx, Result};
2
3pub mod decode;
5pub mod encode;
7pub mod shapes;
9pub mod streaming;
11
12pub use decode::{decode_openai_request, decode_openai_response};
13pub use encode::{encode_openai_request, encode_openai_response, encode_openai_responses_response};
14pub use shapes::{ChatTranscript, OpenAiCodecOptions, OpenAiRequestOptions};
15pub use sim_codec_chat::{OpenAiCodec, OpenAiCodecLib, openai_codec_symbol};
16pub use streaming::{
17 GatewayEventData, OpenAiSseSurface, StreamSink, encode_gateway_events_sse,
18 gateway_event_data_from_packet, gateway_event_data_kind, gateway_event_data_packets,
19};
20
21const OPENAI_CODEC_RUNTIME_ID: CodecId = CodecId(0);
22
23pub fn install_openai_codec(cx: &mut LoadCx, linker: &mut Linker<'_>) -> Result<()> {
26 OpenAiCodecLib::new(OPENAI_CODEC_RUNTIME_ID).load(cx, linker)
27}