Expand description
conversation-codec: JSONL save/load for LLM conversation messages.
One JSON object per line — appends are cheap and partial files are recoverable. Optional per-message redaction via a callback.
use conversation_codec::Codec;
use serde_json::json;
let messages = vec![
json!({"role": "user", "content": "hello"}),
json!({"role": "assistant", "content": "hi there"}),
];
let dir = std::env::temp_dir();
let path = dir.join("conv_doctest.jsonl");
let codec = Codec::new();
codec.save(&messages, &path).unwrap();
let loaded = codec.load(&path).unwrap();
assert_eq!(loaded.len(), 2);
assert_eq!(loaded[0]["role"], json!("user"));
std::fs::remove_file(&path).ok();Structs§
- Codec
- JSONL conversation codec.