Spaces:
Sleeping
Sleeping
Aditya Guntur Claude Sonnet 4.6 commited on
Commit ·
410e78d
1
Parent(s): f9375ea
Fix imports and Dockerfile for HF deployment
Browse files- Switch from uv sync to pip + PYTHONPATH=/app
- Replace pm_ops. prefix with direct server./models imports
- Dockerfile now uses python -m uvicorn
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Dockerfile +3 -1
- client.py +1 -1
- server/app.py +2 -2
- server/pm_ops_environment.py +10 -10
- server/tasks/dep_update_task.py +1 -1
- server/tasks/incident_routing_task.py +1 -1
- server/tasks/release_notes_task.py +1 -1
- server/tasks/triage_task.py +1 -1
- server/verifiers/state_verifier.py +4 -4
Dockerfile
CHANGED
|
@@ -3,7 +3,9 @@ FROM ghcr.io/meta-pytorch/openenv-base:latest
|
|
| 3 |
WORKDIR /app
|
| 4 |
COPY . .
|
| 5 |
|
| 6 |
-
RUN pip install --no-cache-dir openenv-core fastapi "uvicorn[standard]" pydantic
|
|
|
|
|
|
|
| 7 |
|
| 8 |
EXPOSE 8000
|
| 9 |
|
|
|
|
| 3 |
WORKDIR /app
|
| 4 |
COPY . .
|
| 5 |
|
| 6 |
+
RUN pip install --no-cache-dir openenv-core fastapi "uvicorn[standard]" pydantic
|
| 7 |
+
|
| 8 |
+
ENV PYTHONPATH=/app
|
| 9 |
|
| 10 |
EXPOSE 8000
|
| 11 |
|
client.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
"""OpenEnv client wrapper for PM-Ops environment."""
|
| 2 |
import os
|
| 3 |
from openenv.core.client import EnvClient
|
| 4 |
-
from
|
| 5 |
|
| 6 |
|
| 7 |
class PMOpsEnv(EnvClient):
|
|
|
|
| 1 |
"""OpenEnv client wrapper for PM-Ops environment."""
|
| 2 |
import os
|
| 3 |
from openenv.core.client import EnvClient
|
| 4 |
+
from models import PMOpsAction, PMOpsObservation
|
| 5 |
|
| 6 |
|
| 7 |
class PMOpsEnv(EnvClient):
|
server/app.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
from openenv.core.env_server.http_server import create_app
|
| 2 |
-
from
|
| 3 |
-
from
|
| 4 |
|
| 5 |
|
| 6 |
def create_environment():
|
|
|
|
| 1 |
from openenv.core.env_server.http_server import create_app
|
| 2 |
+
from models import PMOpsAction, PMOpsObservation
|
| 3 |
+
from server.pm_ops_environment import PMOpsEnvironment
|
| 4 |
|
| 5 |
|
| 6 |
def create_environment():
|
server/pm_ops_environment.py
CHANGED
|
@@ -3,16 +3,16 @@ import random
|
|
| 3 |
import uuid
|
| 4 |
from typing import Any, Dict, Optional
|
| 5 |
|
| 6 |
-
from
|
| 7 |
-
from
|
| 8 |
-
from
|
| 9 |
-
from
|
| 10 |
-
from
|
| 11 |
-
from
|
| 12 |
-
from
|
| 13 |
-
from
|
| 14 |
-
from
|
| 15 |
-
from
|
| 16 |
|
| 17 |
MAX_STEPS = 40
|
| 18 |
_TASK_TYPES = ["triage", "incident_routing", "release_notes", "dep_update"]
|
|
|
|
| 3 |
import uuid
|
| 4 |
from typing import Any, Dict, Optional
|
| 5 |
|
| 6 |
+
from models import PMOpsAction, PMOpsObservation
|
| 7 |
+
from server.apps.ticketing import TicketingApp
|
| 8 |
+
from server.apps.codebase import CodebaseApp
|
| 9 |
+
from server.apps.chat import ChatApp
|
| 10 |
+
from server.world.org_generator import generate_org_config
|
| 11 |
+
from server.world.scenario_gen import generate_scenario
|
| 12 |
+
from server.tasks.triage_task import TriageTask
|
| 13 |
+
from server.tasks.incident_routing_task import IncidentRoutingTask
|
| 14 |
+
from server.tasks.release_notes_task import ReleaseNotesTask
|
| 15 |
+
from server.tasks.dep_update_task import DepUpdateTask
|
| 16 |
|
| 17 |
MAX_STEPS = 40
|
| 18 |
_TASK_TYPES = ["triage", "incident_routing", "release_notes", "dep_update"]
|
server/tasks/dep_update_task.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
from typing import Any, Dict
|
| 2 |
-
from
|
| 3 |
|
| 4 |
|
| 5 |
class DepUpdateTask(BaseTask):
|
|
|
|
| 1 |
from typing import Any, Dict
|
| 2 |
+
from server.tasks.base_task import BaseTask
|
| 3 |
|
| 4 |
|
| 5 |
class DepUpdateTask(BaseTask):
|
server/tasks/incident_routing_task.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
from typing import Any, Dict
|
| 2 |
-
from
|
| 3 |
|
| 4 |
|
| 5 |
class IncidentRoutingTask(BaseTask):
|
|
|
|
| 1 |
from typing import Any, Dict
|
| 2 |
+
from server.tasks.base_task import BaseTask
|
| 3 |
|
| 4 |
|
| 5 |
class IncidentRoutingTask(BaseTask):
|
server/tasks/release_notes_task.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
from typing import Any, Dict
|
| 2 |
-
from
|
| 3 |
|
| 4 |
|
| 5 |
class ReleaseNotesTask(BaseTask):
|
|
|
|
| 1 |
from typing import Any, Dict
|
| 2 |
+
from server.tasks.base_task import BaseTask
|
| 3 |
|
| 4 |
|
| 5 |
class ReleaseNotesTask(BaseTask):
|
server/tasks/triage_task.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
from typing import Any, Dict
|
| 2 |
-
from
|
| 3 |
|
| 4 |
|
| 5 |
class TriageTask(BaseTask):
|
|
|
|
| 1 |
from typing import Any, Dict
|
| 2 |
+
from server.tasks.base_task import BaseTask
|
| 3 |
|
| 4 |
|
| 5 |
class TriageTask(BaseTask):
|
server/verifiers/state_verifier.py
CHANGED
|
@@ -1,10 +1,10 @@
|
|
| 1 |
"""Deterministic state verifier — no LLM-as-judge."""
|
| 2 |
from typing import Any, Dict
|
| 3 |
|
| 4 |
-
from
|
| 5 |
-
from
|
| 6 |
-
from
|
| 7 |
-
from
|
| 8 |
|
| 9 |
_GRADERS = {
|
| 10 |
"triage": TriageTask(),
|
|
|
|
| 1 |
"""Deterministic state verifier — no LLM-as-judge."""
|
| 2 |
from typing import Any, Dict
|
| 3 |
|
| 4 |
+
from server.tasks.triage_task import TriageTask
|
| 5 |
+
from server.tasks.incident_routing_task import IncidentRoutingTask
|
| 6 |
+
from server.tasks.release_notes_task import ReleaseNotesTask
|
| 7 |
+
from server.tasks.dep_update_task import DepUpdateTask
|
| 8 |
|
| 9 |
_GRADERS = {
|
| 10 |
"triage": TriageTask(),
|