| 24833 | PermissionDecision = PermissionDecisionApproveOnce | PermissionDecisionApproveForSession | PermissionDecisionApproveForLocation | PermissionDecisionApprovePermanently | PermissionDecisionReject | PermissionDecisionUserNotAvailable | PermissionDecisionApproved | PermissionDecisionApprovedForSession | PermissionDecisionApprovedForLocation | PermissionDecisionCancelled | PermissionDecisionDeniedByRules | PermissionDecisionDeniedNoApprovalRuleAndCouldNotRequestFromUser | PermissionDecisionDeniedInteractivelyByUser | PermissionDecisionDeniedByContentExclusionPolicy | PermissionDecisionDeniedByPermissionRequestHook |
| 24834 | |
| 24835 | def _load_PermissionDecision(obj: Any) -> "PermissionDecision": |
| 24836 | assert isinstance(obj, dict) |
| 24837 | kind = obj.get("kind") |
| 24838 | match kind: |
| 24839 | case "approve-once": return PermissionDecisionApproveOnce.from_dict(obj) |
| 24840 | case "approve-for-session": return PermissionDecisionApproveForSession.from_dict(obj) |
| 24841 | case "approve-for-location": return PermissionDecisionApproveForLocation.from_dict(obj) |
| 24842 | case "approve-permanently": return PermissionDecisionApprovePermanently.from_dict(obj) |
| 24843 | case "reject": return PermissionDecisionReject.from_dict(obj) |
| 24844 | case "user-not-available": return PermissionDecisionUserNotAvailable.from_dict(obj) |
| 24845 | case "approved": return PermissionDecisionApproved.from_dict(obj) |
| 24846 | case "approved-for-session": return PermissionDecisionApprovedForSession.from_dict(obj) |
| 24847 | case "approved-for-location": return PermissionDecisionApprovedForLocation.from_dict(obj) |
| 24848 | case "cancelled": return PermissionDecisionCancelled.from_dict(obj) |
| 24849 | case "denied-by-rules": return PermissionDecisionDeniedByRules.from_dict(obj) |
| 24850 | case "denied-no-approval-rule-and-could-not-request-from-user": return PermissionDecisionDeniedNoApprovalRuleAndCouldNotRequestFromUser.from_dict(obj) |
| 24851 | case "denied-interactively-by-user": return PermissionDecisionDeniedInteractivelyByUser.from_dict(obj) |
| 24852 | case "denied-by-content-exclusion-policy": return PermissionDecisionDeniedByContentExclusionPolicy.from_dict(obj) |
| 24853 | case "denied-by-permission-request-hook": return PermissionDecisionDeniedByPermissionRequestHook.from_dict(obj) |
| 24854 | case _: raise ValueError(f"Unknown PermissionDecision kind: {kind!r}") |
| 24855 | |
| 24856 | # Approval to persist for this location |
| 24857 | PermissionDecisionApproveForLocationApproval = PermissionDecisionApproveForLocationApprovalCommands | PermissionDecisionApproveForLocationApprovalRead | PermissionDecisionApproveForLocationApprovalWrite | PermissionDecisionApproveForLocationApprovalMCP | PermissionDecisionApproveForLocationApprovalMCPSampling | PermissionDecisionApproveForLocationApprovalMemory | PermissionDecisionApproveForLocationApprovalCustomTool | PermissionDecisionApproveForLocationApprovalExtensionManagement | PermissionDecisionApproveForLocationApprovalExtensionPermissionAccess |