Ë
    uPêjü  ã                   óÞ   — d dl mZ d dlZddlmZ ddl­ dedz  deeee	z  e
z     z  dz  dee   dz  d	edz  d
ef
d„Z	 	 	 	 	 	 	 ddedz  dedz  dedz  dedz  dedz  dedz  d
edz  fd„Zy)é    )ÚFinalNé   )ÚUnsupportedParamsError)Ú*ÚroleÚcontentÚattachmentsÚmetadataÚcustom_llm_providerc                 ó  ‡‡— t        «       }|j                  d«      Š|j                  d«      }|j                  «       D ]
  \  }}	|	||<   Œ dddddœ}
|j                  «       D ��	ci c]  \  }}	||
v sŒ|	|
|   k7  sŒ||	“Œ c}	}Ši }ˆˆfd„}‰dk(  r‰}nU‰dk(  rPt        j                  «       j                  «       } ||¬«       t        j                  «       j                  ‰|¬	«      }|D ]  }||
vsŒ||   ||<   Œ |S c c}	}w )
zÉ
    Azure doesn't support 'attachments' for creating a message

    Reference - https://learn.microsoft.com/en-us/azure/ai-services/openai/assistants-reference-messages?tabs=python#create-message
    r   ÚkwargsN)r   r   r	   r
   c                 ó2  •— t        ‰j                  «       «      dkD  rzt        ‰j                  «       «      }|D ]Z  }t        j                  du r|| vr‰j                  |d «       Œ,|| vsŒ1t        j                  j                  dd|› d‰› d| › d�¬«      ‚ ‰S y )	Nr   Téô  zk=z, not supported by z. Supported params=ú=. To drop it from the call, set `litellm.drop_params = True`.©Ústatus_codeÚmessage)ÚlenÚkeysÚlistÚlitellmÚdrop_paramsÚpopÚutilsr   ©Úsupported_paramsr   Úkr   Únon_default_paramss      €€ú]/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/assistants/utils.pyÚ_check_valid_argz9get_optional_params_add_message.<locals>._check_valid_arg'   s¾   ø€ ÜÐ!×&Ñ&Ó(Ó)¨AÒ-ÜÐ1×6Ñ6Ó8Ó9ˆDØò �Ü×&Ñ&¨$Ñ.°1Ð<LÑ3LØ&×*Ñ*¨1¨dÕ3ØÐ.Ò.Ü!Ÿ-™-×>Ñ>Ø$'Ø"$ Q CÐ':Ð;NÐ:OÐObÐcsÐbtð  urð  !sð ?ó ð ð	ð &Ð%ð .ó    ÚopenaiÚazure©r   )r   Úoptional_params)Úlocalsr   Úitemsr   ÚAzureOpenAIAssistantsAPIConfigÚ*get_supported_openai_create_message_paramsÚ'map_openai_params_create_message_params)r   r   r	   r
   r   r   Úpassed_paramsÚspecial_paramsr   ÚvÚdefault_paramsr%   r    r   r   s       `         @r   Úget_optional_params_add_messager/   	   s?  ù€ ô "›8€MØ'×+Ñ+Ð,AÓBÐØ)×-Ñ-¨hÓ7€NØ×$Ñ$Ó&ò ‰ˆˆ1Øˆ�aÒðð ØØØñ	€Nð ,9×+>Ñ+>Ó+@×u¡4 1 aÀQÈ.ÒEXÐ]^ÐbpÐqrÑbsÓ]s˜!˜Q™$ÓuÐØ€Oõ&ð ˜hÒ&Ø,‰Ø	 Ò	'Ü")×"HÑ"HÓ"J×"uÑ"uÓ"wÐÙÐ*:Õ;Ü!×@Ñ@ÓB×jÑjØ1À?ð kó 
ˆð ò 2ˆØ�NÒ"Ø!.¨qÑ!1ˆO˜AÒð2ð Ðùó9 vs   Á&D Á3D Á<D ÚnÚqualityÚresponse_formatÚsizeÚstyleÚuserc                 ó`  ‡‡— t        «       }|j                  d«      Š|j                  d«      }	|	j                  «       D ]
  \  }
}|||
<   Œ d d d d d d dœ}|j                  «       D �
�ci c]  \  }
}|
|v sŒ|||
   k7  sŒ|
|“Œ c}}
Ši }ˆˆfd„}‰dk(  s‰dk(  s‰t        j                  v r‰}nf‰dk(  r?dg} ||¬	«       |�S|j                  d
«      \  }}t        |«      |d<   t        |«      |d<   n"‰dk(  rdg}	  ||¬	«       | �t        | «      |d<   |D ]  }
|
|vsŒ||
   ||
<   Œ |S c c}}
w )Nr   r   )r0   r1   r2   r3   r4   r5   c                 óþ   •— t        ‰j                  «       «      dkD  r`t        ‰j                  «       «      }|D ]@  }t        j                  du r|| vr‰j                  |d «       Œ,|| vsŒ1t        dd‰› d�¬«      ‚ ‰S y )Nr   Tr   z1Setting user/encoding format is not supported by r   r   )r   r   r   r   r   r   r   r   s      €€r   r    z7get_optional_params_image_gen.<locals>._check_valid_arg`   sŸ   ø€ ÜÐ!×&Ñ&Ó(Ó)¨AÒ-ÜÐ1×6Ñ6Ó8Ó9ˆDØò �Ü×&Ñ&¨$Ñ.°1Ð<LÑ3LØ&×*Ñ*¨1¨dÕ3ØÐ.Ò.Ü0Ø$'Ø"SÐTgÐShð  ifð  !gôð ð	ð &Ð%ð .r!   r"   r#   Úbedrockr3   r$   ÚxÚwidthÚheightÚ	vertex_air0   ÚsampleCount)r&   r   r'   r   Úopenai_compatible_providersÚsplitÚint)r0   r1   r2   r3   r4   r5   r   r   r+   r,   r   r-   r.   r%   r    r   r:   r;   r   s         `           @r   Úget_optional_params_image_genrA   B   sŒ  ù€ ô "›8€MØ'×+Ñ+Ð,AÓBÐØ)×-Ñ-¨hÓ7€NØ×$Ñ$Ó&ò ‰ˆˆ1Øˆ�aÒðð ØØØØØñ€Nð ,9×+>Ñ+>Ó+@×u¡4 1 aÀQÈ.ÒEXÐ]^ÐbpÐqrÑbsÓ]s˜!˜Q™$ÓuÐØ€Oõ&ð 	˜xÒ'Ø 'Ò)Ø¤'×"EÑ"EÑEà,‰Ø	 	Ò	)Ø"˜8ÐÙÐ*:Õ;ØÐØ ŸJ™J s›O‰MˆE�6Ü'*¨5£zˆO˜GÑ$Ü(+¨F«ˆO˜HÒ%Ø	 Ò	+Ø˜5Ðð	ñ 	Ð*:Õ;Øˆ=Ü-0°«VˆO˜MÑ*àò 2ˆØ�NÒ"Ø!.¨qÑ!1ˆO˜AÒð2ð ÐùóU vs   Á(D*Á5D*Á>D*)NNNNNNN)Útypingr   r   Ú
exceptionsr   Útypes.llms.openaiÚstrr   ÚMessageContentTextObjectÚMessageContentImageFileObjectÚMessageContentImageURLObjectÚ
AttachmentÚdictr/   r@   rA   © r!   r   ú<module>rL      sö   ðÝ ã å /Ü !ð6Ø
�‰*ð6à�4Ð0Ð3PÑPÐSoÑoÑpÑpÐswÑwð6ð �jÑ! DÑ(ð6ð �T‰kð	6ð
 ó6ðt ØØ"&ØØØØ&*ñDØ
ˆT�zðDà�4‰ZðDð ˜4‘ZðDð �‰*ð	Dð
 �‰:ðDð �‰*ðDð ˜t™ôDr!   