| 1234567891011121314151617181920212223242526272829 |
- from __future__ import annotations
- from dataclasses import dataclass, field
- from typing import Any
- class WorkflowPaused(Exception):
- """Raised by nodes that need user input before the run can continue."""
- def __init__(self, message: str, payload: dict[str, Any] | None = None) -> None:
- super().__init__(message)
- self.message = message
- self.payload = payload or {}
- @dataclass
- class WorkflowContext:
- workflow_id: int | None
- provider_id: int | None = None
- model_id: int | None = None
- temperature: float = 0.1
- variables: dict[str, Any] = field(default_factory=dict)
- runtime: dict[str, Any] = field(default_factory=dict)
- outputs: dict[str, dict[str, Any]] = field(default_factory=dict)
- opened_pids: list[int] = field(default_factory=list)
- def remember_pid(self, pid: int | None) -> None:
- if pid is not None and pid not in self.opened_pids:
- self.opened_pids.append(pid)
|