Skip to main content

parse_agent_response_strict

Function parse_agent_response_strict 

Source
pub fn parse_agent_response_strict(
    raw: &str,
) -> Result<AgentResponse, AgentResponseParseError>
Expand description

Parses one raw assistant message strictly as protocol payload.

The final assistant payload must match AgentResponse and contain at least one recognized protocol key (answer, questions, or summary).

When a provider prepends stray prose before the final schema object, this still recovers the trailing protocol payload as long as nothing except whitespace follows the JSON object. As a further resilience fallback, markdown code fences wrapping the JSON object are stripped before parsing when neither direct parsing nor trailing-object recovery succeeds. An additional fallback extracts JSON from an embedded code fence preceded by prose text (e.g., commentary followed by a fenced JSON block). Top-level fields may rely on the wire type’s defaults.

§Errors

Returns AgentResponseParseError when no valid protocol payload is found.