File size: 906 Bytes
5c8c174
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from pydantic import BaseModel
from typing import Optional, List
from models import Category, Priority, Status


class TicketObservation(BaseModel):
    task: str
    ticket_id: str
    subject: str
    description: str
    current_status: Status
    current_category: Optional[Category] = None
    current_priority: Optional[Priority] = None
    ai_resolution: Optional[str] = None
    step: int
    done: bool


class TicketAction(BaseModel):
    category: Optional[Category] = None
    priority: Optional[Priority] = None
    resolution: Optional[str] = None
    status: Optional[Status] = None


class TicketReward(BaseModel):
    reward: float
    done: bool
    info: dict


class StepResult(BaseModel):
    observation: TicketObservation
    reward: float
    done: bool
    info: dict


class EnvState(BaseModel):
    task: str
    step: int
    done: bool
    tickets: List[dict]
    score: float