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

Function normalize_tool_raw

atomic-agent/src/hooks/codex.rs:515–534  ·  view source on GitHub ↗
(mut raw: Value)

Source from the content-addressed store, hash-verified

513}
514
515fn normalize_tool_raw(mut raw: Value) -> Value {
516 let Some(response) = raw.get("tool_response").cloned() else {
517 return raw;
518 };
519
520 if let Some(output) = extract_tool_output(&response) {
521 insert_if_missing(&mut raw, "tool_output", Value::String(output));
522 }
523 if let Some(status) = extract_tool_status(&response) {
524 insert_if_missing(&mut raw, "status", Value::String(status));
525 }
526 if let Some(duration) = extract_duration_ms(&response) {
527 insert_if_missing(&mut raw, "duration", Value::Number(duration.into()));
528 }
529 if let Some(file_path) = extract_file_path(raw.get("tool_input"), &response) {
530 insert_if_missing(&mut raw, "file_path", Value::String(file_path));
531 }
532
533 raw
534}
535
536fn extract_tool_output(response: &Value) -> Option<String> {
537 if let Some(text) = response.as_str() {

Callers 1

parse_eventMethod · 0.85

Calls 6

extract_tool_outputFunction · 0.85
insert_if_missingFunction · 0.85
extract_tool_statusFunction · 0.85
extract_duration_msFunction · 0.85
extract_file_pathFunction · 0.85
getMethod · 0.65

Tested by

no test coverage detected