File size: 801 Bytes
4ec75cf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# server/models/dependency_models.py
from pydantic import BaseModel, Field
from typing import Dict, List, Optional


class FlagOutdated(BaseModel):
    action_type: str = 'flag_outdated'
    packages: Dict[str, str] = Field(..., description='package_name: current_version')
    deprecated_api: Optional[str] = None
    replacement: Optional[str] = None


class ResolveConflict(BaseModel):
    action_type: str = 'resolve_conflict'
    packages: Dict[str, str] = Field(..., description='package_name: proposed_version')
    reasoning: str = Field(..., max_length=100)


class MigrateApi(BaseModel):
    action_type: str = 'migrate_api'
    completed_items: List[str] = Field(..., description='list of break_ids fixed')
    code_changes: Dict[str, str] = Field(..., description='break_id: fix summary')