pub struct StructuredSummary {
pub user_intent: Vec<String>,
pub technical_concepts: Vec<String>,
pub files: Vec<FileActivity>,
pub errors_and_fixes: Vec<String>,
pub problem_solving: Vec<String>,
pub user_messages: Vec<String>,
pub pending_tasks: Vec<String>,
pub current_work: Option<String>,
pub next_step: Option<String>,
pub extra: Map<String, Value>,
}Expand description
Structured output of the compaction LLM call.
Every list is ordered most-important-first so consumers (the render
template, experiments that truncate sections) can cut from the tail.
Fields deserialize leniently - omitted fields default to empty, and an
object or number where a string was asked for is stringified rather than
failing - because models routinely enrich the schema (e.g. {"error": .., "fix": ..} entries) and one such field must not discard a good summary.
Fields§
§user_intent: Vec<String>§technical_concepts: Vec<String>§files: Vec<FileActivity>§errors_and_fixes: Vec<String>§problem_solving: Vec<String>§user_messages: Vec<String>§pending_tasks: Vec<String>§current_work: Option<String>§next_step: Option<String>§extra: Map<String, Value>Unknown top-level fields, kept so a user-customized compaction prompt that adds fields can still reach them from a customized render template. Not counted when deciding whether a summary is empty.
Implementations§
Trait Implementations§
Source§impl Clone for StructuredSummary
impl Clone for StructuredSummary
Source§impl Debug for StructuredSummary
impl Debug for StructuredSummary
Source§impl Default for StructuredSummary
impl Default for StructuredSummary
Source§impl<'de> Deserialize<'de> for StructuredSummary
impl<'de> Deserialize<'de> for StructuredSummary
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for StructuredSummary
impl RefUnwindSafe for StructuredSummary
impl Send for StructuredSummary
impl Sync for StructuredSummary
impl Unpin for StructuredSummary
impl UnsafeUnpin for StructuredSummary
impl UnwindSafe for StructuredSummary
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more