
    `gji                        d Z ddlmZ ddlZdZ ej
                  dj                  d      ej                        ZddZ	y)	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]c                B    | syt         j                  |       rt        S dS )zReturn 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)texts    B/root/.hermes/venv/lib/python3.12/site-packages/agent/reactions.pydetect_reactionr   0   s     
 ??4(42d2    )r
   
str | Nonereturnr   )
__doc__
__future__r   rer	   compilejoin
IGNORECASEr   r    r   r   <module>r      sJ     # 	  2::HH	
" MM%,3r   