Determine the risk level of a tool based on patterns. Args: tool_name: Name of the tool Returns: Risk level enum value.
(self, tool_name: str)
| 317 | self.save_preferences() |
| 318 | |
| 319 | def get_tool_risk_level(self, tool_name: str) -> ToolRiskLevel: |
| 320 | """Determine the risk level of a tool based on patterns. |
| 321 | |
| 322 | Args: |
| 323 | tool_name: Name of the tool |
| 324 | |
| 325 | Returns: |
| 326 | Risk level enum value. |
| 327 | """ |
| 328 | for pattern, risk in self.preferences.ui.tool_confirmation.categories.items(): |
| 329 | if pattern.endswith("*"): |
| 330 | prefix = pattern[:-1] |
| 331 | if tool_name.startswith(prefix): |
| 332 | return risk |
| 333 | elif pattern.startswith("*"): |
| 334 | suffix = pattern[1:] |
| 335 | if tool_name.endswith(suffix): |
| 336 | return risk |
| 337 | |
| 338 | return ToolRiskLevel.MODERATE |
| 339 | |
| 340 | def should_confirm_tool(self, tool_name: str) -> bool: |
| 341 | """Determine if a tool should be confirmed based on preferences. |
no outgoing calls