from raxe import Raxe
from raxe.exceptions import (
RaxeException,
RaxeBlockedError,
ValidationError,
AuthenticationError,
)
def safe_scan(prompt: str) -> dict:
try:
raxe = Raxe()
result = raxe.scan(prompt)
return {"safe": result.is_safe, "result": result}
except RaxeBlockedError as e:
return {
"safe": False,
"blocked": True,
"severity": e.scan_result.highest_severity.name,
}
except ValidationError as e:
return {
"error": "Invalid input",
"code": e.code,
"message": e.message,
}
except AuthenticationError as e:
return {
"error": "Authentication failed",
"code": e.code,
"message": e.message,
}
except RaxeException as e:
# Catch-all for other RAXE errors
return {
"error": "RAXE error",
"code": e.code,
"message": e.message,
}