Internal: raised when a dynamic node interrupts (HITL). Used exclusively by ``ctx.run_node()`` to signal that the dynamic child has unresolved interrupt IDs. The parent's NodeRunner catches this and reads the interrupt IDs from the parent's ctx (set by ``ctx.run_node()`` before raising).
| 18 | |
| 19 | |
| 20 | class NodeInterruptedError(BaseException): |
| 21 | """Internal: raised when a dynamic node interrupts (HITL). |
| 22 | |
| 23 | Used exclusively by ``ctx.run_node()`` to signal that the dynamic |
| 24 | child has unresolved interrupt IDs. The parent's NodeRunner catches |
| 25 | this and reads the interrupt IDs from the parent's ctx (set by |
| 26 | ``ctx.run_node()`` before raising). |
| 27 | |
| 28 | This is a ``BaseException`` so user code cannot accidentally catch |
| 29 | it with ``except Exception``. |
| 30 | |
| 31 | Internal to the framework — not part of the public API. |
| 32 | """ |
| 33 | |
| 34 | |
| 35 | class NodeTimeoutError(Exception): |