get_task_reports_smart
Retrieve robot task reports by automatically selecting the correct API based on robot series. Filter reports by serial number, date range, and pagination to access operational data.
Instructions
智能获取任务报告。
自动根据机器人系列选择M-line或S-line任务报告API。
Args:
serial_number: 机器人序列号
page: 页码
page_size: 每页大小
start_time_utc_floor: 开始时间过滤
start_time_utc_upper: 结束时间过滤
Returns:
任务报告数据字典
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| serial_number | Yes | ||
| page | No | ||
| page_size | No | ||
| start_time_utc_floor | No | ||
| start_time_utc_upper | No |
Implementation Reference
- src/gs_openapi/main.py:317-340 (registration)Registration of the MCP tool 'get_task_reports_smart' using @mcp.tool() decorator. This function handles input parameters and delegates to the router's implementation.@mcp.tool() async def get_task_reports_smart(serial_number: str, page: int = 1, page_size: int = 10, start_time_utc_floor: str = None, start_time_utc_upper: str = None): """智能获取任务报告。 自动根据机器人系列选择M-line或S-line任务报告API。 Args: serial_number: 机器人序列号 page: 页码 page_size: 每页大小 start_time_utc_floor: 开始时间过滤 start_time_utc_upper: 结束时间过滤 Returns: 任务报告数据字典 """ kwargs = {"page": page, "page_size": page_size} if start_time_utc_floor: kwargs["start_time_utc_floor"] = start_time_utc_floor if start_time_utc_upper: kwargs["start_time_utc_upper"] = start_time_utc_upper return await router.get_task_reports_smart(serial_number, **kwargs)
- Core handler function that implements the smart routing logic for task reports, selecting between M-line and S-line APIs based on robot series detected from serial number prefix.async def get_task_reports_smart(self, serial_number: str, **kwargs) -> Dict[str, Any]: """智能获取任务报告。 自动根据机器人序列号前缀选择M-line或S-line任务报告API。 """ # 基于序列号前缀判断机器人系列 detected_series = self._determine_robot_series_from_sn(serial_number) if self.is_s_line_robot(detected_series): # S-line 机器人使用专用任务报告API result = await self.mcp.list_robot_task_reports_s(serial_number, **kwargs) result["api_version"] = "S-line API" result["detected_series"] = detected_series return result else: # M-line 机器人或未知类型使用默认任务报告API result = await self.mcp.list_robot_task_reports(serial_number, **kwargs) result["api_version"] = "M-line/Default API" result["detected_series"] = detected_series return result