Spaces:
Running
Running
| """NodeContext — minimal facade between a DAG node and the framework.""" | |
| from __future__ import annotations | |
| import logging | |
| from collections.abc import Callable | |
| from frontier_agent.models.pipeline_spec import NodeDefinition | |
| logger = logging.getLogger(__name__) | |
| class NodeContext: | |
| """Identity-only context object passed to every wrapped node.""" | |
| def __init__( | |
| self, | |
| node_def: NodeDefinition, | |
| task_id_getter: Callable[[], str], | |
| ) -> None: | |
| self._node_def = node_def | |
| self._task_id_getter = task_id_getter | |
| def node_id(self) -> str: | |
| return self._node_def.node_id | |
| def role_id(self) -> str: | |
| return self._node_def.role_id | |
| def task_id(self) -> str: | |
| return self._task_id_getter() | |
| # Alias for callers that import ``DefaultNodeContext``; ``NodeContext`` | |
| # is the single concrete implementation. | |
| DefaultNodeContext = NodeContext | |