Spaces:
Paused
Paused
| # -*- coding: utf-8 -*- | |
| """The task tool base class, providing unified interface and permission | |
| check for builtin task related tools.""" | |
| from typing import Any | |
| from .._base import ToolBase | |
| from ...permission import ( | |
| PermissionContext, | |
| PermissionDecision, | |
| PermissionBehavior, | |
| ) | |
| class _TaskToolBase(ToolBase): | |
| name: str | |
| description: str | |
| input_schema: dict | |
| is_concurrency_safe: bool = True | |
| is_read_only: bool = False | |
| is_state_injected: bool = True | |
| is_external_tool: bool = False | |
| is_mcp: bool = False | |
| mcp_name: str | None = None | |
| async def check_permissions( | |
| self, | |
| tool_input: dict[str, Any], | |
| context: PermissionContext, | |
| ) -> PermissionDecision: | |
| """Check permission for the tool usage.""" | |
| return PermissionDecision( | |
| behavior=PermissionBehavior.ALLOW, | |
| message=f"{self.name} is always allowed to be called.", | |
| ) | |