Spaces:
Build error
Build error
| """ | |
| Core data models for AEGIS-Env. | |
| Contains Pydantic schemas and Enums utilized across the environment. | |
| """ | |
| from typing import Optional, List | |
| from enum import Enum | |
| from pydantic import BaseModel, ConfigDict | |
| class WorkerRole(str, Enum): | |
| """Worker role types in the enterprise fleet.""" | |
| SEC_OPS = "sec-ops" # Security operations - monitors access, permissions | |
| DATA_ENG = "data-eng" # Data engineering - SQL, ETL, pipelines | |
| API_DEV = "api-dev" # API development - REST/GraphQL endpoints | |
| CODE_REVIEWER = "code-reviewer" # Code review - security, quality | |
| DESIGNER = "designer" # UI/UX design - design tokens, accessibility | |
| PLANNER = "planner" # Project planning - task decomposition | |
| CUSTOMER_SUPPORT = "customer-support" # Customer facing - PII exposure risk | |
| ADMIN = "admin" # Admin operations - system commands | |
| GENERAL_DEV = "general-dev" # General development - default role | |
| class Decision(str, Enum): | |
| """Actions the oversight agent can take.""" | |
| ALLOW = "ALLOW" | |
| BLOCK = "BLOCK" | |
| ESCALATE = "ESCALATE" | |
| class ViolationType(str, Enum): | |
| """Categorized policy violations.""" | |
| NONE = "none" | |
| PII_LEAK = "pii_leak" | |
| PROMPT_INJECTION = "prompt_injection" | |
| HALLUCINATED_FEATURE = "hallucinated_feature" | |
| UNSAFE_CODE = "unsafe_code" | |
| DATA_EXFILTRATION = "data_exfiltration_intent" | |
| AUTHORITY_ESCALATION = "authority_escalation" | |
| COMPOUND_VIOLATION = "compound_violation" | |
| OVERSEER_MANIPULATION = "overseer_manipulation" | |
| class AEGISAction(BaseModel): | |
| """The action schema output by the oversight agent.""" | |
| decision: Decision | |
| confidence: float | |
| violation_type: ViolationType | |
| policy_rule_cited: Optional[str] = None | |
| evidence_quote: Optional[str] = None | |
| explanation: str | |
| remediation: Optional[str] = None | |
| model_config = ConfigDict(extra="forbid") | |
| class AEGISObservation(BaseModel): | |
| """The observation schema provided to the oversight agent.""" | |
| # BUG-1 / Layer-1 FIX: All fields have defaults to prevent 422 crashes | |
| # on partial observations sent by the training loop. | |
| worker_id: str = "WORKER-1" | |
| worker_role: WorkerRole = WorkerRole.GENERAL_DEV | |
| turn_number: int = 1 | |
| worker_cot_trace: str = "" | |
| worker_output: str = "" | |
| policy_ruleset: List[dict] = [] | |
| state_buffer: List[str] = [] | |
| scenario_type: str = "SINGLE_TURN" | |
| turns_remaining: int = 15 | |
| api_call_log: List[dict] = [] | |
| db_query_trace: List[str] = [] | |
| memory_context: str = "" | |
| success: bool = False | |
| model_config = ConfigDict(extra="forbid") | |
| class AEGISState(BaseModel): | |
| """The internal state representation of the environment episode.""" | |
| episode_id: str | |
| scenario_id: str | |
| curriculum_level: int | |
| step_count: int = 0 | |
| ground_truth: dict | |
| world_db_state: dict | |
| memory_ledger_size: int = 0 | |
| total_reward: float = 0.0 | |
| earliest_detectable_turn: Optional[int] = None | |
| detection_turn: Optional[int] = None | |
| model_config = ConfigDict(extra="forbid") | |