from_exception
Method
This is a method of the RunOutcome class in the run_outcome module.Normalise a raised exception into a canonical terminal outcome. Maps well-known exception types to their terminal reason. Anything unrecognised is treated as
failed with a redacted message.
Note on hard_timeout: the run-level budget is the authoritative
source of hard_timeout and is applied explicitly by the caller
(see _astart_with_outcome). A bare asyncio.TimeoutError reaching
this normaliser is a nested operation timeout (e.g. a handoff/tool that
exhausted its own budget while the run budget remained) and is therefore
classified as failed — not silently promoted to a run-budget
hard_timeout, which would drive the wrong host retry/DLQ decision.
Real cooperative cancellation is intercepted and re-raised by the run
wrapper (see _astart_with_outcome) before it reaches this
normaliser, so host shutdown is honoured. A supersede/interrupt named
error that does surface here is a domain “cancelled” outcome.
Signature
Parameters
BaseException
required
No description available.
Optional[str]
No description available.
Returns
'RunOutcome'
The result of the operation.
Uses
cls
Source
View on GitHub
praisonaiagents/agent/run_outcome.py at line 60
