
    {h                     B    d dl Z d dlZda G d de j                        Zy)    NFc                       e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&e'd%e(d    fd&       Z)e'd%e(d    fd'       Z*e'd(        Z+y))*Modez
    Mode enumeration for patching LLM API clients.

    Each mode determines how the library formats and structures requests
    to different provider APIs and how it processes their responses.
    function_callparallel_tool_call	tool_calltools_strict	json_modejson_o1markdown_json_modejson_schema_moderesponses_tools"responses_tools_with_inbuilt_toolsanthropic_toolsanthropic_reasoning_toolsanthropic_jsonanthropic_parallel_toolsmistral_toolsmistral_structured_outputsvertexai_toolsvertexai_jsonvertexai_parallel_toolsgemini_jsongemini_toolsgenai_toolsgenai_structured_outputscohere_toolsjson_objectcerebras_toolscerebras_jsonfireworks_toolsfireworks_jsonwriter_toolswriter_jsonbedrock_toolsbedrock_jsonperplexity_jsonopenrouter_structured_outputsreturnc                    | j                   | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                   | j"                  hS )z&Returns a set of all tool-based modes.)	FUNCTIONSPARALLEL_TOOLSTOOLSTOOLS_STRICTANTHROPIC_TOOLSANTHROPIC_REASONING_TOOLSANTHROPIC_PARALLEL_TOOLSMISTRAL_TOOLSVERTEXAI_TOOLSVERTEXAI_PARALLEL_TOOLSGEMINI_TOOLSCOHERE_TOOLSCEREBRAS_TOOLSFIREWORKS_TOOLSWRITER_TOOLSBEDROCK_TOOLSOPENROUTER_STRUCTURED_OUTPUTSMISTRAL_STRUCTURED_OUTPUTSclss    P/var/www/html/hubwallet-dev/venv/lib/python3.12/site-packages/instructor/mode.py
tool_modeszMode.tool_modesG   s     MMII))((''--**%
 	
    c                 P   | j                   | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  hS )z&Returns a set of all JSON-based modes.)JSONJSON_O1MD_JSONJSON_SCHEMAANTHROPIC_JSONVERTEXAI_JSONGEMINI_JSONCOHERE_JSON_SCHEMACEREBRAS_JSONFIREWORKS_JSONWRITER_JSONBEDROCK_JSONPERPLEXITY_JSONr:   r;   r<   s    r>   
json_modeszMode.json_modes_   s     HHKKKKOOOO""OO--**
 	
r@   c                 N    t         st        j                  dt        d       da yy)z
        Warn about FUNCTIONS mode deprecation.

        Shows the warning only once per session to avoid spamming logs
        with the same message.
        zGThe FUNCTIONS mode is deprecated and will be removed in future versions   )
stacklevelTN)_functions_deprecation_shownwarningswarnDeprecationWarningr<   s    r>   warn_mode_functions_deprecationz$Mode.warn_mode_functions_deprecationt   s)     ,MMY"
 ,0( ,r@   N),__name__
__module____qualname____doc__r*   r+   r,   r-   rB   rC   rD   rE   RESPONSES_TOOLS"RESPONSES_TOOLS_WITH_INBUILT_TOOLSr.   r/   rF   r0   r1   r;   r2   rG   r3   rH   r4   GENAI_TOOLSGENAI_STRUCTURED_OUTPUTSr5   rI   r6   rJ   r7   rK   r8   rL   r9   rM   rN   r:   classmethodsetr?   rO   rW    r@   r>   r   r   	   s"     I)NE!LDG"G$K (O)M& (O ;%N9 $M!= &N#M7K!LK9 "L& &N#M (O%N "LK#M!L'O$C! 
3v; 
 
. 
3v; 
 
( 0 0r@   r   )enumrT   rS   Enumr   rb   r@   r>   <module>re      s%       % z0499 z0r@   