ROCmPort-AI / backend /graph /state.py
tazwarrrr's picture
react add
485813e
from typing import TypedDict, Optional, List, Any, Annotated
import operator
class MigrationState(TypedDict):
# ── Input ──────────────────────────────────────────────────────────────────
cuda_code: str
kernel_name: str
simple_mode: bool
# ── Intermediate results (pydantic model instances stored as Any) ──────────
analyzer_result: Optional[Any] # AnalyzerResult
translator_result: Optional[Any] # TranslatorResult
optimizer_result: Optional[Any] # OptimizerResult
tester_result: Optional[Any] # TesterResult
# ── Control flow ───────────────────────────────────────────────────────────
iteration: int # incremented each time optimizer node runs
max_iterations: int # default 3
should_retry: bool
# ── Output ─────────────────────────────────────────────────────────────────
migration_success: bool
final_report: dict
# ── SSE event accumulator — LangGraph appends each node's new events ───────
# operator.add reducer: each node returns a *list of new events*;
# LangGraph concatenates them into a single growing list.
events: Annotated[List[dict], operator.add]