§
    É°Sji  ã                  ó|   — d Z ddlmZ ddlZdZ ej        d                     d¦  «        ej        ¦  «        Zdd
„Z	dS )u=  Token-free detection of user *reactions* to the agent.

Currently the only reaction is ``vibe`` â€” an expression of affection or
gratitude toward the agent (``ily``, ``<3``, ``love you``, ``good bot``, a heart
emoji, â€¦). Detection is a curated regex/lexicon: **no model call, no tokens**.

This is the single source of truth shared by every surface â€” the CLI pet, the
TUI heart, and the desktop floating hearts all react off the same signal,
delivered via ``AIAgent.reaction_callback`` (wired per interactive host).

Generalized on purpose: :func:`detect_reaction` returns a reaction *kind*
string, so new kinds (other emoji reactions, etc.) can be added here without
touching any caller. We match affection specifically â€” not general positive
sentiment â€” so "this is great" does NOT fire, but "good bot" / "â¤ï¸" do.
é    )ÚannotationsNÚvibeÚ|)z\bgood\s*bot\bz#\bi\s*(?:love|luv)\s*(?:you|u|ya)\bz\b(?:love|luv)\s*(?:you|u|ya)\bz\bily(?:sm)?\bz\bthank\s*(?:you|u)\bz\b(?:thanks|thx|tysm|ty)\bz<3+z¤[\u2764\u2665\U0001F970\U0001F60D\U0001F618\U0001F495\U0001F496\U0001F497\U0001F49E\U0001F49B\U0001F49C\U0001F49A\U0001F499\U0001F493\U0001F498\U0001F49D\U0001FA77]Útextú
str | NoneÚreturnc                óP   — | sdS t                                | ¦  «        rt          ndS )z‹Return the reaction kind for *text* (currently :data:`VIBE`), or ``None``.

    Pure, token-free, and safe to call on every user turn.
    N)Ú_VIBE_REÚsearchÚVIBE)r   s    ú5/home/thesage/.hermes/hermes-agent/agent/reactions.pyÚdetect_reactionr   0   s,   € ð
 ð Øˆtå—?’? 4Ñ(Ô(Ð24ˆ4¨dÐ2ó    )r   r   r   r   )
Ú__doc__Ú
__future__r   Úrer   ÚcompileÚjoinÚ
IGNORECASEr
   r   © r   r   ú<module>r      sƒ   ððð ð  #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	ð €ð ˆ2Œ:Ø‡H‚Hð	
ñô ð" „Mñ%ô €ð,3ð 3ð 3ð 3ð 3ð 3r   