Skip to main content

sim_codec_chat/
lib.rs

1//! Canonical chat transcript codec for SIM.
2//!
3//! This crate provides `codec:chat`, a provider-neutral text format for
4//! model request, response, event, and card transcripts represented as
5//! `Expr::Map` values.
6
7#![forbid(unsafe_code)]
8#![deny(missing_docs)]
9
10mod base64;
11mod canonical;
12mod expr;
13mod helpers;
14mod ollama;
15mod parts;
16
17#[cfg(test)]
18mod tests;
19
20pub use canonical::{ChatCodec, ChatCodecLib};
21pub use helpers::{
22    is_model_request_expr, model_card_expr, model_error_expr, model_request_messages_expr,
23    model_response_expr, validate_chat_transcript,
24};
25pub use ollama::{
26    OllamaRequestOptions, decode_ollama_response, decode_ollama_stream, encode_ollama_request,
27};
28pub use parts::{number_field, text_part, usage_record};