judgevet.domain.response_parser

Status: draft.

judgevet.domain.response_parser

Response parser for Jev System One API.

This module provides functions to parse raw API responses into typed domain objects.

Examples:

from judgevet.domain.response_parser import parse_system_one_response

raw_response = {
    "model": "jev-latest",
    "answers": {
        "q1": {
            "type": "noul",
            "noul": 0.75,
        }
    },
    "usage": {
        "input_tokens": 100,
        "output_tokens": 50,
    },
}

response = parse_system_one_response("request-id", raw_response)
assert response.model == "jev-latest"
See Also

Raises:

Type Description
JevResponseError

If the response cannot be parsed due to missing fields, unknown types, wrong value kinds, or invalid answer values.

parse_system_one_response(request_id, raw)

Parse a raw API response into a typed SystemOneResponse.

Parameters:

Name Type Description Default
request_id str

The request identifier (for error messages).

required
raw dict[str, Any]

Raw API response dictionary.

required

Returns:

Type Description
SystemOneResponse

Parsed SystemOneResponse with typed answer objects.

Raises:

Type Description
JevResponseError

If parsing fails due to missing fields, unknown types, wrong value kinds, or invalid answer values. Constructor TypeError and ValueError become response errors with bounded question context. Other programming errors propagate.