| 119 | class SchedulerTool(Tool): |
| 120 | |
| 121 | async def execute(self, **kwargs): |
| 122 | action = _current_action(self, kwargs) |
| 123 | if action == "list_tasks": |
| 124 | return await self.list_tasks(**kwargs) |
| 125 | elif action == "find_task_by_name": |
| 126 | return await self.find_task_by_name(**kwargs) |
| 127 | elif action == "show_task": |
| 128 | return await self.show_task(**kwargs) |
| 129 | elif action == "run_task": |
| 130 | return await self.run_task(**kwargs) |
| 131 | elif action == "delete_task": |
| 132 | return await self.delete_task(**kwargs) |
| 133 | elif action == "update_task": |
| 134 | return await self.update_task(**kwargs) |
| 135 | elif action == "create_scheduled_task": |
| 136 | return await self.create_scheduled_task(**kwargs) |
| 137 | elif action == "create_adhoc_task": |
| 138 | return await self.create_adhoc_task(**kwargs) |
| 139 | elif action == "create_planned_task": |
| 140 | return await self.create_planned_task(**kwargs) |
| 141 | elif action == "wait_for_task": |
| 142 | return await self.wait_for_task(**kwargs) |
| 143 | else: |
| 144 | return Response( |
| 145 | message=( |
| 146 | f"Unknown scheduler action '{action or self.method or ''}'. " |
| 147 | "Supported actions: list_tasks, find_task_by_name, show_task, " |
| 148 | "run_task, delete_task, update_task, create_scheduled_task, " |
| 149 | "create_adhoc_task, create_planned_task, wait_for_task." |
| 150 | ), |
| 151 | break_loop=False, |
| 152 | ) |
| 153 | |
| 154 | def _resolve_project_metadata(self) -> tuple[str | None, str | None]: |
| 155 | context = self.agent.context |