adhd-env / models.py
TheSteve0's picture
Upload folder using huggingface_hub
4b7e54c verified
"""Data models for the ADHD Task Initiation Coaching Environment."""
from pydantic import Field
from typing import List, Dict, Any
from openenv.core.env_server.types import Action, Observation
class ADHDAction(Action):
"""Action: Tool calls + coaching response to evaluate.
Models submit tool_calls (which tools they'd invoke) and a message
(the coaching response text) for scoring.
"""
tool_calls: List[str] = Field(
default_factory=list,
description="Tools called by the model (e.g., ['adhd_task_initiation_coach'])",
)
message: str = Field(
default="",
description="The coaching response text",
)
class ADHDObservation(Observation):
"""Observation: ADHD scenario + user state.
Returned from reset() with the scenario and state.
Returned from step() with the scored reward and scoring details.
Note: done, reward, metadata are inherited from Observation base class.
Note: OpenEnv's serialize_observation excludes 'metadata' from HTTP responses,
so we use a custom 'scoring' field for scoring details.
"""
scenario: str = Field(
default="",
description="The task initiation scenario (user utterance)",
)
state: Dict[str, Any] = Field(
default_factory=dict,
description="User state tracking (sitting time, energy, etc.)",
)
scoring: Dict[str, Any] = Field(
default_factory=dict,
description="Scoring breakdown and explanation (visible in HTTP responses)",
)