Spaces:
Runtime error
Runtime error
| """ | |
| Data models for the Driver Recruit Environment. | |
| Tool-based action interface for long-horizon recruiting pipeline. | |
| Agent uses CRM, messaging, approval, and workflow tools. | |
| """ | |
| from pydantic import Field | |
| from openenv.core.env_server.types import Action, Observation | |
| class RecruitopenenvAction(Action): | |
| """Tool-based action the agent takes.""" | |
| tool: str = Field( | |
| ..., | |
| description="Tool: crm, messaging, approval, workflow", | |
| ) | |
| action: str = Field( | |
| ..., | |
| description=( | |
| "Action within tool. " | |
| "crm: read_candidate, update_stage, update_field, add_note. " | |
| "messaging: send_message, read_reply. " | |
| "approval: request_approval, check_approval. " | |
| "workflow: wait." | |
| ), | |
| ) | |
| topic: str = Field( | |
| default="", | |
| description=( | |
| "Message topic for messaging.send_message: " | |
| "greeting, call, experience, home_time, pay, equipment, route, " | |
| "deal_breakers, availability, violations, medical_card, references, " | |
| "pitch, offer, negotiate_pay, negotiate_home_time, signing_bonus, address_concern" | |
| ), | |
| ) | |
| job_id: int = Field( | |
| default=-1, | |
| description="Job index (0-5). Used with pitch, offer, request_approval.", | |
| ) | |
| stage: str = Field( | |
| default="", | |
| description="Target stage for crm.update_stage: contacted, interested, approval_pending, offer_sent, hired, lost", | |
| ) | |
| field: str = Field( | |
| default="", | |
| description="CRM field for crm.update_field", | |
| ) | |
| value: str = Field( | |
| default="", | |
| description="Value for crm.update_field or text for crm.add_note", | |
| ) | |
| class RecruitopenenvObservation(Observation): | |
| """What the agent sees after each action.""" | |
| driver_name: str = Field(default="", description="Driver's name") | |
| crm_summary: str = Field(default="", description="CRM record (empty until read_candidate)") | |
| jobs_summary: str = Field(default="", description="Available job listings") | |
| discovered_info: str = Field(default="", description="Info discovered through conversation") | |
| stage: str = Field(default="lead", description="Current pipeline stage") | |
| feedback: str = Field(default="", description="API response from last action") | |
| pending_reply: bool = Field(default=False, description="Whether an unread message is waiting") | |