1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21"""All these exceptions are not meant to be caught by callers."""
class WorkflowDataError(Exception):
"""Base class for all workflow data related exceptions.
This should be used to indicate issues with workflow data integrity, such as
no `graph` configuration, missing `nodes` field in `graph` configuration, or
similar issues.
"""
pass
class NodeNotFoundError(WorkflowDataError):
"""Raised when a node with the specified ID is not found in the workflow."""
def __init__(self, node_id: str):
super().__init__(f"Node with ID '{node_id}' not found in the workflow.")
self.node_id = node_id