Spaces:
Sleeping
Sleeping
File size: 1,870 Bytes
87f5919 7257069 ef93755 87f5919 ef93755 7257069 87f5919 ef93755 7257069 87f5919 ef93755 87f5919 ef93755 7257069 ef93755 7257069 87f5919 7257069 87f5919 | 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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | """SecureCodeEnv - Pydantic Models v2 (production-complete)"""
from pydantic import BaseModel, Field
from typing import Optional, Dict, Any, List
class StepAction(BaseModel):
session_id: str
code: str = Field(..., min_length=1)
filename: str = Field(default="solution.py")
task_id: Optional[str] = None
class ScoreDetails(BaseModel):
correctness_passed: Optional[int] = None
correctness_total: Optional[int] = None
attacks_blocked: Optional[int] = None
attacks_total: Optional[int] = None
attack_type: Optional[str] = None
bandit_score: Optional[float] = None
static_issues_count: Optional[int] = None
agent_ms: Optional[float] = None
naive_ms: Optional[float] = None
optimal_ms: Optional[float] = None
class StepObservation(BaseModel):
scores: Dict[str, float]
total_reward: float
feedback: Dict[str, str]
codegraph: Dict[str, Any]
done: bool
step_count: int
details: Optional[ScoreDetails] = None
class ResetRequest(BaseModel):
difficulty: Optional[str] = Field(default="medium")
task_id: Optional[str] = Field(default=None, description="Override: request a specific task ID")
session_id: Optional[str] = None
class ResetObservation(BaseModel):
session_id: str
task_id: str
problem_statement: str
difficulty: str
cwe_targets: List[str]
codegraph: Dict[str, Any]
starter_code: str = ""
naive_baseline: Optional[Dict] = None
class StateResponse(BaseModel):
session_id: str
task_id: str
step: int
done: bool
codegraph: Dict[str, Any]
difficulty: str
scores_history: List[float] = []
class HealthResponse(BaseModel):
status: str
env: str
version: str
tasks_loaded: int
class TaskSummary(BaseModel):
id: str
difficulty: str
cwe_targets: List[str]
description: str = ""
|