in src/nova_act/impl/protocol.py [0:0]
def handle_nova_act_client_error(error: dict, act: Act):
request_id = error.get("requestId")
code = error.get("code", "")
try:
error_type = NovaActClientErrors[code]
except (KeyError, TypeError, ValueError, IndexError) as e:
return ActProtocolError(
message="invalid NovaActClient error code",
metadata=act.metadata,
failed_request_id=request_id,
raw_message=str(e),
)
if error_type == NovaActClientErrors.BAD_RESPONSE:
return ActBadResponseError(metadata=act.metadata, failed_request_id=request_id, raw_message=json.dumps(error))
if error_type == NovaActClientErrors.MAX_STEPS_EXCEEDED:
return ActExceededMaxStepsError(metadata=act.metadata)
return ActProtocolError(
message="Unhandled NovaActClient error",
metadata=act.metadata,
failed_request_id=request_id,
raw_message=json.dumps(error),
)