You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
4.**Tool registry listing** - Introspect available tools on the server ([tool_router.py](https://github.com/OpenHands/software-agent-sdk/blob/HEAD/openhands-agent-server/openhands/agent_server/tool_router.py))
18
+
5.**Server details** - Health, alive, and server info endpoints ([server_details_router.py](https://github.com/OpenHands/software-agent-sdk/blob/HEAD/openhands-agent-server/openhands/agent_server/server_details_router.py))
19
19
20
20
## Architecture
21
21
@@ -57,13 +57,13 @@ flowchart TB
57
57
```
58
58
59
59
- App construction and route wiring happen in [`api.py`](https://github.com/OpenHands/software-agent-sdk/blob/main/openhands-agent-server/openhands/agent_server/api.py): the app mounts a single `/api` router that includes conversation, event, tool, bash, git, file, vscode, and desktop routers.
60
-
- Event and VSCode/Desktop services are initialized in the lifespan context (source: openhands/agent_server/api.py).
60
+
- Event and VSCode/Desktop services are initialized in the lifespan context ([api.py](https://github.com/OpenHands/software-agent-sdk/blob/HEAD/openhands-agent-server/openhands/agent_server/api.py)).
61
61
62
62
## Authentication
63
63
64
-
- HTTP requests: header `X-Session-API-Key` if session keys are configured (source: openhands/agent_server/dependencies.py, `create_session_api_key_dependency`)
- Server details (source: openhands/agent_server/server_details_router.py)
119
+
- Server details ([server_details_router.py](https://github.com/OpenHands/software-agent-sdk/blob/HEAD/openhands-agent-server/openhands/agent_server/server_details_router.py))
- The server itself does not manage Docker containers. Containerization and lifecycle are handled by workspace implementations such as `DockerWorkspace` in the `openhands-workspace` package, which run this server inside the container and connect via HTTP (source: openhands-workspace/openhands/workspace/docker/workspace.py).
129
-
- Request/response models are Pydantic classes in `models.py` (source: openhands/agent_server/models.py).
130
-
- Security: schema-level API key checks, path validation for file ops (absolute path enforcement), and typed payloads (sources: dependencies.py, file_router.py).
128
+
- The server itself does not manage Docker containers. Containerization and lifecycle are handled by workspace implementations such as `DockerWorkspace` in the `openhands-workspace` package, which run this server inside the container and connect via HTTP ([docker/workspace.py](https://github.com/OpenHands/software-agent-sdk/blob/HEAD/openhands-workspace/openhands/workspace/docker/workspace.py)).
129
+
- Request/response models are Pydantic classes in `models.py` ([models.py](https://github.com/OpenHands/software-agent-sdk/blob/HEAD/openhands-agent-server/openhands/agent_server/models.py)).
130
+
- Security: schema-level API key checks, path validation for file ops (absolute path enforcement), and typed payloads ([dependencies.py](https://github.com/OpenHands/software-agent-sdk/blob/HEAD/openhands-agent-server/openhands/agent_server/dependencies.py), [file_router.py](https://github.com/OpenHands/software-agent-sdk/blob/HEAD/openhands-agent-server/openhands/agent_server/file_router.py)).
0 commit comments