§
    nš@j‰  ã                   óB   — d Z ddlmZmZmZmZmZmZmZ ddl	m
Z
 g d¢ZdS )u  Petdex pet engine â€” shared core for the CLI, TUI, and desktop surfaces.

Petdex (https://github.com/crafter-station/petdex) is a public gallery of
animated sprite "pets" for coding agents.  Each pet is a ``pet.json`` plus a
``spritesheet.{webp,png}`` of 192Ã—208 px cells. Current Codex/petdex sheets use
an 8-column Ã— 9-row atlas; older Hermes/petdex sheets used an 8-row atlas.
Hermes infers the row taxonomy from the sheet and maps agent activity onto
idle/run/review/failed/wave/jump.

This package is the **single source of truth** for the feature so the base
CLI (Python) and TUI (Ink, via ``tui_gateway``) never duplicate the hard
parts:

- :mod:`agent.pet.constants` â€” frame geometry + the :class:`PetState` enum.
- :mod:`agent.pet.state`     â€” map agent activity â†’ a :class:`PetState`.
- :mod:`agent.pet.manifest`  â€” fetch the public petdex manifest.
- :mod:`agent.pet.store`     â€” install / list / resolve pets on disk
                               (profile-aware via ``get_hermes_home()``).
- :mod:`agent.pet.render`    â€” decode a spritesheet and encode frames for a
                               terminal (kitty / iTerm2 / sixel graphics
                               protocols, with a Unicode half-block
                               fallback).

Rendering in the Electron desktop is necessarily TypeScript (canvas), but it
reuses the same on-disk store and the same state semantics.

The whole feature is a *display* concern: it adds no model tool, mutates no
system prompt or toolset, and therefore has zero effect on prompt caching.
é    )ÚDEFAULT_SCALEÚFRAME_HÚFRAME_WÚFRAMES_PER_STATEÚLOOP_MSÚ
STATE_ROWSÚPetState)Úderive_pet_state)r   r   r   r   r   r   r	   r
   N)Ú__doc__Úagent.pet.constantsr   r   r   r   r   r   r	   Úagent.pet.stater
   Ú__all__© ó    ú8/home/thesage/.hermes/hermes-agent/agent/pet/__init__.pyú<module>r      s’   ððð ð<ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð -Ð ,Ð ,Ð ,Ð ,Ð ,ð	ð 	ð 	€€€r   