Aplicación complementaria para macOS
Barra de Menú
Qué se muestra
- Mostramos el estado de trabajo actual del agente en el icono de la barra de menú y en la primera fila de estado del menú.
- El estado de salud se oculta mientras el trabajo está activo; regresa cuando todas las sesiones están inactivas.
- El bloque "Nodos" en el menú lista solo dispositivos (nodos emparejados vía
node.list), no entradas de cliente/presencia. - Una sección "Uso" aparece bajo Contexto cuando hay instantáneas de uso del proveedor disponibles.
Modelo de estado
- Sesiones: los eventos llegan con
runId(por ejecución) mássessionKeyen el payload. La sesión "principal" es la clavemain; si está ausente, recurrimos a la sesión actualizada más recientemente. - Prioridad: la principal siempre gana. Si la principal está activa, su estado se muestra inmediatamente. Si la principal está inactiva, se muestra la sesión no principal más recientemente activa. No cambiamos a mitad de una actividad; solo cambiamos cuando la sesión actual se vuelve inactiva o la principal se vuelve activa.
- Tipos de actividad:
job: ejecución de comandos de alto nivel (state: started|streaming|done|error).tool:phase: start|resultcontoolNameymeta/args.
Enum IconState (Swift)
idleworkingMain(ActivityKind)workingOther(ActivityKind)overridden(ActivityKind)(anulación de depuración)
ActivityKind → glifo
exec→ 💻read→ 📄write→ ✍️edit→ 📝attach→ 📎- predeterminado → 🛠️
Mapeo visual
idle: criatura normal.workingMain: insignia con glifo, tinte completo, animación de "trabajando" en la pata.workingOther: insignia con glifo, tinte apagado, sin movimiento.overridden: usa el glifo/tinte elegido independientemente de la actividad.