+
    i              	        a  0 t $ ^ RIHt ^ RIHt ^ RIHu Ht ^ RI	H
t
 ^ RI	Ht ^ RI	Ht RRRRR	R
RR
/tR]R&   R R ltR R ltR R ltR R ltR R R lltR!RRRRRRRR/R R llltR!RRRRRRRR/R R llltR# )"    )annotations)CallableN)permission_types)retriever_types)model_typescorpuscorpora
tunedmodeltunedModelstunedmodelszdict[str, str]_RESOURCE_TYPEc                    V ^8  d   QhRRRR/# )   xstrreturn )formats   "q/Users/igloo/.openclaw/workspace/scratch/fb_ad_env/lib/python3.14/site-packages/google/generativeai/permission.py__annotate__r   "   s            c                    \        V \        4      '       d   V P                  4       p \        P	                  V R 4      pV'       g   \        RV  R24      hV# )Nz!Unsupported resource type. Got: `
` instead.)
isinstancer   lowerr   get
ValueErrorr   resource_types   & r   _to_resource_typer    "   sJ    !SGGI"&&q$/M<QCzJKKr   c               $    V ^8  d   QhRRRRRR/# )r   r   r   r   r   Noner   )r   s   "r   r   r   ,   s&     
H 
Hs 
H3 
H4 
Hr   c                ~   VR 8X  dR   \         P                  ! V 4      '       g4   \        \         P                  P	                  \        V 4      V R7      4      hR# VR8X  dR   \        P                  ! V 4      '       g4   \        \        P                  P	                  \        V 4      V R7      4      hR# \        RV 24      h)r	   )lengthnamer   zUnsupported resource type: N)	r   
valid_namer   NAME_ERROR_MSGr   lenr   valid_tuned_model_nameTUNED_MODEL_NAME_ERROR_MSGr   s   &&r   _validate_resource_namer+   ,   s    	!))!,,_;;BB#a&WXBYZZ - 
-	'11!44[CCJJRUVWRX_`Jabb 5 6}oFGGr   c                    V ^8  d   QhRRRR/# )r   r   r   r   r"   r   )r   s   "r   r   r   9   s     ] ]s ]t ]r   c                    \         P                  ! V 4      '       g*   \        \         P                  P	                  V R 7      4      hR# ))permission_idN)r   valid_idr   INVALID_PERMISSION_ID_MSGr   )r   s   &r   _validate_permission_idr1   9   s9    $$Q'')CCJJYZJ[\\ (r   c                    V ^8  d   QhRRRR/# )r   r%   r   r   r   )r   s   "r   r   r   >   s     C CS CS Cr   c                    V P                  R 4      p\        V4      ^8w  d   \        RV  R24      hVw  r#rE\        V4      pR P	                  WE.4      p\        W24       \        V4       R P	                  W#V.4      # )/zyInvalid name format. Expected format:                 `resource_type/<resource_name>/permissions/<permission_id>`. Got: `r   )splitr(   r   r    joinr+   r1   )r%   name_path_componentsr   resource_namepermission_placeholderr.   s   &     r   _get_valid_name_componentsr:   >   s    ::c?
 A%TTXSYYce
 	

 K_GM"8%m4MHH4DEMM9M*88]=ABBr   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )	r   r%   
str | Noner8   r.   str | int | Noner   r   r   r   )r   s   "r   r   r   R   s:     $ $
$$ $$ 	$
 	$r   c           	        V '       g   V'       d	   V'       g   \        R V  RV RV R24      hV'       d   \        V4      pMNVP                  R4      p\        V4      ^8w  d   \        RV R\        V4       R24      h\        V^ ,          4      pV R2V9   d   V R2p MV RV R2p \	        V\
        4      '       g   RV9  d   V RV 2,          p MW,          p \        V 4      p V # )	znInvalid arguments: Either `name` or both `resource_name` and `permission_id` must be provided. Received name: z, resource_name: z, permission_id: .r4   zlInvalid `resource_name` format: Expected format is `resource_type/resource_name` (2 components). Received: `z` with z components.zpermissions/)r   r    r5   r(   r   intr:   )r%   r8   r.   r   resource_path_componentss   &&&& r   _construct_namerB   R   sb    - A  BF  AG  GX  Yf  Xg  gx  yF  xG  GH  I  -m<M (5':':3'?$+,1  C  DQ  CR  RY  Z]  ^v  Zw  Yx  xD  E  ..Fq.IJM_A-/#_A&D#_Am_A6DmS))^=-Pl=/22D!D &d+DKr   clientr8   r.   r   c               0    V ^8  d   QhRRRRRRRRRRR	R
/# )r   r%   r<   rC   z"glm.PermissionServiceClient | Noner8   r.   r=   r   r   permission_types.Permissionr   )r   s   "r   r   r   y   sN     E E
E /E 	E
 $E E !Er   c               `    \        V VVVR7      p \        P                  P                  WR7      # )aS  Calls the API to retrieve detailed information about a specific permission based on resource type and permission identifiers

Args:
    name: The name of the permission.
    resource_name: The name of the supported resource for which the permission details are needed.
    permission_id: The name of the permission.
    resource_type: The type of the resource (corpus or tunedModel as of now) for which the permission details are needed.
                    If not provided, it will be inferred from `resource_name`.

Returns:
    The permission as an instance of `permission_types.Permission`.
r%   r8   r.   r   r%   rC   )rB   r   
Permissionr   r%   rC   r8   r.   r   s   &$$$$r   get_permissionrK   y   s6    ( ###	D &&***DDr   c               0    V ^8  d   QhRRRRRRRRRRR	R
/# )r   r%   r<   rC   z'glm.PermissionServiceAsyncClient | Noner8   r.   r=   r   r   rE   r   )r   s   "r   r   r      sN     Q Q
Q 4Q 	Q
 $Q Q !Qr   c               |   "   \        V VVVR7      p \        P                  P                  WR7      G Rj  xL
 #  L5i)z;
This is the async version of `permission.get_permission`.
rG   rH   N)rB   r   rI   	get_asyncrJ   s   &$$$$r   get_permission_asyncrO      s?      ###	D ",,66D6PPPPs   3<:<)NNNN)N)__conditional_annotations__
__future__r   typingr   google.ai.generativelanguageaigenerativelanguageglmgoogle.generativeai.typesr   r   r   r   __annotations__r    r+   r1   r:   rB   rK   rO   )rP   s   @r   <module>rY      s    # "  * * 6 5 1 iy-=	" 
H]
C($NE 26E !%	E
 '+E !%E E:Q 7;Q !%	Q
 '+Q !%Q Qr   