agent-robot-avatar 0.3.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/README.es.md CHANGED
@@ -1,225 +1,186 @@
1
- # Agent Robot Avatar
2
-
3
- <p align="center">
4
- <img src="../assets/readme/agent-robot-avatar-header.jpg" alt="Agent Robot Avatar">
5
- </p>
6
-
7
- [English](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/README.md) | [简体中文](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.zh-CN.md) | [繁體中文](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.zh-TW.md) | [日本語](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.ja.md) | [한국어](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.ko.md) | [Español](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.es.md) | [Português](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.pt.md) | [Deutsch](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.de.md) | [Français](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.fr.md)
8
-
9
- ![Versión](https://img.shields.io/badge/version-v0.3.1-111111?style=flat-square) [![License](https://img.shields.io/badge/license-MIT-0A7EA4?style=flat-square)](../LICENSE) [![CI](https://github.com/CX-ArtLab/agent-robot-avatar/actions/workflows/validate.yml/badge.svg?branch=main)](https://github.com/CX-ArtLab/agent-robot-avatar/actions/workflows/validate.yml) [![Ko-fi](https://img.shields.io/badge/Ko--fi-Support-FF5E5B?style=flat-square&logo=ko-fi&logoColor=white)](https://ko-fi.com/P0E625WIOI)
10
-
11
- ![Vanilla JavaScript](https://img.shields.io/badge/Vanilla-JavaScript-F7DF1E?style=flat-square&logo=javascript&logoColor=000) ![Web Component](https://img.shields.io/badge/Web-Native%20Component-5A67D8?style=flat-square) ![SVG](https://img.shields.io/badge/Rendering-SVG-FFB13B?style=flat-square&logo=svg&logoColor=000) ![Zero Dependencies](https://img.shields.io/badge/Dependencies-0-2EA44F?style=flat-square) ![14 Agent States](https://img.shields.io/badge/Agent%20states-14-8B5CF6?style=flat-square) ![Pointer Following](https://img.shields.io/badge/Pointer-following-00A67E?style=flat-square) ![Jelly Drag](https://img.shields.io/badge/Drag-jelly%20physics-FF69B4?style=flat-square)
12
-
13
- Un Web Component ligero y expresivo de avatar robótico para agentes de IA y otras aplicaciones interactivas.
14
-
15
- Es adecuado para interfaces de asistentes y agentes de IA, incluidos productos y experiencias similares a ChatGPT, Claude, Codex, Cursor, Grok Bot, Gemini CLI y OpenCode.
16
-
17
- También puede utilizarse para desktop pets, mascotas virtuales, compañeros de escritorio, mascotas digitales, avatares de chatbots y otras experiencias con personajes interactivos.
18
-
19
- Agent Robot Avatar también puede funcionar como una capa de feedback visual para interfaces de agentes de estilo AG-UI.
20
-
21
- Agent Robot Avatar está construido con SVG y JavaScript nativo, sin depender de frameworks de animación de terceros. Funciona como un Custom Element nativo y ofrece una API compacta para expresiones, estados de interacción, seguimiento del puntero, espera y forma de la cabeza.
22
-
23
- **Versión pública actual: v0.3.1**
24
-
25
- <p align="center">
26
- <img src="../assets/demo/agent-robot-avatar-demo.gif" alt="Demostración animada interactiva de Agent Robot Avatar" width="560">
27
- </p>
28
-
29
- ## Demo en vivo
30
-
31
- Prueba la demo interactiva: [Abrir Agent Robot Avatar](https://cx-artlab.github.io/agent-robot-avatar/?lang=es)
32
-
33
- ## Características principales
34
-
35
- - SVG + JavaScript nativo
36
- - Web Component nativo
37
- - Sin dependencias de frameworks de animación
38
- - Parpadeo automático y mirada sutil
39
- - Seguimiento del puntero y movimiento de cabeza con inercia
40
- - Deformación local tipo gelatina al arrastrar y recuperación elástica
41
- - Estados y expresiones de Agent controlables por código
42
- - Semántica separada para espera, fallo, advertencia, revisión, bloqueo y error del sistema
43
- - Redondez de la cabeza ajustable
44
- - Antena flotante con parpadeo de estado opcional
45
- - Demo separado del componente reutilizable
46
-
47
- ## Inicio rápido
48
-
49
- Si usas directamente el código del repositorio, conserva `agent-robot-avatar.js` junto con `src/` y carga la entrada pública:
50
-
51
- ```html
52
- <script type="module" src="./agent-robot-avatar.js"></script>
53
- ```
54
-
55
- ```html
56
- <agent-robot-avatar id="avatar"></agent-robot-avatar>
57
- ```
58
-
59
- El avatar entra automáticamente en el estado idle. Hay un ejemplo mínimo en [`examples/basic.html`](../examples/basic.html).
60
-
61
- ## API básica
62
-
63
- ```js
64
- const avatar = document.querySelector('#avatar');
65
-
66
- avatar.play('success');
67
- avatar.play('failure');
68
- avatar.play('warning');
69
- avatar.play('inspect');
70
- avatar.play('blocked');
71
- avatar.play('error');
72
-
73
- avatar.reset();
74
- ```
75
-
76
- ## Estados y expresiones
77
-
78
- | Estado | API | Uso previsto |
79
- | --- | --- | --- |
80
- | Idle | `idle` | Estado normal de reposo |
81
- | Bored | `bored` | Periodos largos sin tarea activa |
82
- | Waiting | `waiting` | Solicitud enviada, esperando resultado |
83
- | Input | `input` | El usuario está escribiendo |
84
- | Send | `send` | Envío / gesto de asentir |
85
- | Success | `success` | Tarea completada correctamente |
86
- | Failure | `failure` | La tarea terminó sin éxito |
87
- | Warning | `warning` | Acción arriesgada o destructiva que requiere confirmación |
88
- | Inspect | `inspect` | Revisar, comprobar o verificar un resultado |
89
- | Blocked | `blocked` | Solicitud bloqueada o que no puede continuar |
90
- | System error | `error` | Error de conexión, servicio o sistema |
91
- | Surprise | `surprise` | Resultado o evento inesperado |
92
- | Sleep | `sleep` | Entrar en reposo |
93
- | Wake | `wake` | Despertar |
94
-
95
- `failure` representa un fallo de la tarea; `error` se reserva para problemas de conexión, servicio o sistema. `waiting` indica una solicitud pendiente y `bored` indica inactividad.
96
-
97
- También hay alias semánticos:
98
-
99
- ```js
100
- avatar.play('failed');
101
- avatar.play('fail');
102
- avatar.play('verify');
103
- avatar.play('review');
104
- avatar.play('angry'); // misma expresión visual que blocked
105
- avatar.play('policy-blocked');
106
- avatar.play('system-error');
107
- avatar.play('connection-error');
108
- ```
109
-
110
- ## Espera continua
111
-
112
- ```js
113
- avatar.startWaiting();
114
- // Detener cuando llegue la respuesta o el resultado.
115
- avatar.stopWaiting();
116
- ```
117
-
118
- Cualquier otra acción también interrumpe el estado waiting activo.
119
-
120
- ## Seguimiento del puntero
121
-
122
- ```js
123
- avatar.setPointerFollow(false);
124
- avatar.setPointerFollow(true);
125
- ```
126
-
127
- ## Redondez de la cabeza
128
-
129
- ```js
130
- avatar.setHeadRoundness(0); // más cuadrada
131
- avatar.setHeadRoundness(50); // predeterminado
132
- avatar.setHeadRoundness(100); // más redonda
133
-
134
- console.log(avatar.getHeadRoundness());
135
- ```
136
-
137
- Los valores se limitan a `0–100`. Al cambiar se emite `head-roundness-change`.
138
-
139
- ```js
140
- avatar.addEventListener('head-roundness-change', (event) => {
141
- console.log(event.detail.value);
142
- });
143
- ```
144
-
145
- ## Evento de estado
146
-
147
- Cada cambio visual emite `face-state`:
148
-
149
- ```js
150
- avatar.addEventListener('face-state', (event) => {
151
- console.log(event.detail.state);
152
- });
153
- ```
154
-
155
- ## Atributos
156
-
157
- ```html
158
- <agent-robot-avatar
159
- size="160"
160
- color="#08090b"
161
- auto-sleep="30000">
162
- </agent-robot-avatar>
163
- ```
164
-
165
- | Atributo | Descripción |
166
- | --- | --- |
167
- | `size` | Tamaño del componente en píxeles |
168
- | `color` | Color principal del avatar |
169
- | `auto-sleep` | Tiempo de inactividad antes de dormir, en ms; `0` lo desactiva |
170
-
171
- ## Comportamiento predeterminado
172
-
173
- Sin llamadas explícitas a la API, el avatar ya ofrece parpadeo aleatorio, movimiento sutil de la mirada, seguimiento del puntero cercano, movimiento inercial de la cabeza, retorno natural a idle y suspensión automática opcional.
174
-
175
- ## Interacción de arrastre
176
-
177
- Al arrastrar, la cabeza se deforma localmente alrededor del punto de interacción en lugar de moverse como un objeto rígido.
178
-
179
- - Tirón fuerte hacia fuera: activa `angry` después de recuperarse
180
- - Empuje fuerte hacia el centro: activa `success` después de recuperarse
181
- - Arrastre pequeño: solo deformación
182
-
183
- Estas expresiones de arrastre solo se aplican en idle cuando ninguna acción programática controla el avatar. Durante `waiting`, `input`, `inspect` y otras acciones activas se conserva la deformación, pero la expresión de arrastre se suprime y no se reproduce después. `pointercancel` restaura la forma sin activar success ni angry.
184
-
185
- ## Demo interactiva
186
-
187
- `demo/index.html` incluye todos los estados públicos, seguimiento del puntero, arrastre tipo gelatina, ciclo de waiting, ajuste de redondez, controles de color y comportamiento y una simulación de conversación con Agent. El JavaScript exclusivo de la Demo está aislado en `demo/` y no forma parte del runtime reutilizable de npm.
188
-
189
- ## Estructura del proyecto
190
-
191
- ```text
192
- agent-robot-avatar.js Entrada pública del componente
193
- src/ Runtime reutilizable y módulos de expresiones
194
- demo/ Demo interactiva y scripts exclusivos
195
- examples/ Ejemplos mínimos de integración
196
- assets/support/ Recursos QR de apoyo / pago
197
- docs/ Documentación multilingüe
198
- README.md Documento principal en inglés
199
- CHANGELOG.md Historial público de versiones
200
- CONTRIBUTING.md Guía de contribución
201
- package.json Metadatos del paquete
202
- LICENSE Licencia MIT
203
- ```
204
-
205
- ## Distribución y compatibilidad
206
-
207
- El paquete está publicado en npm como `agent-robot-avatar` e incluye declaraciones TypeScript para acciones, eventos y métodos públicos. Está pensado para navegadores modernos compatibles con ES Modules, Custom Elements, SVG, Pointer Events y Web Animations API.
208
-
209
- ## Contribuir
210
-
211
- Se aceptan Issues y Pull Requests. Consulta [`CONTRIBUTING.md`](../CONTRIBUTING.md) antes de enviar cambios.
212
-
213
- ## Estado del proyecto
214
-
215
- v0.3.1 es la versión pública actual. v0.1.0 continúa disponible como la primera versión pública. La API pública se mantiene deliberadamente pequeña para poder evolucionar con cuidado antes de un futuro compromiso de estabilidad `1.0.0`.
216
-
217
- Agent Robot Avatar es un proyecto independiente de código abierto y no está afiliado, respaldado ni representa a ninguna plataforma o marca de IA.
218
-
219
- ## Licencia
220
-
221
- MIT License. Consulta [`LICENSE`](../LICENSE).
222
-
223
- ## Invítame a un café
224
-
225
- <a href='https://ko-fi.com/P0E625WIOI' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://storage.ko-fi.com/cdn/kofi6.png?v=6' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>
1
+ # Agent Robot Avatar
2
+
3
+ <p align="center">
4
+ <img src="../assets/readme/agent-robot-avatar-header.jpg" alt="Agent Robot Avatar">
5
+ </p>
6
+
7
+ [English](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/README.md) | [简体中文](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.zh-CN.md) | [Español](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.es.md) | [Русский](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.ru.md) | [Français](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.fr.md) | [Português](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.pt.md) | [Deutsch](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.de.md) | [日本語](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.ja.md) | [한국어](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.ko.md) | [繁體中文](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.zh-TW.md)
8
+
9
+ ![Version](https://img.shields.io/badge/version-v0.5.2-111111?style=flat-square) [![License](https://img.shields.io/badge/license-MIT-0A7EA4?style=flat-square)](../LICENSE) [![CI](https://github.com/CX-ArtLab/agent-robot-avatar/actions/workflows/validate.yml/badge.svg?branch=main)](https://github.com/CX-ArtLab/agent-robot-avatar/actions/workflows/validate.yml) [![Ko-fi](https://img.shields.io/badge/Ko--fi-Support-FF5E5B?style=flat-square&logo=ko-fi&logoColor=white)](https://ko-fi.com/P0E625WIOI)
10
+
11
+ ![Vanilla JavaScript](https://img.shields.io/badge/Vanilla-JavaScript-F7DF1E?style=flat-square&logo=javascript&logoColor=000) ![Web Component](https://img.shields.io/badge/Web-Native%20Component-5A67D8?style=flat-square) ![SVG](https://img.shields.io/badge/Rendering-SVG-FFB13B?style=flat-square&logo=svg&logoColor=000) ![Zero Dependencies](https://img.shields.io/badge/Dependencies-0-2EA44F?style=flat-square)
12
+
13
+ Un Web Component de avatar robótico ligero y expresivo para agentes de IA y aplicaciones interactivas.
14
+
15
+ Puede usarse en asistentes de IA, interfaces de agentes, compañeros de escritorio, mascotas virtuales, mascotas digitales, avatares de chatbots y otras experiencias con personajes interactivos.
16
+
17
+ Es adecuado para interfaces de asistentes de IA y agentes, incluidos productos y experiencias similares a ChatGPT, Claude, Codex, Cursor, Grok Bot, Gemini CLI y OpenCode.
18
+
19
+ Está construido con SVG y JavaScript nativo, funciona como un Custom Element y no tiene dependencias en tiempo de ejecución.
20
+
21
+ Agent Robot Avatar también puede utilizarse como capa de retroalimentación visual para interfaces de agentes de estilo AG-UI.
22
+
23
+ <p align="center">
24
+ <img src="../assets/demo/agent-robot-avatar-demo.gif" alt="Demostración animada interactiva de Agent Robot Avatar" width="560">
25
+ </p>
26
+
27
+ ## Demo en vivo
28
+
29
+ [Abrir la demo interactiva](https://cx-artlab.github.io/agent-robot-avatar/?lang=es)
30
+
31
+ ## Características
32
+
33
+ - Web Component nativo
34
+ - Renderizado SVG + JavaScript nativo
35
+ - Cero dependencias en tiempo de ejecución
36
+ - Parpadeo automático y comportamiento idle sutil
37
+ - Ojos que siguen el puntero y movimiento inercial de la cabeza
38
+ - Deformación local tipo gelatina al arrastrar, con recuperación elástica
39
+ - Compresión al mantener pulsado y antena elástica arrastrable
40
+ - Estados y expresiones del Agent controlables por código
41
+ - Feedback para waiting, success, failure, warning, review, blocked y system error
42
+ - Compatibilidad con movimiento reducido
43
+ - Comportamiento de sueño configurable
44
+ - Redondez de la cabeza ajustable
45
+ - Parpadeo opcional de estado en la antena
46
+ - Declaraciones TypeScript incluidas
47
+
48
+ ## Instalación
49
+
50
+ ```bash
51
+ npm install agent-robot-avatar
52
+ ```
53
+
54
+ ```js
55
+ import 'agent-robot-avatar';
56
+ ```
57
+
58
+ También puedes cargar directamente el código fuente del repositorio:
59
+
60
+ ```html
61
+ <script type="module" src="./agent-robot-avatar.js"></script>
62
+ ```
63
+
64
+ Después añade el componente:
65
+
66
+ ```html
67
+ <agent-robot-avatar id="avatar"></agent-robot-avatar>
68
+ ```
69
+
70
+ No hace falta código de inicialización. El avatar entra automáticamente en su estado idle predeterminado.
71
+
72
+ ## Uso básico
73
+
74
+ ```js
75
+ const avatar = document.querySelector('#avatar');
76
+
77
+ avatar.play('success');
78
+ avatar.play('warning');
79
+ avatar.play('error');
80
+
81
+ avatar.reset();
82
+ ```
83
+
84
+ Acciones disponibles:
85
+
86
+ `idle` · `bored` · `waiting` · `waiting-wrap` · `input` · `send` · `success` · `failure` · `warning` · `inspect` · `blocked` · `error` · `surprise` · `love` · `random` · `sleep` · `wake`
87
+
88
+ `failure` indica una tarea que terminó sin éxito; `error` se reserva para fallos de conexión, servicio o sistema.
89
+
90
+ `love` expresa cariño o agradecimiento: los dos ojos se inclinan hasta formar un único corazón, laten tres veces y luego vuelven a la normalidad.
91
+
92
+ `random` reproduce un giro de tragaperras: cada ojo rueda sobre un tambor; después el ojo izquierdo frena, rebota y se detiene, seguido del derecho. `slot` es un alias.
93
+
94
+ Un flujo típico para una solicitud de Agent:
95
+
96
+ ```js
97
+ avatar.startWaiting();
98
+
99
+ // Segunda espera: los ojos salen por un lado y vuelven por el otro.
100
+ avatar.startWaiting({ variant: 'wrap' });
101
+
102
+ try {
103
+ const result = await runAgentRequest();
104
+ await avatar.play(result.ok ? 'success' : 'failure');
105
+ } catch (error) {
106
+ await avatar.play('error');
107
+ }
108
+ ```
109
+
110
+ ## Opciones comunes
111
+
112
+ ```html
113
+ <agent-robot-avatar
114
+ size="160"
115
+ color="#08090b"
116
+ auto-sleep="30000"
117
+ wake-on="activity"
118
+ motion="auto">
119
+ </agent-robot-avatar>
120
+ ```
121
+
122
+ | Atributo | Uso |
123
+ | --- | --- |
124
+ | `size` | Tamaño del avatar en píxeles |
125
+ | `color` | Color principal del avatar |
126
+ | `auto-sleep` | Tiempo de inactividad antes del sueño automático; `0` lo desactiva |
127
+ | `wake-on` | Política de activación automática: `activity`, `interaction` o `manual` |
128
+ | `motion` | Política de movimiento: `auto`, `reduce` o `full` |
129
+ | `press-squeeze` | Mantener pulsado el centro para comprimir; `false` lo desactiva |
130
+ | `antenna-drag` | Arrastre y rebote de antena con reacción de enfado; `false` lo desactiva |
131
+
132
+ Controles habituales en tiempo de ejecución:
133
+
134
+ ```js
135
+ avatar.setPointerFollow(false);
136
+ avatar.setHeadRoundness(75);
137
+ avatar.setAntennaFlash(true);
138
+ avatar.setPressSqueeze(true);
139
+ avatar.setAntennaDrag(true);
140
+ ```
141
+
142
+ Mantener pulsado el centro inicia la compresión. Al mover más de 4 píxeles CSS, el mismo gesto pasa al arrastre de cabeza existente. La antena usa el mismo límite de distancia y termina con la reacción de enfado existente.
143
+
144
+ ## Eventos e integración
145
+
146
+ El componente emite `face-state` para cambios de estado visual y `action-state` para cambios semánticos del ciclo de vida de las acciones.
147
+
148
+ Para integraciones con la aplicación anfitriona y texto de estado accesible, usa preferentemente `action-state`. Consulta [`examples/accessibility.html`](../examples/accessibility.html) para ver un ejemplo ejecutable del ciclo de vida de una solicitud.
149
+
150
+ Hay un ejemplo mínimo de integración en [`examples/basic.html`](../examples/basic.html).
151
+
152
+ ## Compatibilidad
153
+
154
+ Diseñado para navegadores modernos con soporte para ES Modules, Custom Elements, SVG, Pointer Events, Web Animations API, `IntersectionObserver`, `ResizeObserver` y `matchMedia`.
155
+
156
+ Las pruebas automatizadas cubren Chromium, Firefox y WebKit.
157
+
158
+ ## Contribuir
159
+
160
+ Se aceptan Issues y Pull Requests. Consulta [`CONTRIBUTING.md`](../CONTRIBUTING.md) antes de enviar cambios.
161
+
162
+ ## Estado del proyecto
163
+
164
+ **Versión pública actual: v0.5.2**
165
+
166
+ La API pública se mantiene deliberadamente compacta mientras el proyecto evoluciona hacia un futuro compromiso de estabilidad `1.0.0`.
167
+
168
+ Agent Robot Avatar se desarrolla de forma independiente y no está afiliado, respaldado ni representa a ninguna plataforma o marca de IA.
169
+
170
+ ## Diseño del personaje e identidad visual
171
+
172
+ El personaje Agent Robot Avatar, incluido su aspecto robótico y su identidad visual, es un diseño original de CX ArtLab.
173
+
174
+ La licencia MIT se aplica al software y al código fuente. Permite usar, modificar y distribuir el avatar como parte de aplicaciones, pero no transfiere la propiedad del nombre Agent Robot Avatar, la identidad del personaje o su identidad visual, ni concede el derecho a presentarlos como personaje original o marca independiente de otra parte.
175
+
176
+ Los nombres de productos de terceros mencionados en este proyecto se usan únicamente para describir posibles casos de uso y no implican afiliación ni respaldo.
177
+
178
+ ## Licencia
179
+
180
+ MIT License. Consulta [`LICENSE`](../LICENSE).
181
+
182
+ ---
183
+
184
+ Si este proyecto te resulta útil, puedes invitarme a un café.
185
+
186
+ <a href='https://ko-fi.com/P0E625WIOI' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://storage.ko-fi.com/cdn/kofi6.png?v=6' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>