MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / attach_unhashed

Function attach_unhashed

atomic-agent/src/transcript/storage.rs:122–135  ·  view source on GitHub ↗

Attach unhashed turn data to a change. Serializes `UnhashedTurnData` as JSON and stores it under the `"agent_turn"` key in `change.unhashed`. Creates the unhashed JSON object if it doesn't exist.

(
    change: &mut atomic_core::change::Change,
    data: &UnhashedTurnData,
)

Source from the content-addressed store, hash-verified

120/// `"agent_turn"` key in `change.unhashed`. Creates the unhashed
121/// JSON object if it doesn't exist.
122pub fn attach_unhashed(
123 change: &mut atomic_core::change::Change,
124 data: &UnhashedTurnData,
125) -> Result<(), serde_json::Error> {
126 let value = serde_json::to_value(data)?;
127
128 let unhashed = change.unhashed.get_or_insert_with(|| serde_json::json!({}));
129
130 if let Some(obj) = unhashed.as_object_mut() {
131 obj.insert(UNHASHED_KEY.to_string(), value);
132 }
133
134 Ok(())
135}
136
137/// Extract unhashed turn data from a change.
138///

Callers 5

save_reasoning_to_changeFunction · 0.85
record_turnFunction · 0.85
test_attach_and_extractFunction · 0.85
test_strip_unhashedFunction · 0.85

Calls 1

insertMethod · 0.45

Tested by 3

test_attach_and_extractFunction · 0.68
test_strip_unhashedFunction · 0.68