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.fr.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
- ![Version](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 léger et expressif d’avatar robot pour les agents IA et d’autres applications interactives.
14
-
15
- Il convient aux interfaces d’assistants IA et d’Agents, notamment aux produits et expériences similaires à ChatGPT, Claude, Codex, Cursor, Grok Bot, Gemini CLI et OpenCode.
16
-
17
- Il peut également être utilisé pour les desktop pets, animaux virtuels, compagnons de bureau, mascottes numériques, avatars de chatbots et autres expériences de personnages interactifs.
18
-
19
- Agent Robot Avatar peut également servir de couche de retour visuel pour les interfaces d’Agents de style AG-UI.
20
-
21
- Agent Robot Avatar est construit avec SVG et JavaScript natif, sans framework d’animation tiers. Il fonctionne comme un Custom Element natif et propose une API compacte pour les expressions, les états d’interaction, le suivi du pointeur, l’attente et la forme de la tête.
22
-
23
- **Version publique actuelle : v0.3.1**
24
-
25
- <p align="center">
26
- <img src="../assets/demo/agent-robot-avatar-demo.gif" alt="Démonstration animée interactive d’Agent Robot Avatar" width="560">
27
- </p>
28
-
29
- ## Démo en ligne
30
-
31
- Essayez la démo interactive : [Ouvrir Agent Robot Avatar](https://cx-artlab.github.io/agent-robot-avatar/?lang=fr)
32
-
33
- ## Points forts
34
-
35
- - SVG + JavaScript natif
36
- - Web Component natif
37
- - Aucune dépendance à un framework d’animation
38
- - Clignement automatique et mouvements subtils du regard
39
- - Suivi du pointeur et mouvement de tête avec inertie
40
- - Déformation locale type gelée lors du glisser et retour élastique
41
- - États et expressions d’Agent pilotables par code
42
- - Sémantique distincte pour waiting, failure, warning, inspect, blocked et system error
43
- - Arrondi de la tête réglable
44
- - Antenne flottante avec clignotement d’état optionnel
45
- - Demo séparée du composant réutilisable
46
-
47
- ## Démarrage rapide
48
-
49
- Si vous utilisez directement le code du dépôt, conservez `agent-robot-avatar.js` avec le dossier `src/`, puis chargez l’entrée publique :
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
- L’avatar passe automatiquement à l’état idle. Un exemple minimal est disponible dans [`examples/basic.html`](../examples/basic.html).
60
-
61
- ## API de base
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
- ## États et expressions
77
-
78
- | État | API | Usage |
79
- | --- | --- | --- |
80
- | Idle | `idle` | État d’attente normal |
81
- | Bored | `bored` | Longue période sans tâche active |
82
- | Waiting | `waiting` | Requête envoyée, résultat en attente |
83
- | Input | `input` | L’utilisateur saisit du texte |
84
- | Send | `send` | Envoi / retour par hochement |
85
- | Success | `success` | Tâche terminée avec succès |
86
- | Failure | `failure` | Tâche terminée sans succès |
87
- | Warning | `warning` | Action importante nécessitant confirmation |
88
- | Inspect | `inspect` | Examiner, contrôler ou vérifier un résultat |
89
- | Blocked | `blocked` | Requête bloquée ou impossible à poursuivre |
90
- | System error | `error` | Erreur de connexion, de service ou système |
91
- | Surprise | `surprise` | Événement ou résultat inattendu |
92
- | Sleep | `sleep` | Entrer en veille |
93
- | Wake | `wake` | Sortir de veille |
94
-
95
- `failure` correspond à l’échec de la tâche elle-même ; `error` est réservé aux problèmes de connexion, de service ou de système. `waiting` indique une requête en cours et `bored` une période d’inactivité.
96
-
97
- Des alias sémantiques sont également disponibles :
98
-
99
- ```js
100
- avatar.play('failed');
101
- avatar.play('fail');
102
- avatar.play('verify');
103
- avatar.play('review');
104
- avatar.play('angry'); // même expression visuelle que blocked
105
- avatar.play('policy-blocked');
106
- avatar.play('system-error');
107
- avatar.play('connection-error');
108
- ```
109
-
110
- ## Attente continue
111
-
112
- ```js
113
- avatar.startWaiting();
114
- // Arrêter lorsque la réponse ou le résultat arrive.
115
- avatar.stopWaiting();
116
- ```
117
-
118
- Toute autre action interrompt aussi l’état waiting actif.
119
-
120
- ## Suivi du pointeur
121
-
122
- ```js
123
- avatar.setPointerFollow(false);
124
- avatar.setPointerFollow(true);
125
- ```
126
-
127
- ## Arrondi de la tête
128
-
129
- ```js
130
- avatar.setHeadRoundness(0); // plus carrée
131
- avatar.setHeadRoundness(50); // valeur par défaut
132
- avatar.setHeadRoundness(100); // plus ronde
133
-
134
- console.log(avatar.getHeadRoundness());
135
- ```
136
-
137
- Les valeurs sont limitées à `0–100`. Les changements déclenchent `head-roundness-change`.
138
-
139
- ```js
140
- avatar.addEventListener('head-roundness-change', (event) => {
141
- console.log(event.detail.value);
142
- });
143
- ```
144
-
145
- ## Événement d’état
146
-
147
- Chaque changement visuel déclenche `face-state` :
148
-
149
- ```js
150
- avatar.addEventListener('face-state', (event) => {
151
- console.log(event.detail.state);
152
- });
153
- ```
154
-
155
- ## Attributs
156
-
157
- ```html
158
- <agent-robot-avatar
159
- size="160"
160
- color="#08090b"
161
- auto-sleep="30000">
162
- </agent-robot-avatar>
163
- ```
164
-
165
- | Attribut | Description |
166
- | --- | --- |
167
- | `size` | Taille du composant en pixels |
168
- | `color` | Couleur principale de l’avatar |
169
- | `auto-sleep` | Temps d’inactivité avant veille automatique, en ms ; `0` désactive la fonction |
170
-
171
- ## Comportement par défaut
172
-
173
- Sans appel explicite à l’API, l’avatar propose déjà des clignements aléatoires, de petits mouvements du regard, le suivi du pointeur proche, une légère inertie de la tête, un retour naturel à idle et une veille automatique optionnelle.
174
-
175
- ## Interaction par glisser
176
-
177
- Lors du glisser, la tête se déforme localement autour du point d’interaction au lieu de se déplacer comme un objet rigide.
178
-
179
- - Forte traction vers l’extérieur : déclenche `angry` après le retour
180
- - Forte poussée vers le centre : déclenche `success` après le retour
181
- - Petit glisser : déformation uniquement
182
-
183
- Ces expressions de glisser ne s’appliquent à l’état idle que lorsqu’aucune action programmée ne contrôle l’avatar. Pendant `waiting`, `input`, `inspect` et les autres actions actives, la déformation reste visible mais l’expression de glisser est supprimée et n’est pas rejouée ensuite. `pointercancel` restaure uniquement la forme sans déclencher success ni angry.
184
-
185
- ## Demo interactive
186
-
187
- `demo/index.html` contient tous les états publics, le suivi du pointeur, le glisser type gelée, le cycle waiting, le réglage de l’arrondi, les contrôles de couleur et de comportement et une simulation de conversation Agent. Le JavaScript propre à la Demo reste dans `demo/` et n’est pas inclus dans le runtime npm réutilisable.
188
-
189
- ## Structure du projet
190
-
191
- ```text
192
- agent-robot-avatar.js Entrée publique du composant
193
- src/ Runtime réutilisable et modules d’expression
194
- demo/ Demo interactive et scripts dédiés
195
- examples/ Exemples minimaux d’intégration
196
- assets/support/ Ressources QR de soutien / paiement
197
- docs/ Documentation multilingue
198
- README.md Documentation principale en anglais
199
- CHANGELOG.md Historique public des versions
200
- CONTRIBUTING.md Guide de contribution
201
- package.json Métadonnées du paquet
202
- LICENSE Licence MIT
203
- ```
204
-
205
- ## Distribution et compatibilité
206
-
207
- Le paquet est publié sur npm sous le nom `agent-robot-avatar` et inclut des déclarations TypeScript pour les actions, les événements et les méthodes publiques. Le composant cible les navigateurs modernes prenant en charge ES Modules, Custom Elements, SVG, Pointer Events et Web Animations API.
208
-
209
- ## Contribuer
210
-
211
- Issues et Pull Requests sont les bienvenus. Consultez [`CONTRIBUTING.md`](../CONTRIBUTING.md) avant de proposer des changements.
212
-
213
- ## État du projet
214
-
215
- v0.3.1 est la version publique actuelle. v0.1.0 reste disponible comme première version publique. L’API publique reste volontairement limitée afin d’évoluer avec prudence avant un futur engagement de stabilité `1.0.0`.
216
-
217
- Agent Robot Avatar est un projet open source développé indépendamment ; il n’est affilié, approuvé ni représentatif d’aucune plateforme ou marque d’IA.
218
-
219
- ## Licence
220
-
221
- MIT License. Voir [`LICENSE`](../LICENSE).
222
-
223
- ## Offrez-moi 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 d’avatar robot léger et expressif pour les agents IA et les applications interactives.
14
+
15
+ Il peut être utilisé dans des assistants IA, des interfaces d’agents, des compagnons de bureau, des animaux virtuels, des mascottes numériques, des avatars de chatbot et d’autres expériences de personnages interactifs.
16
+
17
+ Il convient aux interfaces d’assistants IA et d’agents, y compris aux produits et expériences similaires à ChatGPT, Claude, Codex, Cursor, Grok Bot, Gemini CLI et OpenCode.
18
+
19
+ Construit avec SVG et JavaScript natif, il fonctionne comme un Custom Element sans dépendance d’exécution.
20
+
21
+ Agent Robot Avatar peut également servir de couche de retour visuel pour les interfaces d’agents de style AG-UI.
22
+
23
+ <p align="center">
24
+ <img src="../assets/demo/agent-robot-avatar-demo.gif" alt="Démo animée interactive de Agent Robot Avatar" width="560">
25
+ </p>
26
+
27
+ ## Démo en ligne
28
+
29
+ [Ouvrir la démo interactive](https://cx-artlab.github.io/agent-robot-avatar/?lang=fr)
30
+
31
+ ## Points forts
32
+
33
+ - Web Component natif
34
+ - Rendu SVG + JavaScript natif
35
+ - Zéro dépendance d’exécution
36
+ - Clignements automatiques et comportement idle discret
37
+ - Yeux suivant le pointeur et mouvement inertiel de la tête
38
+ - Déformation locale façon gelée lors du glisser, avec retour élastique
39
+ - Compression par appui prolongé et antenne ressort déplaçable
40
+ - États et expressions d’Agent contrôlables par code
41
+ - Retours pour waiting, success, failure, warning, review, blocked et system error
42
+ - Prise en charge du mouvement réduit
43
+ - Comportement de sommeil configurable
44
+ - Arrondi de la tête réglable
45
+ - Clignotement d’état optionnel de l’antenne
46
+ - Déclarations TypeScript incluses
47
+
48
+ ## Installation
49
+
50
+ ```bash
51
+ npm install agent-robot-avatar
52
+ ```
53
+
54
+ ```js
55
+ import 'agent-robot-avatar';
56
+ ```
57
+
58
+ Vous pouvez aussi charger directement le code source du dépôt :
59
+
60
+ ```html
61
+ <script type="module" src="./agent-robot-avatar.js"></script>
62
+ ```
63
+
64
+ Puis ajouter le composant :
65
+
66
+ ```html
67
+ <agent-robot-avatar id="avatar"></agent-robot-avatar>
68
+ ```
69
+
70
+ Aucun code d’initialisation n’est nécessaire. L’avatar entre automatiquement dans son état idle par défaut.
71
+
72
+ ## Utilisation de base
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
+ Actions disponibles :
85
+
86
+ `idle` · `bored` · `waiting` · `waiting-wrap` · `input` · `send` · `success` · `failure` · `warning` · `inspect` · `blocked` · `error` · `surprise` · `love` · `random` · `sleep` · `wake`
87
+
88
+ `failure` représente une tâche terminée sans succès, tandis que `error` est réservé aux erreurs de connexion, de service ou de système.
89
+
90
+ `love` exprime l’affection ou la gratitude : les deux yeux s’inclinent l’un vers l’autre pour former un seul cœur, battent trois fois, puis reviennent à la normale.
91
+
92
+ `random` joue un tour de machine à sous : chaque œil roule sur un tambour, puis l’œil gauche ralentit, rebondit et s’arrête, suivi du droit. `slot` est un alias.
93
+
94
+ Exemple de cycle de requête Agent :
95
+
96
+ ```js
97
+ avatar.startWaiting();
98
+
99
+ // Deuxième attente : les yeux sortent d'un côté et reviennent par l'autre.
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
+ ## Options courantes
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
+ | Attribut | Usage |
123
+ | --- | --- |
124
+ | `size` | Taille de l’avatar en pixels |
125
+ | `color` | Couleur principale de l’avatar |
126
+ | `auto-sleep` | Temps d’inactivité avant le sommeil automatique ; `0` le désactive |
127
+ | `wake-on` | Politique de réveil automatique : `activity`, `interaction` ou `manual` |
128
+ | `motion` | Politique d’animation : `auto`, `reduce` ou `full` |
129
+ | `press-squeeze` | Maintenir le centre pour comprimer ; `false` désactive le geste |
130
+ | `antenna-drag` | Glisser et faire rebondir l’antenne avec réaction de colère ; `false` désactive le geste |
131
+
132
+ Contrôles courants à l’exécution :
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
+ Maintenir le centre lance la compression. Après plus de 4 pixels CSS de déplacement, le même geste bascule vers le glisser de tête existant. L’antenne reprend sa limite de distance et se termine par la réaction de colère existante.
143
+
144
+ ## Événements et intégration
145
+
146
+ Le composant émet `face-state` pour les changements d’état visuel et `action-state` pour les changements sémantiques du cycle de vie des actions.
147
+
148
+ Pour les intégrations avec l’application hôte et les textes d’état accessibles, préférez `action-state`. Consultez [`examples/accessibility.html`](../examples/accessibility.html) pour un exemple exécutable de cycle de requête.
149
+
150
+ Un exemple minimal d’intégration est disponible dans [`examples/basic.html`](../examples/basic.html).
151
+
152
+ ## Compatibilité
153
+
154
+ Conçu pour les navigateurs modernes prenant en charge ES Modules, Custom Elements, SVG, Pointer Events, Web Animations API, `IntersectionObserver`, `ResizeObserver` et `matchMedia`.
155
+
156
+ Les tests automatisés couvrent Chromium, Firefox et WebKit.
157
+
158
+ ## Contribution
159
+
160
+ Issues et Pull Requests sont les bienvenus. Consultez [`CONTRIBUTING.md`](../CONTRIBUTING.md) avant de proposer des modifications.
161
+
162
+ ## État du projet
163
+
164
+ **Version publique actuelle : v0.5.2**
165
+
166
+ L’API publique reste volontairement compacte pendant l’évolution du projet vers un futur engagement de stabilité `1.0.0`.
167
+
168
+ Agent Robot Avatar est développé indépendamment et n’est affilié, approuvé ou représentatif d’aucune plateforme ou marque d’IA.
169
+
170
+ ## Design du personnage et identité visuelle
171
+
172
+ Le personnage Agent Robot Avatar, y compris son apparence robotique et son identité visuelle, est une création originale de CX ArtLab.
173
+
174
+ La licence MIT s’applique au logiciel et au code source. Elle permet d’utiliser, modifier et distribuer l’avatar dans des applications, mais ne transfère pas la propriété du nom Agent Robot Avatar, de l’identité du personnage ou de son identité visuelle, et n’accorde pas le droit de les présenter comme le personnage original ou la marque autonome d’un tiers.
175
+
176
+ Les noms de produits tiers mentionnés dans ce projet servent uniquement à décrire des cas d’usage possibles et n’impliquent aucune affiliation ni approbation.
177
+
178
+ ## Licence
179
+
180
+ MIT License. Voir [`LICENSE`](../LICENSE).
181
+
182
+ ---
183
+
184
+ Si ce projet vous est utile, vous pouvez m’offrir 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>