| """Action and observation models for the Reasoning Core environment.""" | |
| from typing import Any | |
| from openenv.core.env_server.types import Action, Observation | |
| from pydantic import Field | |
| class ReasoningCoreAction(Action): | |
| """Submit an answer to the current symbolic reasoning problem.""" | |
| answer: str = Field(..., description="The final answer to the current problem") | |
| class ReasoningCoreObservation(Observation): | |
| """A symbolic reasoning problem or its scored result.""" | |
| prompt: str | None = Field(default=None, description="Problem to solve") | |
| score: float | None = Field(default=None, description="Answer score from 0 to 1") | |
| correct_answer: str | None = Field( | |
| default=None, | |
| description="Reference answer, revealed after submission", | |
| ) | |
| task_name: str | None = Field(default=None, description="Reasoning task family") | |
| dataset_metadata: dict[str, Any] | None = Field( | |
| default=None, | |
| description="Metadata associated with the dataset example", | |
| ) | |