ExecResult
What tools and the log see.
The framework's sandbox layer, not the adapter, builds it: it writes the ExecOutput streams to the artifact store incrementally while keeping head and tail previews, so full output is never held in host memory, and records full_output before the tool_result.
Fields
exit_codenumberrequiredThe process's exit code: 0 for success, anything else for failure.
stdoutstringrequiredHead and tail preview.
stderrstringrequiredHead and tail preview.
truncatedbooleanrequiredtrue when stdout or stderr was longer than its preview; the complete output is then in full_output.
full_outputArtifactRefPresent exactly when truncated: the complete stdout and stderr, readable with read_tool_result.