File size: 899 Bytes
622add1
 
 
dcc3500
 
 
 
 
 
622add1
dcc3500
 
 
 
 
622add1
 
 
 
 
 
 
f951d64
 
 
622add1
dcc3500
622add1
 
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
from pydantic import BaseModel
from typing import List, Optional

class Action(BaseModel):
    action_type: str   # "write_comment", "skip", "done", "ask_question", "propose_fix"
    comment_text: Optional[str] = None
    question: Optional[str] = None          # for ask_question
    fix_code: Optional[str] = None          # for propose_fix

class Observation(BaseModel):
    pr_title: str
    pr_description: str
    code_snippet: str
    comments: List[str]                     # conversation history (includes agent questions and environment answers)
    test_results: Optional[str] = None      # output of running tests on proposed fix
    step: int = 0
    done: bool = False

class Reward(BaseModel):
    value: float

class State(BaseModel):
    pr_title: str
    pr_description: str
    code_snippet: str
    comments: List[str]
    test_results: Optional[str]
    step: int
    done: bool