Files

17 lines
662 B
Python

"""What a keyless search engine actually said: results, an honest nothing, or a refusal.
"Closed" and "genuinely no hits" look identical on the wire (both are a 200
with no result anchors) and the caller has to act on them differently: a
refusal is a failed tier that should count against the engine's breaker, an
empty result set is the honest answer to a nonsense query."""
from pydantic import BaseModel, ConfigDict
class EngineAnswer(BaseModel):
model_config = ConfigDict(validate_assignment=True)
results: str = ""
# Challenge, HTTP error, or markup we no longer recognise: the engine did not answer the question.
refused: bool = False