§
     Âiß  ã                  óÐ   — U d dl mZ d dlmZ d dlmc mZ d dlm	Z	 d dlm
Z
 d dlmZ ddddd	œZd
ed<   d"d„Zd#d„Zd$d„Zd%d„Z	 	 	 	 d&d'd„Z	 d(dddddœd)d„Z	 d(dddddœd*d!„ZdS )+é    )Úannotations)ÚCallableN)Úpermission_types)Úretriever_types)Úmodel_typesÚcorporaÚtunedModels)Úcorpusr   Ú
tunedmodelÚtunedmodelszdict[str, str]Ú_RESOURCE_TYPEÚxÚstrÚreturnc                ó¸   — t          | t          ¦  «        r|                      ¦   «         } t                               | d ¦  «        }|st          d| › d�¦  «        ‚|S )Nz!Unsupported resource type. Got: `ú
` instead.)Ú
isinstancer   Úlowerr   ÚgetÚ
ValueError©r   Úresource_types     úh/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/google/generativeai/permission.pyÚ_to_resource_typer   "   s_   € Ý�!•SÑÔð Ø�GŠG‰IŒIˆÝ"×&Ò& q¨$Ñ/Ô/€MØð LÝÐJ¸QÐJÐJÐJÑKÔKÐKàÐó    r   ÚNonec                ó‚  — |dk    rQt          j        | ¦  «        s;t          t           j                             t          | ¦  «        | ¬¦  «        ¦  «        ‚d S |dk    rQt          j        | ¦  «        s;t          t          j                             t          | ¦  «        | ¬¦  «        ¦  «        ‚d S t          d|› �¦  «        ‚)Nr   )ÚlengthÚnamer	   zUnsupported resource type: )	r   Ú
valid_namer   ÚNAME_ERROR_MSGÚformatÚlenr   Úvalid_tuned_model_nameÚTUNED_MODEL_NAME_ERROR_MSGr   s     r   Ú_validate_resource_namer&   ,   sÍ   € Ø˜	Ò!Ð!ÝÔ)¨!Ñ,Ô,ð 	[Ý�_Ô;×BÒBÍ#ÈaÉ&Ì&ÐWXÐBÑYÔYÑZÔZÐZð	[ð 	[ð 
˜-Ò	'Ð	'ÝÔ1°!Ñ4Ô4ð 	cÝ�[ÔC×JÒJÕRUÐVWÑRXÔRXÐ_`ÐJÑaÔaÑbÔbÐbð	cð 	cõ ÐF°}ÐFÐFÑGÔGÐGr   c                óˆ   — t          j        | ¦  «        s-t          t           j                             | ¬¦  «        ¦  «        ‚d S )N)Úpermission_id)r   Úvalid_idr   ÚINVALID_PERMISSION_ID_MSGr"   )r   s    r   Ú_validate_permission_idr+   9   sF   € ÝÔ$ QÑ'Ô'ð ]ÝÕ)ÔC×JÒJÐYZÐJÑ[Ô[Ñ\Ô\Ð\ð]ð ]r   r   c                ó@  — |                       d¦  «        }t          |¦  «        dk    rt          d| › d�¦  «        ‚|\  }}}}t          |¦  «        }d                     ||g¦  «        }t          ||¦  «         t          |¦  «         d                     |||g¦  «        S )Nú/é   zyInvalid name format. Expected format:                 `resource_type/<resource_name>/permissions/<permission_id>`. Got: `r   )Úsplitr#   r   r   Újoinr&   r+   )r   Úname_path_componentsr   Úresource_nameÚpermission_placeholderr(   s         r   Ú_get_valid_name_componentsr4   >   sÁ   € àŸ:š: c™?œ?ÐÝ
ÐÑ Ô  AÒ%Ð%ÝðeØTXðeð eð eñ
ô 
ð 	
ð
 K_ÑG€M�=Ð"8¸-Ý% mÑ4Ô4€Mà—H’HÐ4°mÐDÑEÔE€Må˜M¨=Ñ9Ô9Ð9Ý˜MÑ*Ô*Ð*à�8Š8�] M°=ÐAÑBÔBÐBr   ú
str | Noner2   r(   ústr | int | Nonec           	     ó¾  — | sË|r|st          d| › d|› d|› d�¦  «        ‚|rt          |¦  «        }n`|                     d¦  «        }t          |¦  «        dk    r#t          d|› dt          |¦  «        › d	�¦  «        ‚t          |d
         ¦  «        }|› d�|v r|› d�} n|› d|› d�} t	          |t
          ¦  «        sd|vr	| d|› �z  } n| |z  } t          | ¦  «        } | S )NznInvalid arguments: Either `name` or both `resource_name` and `permission_id` must be provided. Received name: z, resource_name: z, permission_id: ú.r-   é   zlInvalid `resource_name` format: Expected format is `resource_type/resource_name` (2 components). Received: `z` with z components.r   zpermissions/)r   r   r/   r#   r   Úintr4   )r   r2   r(   r   Úresource_path_componentss        r   Ú_construct_namer<   R   s­  € ð ð "àð 	 -ð 	Ýð Ið  BFð  Ið  Ið  Yfð  Ið  Ið  yFð  Ið  Ið  Iñô ð ð ð 		KÝ-¨mÑ<Ô<ˆMˆMð (5×':Ò':¸3Ñ'?Ô'?Ð$ÝÐ+Ñ,Ô,°Ò1Ð1Ý ð Eð  DQð  Eð  Eõ  Z]ð  ^vñ  Zwô  Zwð  Eð  Eð  Eñô ð õ .Ð.FÀqÔ.IÑJÔJˆMàÐÐÐ -Ð/Ð/Ø#Ð&Ð&Ð&ˆDˆDà#Ð6Ð6 mÐ6Ð6Ð6ˆDå�m¥SÑ)Ô)ð 	"¨^À=Ð-PÐ-PØÐ2 =Ð2Ð2Ñ2ˆDˆDà�MÑ!ˆDõ & dÑ+Ô+€DØ€Kr   )Úclientr2   r(   r   r=   ú"glm.PermissionServiceClient | Noneúpermission_types.Permissionc               ój   — t          | |||¬¦  «        } t          j                             | |¬¦  «        S )aw  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   r2   r(   r   ©r   r=   )r<   r   Ú
Permissionr   ©r   r=   r2   r(   r   s        r   Úget_permissionrE   y   sB   € õ( ØØ#Ø#Ø#ð	ñ ô €Dõ Ô&×*Ò*°¸VÐ*ÑDÔDÐDr   ú'glm.PermissionServiceAsyncClient | Nonec             ƒ  óz   K  — t          | |||¬¦  «        } t          j                             | |¬¦  «        ƒ d{V —†S )zC
    This is the async version of `permission.get_permission`.
    rA   rB   N)r<   r   rC   Ú	get_asyncrD   s        r   Úget_permission_asyncrI   –   sX   è è € õ ØØ#Ø#Ø#ð	ñ ô €Dõ "Ô,×6Ò6¸DÈÐ6ÑPÔPÐPÐPÐPÐPÐPÐPÐPr   )r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   )r   r   r   r   )NNNN)
r   r5   r2   r5   r(   r6   r   r5   r   r   )N)r   r5   r=   r>   r2   r5   r(   r6   r   r5   r   r?   )r   r5   r=   rF   r2   r5   r(   r6   r   r5   r   r?   )Ú
__future__r   Útypingr   Úgoogle.ai.generativelanguageÚaiÚgenerativelanguageÚglmÚgoogle.generativeai.typesr   r   r   r   Ú__annotations__r   r&   r+   r4   r<   rE   rI   © r   r   ú<module>rS      s·  ðð #Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1ð ØØØ ð	"ð "€ð ð ð ñ ðð ð ð ð
Hð 
Hð 
Hð 
Hð]ð ]ð ]ð ]ð
Cð Cð Cð Cð* Ø $Ø&*Ø $ð	$ð $ð $ð $ð $ðP ðEð 26Ø $Ø&*Ø $ðEð Eð Eð Eð Eð Eð< ðQð 7;Ø $Ø&*Ø $ðQð Qð Qð Qð Qð Qð Qð Qr   