
    ^h                         S SK JrJr  S SKrSSKJr  SSK7  S\\   S\\\\\\	\
\4      4      S\\\      S	\\   S
\4
S jr       SS\\   S\\   S\\   S\\   S\\   S\\   S
\\   4S jjrg)    )OptionalUnionN   )UnsupportedParamsError)*rolecontentattachmentsmetadatacustom_llm_providerc                 N  ^^ [        5       nUR                  S5      mUR                  S5      nUR                  5        H	  u  pXU'   M     SSSSS.n
UR                  5        VV	s0 s H  u  pX;   d  M  XU   :w  d  M  X_M     sn	nm0 nUU4S jnTS:X  a  TnORTS:X  aL  [        R                  " 5       R                  5       nU" US9  [        R                  " 5       R                  TUS	9nUR                  5        H  nXR                  5       ;  d  M  Xh   X'   M      U$ s  sn	nf )
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           	      H  > [        TR                  5       5      S:  a  [        TR                  5       5      nU Hc  n[        R                  SL a  X ;  a  TR                  US 5        M/  X ;  d  M6  [        R                  R                  SSR                  UTU 5      S9e   T$ g )Nr   T  zkk={}, not supported by {}. Supported params={}. To drop it from the call, set `litellm.drop_params = True`.status_codemessage)	lenkeyslistlitellmdrop_paramspoputilsr   formatsupported_paramsr   kr   non_default_paramss      R/home/james-whalen/.local/lib/python3.13/site-packages/litellm/assistants/utils.py_check_valid_arg9get_optional_params_add_message.<locals>._check_valid_arg6   s    !&&()A-*//12D''4/A4M&**1d3.!-->>$' !N  !U  !U24D! ?    &% .    openaiazurer   )r   optional_params)localsr   itemsr   AzureOpenAIAssistantsAPIConfig*get_supported_openai_create_message_params'map_openai_params_create_message_paramsr   )r   r	   r
   r   r   r   passed_paramsspecial_paramsr   vdefault_paramsr'   r!   r   r   s       `         @r    get_optional_params_add_messager1   	   sN   0 HM'++,AB"&&x0N$$&a ' 	N "''))DA 	$%):$: 	)
 O&" h&,		'224__a 	 	*:;!@@Bjj1? k 
 !''))!.!1O " Ms   &D!5D!?D!nqualityresponse_formatsizestyleuserc                   ^^ [        5       nUR                  S5      mUR                  S5      n	U	R                  5        H	  u  pXU
'   M     S S S S S S S.nUR                  5        V
Vs0 s H  u  pX;   d  M  XU
   :w  d  M  X_M     snn
m0 nUU4S jnTS:X  d  TS:X  d  T[        R                  ;   a  TnOdTS:X  a=  S/nU" US	9  Ub0  UR                  S
5      u  nn[        U5      US'   [        U5      US'   O!TS:X  a  S/n U" US	9  U b  [        U 5      US'   UR                  5        H  n
XR                  5       ;  d  M  X   X'   M      U$ s  snn
f )Nr   r   )r2   r3   r4   r5   r6   r7   c                   > [        TR                  5       5      S:  ac  [        TR                  5       5      nU HB  n[        R                  SL a  X ;  a  TR                  US 5        M/  X ;  d  M6  [        SST S3S9e   T$ g )Nr   Tr   z1Setting user/encoding format is not supported by z=. To drop it from the call, set `litellm.drop_params = True`.r   )r   r   r   r   r   r   r   r   s      r    r!   7get_optional_params_image_gen.<locals>._check_valid_argy   s    !&&()A-*//12D''4/A4M&**1d3.0$'"STgSh  if  !g   &% .r#   r$   r%   bedrockr5   r&   xwidthheight	vertex_air2   sampleCount)r(   r   r)   r   openai_compatible_providerssplitintr   )r2   r3   r4   r5   r6   r7   r   r   r-   r.   r   r/   r0   r'   r!   r   r=   r>   r   s         `           @r    get_optional_params_image_genrD   W   s    HM'++,AB"&&x0N$$&a ' N "''))DA 	$%):$: 	)
 O&  	x'')'"E"EE,			)"8*:; JJsOME6'*5zOG$(+FOH%		+5	 	*:;=-0VOM*!''))!.!1O " as   (E7EE)NNNNNNN)typingr   r   r   
exceptionsr   types.llms.openaistrListMessageContentTextObjectMessageContentImageFileObjectMessageContentImageURLObject
Attachmentdictr1   rC   rD    r#   r    <module>rP      s   "  / !K
3-K,102		
K $z*+K tnK  !K^ !%))-J}Jc]J c]J 3-	J
 C=J 3-J "#Jr#   