abdur0001 commited on
Commit
1c1d75c
Β·
1 Parent(s): 636a5fe

feat: update to pass the validation checks

Browse files
Files changed (3) hide show
  1. pyproject.toml +16 -0
  2. server/app.py +35 -1
  3. uv.lock +0 -0
pyproject.toml ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [project]
2
+ name = "sre-incident-response"
3
+ version = "1.0.0"
4
+ description = "SRE Incident Response OpenEnv environment"
5
+ requires-python = ">=3.11"
6
+ dependencies = [
7
+ "fastapi>=0.104.0",
8
+ "uvicorn>=0.24.0",
9
+ "pydantic>=2.0.0",
10
+ "openai>=1.0.0",
11
+ "pyyaml>=6.0",
12
+ "openenv-core>=0.2.0",
13
+ ]
14
+
15
+ [project.scripts]
16
+ server = "server.app:main"
server/app.py CHANGED
@@ -57,6 +57,40 @@ class TaskInfo(BaseModel):
57
  description: str
58
 
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  # ── Endpoints ──────────────────────────────────────────────────────────
61
 
62
  @app.get("/")
@@ -64,7 +98,7 @@ def root():
64
  return {
65
  "name": "SRE Incident Response Environment",
66
  "version": "1.0.0",
67
- "endpoints": ["/reset", "/step", "/state/{session_id}", "/tasks"],
68
  }
69
 
70
 
 
57
  description: str
58
 
59
 
60
+ # ── OpenEnv spec endpoints ─────────────────────────────────────────────
61
+
62
+ @app.get("/health")
63
+ def health():
64
+ return {"status": "healthy"}
65
+
66
+
67
+ @app.get("/metadata")
68
+ def metadata():
69
+ return {
70
+ "name": "sre-incident-response",
71
+ "description": "SRE Incident Response environment β€” train AI agents to diagnose and fix production incidents",
72
+ "version": "1.0.0",
73
+ }
74
+
75
+
76
+ @app.get("/schema")
77
+ def schema():
78
+ return {
79
+ "action": Action.model_json_schema(),
80
+ "observation": Observation.model_json_schema(),
81
+ "state": State.model_json_schema(),
82
+ }
83
+
84
+
85
+ @app.get("/state")
86
+ def state_no_session():
87
+ """Return state for the most recent session, or empty state if none."""
88
+ if env.sessions:
89
+ last_sid = list(env.sessions.keys())[-1]
90
+ return env.state(last_sid)
91
+ return State()
92
+
93
+
94
  # ── Endpoints ──────────────────────────────────────────────────────────
95
 
96
  @app.get("/")
 
98
  return {
99
  "name": "SRE Incident Response Environment",
100
  "version": "1.0.0",
101
+ "endpoints": ["/reset", "/step", "/state/{session_id}", "/tasks", "/health", "/metadata", "/schema"],
102
  }
103
 
104
 
uv.lock ADDED
The diff for this file is too large to render. See raw diff