(request: Request)
| 407 | |
| 408 | @app.post("/v1/sleep") |
| 409 | async def sleep(request: Request) -> Response: |
| 410 | request_id = f"control-{uuid.uuid4()}" |
| 411 | # Support both JSON body and query parameter |
| 412 | if await request.body(): |
| 413 | request_data = await request.json() |
| 414 | else: |
| 415 | # Extract query params |
| 416 | request_data = dict(request.query_params) |
| 417 | |
| 418 | try: |
| 419 | control_request = ControlRequest(request_id, "sleep", request_data) |
| 420 | except TypeError as e: |
| 421 | return JSONResponse(status_code=400, content={"error": "Invalid parameter type", "message": str(e)}) |
| 422 | |
| 423 | control_response = await app.state.engine_client.run_control_method(control_request) |
| 424 | return control_response.to_api_json_response() |
| 425 | |
| 426 | |
| 427 | @app.post("/v1/wakeup") |
nothing calls this directly
no test coverage detected