@my-swu/simulator-client 0.1.6 → 0.1.7
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/README.md +29 -0
- package/dist/client.js +6 -1
- package/dist/connection/url.d.ts +2 -0
- package/dist/connection/url.js +4 -0
- package/dist/generated/index.d.ts +4 -0
- package/dist/generated/schemas.d.ts +1 -1
- package/dist/generated/schemas.js +1405 -23
- package/dist/generated/types/admin-match-debug-bundle.d.ts +1 -1
- package/dist/generated/types/admin-match-list-response.d.ts +1 -1
- package/dist/generated/types/admin-match-replay-response.d.ts +1 -1
- package/dist/generated/types/common.d.ts +445 -0
- package/dist/generated/types/create-limited-event-request.d.ts +1 -1
- package/dist/generated/types/format-event-response.d.ts +1 -1
- package/dist/generated/types/game-event.d.ts +1 -1
- package/dist/generated/types/game-state.d.ts +1 -1
- package/dist/generated/types/get-match-response.d.ts +1 -1
- package/dist/generated/types/leave-limited-event-request.d.ts +1 -0
- package/dist/generated/types/leave-limited-event-request.js +2 -0
- package/dist/generated/types/limited-event-server-message.d.ts +1 -0
- package/dist/generated/types/limited-event-server-message.js +2 -0
- package/dist/generated/types/list-active-ai-matches-response.d.ts +1 -1
- package/dist/generated/types/lobby-access-response.d.ts +1 -1
- package/dist/generated/types/lobby-chat-response.d.ts +1 -1
- package/dist/generated/types/lobby-response.d.ts +1 -1
- package/dist/generated/types/lobby-server-message.d.ts +1 -1
- package/dist/generated/types/match-access-recovery-response.d.ts +1 -1
- package/dist/generated/types/match-access-response.d.ts +1 -1
- package/dist/generated/types/match-history-replay-response.d.ts +1 -1
- package/dist/generated/types/match-recovery-response.d.ts +1 -1
- package/dist/generated/types/match-spectator-access-response.d.ts +1 -1
- package/dist/generated/types/rematch-match-response.d.ts +1 -1
- package/dist/generated/types/restore-history-response.d.ts +1 -1
- package/dist/generated/types/restore-match-save-response.d.ts +1 -1
- package/dist/generated/types/server-message.d.ts +1 -1
- package/dist/generated/types/shared-match-history-replay-response.d.ts +1 -1
- package/dist/generated/types/submit-ai-game-feedback-request.d.ts +1 -0
- package/dist/generated/types/submit-ai-game-feedback-request.js +2 -0
- package/dist/generated/types/submit-ai-game-feedback-response.d.ts +1 -0
- package/dist/generated/types/submit-ai-game-feedback-response.js +2 -0
- package/dist/generated/types/submit-match-deck-response.d.ts +1 -1
- package/dist/generated/types/tournament-room-access-response.d.ts +1 -1
- package/dist/generated/types/tournament-room-server-message.d.ts +1 -1
- package/dist/generated/types/undo-match-response.d.ts +1 -1
- package/dist/generated/types/update-lobby-settings-request.d.ts +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/http/request.d.ts +2 -0
- package/dist/http/request.js +9 -1
- package/dist/i18n/card-print-catalog.d.ts +9 -0
- package/dist/i18n/card-print-catalog.js +260 -0
- package/dist/i18n/catalog.d.ts +8 -0
- package/dist/i18n/catalog.js +195 -0
- package/dist/i18n/diagnostics.d.ts +6 -0
- package/dist/i18n/diagnostics.js +19 -0
- package/dist/i18n/fallback.d.ts +3 -0
- package/dist/i18n/fallback.js +40 -0
- package/dist/i18n/format.d.ts +8 -0
- package/dist/i18n/format.js +29 -0
- package/dist/i18n/generated/message-types.d.ts +91 -0
- package/dist/i18n/generated/message-types.js +3 -0
- package/dist/i18n/icu.d.ts +12 -0
- package/dist/i18n/icu.js +75 -0
- package/dist/i18n/index.d.ts +9 -0
- package/dist/i18n/index.js +5 -0
- package/dist/i18n/locale.d.ts +9 -0
- package/dist/i18n/locale.js +19 -0
- package/dist/i18n/types.d.ts +151 -0
- package/dist/i18n/types.js +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/internal/authenticated-socket-session.d.ts +2 -0
- package/dist/internal/authenticated-socket-session.js +3 -1
- package/dist/local/client.js +7 -2
- package/dist/local/server/http-router.js +18 -0
- package/dist/resources/admin.d.ts +8 -0
- package/dist/resources/admin.js +2 -0
- package/dist/resources/limited-event-session.d.ts +10 -0
- package/dist/resources/limited-event-session.js +35 -0
- package/dist/resources/limited-event-types.d.ts +34 -1
- package/dist/resources/limited-events.d.ts +8 -1
- package/dist/resources/limited-events.js +18 -1
- package/dist/resources/lobbies.d.ts +1 -1
- package/dist/resources/lobbies.js +1 -1
- package/dist/resources/lobby-types.d.ts +15 -2
- package/dist/resources/match-history.d.ts +8 -1
- package/dist/resources/match-history.js +10 -0
- package/dist/resources/tournament-rooms.d.ts +1 -1
- package/dist/resources/tournament-rooms.js +1 -1
- package/dist/validators.d.ts +5 -1
- package/i18n/cards/de.json +121 -0
- package/i18n/cards/en.json +121 -0
- package/i18n/cards/es.json +121 -0
- package/i18n/cards/fr.json +121 -0
- package/i18n/cards/it.json +121 -0
- package/i18n/cards/manifest.json +2715 -0
- package/i18n/de.json +11 -0
- package/i18n/en.json +11 -0
- package/i18n/es.json +11 -0
- package/i18n/fr.json +11 -0
- package/i18n/it.json +11 -0
- package/i18n/messages.schema.json +28 -0
- package/package.json +12 -2
- package/schema/common.schema.json +1092 -1
- package/schema/create-limited-event-request.schema.json +11 -0
- package/schema/game-event.schema.json +76 -0
- package/schema/leave-limited-event-request.schema.json +15 -0
- package/schema/limited-event-server-message.schema.json +63 -0
- package/schema/manifest.json +5 -1
- package/schema/route-manifest.json +54 -0
- package/schema/submit-ai-game-feedback-request.schema.json +36 -0
- package/schema/submit-ai-game-feedback-response.schema.json +19 -0
- package/schema/update-lobby-settings-request.schema.json +67 -0
package/i18n/de.json
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"formatVersion": 1,
|
|
3
|
+
"locale": "de",
|
|
4
|
+
"messages": {
|
|
5
|
+
"abilityUnavailable": "Dieser Fähigkeitstext ist nicht verfügbar.", "legacyText": "{text}", "chooseTargets": "Wähle {min, number} bis {max, number} Ziele", "chooseTarget": "Wähle ein Ziel",
|
|
6
|
+
"controls.confirm": "Bestätigen", "controls.decline": "Ablehnen", "controls.cancel": "Abbrechen", "controls.done": "Fertig",
|
|
7
|
+
"targetPurpose.dealDamage": "Füge {amount, number} Schaden zu", "targetPurpose.heal": "Heile {amount, number}", "targetPurpose.giveShield": "Gib {amount, plural, one {# Schild} other {# Schilde}}", "targetPurpose.chooseTarget": "Wähle ein Ziel", "targetPurpose.attachUpgrade": "Lege ein Upgrade an",
|
|
8
|
+
"action.exhaust": "Erschöpfen", "keyword.sentinel": "Wächter", "keyword.overwhelm": "Überwältigen", "keyword.raid": "Offensive", "keyword.name": "{keyword}", "choice.none": "Keine",
|
|
9
|
+
"duration.rounds": "{count, plural, one {# Runde} other {# Runden}}", "duration.phase": "für diese Phase", "timing.onceEachRound": "Einmal pro Runde", "amount.resources": "{count, plural, one {# Ressource} other {# Ressourcen}}"
|
|
10
|
+
}
|
|
11
|
+
}
|
package/i18n/en.json
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"formatVersion": 1,
|
|
3
|
+
"locale": "en",
|
|
4
|
+
"messages": {
|
|
5
|
+
"abilityUnavailable": "This ability text is unavailable.", "legacyText": "{text}", "chooseTargets": "Choose {min, number} to {max, number} targets", "chooseTarget": "Choose a target",
|
|
6
|
+
"controls.confirm": "Confirm", "controls.decline": "Decline", "controls.cancel": "Cancel", "controls.done": "Done",
|
|
7
|
+
"targetPurpose.dealDamage": "Deal {amount, number} damage", "targetPurpose.heal": "Heal {amount, number}", "targetPurpose.giveShield": "Give {amount, plural, one {# Shield} other {# Shields}}", "targetPurpose.chooseTarget": "Choose a target", "targetPurpose.attachUpgrade": "Attach an upgrade",
|
|
8
|
+
"action.exhaust": "Exhaust", "keyword.sentinel": "Sentinel", "keyword.overwhelm": "Overwhelm", "keyword.raid": "Raid", "keyword.name": "{keyword}", "choice.none": "None",
|
|
9
|
+
"duration.rounds": "{count, plural, one {# round} other {# rounds}}", "duration.phase": "for this phase", "timing.onceEachRound": "Once each round", "amount.resources": "{count, plural, one {# resource} other {# resources}}"
|
|
10
|
+
}
|
|
11
|
+
}
|
package/i18n/es.json
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"formatVersion": 1,
|
|
3
|
+
"locale": "es",
|
|
4
|
+
"messages": {
|
|
5
|
+
"abilityUnavailable": "El texto de esta capacidad no está disponible.", "legacyText": "{text}", "chooseTargets": "Elige de {min, number} a {max, number} objetivos", "chooseTarget": "Elige un objetivo",
|
|
6
|
+
"controls.confirm": "Confirmar", "controls.decline": "Rechazar", "controls.cancel": "Cancelar", "controls.done": "Listo",
|
|
7
|
+
"targetPurpose.dealDamage": "Infligir {amount, number} de daño", "targetPurpose.heal": "Curar {amount, number}", "targetPurpose.giveShield": "Da {amount, plural, one {# Escudo} other {# Escudos}}", "targetPurpose.chooseTarget": "Elegir un objetivo", "targetPurpose.attachUpgrade": "Adjuntar una mejora",
|
|
8
|
+
"action.exhaust": "Agotar", "keyword.sentinel": "Centinela", "keyword.overwhelm": "Formidable", "keyword.raid": "Incursión", "keyword.name": "{keyword}", "choice.none": "Ninguno",
|
|
9
|
+
"duration.rounds": "{count, plural, one {# ronda} other {# rondas}}", "duration.phase": "para esta fase", "timing.onceEachRound": "Una vez por ronda", "amount.resources": "{count, plural, one {# recurso} other {# recursos}}"
|
|
10
|
+
}
|
|
11
|
+
}
|
package/i18n/fr.json
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"formatVersion": 1,
|
|
3
|
+
"locale": "fr",
|
|
4
|
+
"messages": {
|
|
5
|
+
"abilityUnavailable": "Le texte de cette capacité n’est pas disponible.", "legacyText": "{text}", "chooseTargets": "Choisissez de {min, number} à {max, number} cibles", "chooseTarget": "Choisissez une cible",
|
|
6
|
+
"controls.confirm": "Confirmer", "controls.decline": "Refuser", "controls.cancel": "Annuler", "controls.done": "Terminé",
|
|
7
|
+
"targetPurpose.dealDamage": "Infliger {amount, number} dégâts", "targetPurpose.heal": "Soigner {amount, number}", "targetPurpose.giveShield": "Donnez {amount, plural, one {# Bouclier} other {# Boucliers}}", "targetPurpose.chooseTarget": "Choisir une cible", "targetPurpose.attachUpgrade": "Attacher une amélioration",
|
|
8
|
+
"action.exhaust": "Épuiser", "keyword.sentinel": "Sentinelle", "keyword.overwhelm": "Débordement", "keyword.raid": "Raid", "keyword.name": "{keyword}", "choice.none": "Aucun",
|
|
9
|
+
"duration.rounds": "{count, plural, one {# round} other {# rounds}}", "duration.phase": "pour cette phase", "timing.onceEachRound": "Une fois par round", "amount.resources": "{count, plural, one {# ressource} other {# ressources}}"
|
|
10
|
+
}
|
|
11
|
+
}
|
package/i18n/it.json
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"formatVersion": 1,
|
|
3
|
+
"locale": "it",
|
|
4
|
+
"messages": {
|
|
5
|
+
"abilityUnavailable": "Il testo di questa abilità non è disponibile.", "legacyText": "{text}", "chooseTargets": "Scegli da {min, number} a {max, number} bersagli", "chooseTarget": "Scegli un bersaglio",
|
|
6
|
+
"controls.confirm": "Conferma", "controls.decline": "Rifiuta", "controls.cancel": "Annulla", "controls.done": "Fatto",
|
|
7
|
+
"targetPurpose.dealDamage": "Infliggi {amount, number} danni", "targetPurpose.heal": "Cura {amount, number}", "targetPurpose.giveShield": "Dai {amount, plural, one {# Scudo} other {# Scudi}}", "targetPurpose.chooseTarget": "Scegli un bersaglio", "targetPurpose.attachUpgrade": "Allega un potenziamento",
|
|
8
|
+
"action.exhaust": "Esaurisci", "keyword.sentinel": "Sentinella", "keyword.overwhelm": "Sopraffazione", "keyword.raid": "Incursione", "keyword.name": "{keyword}", "choice.none": "Nessuno",
|
|
9
|
+
"duration.rounds": "{count, plural, one {# round} other {# round}}", "duration.phase": "per questa fase", "timing.onceEachRound": "Una volta per round", "amount.resources": "{count, plural, one {# risorsa} other {# risorse}}"
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"formatVersion": 1,
|
|
3
|
+
"messages": {
|
|
4
|
+
"abilityUnavailable": { "params": {}, "context": "Fallback when a historical or missing card text reference cannot resolve." },
|
|
5
|
+
"legacyText": { "params": { "text": "string" }, "context": "Recorded legacy literal, shown as data and never treated as an ICU template." },
|
|
6
|
+
"chooseTargets": { "params": { "min": "integer", "max": "integer" }, "context": "Target selection instruction." },
|
|
7
|
+
"chooseTarget": { "params": {}, "context": "Single target selection instruction." },
|
|
8
|
+
"controls.confirm": { "params": {}, "context": "Confirm action control." },
|
|
9
|
+
"controls.decline": { "params": {}, "context": "Decline action control." },
|
|
10
|
+
"controls.cancel": { "params": {}, "context": "Cancel action control." },
|
|
11
|
+
"controls.done": { "params": {}, "context": "Finish action control." },
|
|
12
|
+
"targetPurpose.dealDamage": { "params": { "amount": "integer" }, "context": "Target group purpose: deal damage." },
|
|
13
|
+
"targetPurpose.heal": { "params": { "amount": "integer" }, "context": "Target group purpose: heal damage." },
|
|
14
|
+
"targetPurpose.giveShield": { "params": { "amount": "integer" }, "context": "Target group purpose: give shields." },
|
|
15
|
+
"targetPurpose.chooseTarget": { "params": {}, "context": "Target group purpose: generic target choice." },
|
|
16
|
+
"targetPurpose.attachUpgrade": { "params": {}, "context": "Target group purpose: attach an upgrade." },
|
|
17
|
+
"action.exhaust": { "params": {}, "context": "Gameplay action label." },
|
|
18
|
+
"keyword.sentinel": { "params": {}, "context": "Shared gameplay keyword label." },
|
|
19
|
+
"keyword.overwhelm": { "params": {}, "context": "Shared gameplay keyword label." },
|
|
20
|
+
"keyword.raid": { "params": {}, "context": "Shared gameplay keyword label." },
|
|
21
|
+
"keyword.name": { "params": { "keyword": "string" }, "context": "Canonical name for a shared keyword without a dedicated SDK message." },
|
|
22
|
+
"choice.none": { "params": {}, "context": "Choice label for no selection." },
|
|
23
|
+
"duration.rounds": { "params": { "count": "integer" }, "context": "Duration measured in whole rounds." },
|
|
24
|
+
"duration.phase": { "params": {}, "context": "Duration lasting through the current phase." },
|
|
25
|
+
"timing.onceEachRound": { "params": {}, "context": "Timing restriction." },
|
|
26
|
+
"amount.resources": { "params": { "count": "integer" }, "context": "Resource amount label." }
|
|
27
|
+
}
|
|
28
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@my-swu/simulator-client",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "Typed TypeScript client for the swu-simulator HTTP and WebSocket engine.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"swu",
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"files": [
|
|
30
30
|
"dist",
|
|
31
|
+
"i18n",
|
|
31
32
|
"schema",
|
|
32
33
|
"LICENSE",
|
|
33
34
|
"README.md"
|
|
@@ -43,6 +44,12 @@
|
|
|
43
44
|
"types": "./dist/generated/index.d.ts",
|
|
44
45
|
"import": "./dist/generated/index.js"
|
|
45
46
|
},
|
|
47
|
+
"./i18n": {
|
|
48
|
+
"types": "./dist/i18n/index.d.ts",
|
|
49
|
+
"import": "./dist/i18n/index.js"
|
|
50
|
+
},
|
|
51
|
+
"./i18n/messages/*.json": "./i18n/*.json",
|
|
52
|
+
"./i18n/cards/*": "./i18n/cards/*",
|
|
46
53
|
"./schema/*": "./schema/*",
|
|
47
54
|
"./package.json": "./package.json",
|
|
48
55
|
"./local": {
|
|
@@ -74,10 +81,13 @@
|
|
|
74
81
|
"node": ">=18"
|
|
75
82
|
},
|
|
76
83
|
"dependencies": {
|
|
77
|
-
"ajv": "^8.17.1"
|
|
84
|
+
"ajv": "^8.17.1",
|
|
85
|
+
"intl-messageformat": "^11.2.15"
|
|
78
86
|
},
|
|
79
87
|
"scripts": {
|
|
80
88
|
"generate": "node ./scripts/generate.mjs",
|
|
89
|
+
"i18n:generate": "node ./scripts/i18n/compile.mjs",
|
|
90
|
+
"i18n:check": "node ./scripts/i18n/check.mjs",
|
|
81
91
|
"build": "pnpm run generate && tsc -p tsconfig.build.json",
|
|
82
92
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
83
93
|
"test": "cargo build --quiet --manifest-path ../../Cargo.toml --bin swu-simulator && pnpm run generate && pnpm run typecheck && vitest run",
|