Download server/models.py from jester1177/cloudnative-devops-debug-env: direct link, hf CLI and curl.
- Browser
- Download file 4.01 kB
-
https://huggingface.co/spaces/jester1177/cloudnative-devops-debug-env/resolve/main/server/models.py
- Command line
-
hf download hf://spaces/jester1177/cloudnative-devops-debug-env/server/models.py
-
curl -L -o models.py https://huggingface.co/spaces/jester1177/cloudnative-devops-debug-env/resolve/main/server/models.py
4.01 kB
| """Pydantic models for the API.""" | |
| from enum import Enum | |
| from typing import Any, Dict, List, Optional, Union | |
| from pydantic import BaseModel, Field | |
| class TaskDifficulty(str, Enum): | |
| EASY = "easy" | |
| MEDIUM = "medium" | |
| HARD = "hard" | |
| class ActionType(str, Enum): | |
| EDIT_FILE = "edit_file" | |
| ADD_LINE = "add_line" | |
| DELETE_LINE = "delete_line" | |
| REPLACE_LINE = "replace_line" | |
| ADD_BLOCK = "add_block" | |
| DELETE_BLOCK = "delete_block" | |
| SUBMIT = "submit" | |
| REQUEST_HINT = "request_hint" | |
| class TaskDifficultyExtended(str, Enum): | |
| EASY = "easy" | |
| MEDIUM = "medium" | |
| MEDIUM_HARD = "medium-hard" | |
| HARD = "hard" | |
| EXPERT = "expert" | |
| class FileType(str, Enum): | |
| DOCKERFILE = "dockerfile" | |
| WORKFLOW = "workflow" | |
| DOCKER_COMPOSE = "docker_compose" | |
| REQUIREMENTS = "requirements" | |
| KUBERNETES = "kubernetes" | |
| OTHER = "other" | |
| class ErrorPhase(str, Enum): | |
| WORKFLOW_PARSE = "workflow_parse" | |
| DOCKER_BUILD = "docker_build" | |
| DOCKER_RUN = "docker_run" | |
| TEST = "test" | |
| PUSH = "push" | |
| DEPLOY = "deploy" | |
| K8S_VALIDATION = "k8s_validation" | |
| K8S_RUNTIME = "k8s_runtime" | |
| K8S_NETWORKING = "k8s_networking" | |
| PIPELINE_BUILD = "pipeline_build" | |
| PIPELINE_DEPLOY = "pipeline_deploy" | |
| class FileContent(BaseModel): | |
| path: str | |
| content: str | |
| file_type: FileType | |
| line_count: int | |
| class ErrorInfo(BaseModel): | |
| phase: ErrorPhase | |
| error_message: str | |
| exit_code: Optional[int] = None | |
| failed_step: Optional[str] = None | |
| line_hint: Optional[int] = None | |
| class Observation(BaseModel): | |
| task_id: str | |
| task_description: str | |
| difficulty: TaskDifficulty | |
| files: List[FileContent] | |
| error: ErrorInfo | |
| available_secrets: List[str] = Field(default_factory=list) | |
| runner_os: str = "ubuntu-latest" | |
| step_number: int | |
| max_steps: int | |
| hints_used: int = 0 | |
| hints_available: int = 3 | |
| last_action_success: Optional[bool] = None | |
| last_action_feedback: Optional[str] = None | |
| issues_found: int = 0 | |
| issues_fixed: int = 0 | |
| total_issues: int | |
| class FileEdit(BaseModel): | |
| file_path: str | |
| line_number: Optional[int] = None | |
| old_content: Optional[str] = None | |
| new_content: Optional[str] = None | |
| class Action(BaseModel): | |
| action_type: ActionType | |
| edits: Optional[List[FileEdit]] = None | |
| reasoning: Optional[str] = None | |
| class TaskInfo(BaseModel): | |
| id: str | |
| name: str | |
| description: str | |
| difficulty: TaskDifficulty | |
| num_scenarios: int | |
| class EnvironmentInfo(BaseModel): | |
| name: str = "cloud-native-devops-env" | |
| version: str = "1.0.0" | |
| description: str = "Debug cloud-native deployment pipeline issues" | |
| tasks: List[TaskInfo] | |
| max_steps: int = 10 | |
| action_space: Dict[str, Any] | |
| observation_space: Dict[str, Any] | |
| class GraderResult(BaseModel): | |
| task_id: str | |
| score: float = Field(..., gt=0.0, lt=1.0) | |
| max_score: float = 1.0 | |
| breakdown: Dict[str, float] = Field(default_factory=dict) | |
| feedback: str = "" | |
| steps_taken: int | |
| hints_used: int = 0 | |
| class ResetRequest(BaseModel): | |
| task_id: Optional[Union[str, int]] = None | |
| scenario_id: Optional[str] = None | |
| seed: Optional[int] = None | |
| class ResetResponse(BaseModel): | |
| observation: Observation | |
| info: Dict[str, Any] = Field(default_factory=dict) | |
| class StepRequest(BaseModel): | |
| action: Action | |
| class StepResponse(BaseModel): | |
| observation: Observation | |
| reward: float | |
| done: bool | |
| info: Dict[str, Any] = Field(default_factory=dict) | |
| class StateResponse(BaseModel): | |
| observation: Observation | |
| episode_reward: float | |
| steps_taken: int | |
| done: bool | |
| class GraderRequest(BaseModel): | |
| task_id: str | |
| trajectory: List[Dict[str, Any]] | |
| class GraderResponse(BaseModel): | |
| result: GraderResult | |
| class BaselineRequest(BaseModel): | |
| task_id: Optional[str] = None | |
| num_episodes: Optional[int] = None # None = run ALL scenarios | |
| class BaselineResponse(BaseModel): | |
| results: List[GraderResult] | |
| aggregate_score: float | |