Ë
    tPêj–  ã                   óh   — d dl Z d dlmZ d dlZd dlmZ d„ Zd„ Zdededed	e	fd
„Z
dededed	e	fd„Zy)é    N)ÚFinal)Úverbose_proxy_loggerc                 ól  — 	 dd l }ddlm} ddlm} |j                  «       }|j                  d|j                  |j                  |j                  ¬«      }t        j                  d|| «       |j                  | |¬«      }t        j                  d|«       |d	   j                  «       j                  d
«      }t        j                  d«       t        j                   |«      }	|	S # t"        $ r }
t        j$                  d|
«       Y d }
~
y d }
~
wt&        $ r }
t        j$                  d|
«       Y d }
~
y d }
~
ww xY w)Nr   ©ÚCredentials)Ú bedrock_converse_chat_completionÚs3©Úaws_access_key_idÚaws_secret_access_keyÚaws_session_tokenz Retrieving %s from S3 bucket: %s©ÚBucketÚKeyzResponse: %sÚBodyúutf-8zFile contents retrieved from S3úImportError: %sú"Error retrieving file contents: %s)Úboto3Úbotocore.credentialsr   Úlitellm.mainr   Úget_credentialsÚclientÚ
access_keyÚ
secret_keyÚtokenr   ÚdebugÚ
get_objectÚreadÚdecodeÚyamlÚ	safe_loadÚImportErrorÚerrorÚ	Exception)Úbucket_nameÚ
object_keyr   r   r   ÚcredentialsÚ	s3_clientÚresponseÚfile_contentsÚconfigÚes              úq/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/proxy/common_utils/load_config_utils.pyÚget_file_contents_from_s3r/   	   s  € ðãÝ4åAà*J×*ZÑ*ZÓ*\ˆØ Ÿ<™<ØØ)×4Ñ4Ø"-×"8Ñ"8Ø)×/Ñ/ð	 (ó 
ˆ	ô 	×"Ñ"Ð#EÀzÐS^Ô_Ø#×.Ñ.°kÀzÐ.ÓRˆÜ×"Ñ" >°8Ô<ð  (¨Ñ/×4Ñ4Ó6×=Ñ=¸gÓFˆÜ×"Ñ"Ð#DÔEô Ÿ™ }Ó5ˆØˆøäò 9ä×"Ñ"Ð#4°a×8Ñ8ûÜò Ü×"Ñ"Ð#GÈÔKÜûðús$   ‚C C# Ã#	D3Ã,DÄD3ÄD.Ä.D3c              ƒ   ó(  K  — 	 ddl m}  || ¬«      }|j                  |«      ƒ d {  –—† }|€t        d|› �«      ‚|j	                  d«      }t        j                  |«      }|S 7 Œ<# t        $ r }t        j                  d|«       Y d }~y d }~ww xY w­w)Nr   ©ÚGCSBucketLogger©r&   úFile contents are None for r   r   )	Ú*litellm.integrations.gcs_bucket.gcs_bucketr2   Údownload_gcs_objectr%   r    r!   r"   r   r$   )r&   r'   r2   Ú
gcs_bucketr+   r,   r-   s          r.   Ú!get_config_file_contents_from_gcsr8   ,   s—   è ø€ ðÝNá+Ø#ô
ˆ
ð )×<Ñ<¸ZÓH×HˆØÐ ÜÐ9¸*¸ÐFÓGÐGà%×,Ñ,¨WÓ5ˆäŸ™ }Ó5ˆØˆð Iùô ò Ü×"Ñ"Ð#GÈÔKÜûðüs>   ‚B„#A& §A$¨;A& Á#BÁ$A& Á&	BÁ/B
ÂBÂ
BÂBr&   r'   Úlocal_file_pathÚreturnc                 ó  — 	 ddl }ddlm} ddlm}  |«       }|j                  «       }|j                  d|j                  |j                  |j                  ¬«      }t        j                  d|| «       |j                  | |¬«      }	|	d	   j                  «       j                  d
«      }
t        j                  d|
«       t        j                   t        j"                  j%                  |«      d¬«       t'        |d«      5 }|j)                  |
«       ddd«       t        j                  d|«       y# 1 sw Y   Œ xY w# t*        $ r }t        j,                  d|«       Y d}~yd}~wt.        $ r }t        j0                  d|«       Y d}~yd}~ww xY w)aA  
    Download a Python file from S3 and save it to local filesystem.

    Args:
        bucket_name (str): S3 bucket name
        object_key (str): S3 object key (file path in bucket)
        local_file_path (str): Local path where file should be saved

    Returns:
        bool: True if successful, False otherwise
    r   Nr   )Ú
BaseAWSLLMr	   r
   z-Downloading Python file %s from S3 bucket: %sr   r   r   zFile contents: %sT©Úexist_okÚwú)Python file downloaded successfully to %sr   Fz!Error downloading Python file: %s)r   r   r   Ú!litellm.llms.bedrock.base_aws_llmr<   r   r   r   r   r   r   r   r   r   r    ÚosÚmakedirsÚpathÚdirnameÚopenÚwriter#   r$   r%   Ú	exception)r&   r'   r9   r   r   r<   Úbase_aws_llmr(   r)   r*   r+   Úfr-   s                r.   Údownload_python_file_from_s3rK   A   sX  € ð &ÛÝ4å@á(›lˆà*6×*FÑ*FÓ*HˆØ Ÿ<™<ØØ)×4Ñ4Ø"-×"8Ñ"8Ø)×/Ñ/ð	 (ó 
ˆ	ô 	×"Ñ"Ð#RÐT^Ð`kÔlØ#×.Ñ.°kÀzÐ.ÓRˆð  (¨Ñ/×4Ñ4Ó6×=Ñ=¸gÓFˆÜ×"Ñ"Ð#6¸ÔFô 	�‰”B—G‘G—O‘O OÓ4¸tÕDô �/ 3Ó'ð 	#¨1Ø�G‰G�MÔ"÷	#ô 	×"Ñ"Ð#NÐP_Ô`Ø÷		#ð 	#ûô ò Ü×"Ñ"Ð#4°aÔ8ÜûÜò Ü×&Ñ&Ð'JÈAÔNÜûðús<   ‚C<D; Ã>D/ÄD; Ä/D8Ä4D; Ä;	FÅEÅFÅ+FÆFc              ƒ   óô  K  — 	 ddl m}  || ¬«      }|j                  |«      ƒ d{  –—† }|€t        d|› �«      ‚|j	                  d«      }t        j                  t
        j                  j                  |«      d¬«       t        |d	«      5 }|j                  |«       ddd«       t        j                  d
|«       y7 Œ–# 1 sw Y   Œ"xY w# t        $ r }t        j                  d|«       Y d}~yd}~ww xY w­w)aD  
    Download a Python file from GCS and save it to local filesystem.

    Args:
        bucket_name (str): GCS bucket name
        object_key (str): GCS object key (file path in bucket)
        local_file_path (str): Local path where file should be saved

    Returns:
        bool: True if successful, False otherwise
    r   r1   r3   Nr4   r   Tr=   r?   r@   z*Error downloading Python file from GCS: %sF)r5   r2   r6   r%   r    rB   rC   rD   rE   rF   rG   r   r   rH   )r&   r'   r9   r2   r7   r+   rJ   r-   s           r.   Údownload_python_file_from_gcsrM   z   sê   è ø€ ð ÝNá+Ø#ô
ˆ
ð )×<Ñ<¸ZÓH×HˆØÐ ÜÐ9¸*¸ÐFÓGÐGð &×,Ñ,¨WÓ5ˆô 	�‰”B—G‘G—O‘O OÓ4¸tÕDô �/ 3Ó'ð 	#¨1Ø�G‰G�MÔ"÷	#ô 	×"Ñ"Ð#NÐP_Ô`Øð Iø÷	#ð 	#ûô ò Ü×&Ñ&Ð'SÐUVÔWÜûðüsW   ‚C8„#C §B>¨A%C ÂC ÂC Â=C8Â>C Ã C	ÃC Ã	C5ÃC0Ã+C8Ã0C5Ã5C8)rB   Útypingr   r!   Úlitellm._loggingr   r/   r8   ÚstrÚboolrK   rM   © ó    r.   ú<module>rT      so   ðÛ 	Ý ã å 1ò òFð*6Øð6àð6ð ð6ð 
ó	6ðr)Øð)àð)ð ð)ð 
ô	)rS   