
    ^h}                         S r SSKrSSKJrJrJrJrJr  SSKJ	r	  SSK
Jr  SSKJr  SSKJr  SSKJr  S	S
KJr   " S S\5      rg)z|
Handler file for calls to Azure OpenAI's o1 family of models

Written separately to handle faking streaming for o1 models.
    N)AnyCallableListOptionalUnion)Timeout)Logging)MockResponseIterator)ModelResponse)CustomStreamWrapper   )AzureChatCompletionc                      ^  \ rS rSrS\S\\   S\4S jr   SS\S\S\	S\S	\S
\S\S\S\
S\S\4   S\\\4   S\S\
S\\   4U 4S jjjrSrU =r$ )AzureOpenAIO1ChatCompletion   responsemodellogging_objc                 P   #    UI S h  vN n[        US9n[        UUSUS9nU$  N7f)Nmodel_responseazure)completion_streamr   custom_llm_providerr   )r
   r   )selfr   r   r   r   r   streaming_responses          \/home/james-whalen/.local/lib/python3.13/site-packages/litellm/llms/azure/chat/o1_handler.pymock_async_streaming0AzureOpenAIO1ChatCompletion.mock_async_streaming   s=       (0O0/ '#	
 "! (s   &$&messagesr   api_keyapi_baseapi_versionapi_typeazure_ad_tokendynamic_paramsprint_verbose.timeoutacompletionheadersc                    > UR                  SS5      nUR                  SS 5      n[        TU ]	  UUUUUUUUU	U
UUUUUUUU5      nUSL aC  [        R                  " U5      (       a  U R                  UXS9$ [        US9n[        UUSUUS9nU$ U$ )	NstreamFstream_optionsT)r   r   r   r   openai)r   r   r   r   r-   )popsuper
completionasyncioiscoroutiner   r
   r   )r   r   r    r   r!   r"   r#   r$   r%   r&   r'   r(   r   optional_paramslitellm_params	logger_fnr)   r*   clientr,   r-   r   r   r   	__class__s                           r   r1   &AzureOpenAIO1ChatCompletion.completion&   s    * "1!4!4Xu!E)8)<)<=Mt)T7%%
* T>""8,,00%U 1   !5H M!4"3$,'-" &%O     )FNN)__name__
__module____qualname____firstlineno__r   r   strr   r   r   boolr   r   floatr   r	   dictr1   __static_attributes____classcell__)r8   s   @r   r   r      s    "" }" 	"B ""&'== = &	=
 = = = = = =  S)= ug~&= =" #=$ $%= =r:   r   )__doc__r2   typingr   r   r   r   r   httpx._configr   *litellm.litellm_core_utils.litellm_loggingr	   (litellm.llms.bedrock.chat.invoke_handlerr
   litellm.types.utilsr   litellm.utilsr   r   r   r   r;   r:   r   <module>rM      s6     7 7 ! > I - - 'O"5 Or:   