dbatcode28's picture
initial
bd67155
raw
history blame
1.05 kB
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, [])