Execution context passed to each step. Contains everything the step needs to resolve expressions, dispatch commands, and record results.
| 38 | |
| 39 | @dataclass |
| 40 | class StepContext: |
| 41 | """Execution context passed to each step. |
| 42 | |
| 43 | Contains everything the step needs to resolve expressions, dispatch |
| 44 | commands, and record results. |
| 45 | """ |
| 46 | |
| 47 | #: Resolved workflow inputs (from user prompts / defaults). |
| 48 | inputs: dict[str, Any] = field(default_factory=dict) |
| 49 | |
| 50 | #: Accumulated step results keyed by step ID. Each entry is the dict the |
| 51 | #: engine persists per step: |
| 52 | #: ``{"type": ..., "integration": ..., "model": ..., "options": ..., |
| 53 | #: "input": ..., "output": ..., "status": ...}``. |
| 54 | steps: dict[str, dict[str, Any]] = field(default_factory=dict) |
| 55 | |
| 56 | #: Current fan-out item (set only inside fan-out iterations). |
| 57 | item: Any = None |
| 58 | |
| 59 | #: Fan-in aggregated results (set only for fan-in steps). |
| 60 | fan_in: dict[str, Any] = field(default_factory=dict) |
| 61 | |
| 62 | #: Workflow-level default integration key. |
| 63 | default_integration: str | None = None |
| 64 | |
| 65 | #: Workflow-level default model. |
| 66 | default_model: str | None = None |
| 67 | |
| 68 | #: Workflow-level default options. |
| 69 | default_options: dict[str, Any] = field(default_factory=dict) |
| 70 | |
| 71 | #: Project root path. |
| 72 | project_root: str | None = None |
| 73 | |
| 74 | #: Current run ID. |
| 75 | run_id: str | None = None |
| 76 | |
| 77 | |
| 78 | @dataclass |
no outgoing calls