Spaces:
Sleeping
Sleeping
| """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 = "" | |