对应 permissions.rs:49-73
| 536 | Allow = 4 |
| 537 | |
| 538 | class PermissionPolicy: |
| 539 | """对应 permissions.rs:49-73""" |
| 540 | def __init__(self, active_mode: PermissionMode): |
| 541 | self._active_mode = active_mode |
| 542 | self._requirements: dict[str, PermissionMode] = {} |
| 543 | |
| 544 | def with_tool_requirement( |
| 545 | self, tool_name: str, required: PermissionMode |
| 546 | ) -> PermissionPolicy: |
| 547 | self._requirements[tool_name] = required |
| 548 | return self # 链式调用 |
| 549 | |
| 550 | def is_allowed(self, tool_name: str) -> bool: |
| 551 | required = self._requirements.get(tool_name, PermissionMode.DangerFullAccess) |
| 552 | return self._active_mode >= required |
| 553 | |
| 554 | policy = ( |
| 555 | PermissionPolicy(PermissionMode.WorkspaceWrite) |
no outgoing calls
no test coverage detected