pub const ESCAPE: u8 = 0x1B;
pub const DICTIONARY: &[&str] = &[
"orchestrator",
"web_search",
"code_exec",
"file_read",
"assistant",
"planner",
"system",
"tool",
"user",
];
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum DictError {
OutputTooSmall,
TruncatedEscape,
BadCode(u8),
}
fn dict_match(data: &[u8], at: usize) -> Option<usize> {
let rest = &data[at..];
let mut k = 0;
while k < DICTIONARY.len() {
if rest.starts_with(DICTIONARY[k].as_bytes()) {
return Some(k);
}
k += 1;
}
None
}
pub fn compress(data: &[u8], out: &mut [u8]) -> Result<usize, DictError> {
let mut i = 0;
let mut o = 0;
while i < data.len() {
if let Some(k) = dict_match(data, i) {
put(out, &mut o, ESCAPE)?;
put(out, &mut o, (k as u8) + 1)?; i += DICTIONARY[k].len();
} else if data[i] == ESCAPE {
put(out, &mut o, ESCAPE)?;
put(out, &mut o, 0)?; i += 1;
} else {
put(out, &mut o, data[i])?;
i += 1;
}
}
Ok(o)
}
pub fn decompress(data: &[u8], out: &mut [u8]) -> Result<usize, DictError> {
let mut i = 0;
let mut o = 0;
while i < data.len() {
if data[i] == ESCAPE {
let code = *data.get(i + 1).ok_or(DictError::TruncatedEscape)?;
if code == 0 {
put(out, &mut o, ESCAPE)?; } else {
let entry = DICTIONARY
.get((code - 1) as usize)
.ok_or(DictError::BadCode(code))?;
put_slice(out, &mut o, entry.as_bytes())?;
}
i += 2;
} else {
put(out, &mut o, data[i])?;
i += 1;
}
}
Ok(o)
}
fn put(out: &mut [u8], o: &mut usize, byte: u8) -> Result<(), DictError> {
let slot = out.get_mut(*o).ok_or(DictError::OutputTooSmall)?;
*slot = byte;
*o += 1;
Ok(())
}
fn put_slice(out: &mut [u8], o: &mut usize, bytes: &[u8]) -> Result<(), DictError> {
let end = *o + bytes.len();
let slot = out.get_mut(*o..end).ok_or(DictError::OutputTooSmall)?;
slot.copy_from_slice(bytes);
*o = end;
Ok(())
}
#[cfg(test)]
mod tests {
use super::*;
fn round_trip(data: &[u8]) -> std::vec::Vec<u8> {
let mut packed = std::vec![0u8; data.len() * 2 + 4];
let n = compress(data, &mut packed).unwrap();
packed.truncate(n);
let mut back = std::vec![0u8; data.len() + 4];
let m = decompress(&packed, &mut back).unwrap();
back.truncate(m);
back
}
#[test]
fn round_trip_is_the_identity_over_varied_inputs() {
for data in [
&b""[..],
&b"plain text with no dictionary words at all"[..],
&b"the orchestrator called web_search then code_exec"[..],
&b"user and assistant and tool and system"[..],
&[ESCAPE][..], &[ESCAPE, ESCAPE, b'x', ESCAPE][..], &b"web_searchweb_search"[..], ] {
assert_eq!(round_trip(data), data, "round trip must reproduce {data:?}");
}
}
#[test]
fn a_dictionary_word_compresses_to_two_bytes() {
let mut out = [0u8; 32];
let n = compress(b"orchestrator", &mut out).unwrap();
assert_eq!(n, 2, "a 12-byte token must become a 2-byte code");
assert_eq!(out[0], ESCAPE);
assert_eq!(out[1], 1); }
#[test]
fn a_literal_escape_byte_is_stuffed_and_recovered() {
let mut out = [0u8; 8];
let n = compress(&[ESCAPE], &mut out).unwrap();
assert_eq!(&out[..n], &[ESCAPE, 0]); let mut back = [0u8; 8];
let m = decompress(&out[..n], &mut back).unwrap();
assert_eq!(&back[..m], &[ESCAPE]);
}
#[test]
fn dict_match_finds_a_prefix_only_at_the_current_position() {
assert_eq!(dict_match(b"tool", 0), Some(7)); assert_eq!(dict_match(b"xtool", 0), None); assert_eq!(dict_match(b"xtool", 1), Some(7)); assert_eq!(dict_match(b"too", 0), None); }
#[test]
fn compress_rejects_a_too_small_output_at_the_boundary() {
let mut one = [0u8; 1];
assert_eq!(
compress(b"orchestrator", &mut one),
Err(DictError::OutputTooSmall)
);
let mut two = [0u8; 2];
assert_eq!(compress(b"orchestrator", &mut two), Ok(2));
}
#[test]
fn decompress_rejects_a_truncated_escape() {
assert_eq!(
decompress(&[ESCAPE], &mut [0u8; 8]),
Err(DictError::TruncatedEscape)
);
}
#[test]
fn decompress_rejects_a_code_past_the_dictionary() {
let bad = DICTIONARY.len() as u8 + 1; assert_eq!(
decompress(&[ESCAPE, bad], &mut [0u8; 32]),
Err(DictError::BadCode(bad))
);
}
#[test]
fn decompress_rejects_a_too_small_output_for_an_expanded_token() {
assert_eq!(
decompress(&[ESCAPE, 1], &mut [0u8; 4]),
Err(DictError::OutputTooSmall)
);
}
#[test]
fn dictionary_invariants_hold_for_the_shipped_and_any_edited_vocabulary() {
assert!(
DICTIONARY.len() <= 255,
"at most 255 entries (one-byte codes)"
);
assert!(!DICTIONARY.is_empty());
for entry in DICTIONARY {
assert!(!entry.is_empty(), "a dictionary entry must be non-empty");
}
}
#[test]
fn shipped_dictionary_is_pinned_entry_for_entry() {
assert_eq!(
DICTIONARY,
&[
"orchestrator",
"web_search",
"code_exec",
"file_read",
"assistant",
"planner",
"system",
"tool",
"user",
]
);
}
}