""" Data models for the Git Commit Reviewer Environment. """ from typing import List, Optional from openenv.core.env_server.types import Action, Observation from pydantic import Field class GitCommitReviewerAction(Action): """Action for the Git Commit Reviewer environment.""" score: float = Field(..., description="Quality score from 0.0 to 1.0") type_valid: bool = Field(..., description="Does it follow Conventional Commits type rules?") summary_length: int = Field(..., description="Length of the summary line") issues: List[str] = Field(..., description="List of specific problems identified") suggestion: str = Field(..., description="Rewritten commit message") class GitCommitReviewerObservation(Observation): """Observation from the Git Commit Reviewer environment.""" commit_message: str = Field(default="", description="The git commit message to review") commit_idx: int = Field(default=0, description="Current commit index") total_commits: int = Field(default=0, description="Total commits in this task") done: bool = Field(default=False, description="Is the task complete?") reward: float = Field(default=0.0, description="Reward from the latest action")