@overcrow/mcp 0.1.3 → 0.1.5

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.
Files changed (79) hide show
  1. package/README.md +12 -7
  2. package/dist/bootstrap/pin.js +19 -1
  3. package/dist/bootstrap/pin.json +47 -43
  4. package/dist/cli.js +14 -4
  5. package/dist/content/docs/en/cli.md +34 -32
  6. package/dist/content/docs/en/dev-channel.md +5 -5
  7. package/dist/content/docs/en/elements.md +5 -5
  8. package/dist/content/docs/en/forms.md +32 -30
  9. package/dist/content/docs/en/guide.md +16 -16
  10. package/dist/content/docs/en/index.md +12 -12
  11. package/dist/content/docs/en/limits.md +5 -4
  12. package/dist/content/docs/en/logic.md +30 -28
  13. package/dist/content/docs/en/manifest.md +35 -33
  14. package/dist/content/docs/en/mcp.md +13 -13
  15. package/dist/content/docs/en/package.md +7 -7
  16. package/dist/content/docs/en/publish-keys.md +6 -5
  17. package/dist/content/docs/en/publishing.md +9 -8
  18. package/dist/content/docs/en/reference.md +5 -5
  19. package/dist/content/docs/en/result-shapes.md +3 -3
  20. package/dist/content/docs/en/sdk.md +11 -11
  21. package/dist/content/docs/en/security.md +30 -30
  22. package/dist/content/docs/en/service-reference.md +2 -2
  23. package/dist/content/docs/en/services.md +33 -32
  24. package/dist/content/docs/en/style-properties.md +2 -2
  25. package/dist/content/docs/en/style.md +19 -18
  26. package/dist/content/docs/en/testing.md +36 -35
  27. package/dist/content/docs/en/view.md +13 -12
  28. package/dist/content/docs/en/widget-statistics.md +18 -17
  29. package/dist/content/docs/en/widgets.md +1 -1
  30. package/dist/content/docs/fr/cli.md +35 -30
  31. package/dist/content/docs/fr/dev-channel.md +8 -8
  32. package/dist/content/docs/fr/elements.md +5 -5
  33. package/dist/content/docs/fr/forms.md +35 -34
  34. package/dist/content/docs/fr/guide.md +13 -12
  35. package/dist/content/docs/fr/index.md +15 -15
  36. package/dist/content/docs/fr/limits.md +5 -5
  37. package/dist/content/docs/fr/logic.md +42 -37
  38. package/dist/content/docs/fr/manifest.md +40 -39
  39. package/dist/content/docs/fr/mcp.md +21 -19
  40. package/dist/content/docs/fr/package.md +8 -7
  41. package/dist/content/docs/fr/publish-keys.md +6 -5
  42. package/dist/content/docs/fr/publishing.md +8 -8
  43. package/dist/content/docs/fr/reference.md +6 -6
  44. package/dist/content/docs/fr/result-shapes.md +4 -3
  45. package/dist/content/docs/fr/sdk.md +12 -11
  46. package/dist/content/docs/fr/security.md +41 -39
  47. package/dist/content/docs/fr/service-reference.md +2 -2
  48. package/dist/content/docs/fr/services.md +34 -33
  49. package/dist/content/docs/fr/style-properties.md +2 -2
  50. package/dist/content/docs/fr/style.md +25 -22
  51. package/dist/content/docs/fr/testing.md +43 -43
  52. package/dist/content/docs/fr/view.md +17 -16
  53. package/dist/content/docs/fr/widget-statistics.md +20 -20
  54. package/dist/content/docs/fr/widgets.md +1 -1
  55. package/dist/content/examples/clock/README.md +3 -3
  56. package/dist/content/examples/fps/README.md +3 -3
  57. package/dist/content/examples/media/README.md +2 -2
  58. package/dist/content/examples/notes/README.md +1 -1
  59. package/dist/content/examples/performance/README.md +2 -2
  60. package/dist/content/examples/playervox-journal/README.md +5 -5
  61. package/dist/content/examples/playervox-rating/README.md +3 -3
  62. package/dist/content/examples/playervox-reviews/README.md +3 -3
  63. package/dist/content/examples/playervox-score/README.md +3 -3
  64. package/dist/content/examples/session/README.md +3 -3
  65. package/dist/content/examples/stopwatch/README.md +3 -3
  66. package/dist/content/examples/twitch-chat/README.md +4 -4
  67. package/dist/content/examples/warframe-market/README.md +2 -2
  68. package/dist/content/reference/errors.json +16 -16
  69. package/dist/prompts.js +2 -2
  70. package/dist/resources.js +1 -1
  71. package/dist/text.js +10 -2
  72. package/dist/texts.js +1 -1
  73. package/dist/tools/build.js +16 -10
  74. package/dist/tools/common.js +19 -12
  75. package/dist/tools/submission.js +7 -4
  76. package/dist/typescript.js +38 -0
  77. package/dist/version.js +1 -1
  78. package/npm-shrinkwrap.json +2 -2
  79. package/package.json +1 -1
@@ -57,8 +57,8 @@ in text, are refused: write `{` and `}`.
57
57
  Each element has a fixed content, a set of attributes and the events it can
58
58
  send. Containers (`box`, `scroll`, `list`, `form`, `popover`, `button`)
59
59
  hold other elements; `text` holds text and inline children; the others are
60
- leaves that OverCrow draws: `icon`, `image`, `toggle`, `slider`, `field`,
61
- `chart`, `gauge`…
60
+ leaves that PlayerVox OverCrow draws: `icon`, `image`, `toggle`, `slider`,
61
+ `field`, `chart`, `gauge`…
62
62
 
63
63
  <!-- generated:element-list -->
64
64
  | Element | Meaning |
@@ -132,9 +132,10 @@ view is compiled:
132
132
  | text, identifier | the text itself |
133
133
  | image | a file of the package: `src="assets/logo.png"` |
134
134
 
135
- `attr={expression}` binds the attribute to an expression instead; OverCrow
136
- checks every value the widget sends. Values that exist only when the widget
137
- runs, such as an image handed by a service, must be bound.
135
+ `attr={expression}` binds the attribute to an expression instead;
136
+ PlayerVox OverCrow checks every value the widget sends. Values that exist
137
+ only when the widget runs, such as an image handed by a service, must be
138
+ bound.
138
139
 
139
140
  Five attributes exist on every element:
140
141
 
@@ -176,8 +177,8 @@ a component, where it would name several nodes.
176
177
 
177
178
  ## Events
178
179
 
179
- `on:event={handler}` asks OverCrow to send an event of the element to the
180
- logic. Without it, the widget does not hear about the event at all: a
180
+ `on:event={handler}` asks PlayerVox OverCrow to send an event of the element
181
+ to the logic. Without it, the widget does not hear about the event at all: a
181
182
  widget is not told about pointer moves or key presses it has not asked for.
182
183
 
183
184
  A handler is written in one of two ways:
@@ -202,8 +203,8 @@ The events are `activate`, `contextmenu`, `wheel`, `keydown`, `input`,
202
203
  and each [element](elements.md#elements) lists the ones it sends. Some of
203
204
  them are user actions, during which a widget may call a protected service;
204
205
  see [calls that need a user action](services.md#calls-that-need-a-user-action).
205
- Widgets receive input only in OverCrow's Interactive mode: in Passive mode,
206
- clicks go through them to the game.
206
+ Widgets receive input only in PlayerVox OverCrow's Interactive mode: in
207
+ Passive mode, clicks go through them to the game.
207
208
 
208
209
  ## Conditions, loops and components
209
210
 
@@ -236,7 +237,7 @@ may separate them.
236
237
 
237
238
  `for` repeats its children for each item of a list. `each`, `as` and `key`
238
239
  are all required, and the key must be unique among the repeated items: it
239
- is how OverCrow knows which row moved, appeared or went away.
240
+ is how PlayerVox OverCrow knows which row moved, appeared or went away.
240
241
 
241
242
  <!-- source: widgets/warframe-market/view.ocml -->
242
243
  ```xml
@@ -248,8 +249,8 @@ is how OverCrow knows which row moved, appeared or went away.
248
249
  </for>
249
250
  ```
250
251
 
251
- For a long list, put the `for` in a `list` element: OverCrow lays out and
252
- paints only the rows that are visible.
252
+ For a long list, put the `for` in a `list` element: PlayerVox OverCrow lays
253
+ out and paints only the rows that are visible.
253
254
 
254
255
  ### Components
255
256
 
@@ -7,9 +7,9 @@ exact counts: this page says what each figure counts and what it leaves out.
7
7
 
8
8
  ## Where the figures come from
9
9
 
10
- Once a day at most, at a random time, OverCrow sends one anonymous signal
11
- for each widget installed from the catalog: the widget, its version, the
12
- day, the system (Windows or Linux), the version of OverCrow, whether the
10
+ Once a day at most, at a random time, PlayerVox OverCrow sends one anonymous
11
+ signal for each widget installed from the catalog: the widget, its version,
12
+ the day, the system (Windows or Linux), the version of OverCrow, whether the
13
13
  widget was shown, installed or uninstalled that day, and its errors (kind,
14
14
  place in the code, a rounded count).
15
15
 
@@ -18,7 +18,8 @@ place in the code, a rounded count).
18
18
  - **No error message**: only the kind of an error and its place in your
19
19
  code. A message may hold personal data.
20
20
  - **On by default**: players can turn **Share anonymous statistics** off in
21
- OverCrow; nothing is sent after that, and they are no longer counted.
21
+ PlayerVox OverCrow; nothing is sent after that, and they are no longer
22
+ counted.
22
23
 
23
24
  The figures are added up as the signals arrive. **Updated** gives the time
24
25
  of the last one counted.
@@ -57,7 +58,7 @@ Every chart has **View as table**, with the same figures day by day.
57
58
  version. The three newest versions keep their colour; the others add up as
58
59
  **Older**.
59
60
  - **Where your widget runs**: the share of active players on Windows and on
60
- Linux, and on each version of OverCrow (the two most used, then
61
+ Linux, and on each version of PlayerVox OverCrow (the two most used, then
61
62
  **Others**).
62
63
 
63
64
  ## Errors
@@ -67,10 +68,10 @@ the same line of the same function is one group, whatever the version. The
67
68
  table shows the 50 most frequent groups of the period, with their versions,
68
69
  their count and their trend; **Export CSV** saves them.
69
70
 
70
- OverCrow reports where an error happened in the package's `logic.js`. The
71
- creator space traces that position back to your sources (file, line and
72
- function) with a map of your code built with the package and never
73
- published.
71
+ PlayerVox OverCrow reports where an error happened in the package's
72
+ `logic.js`. The creator space traces that position back to your sources
73
+ (file, line and function) with a map of your code built with the package and
74
+ never published.
74
75
 
75
76
  - **Being traced**: the position is shown as `logic.js:line:column` until it
76
77
  is traced.
@@ -104,9 +105,9 @@ The kind of an error is the built-in type it was created from, never the
104
105
 
105
106
  ## Player rating
106
107
 
107
- Players rate a widget from 0 to 100 in the OverCrow Control Center, with
108
- their PlayerVox account: one rating per account and per widget, which they
109
- can change or remove.
108
+ Players rate a widget from 0 to 100 in the PlayerVox OverCrow Control
109
+ Center, with their PlayerVox account: one rating per account and per widget,
110
+ which they can change or remove.
110
111
 
111
112
  - **Score**: the mean of the ratings, rounded, with its rank: S+ from 90,
112
113
  S from 80, A from 70, B from 60, C from 40, D from 20, then F.
@@ -124,11 +125,11 @@ and on the website.
124
125
  ## Trends, not exact counts
125
126
 
126
127
  - Only the players who share their anonymous statistics are counted.
127
- - OverCrow rounds each error count to a step before sending it, and sends
128
- at most 10 places in the code per widget and day: the error figures give
129
- orders of magnitude.
128
+ - PlayerVox OverCrow rounds each error count to a step before sending it,
129
+ and sends at most 10 places in the code per widget and day: the error
130
+ figures give orders of magnitude.
130
131
  - A day is the player's own date.
131
- - A player who clears OverCrow's data, then installs the widget again,
132
- counts as two installs.
132
+ - A player who clears PlayerVox OverCrow's data, then installs the widget
133
+ again, counts as two installs.
133
134
  - Signals that look broken or inflated are set aside before they are
134
135
  counted.
@@ -33,7 +33,7 @@ license: read them, copy them, and use them as a starting point.
33
33
  scenario, framed and staged by `node scripts/compose-previews.mjs`;
34
34
  - `tests/`: unit tests of the logic, and scenarios with reference images in
35
35
  both themes, both languages and two scales, played by
36
- `overcrow-widget test` in OverCrow's headless runtime;
36
+ `overcrow-widget test` in PlayerVox OverCrow's headless runtime;
37
37
  - `README.md`: what it shows, its menu, its permissions, how it works and
38
38
  what it costs.
39
39
 
@@ -23,7 +23,7 @@ overcrow-widget test
23
23
  | [`check`](#check) | Valide un projet sans rien écrire. |
24
24
  | [`package`](#package) | Vérifie, puis écrit le paquet `.ocpkg`. |
25
25
  | [`inspect`](#inspect) | Montre ce qu’un paquet contient et demande. |
26
- | [`dev`](#dev) | Exécute le widget dans OverCrow et le recharge à chaque enregistrement. |
26
+ | [`dev`](#dev) | Exécute le widget dans PlayerVox OverCrow et le recharge à chaque enregistrement. |
27
27
  | [`test`](#test) | Joue les scénarios de test du projet et compare leurs images. |
28
28
  | [`doctor`](#doctor) | Indique ce que votre installation a et ce qui lui manque. |
29
29
  | [`admit`](#admit) | Exécute l’admission de l’espace créateurs sur vos sources, un dossier ou un ZIP. |
@@ -37,7 +37,7 @@ et les [codes de sortie](#codes-de-sortie) sont stables pour vos scripts.
37
37
 
38
38
  ## Installation
39
39
 
40
- Chaque [release d’OverCrow](https://github.com/Valhallab/playervox-overcrow-releases/releases)
40
+ Chaque [release de PlayerVox OverCrow](https://github.com/Valhallab/playervox-overcrow-releases/releases)
41
41
  contient les outils créateurs dans un ZIP par plateforme : l’outil avec
42
42
  sa licence et ses notices tierces, le runtime headless d’OverCrow
43
43
  qu’utilise [`test`](#test), un `README.txt` et un `SHA256SUMS` de tous
@@ -123,8 +123,8 @@ overcrow-widget init my-widget --template list --id nova.my-widget --name "My wi
123
123
  | `chart` | Un graphique en direct, mis à jour par un minuteur. |
124
124
 
125
125
  Passez `--id` avec l’ID de votre widget : `<pseudo>.<nom>`, votre pseudo
126
- d’éditeur dans l’espace créateurs d’OverCrow et un nom (`nova.lol-timers`),
127
- ou un domaine que vous avez vérifié, inversé, et un nom
126
+ d’éditeur dans l’espace créateurs de PlayerVox OverCrow et un nom
127
+ (`nova.lol-timers`), ou un domaine que vous avez vérifié, inversé, et un nom
128
128
  (`gg.nova.lol-timers`) ; voir [le manifeste](manifest.md#identité-et-version).
129
129
  Sans `--id`, l’ID vaut `yourhandle.<dir>` : remplacez `yourhandle` avant
130
130
  d’envoyer le widget, car `admit` le refuse. `com.playervox.*` est réservé.
@@ -144,11 +144,12 @@ Exécute toutes les vérifications, dans cet ordre, et n’écrit rien :
144
144
  1. **Fichiers du projet** : les fichiers requis sont présents et respectent
145
145
  leurs limites de taille, il y a un seul module de logique, et les deux
146
146
  fichiers de langue ou aucun.
147
- 2. **Manifeste** : le validateur de manifeste d’OverCrow lui-même.
147
+ 2. **Manifeste** : le validateur de manifeste de PlayerVox OverCrow
148
+ lui-même.
148
149
  3. **Vue** : `view.ocml` est compilé et le résultat validé ; les images
149
150
  statiques doivent exister dans `assets/`.
150
151
  4. **Style** : `style.ocss` est analysé avec l’analyseur syntaxique
151
- d’OverCrow.
152
+ de PlayerVox OverCrow.
152
153
  5. **Fichiers de langue** : des objets de chaînes aux clés valides, avec les
153
154
  mêmes clés dans les deux fichiers. Un `t("key")` de la vue dont la clé
154
155
  n’a pas de message donne un avertissement.
@@ -157,7 +158,7 @@ Exécute toutes les vérifications, dans cet ordre, et n’écrit rien :
157
158
  les exports que la vue appelle.
158
159
  7. **Types** : le `tsc --noEmit -p tsconfig.json` du projet.
159
160
  8. **Paquet** : `logic.js` est construit, puis le paquet est écrit en
160
- mémoire et relu exactement comme OverCrow le lira.
161
+ mémoire et relu exactement comme PlayerVox OverCrow le lira.
161
162
 
162
163
  Options : `--no-typecheck`, `--deny-warnings` (un avertissement fait échouer
163
164
  la commande), `--format json`.
@@ -187,9 +188,9 @@ systèmes. Le contenu du paquet est décrit dans [le paquet](package.md).
187
188
  overcrow-widget inspect dist/nova.my-widget-0.1.0.ocpkg
188
189
  ```
189
190
 
190
- Valide un paquet comme le fait OverCrow, puis le montre tel qu’un relecteur
191
- le voit : l’ID, la version et les noms ; la taille et le SHA-256 de
192
- l’archive ; la version du SDK que contient son `logic.js` ; chaque
191
+ Valide un paquet comme le fait PlayerVox OverCrow, puis le montre tel qu’un
192
+ relecteur le voit : l’ID, la version et les noms ; la taille et le SHA-256
193
+ de l’archive ; la version du SDK que contient son `logic.js` ; chaque
193
194
  permission en toutes lettres (routes réseau avec les contraintes de leurs
194
195
  paramètres et la limite de réponse déclarée, stockage, presse-papiers,
195
196
  événements de jeu) ; chaque capability avec son résumé, en précisant si
@@ -203,8 +204,8 @@ paquet, la commande le signale à la place, avec la raison.
203
204
  overcrow-widget dev
204
205
  ```
205
206
 
206
- Exécute le widget dans l’overlay OverCrow qui tourne sur votre machine,
207
- pendant que vous le modifiez :
207
+ Exécute le widget dans l’overlay PlayerVox OverCrow qui tourne sur votre
208
+ machine, pendant que vous le modifiez :
208
209
 
209
210
  1. la commande se connecte à l’overlay, qui doit avoir été lancé avec les
210
211
  installations de développement autorisées ;
@@ -224,8 +225,9 @@ pendant que vous le modifiez :
224
225
  Options : `--no-typecheck`, `--format json` (un objet JSON par ligne).
225
226
  Codes de sortie : 0 après Ctrl+C, 1 quand l’overlay met fin à la session,
226
227
  2 quand aucun overlay n’est joignable.
227
- [Le canal de développement](dev-channel.md) explique comment lancer OverCrow
228
- pour cela, et ce que signifient chaque état et chaque refus.
228
+ [Le canal de développement](dev-channel.md) explique comment lancer
229
+ PlayerVox OverCrow pour cela, et ce que signifient chaque état et chaque
230
+ refus.
229
231
 
230
232
  ## test
231
233
 
@@ -235,8 +237,8 @@ overcrow-widget test --scenario example
235
237
  overcrow-widget test --update
236
238
  ```
237
239
 
238
- Joue les scénarios de `tests/` dans le runtime headless d’OverCrow et
239
- compare les images qu’il rend avec les références :
240
+ Joue les scénarios de `tests/` dans le runtime headless de
241
+ PlayerVox OverCrow et compare les images qu’il rend avec les références :
240
242
 
241
243
  1. la commande construit le paquet comme le fait `package` ;
242
244
  2. elle lit chaque `tests/<name>.scenario.json` et le vérifie par rapport au
@@ -278,7 +280,7 @@ overcrow-widget doctor
278
280
  | Code | Sévérité | Signification |
279
281
  | --- | --- | --- |
280
282
  | `doctor.overcrow_missing` | avertissement | OverCrow n’est pas installé. |
281
- | `doctor.development_off` | avertissement | Aucun overlay n’autorise les installations de développement ; l’aide donne les commandes pour relancer OverCrow en les autorisant. |
283
+ | `doctor.development_off` | avertissement | Aucun overlay n’autorise les installations de développement ; l’aide donne les commandes pour relancer PlayerVox OverCrow en les autorisant. |
282
284
  | `doctor.channel_busy` | avertissement | L’overlay sert déjà son nombre maximal de sessions `dev`. |
283
285
  | `doctor.channel_io` | avertissement | La connexion à l’overlay a échoué. |
284
286
  | `doctor.channel_untrusted` | erreur | Ce qui répond n’est pas l’overlay de cet utilisateur. |
@@ -402,11 +404,12 @@ overcrow-widget submit --dry-run --submission submission.json
402
404
  overcrow-widget submit --submission submission.json
403
405
  ```
404
406
 
405
- Envoie une version de votre widget à l’espace créateurs d’OverCrow, depuis
406
- un terminal, une CI ou le serveur MCP d’OverCrow, puis suit ses contrôles.
407
- La commande ne pose jamais de question : ce qui manque est signalé, avec un
408
- [code de sortie](#codes-de-sortie) stable. Elle prend le dossier du widget
409
- (le dossier courant sans argument) ou un ZIP de ce dossier.
407
+ Envoie une version de votre widget à l’espace créateurs de
408
+ PlayerVox OverCrow, depuis un terminal, une CI ou le serveur MCP d’OverCrow,
409
+ puis suit ses contrôles. La commande ne pose jamais de question : ce qui
410
+ manque est signalé, avec un [code de sortie](#codes-de-sortie) stable. Elle
411
+ prend le dossier du widget (le dossier courant sans argument) ou un ZIP de
412
+ ce dossier.
410
413
 
411
414
  ### La clé de publication
412
415
 
@@ -524,7 +527,7 @@ expire, et chaque envoi compte dans la limite quotidienne.
524
527
  | `reviewMessage` | Un message privé au relecteur, 2 000 caractères. |
525
528
 
526
529
  Chaque clé est facultative ; toute autre clé est refusée. Le serveur MCP
527
- d’OverCrow écrit ce fichier.
530
+ de PlayerVox OverCrow écrit ce fichier.
528
531
 
529
532
  ### Dans une CI
530
533
 
@@ -534,10 +537,11 @@ avec la clé dans les secrets du dépôt :
534
537
 
535
538
  <!-- source: docs/content/examples/weather/.github/workflows/submit.yml -->
536
539
  ```yaml
537
- # Sends the widget to the OverCrow creator space when a version tag is
538
- # pushed. The publish key is a secret of the repository, and the OverCrow
539
- # release whose creator tools to use is a variable of the repository.
540
- name: Submit to OverCrow
540
+ # Sends the widget to the PlayerVox OverCrow creator space when a version
541
+ # tag is pushed. The publish key is a secret of the repository, and the
542
+ # OverCrow release whose creator tools to use is a variable of the
543
+ # repository.
544
+ name: Submit to PlayerVox OverCrow
541
545
 
542
546
  on:
543
547
  push:
@@ -562,7 +566,7 @@ jobs:
562
566
  (cd "$tools" && sha256sum --check --quiet SHA256SUMS)
563
567
  install -D -m 755 "$tools"/overcrow-widget-*-linux-x86_64 "$HOME/.local/bin/overcrow-widget"
564
568
  echo "$HOME/.local/bin" >> "$GITHUB_PATH"
565
- - name: Submit to OverCrow
569
+ - name: Submit to PlayerVox OverCrow
566
570
  run: overcrow-widget submit --submission submission.json
567
571
  env:
568
572
  OVERCROW_PUBLISH_KEY: ${{ secrets.OVERCROW_PUBLISH_KEY }}
@@ -572,7 +576,7 @@ Le job échoue pour tout code autre que 0. `OVERCROW_API_URL` dirige
572
576
  `submit` et `status` vers une autre API, pour des essais seulement :
573
577
  `https://`, ou `http://` vers `127.0.0.1`, `localhost` ou `[::1]`, avec un
574
578
  avertissement à chaque fois. Ne la posez jamais dans une vraie CI ; le
575
- serveur MCP d’OverCrow ne la pose jamais.
579
+ serveur MCP de PlayerVox OverCrow ne la pose jamais.
576
580
 
577
581
  ## status
578
582
 
@@ -776,7 +780,8 @@ est annoncé par un nouveau `formatVersion`.
776
780
  version ; `status` sans `--wait` n’en a pas. Les codes
777
781
  d’erreur sont ceux de l’espace créateurs (`version_not_newer`,
778
782
  `submission_limit_reached`, `publish_key_expired`, `publish_key_revoked`,
779
- `widget_required`, `publish_key_widget_not_covered`…)
783
+ `publish_key_owner_suspended`, `widget_required`,
784
+ `publish_key_widget_not_covered`…)
780
785
  ou ceux de l’outil : `publish_key_missing`, `invalid_publish_key`,
781
786
  `api_url_invalid`, `submission_file`, `sources`, `sources.read`, `network`,
782
787
  `timeout`, `server`, `response`, `redirect`, `upload_refused`,
@@ -16,10 +16,10 @@ Ctrl+C.
16
16
 
17
17
  ## L’activer
18
18
 
19
- Le canal n’existe que tant qu’OverCrow s’exécute avec les installations de
20
- développement autorisées, c’est-à-dire lancé avec la variable
21
- d’environnement `OVERCROW_WIDGET_DEVELOPMENT=1`. Sans elle, l’overlay
22
- n’ouvre rien.
19
+ Le canal n’existe que tant que PlayerVox OverCrow s’exécute avec les
20
+ installations de développement autorisées, c’est-à-dire lancé avec la
21
+ variable d’environnement `OVERCROW_WIDGET_DEVELOPMENT=1`. Sans elle,
22
+ l’overlay n’ouvre rien.
23
23
 
24
24
  **Linux.** Définissez la variable pour les services de votre session, puis
25
25
  redémarrez l’overlay :
@@ -37,8 +37,8 @@ systemctl --user unset-environment OVERCROW_WIDGET_DEVELOPMENT
37
37
  systemctl --user restart overcrow-overlay.service
38
38
  ```
39
39
 
40
- **Windows.** Quittez OverCrow depuis son icône de la zone de notification,
41
- puis lancez-le depuis PowerShell :
40
+ **Windows.** Quittez PlayerVox OverCrow depuis son icône de la zone de
41
+ notification, puis lancez-le depuis PowerShell :
42
42
 
43
43
  ```text
44
44
  $env:OVERCROW_WIDGET_DEVELOPMENT='1'; & "$env:LOCALAPPDATA\Programs\OverCrow\OverCrow.exe"
@@ -136,5 +136,5 @@ l’utiliser : leur sandbox n’y a pas accès.
136
136
 
137
137
  C’est pourquoi le canal est désactivé par défaut. Une fois activé, tout
138
138
  programme que vous lancez peut afficher un widget non vérifié dans votre
139
- overlay, aussi longtemps qu’OverCrow s’exécute. Désactivez-le quand vous
140
- avez terminé.
139
+ overlay, aussi longtemps que PlayerVox OverCrow s’exécute. Désactivez-le
140
+ quand vous avez terminé.
@@ -19,7 +19,7 @@ les entoure : expressions, `if`, `for`, composants.
19
19
  ```
20
20
 
21
21
  Deux conteneurs `box`, deux éléments `text` liés à l’état et un `chart` doté
22
- d’une `series` : OverCrow dessine le tout, graphique compris.
22
+ d’une `series` : PlayerVox OverCrow dessine le tout, graphique compris.
23
23
 
24
24
  ## Lire la fiche d’un élément
25
25
 
@@ -441,10 +441,10 @@ Toute autre `key` est un unique caractère imprimable.
441
441
 
442
442
  ## Tailles par défaut
443
443
 
444
- Les éléments qu’OverCrow dessine prennent ces tailles, en pixels logiques à
445
- 100 %, sauf si le style définit `width` ou `height`. Tout autre élément tire
446
- sa taille de son contenu et du style : un `canvas` n’a pas de taille tant
447
- que le style ne lui en donne pas.
444
+ Les éléments que PlayerVox OverCrow dessine prennent ces tailles, en pixels
445
+ logiques à 100 %, sauf si le style définit `width` ou `height`. Tout autre
446
+ élément tire sa taille de son contenu et du style : un `canvas` n’a pas de
447
+ taille tant que le style ne lui en donne pas.
448
448
 
449
449
  <!-- generated:default-sizes -->
450
450
  | Élément | Quand | Largeur | Hauteur |
@@ -9,9 +9,10 @@ de laisser l’utilisateur écrire dans ses notes, publier sa note d’un jeu su
9
9
  PlayerVox ou envoyer un message de chat, sans que le texte passe jamais par
10
10
  le code du widget.
11
11
 
12
- Les widgets ne reçoivent d’entrées qu’en mode interactif d’OverCrow. En mode
13
- passif, un clic traverse le widget jusqu’au jeu : masquez ou désactivez ce
14
- qui est inutilisable, comme le font les widgets intégrés avec `host.mode`.
12
+ Les widgets ne reçoivent d’entrées qu’en mode interactif de
13
+ PlayerVox OverCrow. En mode passif, un clic traverse le widget jusqu’au jeu
14
+ : masquez ou désactivez ce qui est inutilisable, comme le font les widgets
15
+ intégrés avec `host.mode`.
15
16
 
16
17
  ## Contrôles
17
18
 
@@ -59,10 +60,10 @@ un nombre pour un curseur, du texte pour les autres.
59
60
 
60
61
  ### Champs de texte
61
62
 
62
- OverCrow édite lui-même le texte d’un `field` ou d’un `textarea` : le point
63
- d’insertion, la sélection, le copier-coller et les méthodes de saisie des
64
- langues qui composent leurs caractères. La logique reçoit une copie du texte
65
- dans chaque événement `input`.
63
+ PlayerVox OverCrow édite lui-même le texte d’un `field` ou d’un `textarea` :
64
+ le point d’insertion, la sélection, le copier-coller et les méthodes de
65
+ saisie des langues qui composent leurs caractères. La logique reçoit une
66
+ copie du texte dans chaque événement `input`.
66
67
 
67
68
  <!-- source: widgets/warframe-market/view.ocml -->
68
69
  ```xml
@@ -94,8 +95,8 @@ une indication tant que le champ est vide.
94
95
 
95
96
  Un champ envoie aussi `keydown` quand vous le demandez, avec la touche et
96
97
  ses modificateurs, pour des raccourcis comme Échap pour annuler. Les touches
97
- qu’OverCrow se réserve (Tab pour déplacer le focus, ses propres raccourcis,
98
- une composition en cours) ne sont pas transmises.
98
+ que PlayerVox OverCrow se réserve (Tab pour déplacer le focus, ses propres
99
+ raccourcis, une composition en cours) ne sont pas transmises.
99
100
 
100
101
  ### Le focus à l’ouverture d’un éditeur
101
102
 
@@ -110,7 +111,7 @@ champ, après son texte, comme le ferait un clic dans ce champ.
110
111
  <field class="title-field" name="title" autofocus placeholder={t("title-hint")} label={t("title-hint")} on:input={titleInput(editor.key, event.value)} on:keydown={keyed(editor.key, event.key, event.ctrl)}/>
111
112
  ```
112
113
 
113
- OverCrow ne donne ce focus que si l’élément apparaît pendant une
114
+ PlayerVox OverCrow ne donne ce focus que si l’élément apparaît pendant une
114
115
  [action de l’utilisateur](services.md#les-appels-qui-demandent-une-action-de-lutilisateur),
115
116
  en mode interactif, dans le widget sur lequel l’utilisateur a agi ; quand
116
117
  plusieurs de ces éléments apparaissent ensemble, le premier de la vue le
@@ -192,25 +193,25 @@ sont pas des appels de service. C’est un formulaire doté d’un attribut
192
193
  </form>
193
194
  ```
194
195
 
195
- Quand l’utilisateur valide un tel formulaire, **OverCrow lit les valeurs des
196
- contrôles de ce formulaire et les envoie lui-même**. La logique du widget ne
197
- fournit jamais le texte : un widget ne peut donc ni écrire ce que
198
- l’utilisateur n’a pas saisi, ni valider sans lui. Le formulaire ne part que
199
- sur une action de l’utilisateur, en mode interactif, avec la capability
196
+ Quand l’utilisateur valide un tel formulaire, **PlayerVox OverCrow lit les
197
+ valeurs des contrôles de ce formulaire et les envoie lui-même**. La logique
198
+ du widget ne fournit jamais le texte : un widget ne peut donc ni écrire ce
199
+ que l’utilisateur n’a pas saisi, ni valider sans lui. Le formulaire ne part
200
+ que sur une action de l’utilisateur, en mode interactif, avec la capability
200
201
  accordée.
201
202
 
202
203
  Ce que cela change pour la vue et la logique :
203
204
 
204
- - **Les contrôles appartiennent à OverCrow.** Les contrôles `field`,
205
- `textarea` et `slider` du formulaire ne prennent pas de `value` :
205
+ - **Les contrôles appartiennent à PlayerVox OverCrow.** Les contrôles
206
+ `field`, `textarea` et `slider` du formulaire ne prennent pas de `value` :
206
207
  `overcrow-widget check` le refuse (`view.bound_value`), et OverCrow arrête
207
208
  un widget qui en définit un à l’exécution. Leur attribut `name` indique à
208
209
  quel champ de l’intent chacun correspond.
209
- - **OverCrow les remplit** là où l’intent le prévoit : le titre, le corps et
210
- la liste de tâches de la note, la note publiée par l’utilisateur. Un
211
- remplissage envoie l’événement `input` du contrôle avec la valeur, pour
212
- que la logique sache ce qui est affiché ; cet événement n’est pas une
213
- action de l’utilisateur.
210
+ - **PlayerVox OverCrow les remplit** là où l’intent le prévoit : le titre,
211
+ le corps et la liste de tâches de la note, la note publiée par
212
+ l’utilisateur. Un remplissage envoie l’événement `input` du contrôle avec
213
+ la valeur, pour que la logique sache ce qui est affiché ; cet événement
214
+ n’est pas une action de l’utilisateur.
214
215
  - **La logique suit par les événements `input`**, pour afficher un compteur
215
216
  ou activer le bouton, et peut désactiver les contrôles.
216
217
  - **L’issue arrive dans l’événement `submit` du formulaire** :
@@ -293,11 +294,11 @@ on répond pour `twitch.chat.send`.
293
294
  ### Plusieurs lignes d’un même champ
294
295
 
295
296
  L’intent `notes.save` prend un champ `item` par ligne de la liste de tâches.
296
- La logique décide des lignes du formulaire, avec un `for` ; OverCrow remplit
297
- le champ de chaque ligne à partir de la note enregistrée et retient quelle
298
- entrée de la liste de tâches il y a placée. Une ligne que la logique retire
299
- ou déplace garde son entrée, et une ligne ajoutée depuis est une nouvelle
300
- entrée.
297
+ La logique décide des lignes du formulaire, avec un `for` ;
298
+ PlayerVox OverCrow remplit le champ de chaque ligne à partir de la note
299
+ enregistrée et retient quelle entrée de la liste de tâches il y a placée.
300
+ Une ligne que la logique retire ou déplace garde son entrée, et une ligne
301
+ ajoutée depuis est une nouvelle entrée.
301
302
 
302
303
  <!-- source: widgets/notes/view.ocml -->
303
304
  ```xml
@@ -319,11 +320,11 @@ Ctrl+Entrée ou le bouton `submit` enregistre.
319
320
 
320
321
  Deux services suppriment des données de l’utilisateur : `notes.delete` et
321
322
  `journal.delete`. Ce sont des appels ordinaires qui demandent une action de
322
- l’utilisateur. OverCrow demande ensuite à l’utilisateur de confirmer, dans
323
- une boîte de dialogue qu’il dessine lui-même, hors du widget. L’appel
324
- aboutit quand l’utilisateur confirme et échoue avec `cancelled` quand il
325
- refuse. Ne dessinez pas votre propre « Êtes-vous sûr ? » : seule la
326
- confirmation d’OverCrow compte.
323
+ l’utilisateur. PlayerVox OverCrow demande ensuite à l’utilisateur de
324
+ confirmer, dans une boîte de dialogue qu’il dessine lui-même, hors du
325
+ widget. L’appel aboutit quand l’utilisateur confirme et échoue avec
326
+ `cancelled` quand il refuse. Ne dessinez pas votre propre « Êtes-vous sûr ?
327
+ » : seule la confirmation d’OverCrow compte.
327
328
 
328
329
  ## Points à vérifier pour un formulaire
329
330
 
@@ -337,5 +338,5 @@ confirmation d’OverCrow compte.
337
338
  ni sur ses curseurs, et chaque contrôle nommé est un champ de l’intent.
338
339
  - Testez-le avec un scénario : les étapes `text` saisissent du texte dans le
339
340
  champ qui a le focus, les étapes `key` appuient sur Entrée, et
340
- `expect.intents` vérifie exactement ce qu’OverCrow a envoyé. Voir
341
- [Tester un widget](testing.md#steps).
341
+ `expect.intents` vérifie exactement ce que PlayerVox OverCrow a envoyé.
342
+ Voir [Tester un widget](testing.md#steps).
@@ -6,7 +6,7 @@ lancer dans OverCrow, le tester, l’empaqueter et le soumettre. Chaque étape
6
6
  renvoie à la page qui la traite en détail.
7
7
 
8
8
  Pour travailler plutôt avec un assistant IA, ajoutez-lui le serveur MCP
9
- d’OverCrow : voir [MCP](mcp.md).
9
+ de PlayerVox OverCrow : voir [MCP](mcp.md).
10
10
 
11
11
  ## 1. Installer les outils
12
12
 
@@ -15,7 +15,7 @@ d’OverCrow : voir [MCP](mcp.md).
15
15
  - **Node.js 22 ou plus récent** et npm, pour que `check` vérifie les types
16
16
  de votre logique avec le TypeScript du projet et le SDK de npm. Sans lui, la CLI vérifie et
17
17
  empaquette quand même, mais signale que les types n’ont pas été vérifiés.
18
- - **OverCrow**, pour lancer le widget pendant que vous l’écrivez.
18
+ - **PlayerVox OverCrow**, pour lancer le widget pendant que vous l’écrivez.
19
19
 
20
20
  `overcrow-widget doctor` indique ce que votre installation a et ce qui lui
21
21
  manque.
@@ -147,9 +147,9 @@ Fournissez les deux fichiers ou aucun, avec les mêmes clés. Voir
147
147
  overcrow-widget check
148
148
  ```
149
149
 
150
- `check` exécute les mêmes validateurs qu’OverCrow : manifeste, vue, style,
151
- messages, une analyse de la logique selon ce que la VM exécute, le
152
- TypeScript du projet, et un paquet construit en mémoire puis relu. Chaque
150
+ `check` exécute les mêmes validateurs que PlayerVox OverCrow : manifeste,
151
+ vue, style, messages, une analyse de la logique selon ce que la VM exécute,
152
+ le TypeScript du projet, et un paquet construit en mémoire puis relu. Chaque
153
153
  problème a un code stable, une position et une ligne d’aide ; voir les
154
154
  [diagnostics](cli.md#diagnostics).
155
155
 
@@ -159,9 +159,9 @@ problème a un code stable, une position et une ligne d’aide ; voir les
159
159
  overcrow-widget dev
160
160
  ```
161
161
 
162
- `dev` envoie le widget à l’overlay OverCrow qui tourne sur votre machine et
163
- le recharge à chaque enregistrement. OverCrow ne le propose que s’il a été
164
- lancé avec les installations de développement autorisées
162
+ `dev` envoie le widget à l’overlay PlayerVox OverCrow qui tourne sur votre
163
+ machine et le recharge à chaque enregistrement. OverCrow ne le propose que
164
+ s’il a été lancé avec les installations de développement autorisées
165
165
  (`OVERCROW_WIDGET_DEVELOPMENT=1` ; `overcrow-widget doctor` affiche les
166
166
  commandes). Le widget porte la mention
167
167
  **Unverified · development package** ; ses permissions déclarées sont
@@ -176,9 +176,9 @@ Deux sortes de tests, décrites dans [tester un widget](testing.md) :
176
176
  - des tests unitaires de la logique avec `@overcrow/sdk/testing`, qui
177
177
  exécute votre module avec un temps virtuel et des services simulés ;
178
178
  - des scénarios joués par `overcrow-widget test` dans le runtime headless
179
- d’OverCrow : la vraie VM et le vrai rendu, des services qui répondent avec
180
- des fixtures (des données simulées), et des images comparées à des images
181
- de référence.
179
+ de PlayerVox OverCrow : la vraie VM et le vrai rendu, des services qui
180
+ répondent avec des fixtures (des données simulées), et des images
181
+ comparées à des images de référence.
182
182
 
183
183
  <!-- source: templates/counter/tests/example.scenario.json -->
184
184
  ```json
@@ -252,7 +252,8 @@ utilisateurs obtiennent les widgets par le catalogue signé. Voir
252
252
 
253
253
  Ajoutez un `listing.json` avec le texte de la marketplace et lancez
254
254
  vous-même l’admission. Les widgets ne sont plus proposés par pull request :
255
- vous enverrez le vôtre depuis l’espace créateurs OverCrow, à son ouverture.
255
+ vous enverrez le vôtre depuis l’espace créateurs PlayerVox OverCrow, à son
256
+ ouverture.
256
257
 
257
258
  ```sh
258
259
  overcrow-widget admit
@@ -8,9 +8,9 @@ avec `@overcrow/sdk`. L’outil en ligne de commande `overcrow-widget` le
8
8
  vérifie, le teste et l’empaquette ; le catalogue signé l’apporte aux
9
9
  utilisateurs.
10
10
 
11
- Tous les widgets intégrés d’OverCrow sont écrits ainsi, avec le même SDK
12
- public, le même format de paquet et le même sandbox que les vôtres. Leurs
13
- sources sont les [widgets de référence](widgets.md).
11
+ Tous les widgets intégrés de PlayerVox OverCrow sont écrits ainsi, avec le
12
+ même SDK public, le même format de paquet et le même sandbox que les vôtres.
13
+ Leurs sources sont les [widgets de référence](widgets.md).
14
14
 
15
15
  ## De quoi est fait un widget
16
16
 
@@ -54,20 +54,20 @@ export function increment(): void {
54
54
 
55
55
  - La logique tourne dans sa propre petite VM JavaScript, dans son propre
56
56
  processus, enfermé dans un sandbox. Elle n’a ni DOM, ni système de
57
- fichiers, ni réseau, ni accès aux autres widgets : elle n’atteint OverCrow
58
- que par le SDK.
57
+ fichiers, ni réseau, ni accès aux autres widgets : elle n’atteint
58
+ PlayerVox OverCrow que par le SDK.
59
59
  - Après chaque événement, déclenchement de minuteur ou réponse d’un service,
60
- la VM évalue de nouveau la vue et n’envoie à OverCrow que ce qui a changé.
61
- OverCrow met en page et dessine le widget lui-même : aucun moteur web
62
- n’intervient.
60
+ la VM évalue de nouveau la vue et n’envoie à PlayerVox OverCrow que ce qui
61
+ a changé. OverCrow met en page et dessine le widget lui-même : aucun
62
+ moteur web n’intervient.
63
63
  - Tout ce qui touche à l’extérieur (réseau, stockage, presse-papiers,
64
- données de jeu) est un service d’OverCrow. À chaque appel, celui-ci
65
- vérifie les permissions que le widget a déclarées et que l’utilisateur a
66
- accordées. Voir [services et permissions](services.md).
64
+ données de jeu) est un service de PlayerVox OverCrow. À chaque appel,
65
+ celui-ci vérifie les permissions que le widget a déclarées et que
66
+ l’utilisateur a accordées. Voir [services et permissions](services.md).
67
67
 
68
- Ces pages appellent OverCrow **l’hôte** quand elles décrivent ce qu’il fait
69
- pour un widget : l’hôte dessine la vue, répond aux services et conserve les
70
- données de l’utilisateur.
68
+ Ces pages appellent PlayerVox OverCrow **l’hôte** quand elles décrivent ce
69
+ qu’il fait pour un widget : l’hôte dessine la vue, répond aux services et
70
+ conserve les données de l’utilisateur.
71
71
 
72
72
  ## Par où commencer
73
73
 
@@ -80,7 +80,7 @@ données de l’utilisateur.
80
80
  [services et permissions](services.md), les [formulaires](forms.md).
81
81
  4. Servez-vous des outils : la [CLI](cli.md), les [tests](testing.md) et le
82
82
  [canal de développement](dev-channel.md), qui exécute votre widget dans
83
- OverCrow pendant que vous l’écrivez.
83
+ PlayerVox OverCrow pendant que vous l’écrivez.
84
84
  5. Cherchez un élément, une propriété de style, un service ou une fonction
85
85
  du SDK dans la [référence](reference.md).
86
86
  6. Avant de publier, lisez [le paquet](package.md),