+
    ~j                        a R t
0 t R t^ RIt^ RIHt R	t] ^ k R
t] ^k R0] U Uu0 uF  w  rVkK	  	  upp ,          tR R ltR R lt	R# u upp i )a  Detect whether the process is being invoked by an AI coding agent.

Detection is based on environment variables that AI agents set in their shell
sessions.  ``AI_AGENT`` and ``AGENT`` are treated as a universal standard (any
tool can set it); the remaining checks are tool-specific and ordered by
prevalence.

Inspired by ``@vercel/detect-agent`` (https://github.com/vercel/vercel/tree/main/packages/detect-agent).
N)Optionaldevinc                :    V ^8  d   QhR\         \        ,          /#    return)r   str)formats   "x/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/huggingface_hub/utils/_detect_agent.py__annotate__r   :   s      hsm     c                 h   \          FZ  p \        P                  P                  V R4      P	                  4       P                  4       pV'       g   KI  V\        9   d   Vu # Ru # 	  \         FC  w  r#\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   KA  Vu # 	  R# )a  Return the name of the detected AI agent or ``None``.

Checks environment variables in priority order and returns on the first
match.  When ``AI_AGENT`` or ``AGENT`` is set, the value is checked against
known agent names, unrecognized values are returned as ``"unknown"``.
 unknownc              3   `   "   T F$  p\         P                  P                  V4      x  K&  	  R # 5i)N)osenvironget).0vars   & r
   	<genexpr>detect_agent.<locals>.<genexpr>G   s      7hsrzz~~c""hs   ,.TFN)	_STANDARD_AGENT_VARSr   r   r   striplower_KNOWN_AGENTS_TOOL_AGENTSany)r   nameenv_vars
agent_names       r
   detect_agentr!   :   s     $zz~~c2&,,.4464=04?i? $
 !-37h73337h777 !- r   c                $    V ^8  d   QhR\         /# r   )bool)r	   s   "r
   r   r   M   s     & &$ &r   c                     \        4       RJ# )zFReturn ``True`` if the process is being invoked by an AI coding agent.N)r!    r   r
   is_agentr&   M   s    >%%r   c                    V ^8  d   Qh/ ^ \         9   d   \        \        R3,          ;R&   ^\         9   d5   \        \        \        \        R3,          \        3,          R3,          ;R&   # )r   .r   r   )__conditional_annotations__tupler   )r	   s   "r
   r   r      sX       > =eCHo =* eE%S/3./45 +r   )AI_AGENTAGENT)))ANTIGRAVITY_AGENTantigravity))AUGMENT_AGENTzaugment-cli))CLINE_ACTIVEcline))CLAUDE_CODE_IS_COWORKcowork))
CLAUDECODECLAUDE_CODEzclaude-code))CODEX_SANDBOXCODEX_CICODEX_THREAD_IDcodex))CURSOR_TRACE_IDcursor))CURSOR_AGENTz
cursor-cli))
GEMINI_CLIgemini))COPILOT_MODELCOPILOT_ALLOW_ALLCOPILOT_GITHUB_TOKENzgithub-copilot))GOOSE_TERMINALgoose))OPENCLAW_SHELLopenclaw))OPENCODE_CLIENTopencode))PI_CODING_AGENTpi))REPL_IDreplit))
ROO_ACTIVEzroo-code))TRAE_AI_SHELL_IDtrae)r(   __doc__r   typingr   r   r   r   r!   r&   r   )_agentr(   s   00@r
   <module>rR      sY    
  )>  =9 ( 	<@<xqU<@@&&- As   A