support-ticket-env / client.py
AlgoCore's picture
Initial commit
a3d65ce
"""
Client for the Customer Support Ticket Resolution Environment.
"""
from openenv.core.env_client import EnvClient
from support_ticket_env.models import SupportAction, SupportObservation, SupportState
class SupportTicketEnv(EnvClient[SupportAction, SupportObservation, SupportState]):
"""
OpenEnv client for the Support Ticket Resolution environment.
Usage (async):
async with SupportTicketEnv(base_url="http://localhost:8000") as env:
result = await env.reset(task_id=1)
result = await env.step(SupportAction(action_type="classify", category="billing"))
Usage (sync):
with SupportTicketEnv(base_url="http://localhost:8000").sync() as env:
result = env.reset(task_id=2)
result = env.step(SupportAction(action_type="classify", category="technical"))
result = env.step(SupportAction(action_type="escalate"))
"""
def _parse_action(self, action: SupportAction) -> dict:
return action.model_dump()
def _parse_result(self, data: dict) -> SupportObservation:
obs_data = data.get("observation", data)
return SupportObservation(**obs_data)
def _parse_state(self, data: dict) -> SupportState:
return SupportState(**data)