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
- judgevet.domain.response: Response types
- judgevet.domain.answers: Answer types
- judgevet.domain.errors: Error types
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. |