
    6iI                     :    d Z ddlmZ  G d de      ZdedefdZy)	zmProvider detection and registry utilities.

This module contains provider-related enums and detection logic.
    )Enumc                   \    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y)Provideropenaivertexai	anthropicanyscaletogethergroqmistralcoheregeminigenai
databrickscerebrasdeepseek	fireworkswriterxaiunknownbedrock
perplexity
openrouterN)__name__
__module____qualname__OPENAIVERTEXAI	ANTHROPICANYSCALETOGETHERGROQMISTRALCOHEREGEMINIGENAI
DATABRICKSCEREBRASDEEPSEEK	FIREWORKSWRITERXAIUNKNOWNBEDROCK
PERPLEXITY
OPENROUTER     e/root/.openclaw/workspace/visionaryfx/venv/lib/python3.12/site-packages/instructor/utils/providers.pyr   r   	   sf    FHIHHDGFFEJHHIF
CGGJJr2   r   base_urlreturnc                    dt        |       v rt        j                  S dt        |       v rt        j                  S dt        |       v rt        j                  S dt        |       v rt        j
                  S dt        |       v rt        j                  S dt        |       v rt        j                  S dt        |       v rt        j                  S dt        |       v rt        j                  S d	t        |       v rt        j                  S d
t        |       v rt        j                  S dt        |       v rt        j                  S dt        |       v rt        j                  S dt        |       v rt        j                  S dt        |       v rt        j                  S dt        |       v rt        j                   S dt        |       v sdt        |       v rt        j"                  S dt        |       v rt        j$                  S t        j&                  S )z
    Detect the provider based on the base URL.

    Args:
        base_url: The base URL to analyze

    Returns:
        Provider: The detected provider enum value
    r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   zx.air   r   )strr   r    r!   r   r(   r*   r"   r   r#   r$   r%   r'   r)   r   r+   r/   r,   r0   r-   )r4   s    r3   get_providerr8       s    S]"   	s8}	$   	H	%!!!	s8}	$   	H	%!!!	3x=	 }}	S]	"	c(m	#	S]	"	S]	"	X	&"""	s8}	$   	s8}	$   	S]	"	X	&"""	3x=	 ES]$:||	X	&"""r2   N)__doc__enumr   r   r7   r8   r1   r2   r3   <module>r;      s.   
 t .,3 ,8 ,r2   