Skip to main content

parse_session_output

Function parse_session_output 

Source
pub fn parse_session_output(
    task_id: &str,
    agent_name: &str,
    agent_runner: &dyn AgentRunner,
    session_output: &SessionOutput,
) -> Result<ParsedResponse, AgentError>
Expand description

Tries parse_success_output first when stdout is non-empty. If that succeeds, returns success regardless of exit code. If it fails and exit_code != 0, checks for "terminal_reason":"completed" or cost-telemetry-only stdout ("costUSD":) before falling back to classify_error, so valid sessions that exit 1 produce InvalidResponse (soft error, re-route) instead of a garbled Unknown/Auth error (hard failure with spurious cooldown)