counsel-env / models.py
heavycoderhh's picture
Upload folder using huggingface_hub
96a73f4 verified
Raw
History Blame Contribute Delete
1.35 kB
from typing import Dict, List, Optional
from pydantic import Field
from openenv.core import Action, Observation, State
class CounselAction(Action):
tool: str = Field(description="Action tool: ask_question, present_evidence, make_objection, or rest_case")
text: Optional[str] = Field(default=None, description="Question text for ask_question")
exhibit_id: Optional[str] = Field(default=None, description="Evidence id for present_evidence")
reason: Optional[str] = Field(default=None, description="Objection reason for make_objection")
class CounselObservation(Observation):
witness_response: str = ""
available_evidence: List[str] = Field(default_factory=list)
evidence_descriptions: Dict[str, str] = Field(default_factory=dict)
questions_remaining: int = 0
transcript_tail: str = ""
case_brief: str = ""
case_id: str = ""
difficulty: str = ""
reward_components: Dict[str, float] = Field(default_factory=dict)
class CounselState(State):
case_id: str = ""
difficulty: str = ""
contradictions_total: int = 0
contradictions_triggered: int = 0
contradictions_surfaced: int = 0
questions_used: int = 0
action_count: int = 0
duplicate_question_count: int = 0
irrelevant_question_count: int = 0
inadmissible_count: int = 0
evidence_timing_successes: int = 0