Rahmath1/self_improving_agent
0
1from typing import List, Dict, Any, Optional, Union2from pydantic import BaseModel3 4from openenv.core import Action as BaseAction, Observation as BaseObservation5 6 7# ─────────────────────────────────────────8# Action9# ─────────────────────────────────────────10class AdvanceAgentAction(BaseAction):11 action_type: str = "clean_data"12 13 14# ─────────────────────────────────────────15# Observation16# ─────────────────────────────────────────17class AdvanceAgentObservation(BaseObservation):18 dataset_head: List[Dict] = []19 columns: List[str] = []20 stats: Dict[str, Any] = {}21 history: List[str] = []22 task: str = ""23 objective: str = ""24 difficulty: str = ""25 26 # ── Round 2: Self-improvement metadata ──────────────────27 # Included in every observation so agents can read curriculum state28 curriculum_level: int = 129 curriculum_level_name: str = "🌱 Novice"30 episode_number: int = 031 rolling_avg_score: float = 0.032 injection_detected: bool = False # True if dataset contains injections33 34 35# Aliases for backward compatibility36Observation = AdvanceAgentObservation37Action = AdvanceAgentAction38 39 40# ─────────────────────────────────────────41# Reward — internal use only42# ─────────────────────────────────────────43class Reward(BaseModel):44 score: float45 feedback: str46 is_penalty: bool = False