SecureCodeEnv / app /state.py
vishaldhakad's picture
frontend adding
7257069
raw
history blame contribute delete
642 Bytes
"""
SecureCodeEnv - Episode State
Manages per-session state during an RL episode.
"""
from dataclasses import dataclass, field
from typing import Optional
from codegraph.graph import CodeGraph
@dataclass
class EpisodeState:
task: dict
graph: CodeGraph
step: int = 0
done: bool = False
scores_history: list = field(default_factory=list)
created_at: float = field(default_factory=lambda: __import__('time').time())
def is_expired(self, ttl_seconds: int = 3600) -> bool:
"""Sessions expire after 1 hour to prevent memory leaks."""
return (__import__('time').time() - self.created_at) > ttl_seconds