Spaces:
Build error
Build error
File size: 953 Bytes
b82aa95 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import logging
from typing import Any, Dict
from reachy_mini_conversation_app.tools.core_tools import Tool, ToolDependencies
logger = logging.getLogger(__name__)
class HeadTracking(Tool):
"""Toggle head tracking state."""
name = "head_tracking"
description = "Toggle head tracking state."
parameters_schema = {
"type": "object",
"properties": {"start": {"type": "boolean"}},
"required": ["start"],
}
async def __call__(self, deps: ToolDependencies, **kwargs: Any) -> Dict[str, Any]:
"""Enable or disable head tracking."""
enable = bool(kwargs.get("start"))
# Update camera worker head tracking state
if deps.camera_worker is not None:
deps.camera_worker.set_head_tracking_enabled(enable)
status = "started" if enable else "stopped"
logger.info("Tool call: head_tracking %s", status)
return {"status": f"head tracking {status}"}
|