Download codex-rs/core/src/context/memory.rs from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 1.36 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/core/src/context/memory.rs
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/core/src/context/memory.rs
-
curl -L -o memory.rs https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/core/src/context/memory.rs
1.36 kB
| //! Typed, bounded v2 memory context. | |
| use super::ContextualUserFragment; | |
| use codex_protocol::models::ContentItemKind; | |
| use codex_utils_output_truncation::TruncationPolicy; | |
| use codex_utils_output_truncation::truncate_text; | |
| /// Memory-owned model context, capped below 10k tokens even for byte-heavy text. | |
| pub enum MemoryContextFragment { | |
| ReadInstructions(String), | |
| ExtractionEvidence(String), | |
| } | |
| impl ContextualUserFragment for MemoryContextFragment { | |
| fn role(&self) -> &'static str { | |
| match self { | |
| Self::ReadInstructions(_) => "developer", | |
| Self::ExtractionEvidence(_) => "user", | |
| } | |
| } | |
| fn content_kind(&self) -> ContentItemKind { | |
| ContentItemKind( | |
| match self { | |
| Self::ReadInstructions(_) => "memories.instructions", | |
| Self::ExtractionEvidence(_) => "memories.extraction_evidence", | |
| } | |
| .to_string(), | |
| ) | |
| } | |
| fn requires_separate_message(&self) -> bool { | |
| true | |
| } | |
| fn markers(&self) -> (&'static str, &'static str) { | |
| Self::type_markers() | |
| } | |
| fn type_markers() -> (&'static str, &'static str) { | |
| ("", "") | |
| } | |
| fn body(&self) -> String { | |
| let (Self::ReadInstructions(text) | Self::ExtractionEvidence(text)) = self; | |
| truncate_text(text, TruncationPolicy::Bytes(8_900)) | |
| } | |
| } | |