Copy an existing tool Args: tool_name: Name of the tool to copy new_name: New name for the copied tool. If None, uses original name. new_version: New version for the copied tool. If None, increments version. **override_config: Configur
(self, tool_name: str, new_name: Optional[str] = None,
new_version: Optional[str] = None, **override_config)
| 149 | return tool_config |
| 150 | |
| 151 | async def copy(self, tool_name: str, new_name: Optional[str] = None, |
| 152 | new_version: Optional[str] = None, **override_config) -> ToolConfig: |
| 153 | """Copy an existing tool |
| 154 | |
| 155 | Args: |
| 156 | tool_name: Name of the tool to copy |
| 157 | new_name: New name for the copied tool. If None, uses original name. |
| 158 | new_version: New version for the copied tool. If None, increments version. |
| 159 | **override_config: Configuration overrides |
| 160 | |
| 161 | Returns: |
| 162 | ToolConfig: New tool configuration |
| 163 | """ |
| 164 | tool_config = await self.tool_context_manager.copy( |
| 165 | tool_name, new_name, new_version, **override_config |
| 166 | ) |
| 167 | self._registered_configs[tool_config.name] = tool_config |
| 168 | return tool_config |
| 169 | |
| 170 | async def unregister(self, tool_name: str) -> bool: |
| 171 | """Unregister a tool |
no outgoing calls