Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| from typing import Dict, List, Optional | |
| from .models import StateModel, TaskSpec | |
| def initial_tracking(task: TaskSpec) -> StateModel: | |
| return StateModel( | |
| task_id=task.task_id, | |
| step_count=0, | |
| done=False, | |
| discovered_keys={ticket.ticket_id: [] for ticket in task.tickets}, | |
| priorities={ticket.ticket_id: None for ticket in task.tickets}, | |
| routes={ticket.ticket_id: None for ticket in task.tickets}, | |
| resolutions={ticket.ticket_id: None for ticket in task.tickets}, | |
| escalations={ticket.ticket_id: None for ticket in task.tickets}, | |
| queue_order=[], | |
| cumulative_reward=0.0, | |
| latest_score={}, | |
| ) | |
| def update_mapping( | |
| current: Dict[str, Optional[str]], | |
| ticket_id: str, | |
| value: Optional[str], | |
| ) -> Dict[str, Optional[str]]: | |
| current[ticket_id] = value | |
| return current | |
| def discovered_for_ticket(discovered_keys: Dict[str, List[str]], ticket_id: str) -> List[str]: | |
| return discovered_keys.setdefault(ticket_id, []) | |