@my-swu/simulator-client 0.1.0

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 (530) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +355 -0
  3. package/dist/actionable.d.ts +61 -0
  4. package/dist/actionable.js +91 -0
  5. package/dist/client.d.ts +157 -0
  6. package/dist/client.js +92 -0
  7. package/dist/connection/handshake.d.ts +30 -0
  8. package/dist/connection/handshake.js +62 -0
  9. package/dist/connection/options.d.ts +36 -0
  10. package/dist/connection/options.js +1 -0
  11. package/dist/connection/url.d.ts +55 -0
  12. package/dist/connection/url.js +46 -0
  13. package/dist/connection/wait.d.ts +22 -0
  14. package/dist/connection/wait.js +10 -0
  15. package/dist/connection.d.ts +110 -0
  16. package/dist/connection.js +358 -0
  17. package/dist/generated/index.d.ts +121 -0
  18. package/dist/generated/index.js +1 -0
  19. package/dist/generated/public-types.d.ts +2 -0
  20. package/dist/generated/public-types.js +1 -0
  21. package/dist/generated/schemas.d.ts +27 -0
  22. package/dist/generated/schemas.js +21264 -0
  23. package/dist/generated/types/abandon-match-request.d.ts +1 -0
  24. package/dist/generated/types/abandon-match-request.js +2 -0
  25. package/dist/generated/types/abandon-match-response.d.ts +1 -0
  26. package/dist/generated/types/abandon-match-response.js +2 -0
  27. package/dist/generated/types/add-lobby-ai-player-request.d.ts +1 -0
  28. package/dist/generated/types/add-lobby-ai-player-request.js +2 -0
  29. package/dist/generated/types/ai-driver-error-report-list-response.d.ts +1 -0
  30. package/dist/generated/types/ai-driver-error-report-list-response.js +2 -0
  31. package/dist/generated/types/ai-driver-error-report-response.d.ts +1 -0
  32. package/dist/generated/types/ai-driver-error-report-response.js +2 -0
  33. package/dist/generated/types/api-error-response.d.ts +1 -0
  34. package/dist/generated/types/api-error-response.js +2 -0
  35. package/dist/generated/types/card-catalog-refresh-response.d.ts +1 -0
  36. package/dist/generated/types/card-catalog-refresh-response.js +2 -0
  37. package/dist/generated/types/cards-response.d.ts +1 -0
  38. package/dist/generated/types/cards-response.js +2 -0
  39. package/dist/generated/types/client-message.d.ts +1 -0
  40. package/dist/generated/types/client-message.js +2 -0
  41. package/dist/generated/types/close-tournament-room-request.d.ts +1 -0
  42. package/dist/generated/types/close-tournament-room-request.js +2 -0
  43. package/dist/generated/types/common.d.ts +5361 -0
  44. package/dist/generated/types/common.js +2 -0
  45. package/dist/generated/types/covered-cards-response.d.ts +47 -0
  46. package/dist/generated/types/covered-cards-response.js +2 -0
  47. package/dist/generated/types/create-limited-event-request.d.ts +1 -0
  48. package/dist/generated/types/create-limited-event-request.js +2 -0
  49. package/dist/generated/types/create-lobby-request.d.ts +1 -0
  50. package/dist/generated/types/create-lobby-request.js +2 -0
  51. package/dist/generated/types/create-match-request.d.ts +1 -0
  52. package/dist/generated/types/create-match-request.js +2 -0
  53. package/dist/generated/types/create-meta-window-request.d.ts +1 -0
  54. package/dist/generated/types/create-meta-window-request.js +2 -0
  55. package/dist/generated/types/create-tournament-room-request.d.ts +1 -0
  56. package/dist/generated/types/create-tournament-room-request.js +2 -0
  57. package/dist/generated/types/create-tournament-table-request.d.ts +1 -0
  58. package/dist/generated/types/create-tournament-table-request.js +2 -0
  59. package/dist/generated/types/error-payload.d.ts +1 -0
  60. package/dist/generated/types/error-payload.js +2 -0
  61. package/dist/generated/types/format-event-request.d.ts +1 -0
  62. package/dist/generated/types/format-event-request.js +2 -0
  63. package/dist/generated/types/format-event-response.d.ts +1 -0
  64. package/dist/generated/types/format-event-response.js +2 -0
  65. package/dist/generated/types/game-command.d.ts +1 -0
  66. package/dist/generated/types/game-command.js +2 -0
  67. package/dist/generated/types/game-event.d.ts +1 -0
  68. package/dist/generated/types/game-event.js +2 -0
  69. package/dist/generated/types/game-state.d.ts +1 -0
  70. package/dist/generated/types/game-state.js +2 -0
  71. package/dist/generated/types/get-match-response.d.ts +1 -0
  72. package/dist/generated/types/get-match-response.js +2 -0
  73. package/dist/generated/types/health-response.d.ts +1 -0
  74. package/dist/generated/types/health-response.js +2 -0
  75. package/dist/generated/types/join-limited-event-request.d.ts +1 -0
  76. package/dist/generated/types/join-limited-event-request.js +2 -0
  77. package/dist/generated/types/join-lobby-request.d.ts +1 -0
  78. package/dist/generated/types/join-lobby-request.js +2 -0
  79. package/dist/generated/types/join-match-request.d.ts +1 -0
  80. package/dist/generated/types/join-match-request.js +2 -0
  81. package/dist/generated/types/join-tournament-room-request.d.ts +1 -0
  82. package/dist/generated/types/join-tournament-room-request.js +2 -0
  83. package/dist/generated/types/join-tournament-table-request.d.ts +1 -0
  84. package/dist/generated/types/join-tournament-table-request.js +2 -0
  85. package/dist/generated/types/kick-lobby-player-request.d.ts +1 -0
  86. package/dist/generated/types/kick-lobby-player-request.js +2 -0
  87. package/dist/generated/types/kick-lobby-spectator-request.d.ts +1 -0
  88. package/dist/generated/types/kick-lobby-spectator-request.js +2 -0
  89. package/dist/generated/types/leave-lobby-request.d.ts +1 -0
  90. package/dist/generated/types/leave-lobby-request.js +2 -0
  91. package/dist/generated/types/leave-match-request.d.ts +1 -0
  92. package/dist/generated/types/leave-match-request.js +2 -0
  93. package/dist/generated/types/leave-match-response.d.ts +1 -0
  94. package/dist/generated/types/leave-match-response.js +2 -0
  95. package/dist/generated/types/leave-tournament-room-request.d.ts +1 -0
  96. package/dist/generated/types/leave-tournament-room-request.js +2 -0
  97. package/dist/generated/types/limited-event-access-response.d.ts +1 -0
  98. package/dist/generated/types/limited-event-access-response.js +2 -0
  99. package/dist/generated/types/limited-event-command-request.d.ts +1 -0
  100. package/dist/generated/types/limited-event-command-request.js +2 -0
  101. package/dist/generated/types/limited-event-preflight-response.d.ts +1 -0
  102. package/dist/generated/types/limited-event-preflight-response.js +2 -0
  103. package/dist/generated/types/limited-event-response.d.ts +1 -0
  104. package/dist/generated/types/limited-event-response.js +2 -0
  105. package/dist/generated/types/list-active-ai-matches-request.d.ts +1 -0
  106. package/dist/generated/types/list-active-ai-matches-request.js +2 -0
  107. package/dist/generated/types/list-active-ai-matches-response.d.ts +1 -0
  108. package/dist/generated/types/list-active-ai-matches-response.js +2 -0
  109. package/dist/generated/types/lobby-access-response.d.ts +1 -0
  110. package/dist/generated/types/lobby-access-response.js +2 -0
  111. package/dist/generated/types/lobby-chat-request.d.ts +1 -0
  112. package/dist/generated/types/lobby-chat-request.js +2 -0
  113. package/dist/generated/types/lobby-chat-response.d.ts +1 -0
  114. package/dist/generated/types/lobby-chat-response.js +2 -0
  115. package/dist/generated/types/lobby-list-response.d.ts +1 -0
  116. package/dist/generated/types/lobby-list-response.js +2 -0
  117. package/dist/generated/types/lobby-list-server-message.d.ts +1 -0
  118. package/dist/generated/types/lobby-list-server-message.js +2 -0
  119. package/dist/generated/types/lobby-matchmaking-decision-request.d.ts +1 -0
  120. package/dist/generated/types/lobby-matchmaking-decision-request.js +2 -0
  121. package/dist/generated/types/lobby-matchmaking-request.d.ts +1 -0
  122. package/dist/generated/types/lobby-matchmaking-request.js +2 -0
  123. package/dist/generated/types/lobby-response.d.ts +1 -0
  124. package/dist/generated/types/lobby-response.js +2 -0
  125. package/dist/generated/types/lobby-server-message.d.ts +1 -0
  126. package/dist/generated/types/lobby-server-message.js +2 -0
  127. package/dist/generated/types/lobby-sync-request.d.ts +1 -0
  128. package/dist/generated/types/lobby-sync-request.js +2 -0
  129. package/dist/generated/types/match-access-response.d.ts +1 -0
  130. package/dist/generated/types/match-access-response.js +2 -0
  131. package/dist/generated/types/match-chat-lookup-response.d.ts +1 -0
  132. package/dist/generated/types/match-chat-lookup-response.js +2 -0
  133. package/dist/generated/types/match-connection-role.d.ts +1 -0
  134. package/dist/generated/types/match-connection-role.js +2 -0
  135. package/dist/generated/types/match-history-deck-stats-request.d.ts +1 -0
  136. package/dist/generated/types/match-history-deck-stats-request.js +2 -0
  137. package/dist/generated/types/match-history-deck-stats-response.d.ts +1 -0
  138. package/dist/generated/types/match-history-deck-stats-response.js +2 -0
  139. package/dist/generated/types/match-history-entry.d.ts +1 -0
  140. package/dist/generated/types/match-history-entry.js +2 -0
  141. package/dist/generated/types/match-history-list-request.d.ts +1 -0
  142. package/dist/generated/types/match-history-list-request.js +2 -0
  143. package/dist/generated/types/match-history-list-response.d.ts +1 -0
  144. package/dist/generated/types/match-history-list-response.js +2 -0
  145. package/dist/generated/types/match-history-replay-request.d.ts +1 -0
  146. package/dist/generated/types/match-history-replay-request.js +2 -0
  147. package/dist/generated/types/match-history-replay-response.d.ts +1 -0
  148. package/dist/generated/types/match-history-replay-response.js +2 -0
  149. package/dist/generated/types/match-history-restore-request.d.ts +1 -0
  150. package/dist/generated/types/match-history-restore-request.js +2 -0
  151. package/dist/generated/types/match-save-payload.d.ts +1 -0
  152. package/dist/generated/types/match-save-payload.js +2 -0
  153. package/dist/generated/types/match-spectator-access-response.d.ts +1 -0
  154. package/dist/generated/types/match-spectator-access-response.js +2 -0
  155. package/dist/generated/types/meta-window.d.ts +1 -0
  156. package/dist/generated/types/meta-window.js +2 -0
  157. package/dist/generated/types/meta-windows-response.d.ts +1 -0
  158. package/dist/generated/types/meta-windows-response.js +2 -0
  159. package/dist/generated/types/prepare-lobby-limited-ai-decks-request.d.ts +1 -0
  160. package/dist/generated/types/prepare-lobby-limited-ai-decks-request.js +2 -0
  161. package/dist/generated/types/random-lobby-matchmaking-request.d.ts +173 -0
  162. package/dist/generated/types/random-lobby-matchmaking-request.js +2 -0
  163. package/dist/generated/types/ranked-admin-status.d.ts +1 -0
  164. package/dist/generated/types/ranked-admin-status.js +2 -0
  165. package/dist/generated/types/ranked-leaderboard-entry.d.ts +1 -0
  166. package/dist/generated/types/ranked-leaderboard-entry.js +2 -0
  167. package/dist/generated/types/ranked-leaderboard-query.d.ts +1 -0
  168. package/dist/generated/types/ranked-leaderboard-query.js +2 -0
  169. package/dist/generated/types/ranked-leaderboard-response.d.ts +1 -0
  170. package/dist/generated/types/ranked-leaderboard-response.js +2 -0
  171. package/dist/generated/types/ranked-matchmaking-request.d.ts +137 -0
  172. package/dist/generated/types/ranked-matchmaking-request.js +2 -0
  173. package/dist/generated/types/ranked-matchmaking-view.d.ts +1 -0
  174. package/dist/generated/types/ranked-matchmaking-view.js +2 -0
  175. package/dist/generated/types/ranked-profile-request.d.ts +1 -0
  176. package/dist/generated/types/ranked-profile-request.js +2 -0
  177. package/dist/generated/types/ranked-profile-response.d.ts +1 -0
  178. package/dist/generated/types/ranked-profile-response.js +2 -0
  179. package/dist/generated/types/ranked-queue.d.ts +1 -0
  180. package/dist/generated/types/ranked-queue.js +2 -0
  181. package/dist/generated/types/ready-tournament-table-request.d.ts +7 -0
  182. package/dist/generated/types/ready-tournament-table-request.js +2 -0
  183. package/dist/generated/types/rematch-match-request.d.ts +1 -0
  184. package/dist/generated/types/rematch-match-request.js +2 -0
  185. package/dist/generated/types/rematch-match-response.d.ts +1 -0
  186. package/dist/generated/types/rematch-match-response.js +2 -0
  187. package/dist/generated/types/resolve-card-ids-request.d.ts +1 -0
  188. package/dist/generated/types/resolve-card-ids-request.js +2 -0
  189. package/dist/generated/types/resolve-card-ids-response.d.ts +1 -0
  190. package/dist/generated/types/resolve-card-ids-response.js +2 -0
  191. package/dist/generated/types/restore-history-response.d.ts +1 -0
  192. package/dist/generated/types/restore-history-response.js +2 -0
  193. package/dist/generated/types/restore-match-save-request.d.ts +1 -0
  194. package/dist/generated/types/restore-match-save-request.js +2 -0
  195. package/dist/generated/types/restore-match-save-response.d.ts +1 -0
  196. package/dist/generated/types/restore-match-save-response.js +2 -0
  197. package/dist/generated/types/return-lobby-match-request.d.ts +1 -0
  198. package/dist/generated/types/return-lobby-match-request.js +2 -0
  199. package/dist/generated/types/return-tournament-match-request.d.ts +1 -0
  200. package/dist/generated/types/return-tournament-match-request.js +2 -0
  201. package/dist/generated/types/save-match-request.d.ts +1 -0
  202. package/dist/generated/types/save-match-request.js +2 -0
  203. package/dist/generated/types/server-message.d.ts +1 -0
  204. package/dist/generated/types/server-message.js +2 -0
  205. package/dist/generated/types/set-ai-paused-request.d.ts +1 -0
  206. package/dist/generated/types/set-ai-paused-request.js +2 -0
  207. package/dist/generated/types/set-ai-paused-response.d.ts +1 -0
  208. package/dist/generated/types/set-ai-paused-response.js +2 -0
  209. package/dist/generated/types/set-ranked-admission-request.d.ts +1 -0
  210. package/dist/generated/types/set-ranked-admission-request.js +2 -0
  211. package/dist/generated/types/set-simulator-maintenance-request.d.ts +1 -0
  212. package/dist/generated/types/set-simulator-maintenance-request.js +2 -0
  213. package/dist/generated/types/simulator-admin-status-response.d.ts +1 -0
  214. package/dist/generated/types/simulator-admin-status-response.js +2 -0
  215. package/dist/generated/types/simulator-availability-response.d.ts +1 -0
  216. package/dist/generated/types/simulator-availability-response.js +2 -0
  217. package/dist/generated/types/simulator-report-list-response.d.ts +1 -0
  218. package/dist/generated/types/simulator-report-list-response.js +2 -0
  219. package/dist/generated/types/simulator-report-response.d.ts +1 -0
  220. package/dist/generated/types/simulator-report-response.js +2 -0
  221. package/dist/generated/types/spectate-lobby-request.d.ts +1 -0
  222. package/dist/generated/types/spectate-lobby-request.js +2 -0
  223. package/dist/generated/types/spectate-match-request.d.ts +1 -0
  224. package/dist/generated/types/spectate-match-request.js +2 -0
  225. package/dist/generated/types/start-lobby-limited-match-request.d.ts +1 -0
  226. package/dist/generated/types/start-lobby-limited-match-request.js +2 -0
  227. package/dist/generated/types/start-lobby-request.d.ts +1 -0
  228. package/dist/generated/types/start-lobby-request.js +2 -0
  229. package/dist/generated/types/start-tournament-event-request.d.ts +1 -0
  230. package/dist/generated/types/start-tournament-event-request.js +2 -0
  231. package/dist/generated/types/stats-response.d.ts +5 -0
  232. package/dist/generated/types/stats-response.js +2 -0
  233. package/dist/generated/types/submit-lobby-limited-deck-request.d.ts +1 -0
  234. package/dist/generated/types/submit-lobby-limited-deck-request.js +2 -0
  235. package/dist/generated/types/submit-match-deck-request.d.ts +1 -0
  236. package/dist/generated/types/submit-match-deck-request.js +2 -0
  237. package/dist/generated/types/submit-match-deck-response.d.ts +1 -0
  238. package/dist/generated/types/submit-match-deck-response.js +2 -0
  239. package/dist/generated/types/submit-tournament-deck-request.d.ts +1 -0
  240. package/dist/generated/types/submit-tournament-deck-request.js +2 -0
  241. package/dist/generated/types/tournament-event-command-request.d.ts +1 -0
  242. package/dist/generated/types/tournament-event-command-request.js +2 -0
  243. package/dist/generated/types/tournament-room-access-response.d.ts +1 -0
  244. package/dist/generated/types/tournament-room-access-response.js +2 -0
  245. package/dist/generated/types/tournament-room-chat-request.d.ts +1 -0
  246. package/dist/generated/types/tournament-room-chat-request.js +2 -0
  247. package/dist/generated/types/tournament-room-chat-response.d.ts +1 -0
  248. package/dist/generated/types/tournament-room-chat-response.js +2 -0
  249. package/dist/generated/types/tournament-room-list-response.d.ts +1 -0
  250. package/dist/generated/types/tournament-room-list-response.js +2 -0
  251. package/dist/generated/types/tournament-room-response.d.ts +1 -0
  252. package/dist/generated/types/tournament-room-response.js +2 -0
  253. package/dist/generated/types/tournament-room-server-message.d.ts +1 -0
  254. package/dist/generated/types/tournament-room-server-message.js +2 -0
  255. package/dist/generated/types/tournament-room-sync-request.d.ts +1 -0
  256. package/dist/generated/types/tournament-room-sync-request.js +2 -0
  257. package/dist/generated/types/undo-match-request.d.ts +1 -0
  258. package/dist/generated/types/undo-match-request.js +2 -0
  259. package/dist/generated/types/undo-match-response.d.ts +1 -0
  260. package/dist/generated/types/undo-match-response.js +2 -0
  261. package/dist/generated/types/undo-respond-match-request.d.ts +1 -0
  262. package/dist/generated/types/undo-respond-match-request.js +2 -0
  263. package/dist/generated/types/update-lobby-ai-player-request.d.ts +1 -0
  264. package/dist/generated/types/update-lobby-ai-player-request.js +2 -0
  265. package/dist/generated/types/update-lobby-player-request.d.ts +1 -0
  266. package/dist/generated/types/update-lobby-player-request.js +2 -0
  267. package/dist/generated/types/update-lobby-settings-request.d.ts +1 -0
  268. package/dist/generated/types/update-lobby-settings-request.js +2 -0
  269. package/dist/generated/types/update-tournament-room-player-request.d.ts +1 -0
  270. package/dist/generated/types/update-tournament-room-player-request.js +2 -0
  271. package/dist/generated/types/update-tournament-room-settings-request.d.ts +1 -0
  272. package/dist/generated/types/update-tournament-room-settings-request.js +2 -0
  273. package/dist/generated/types/update-tournament-table-deck-request.d.ts +123 -0
  274. package/dist/generated/types/update-tournament-table-deck-request.js +2 -0
  275. package/dist/generated/types/welcome-payload.d.ts +1 -0
  276. package/dist/generated/types/welcome-payload.js +2 -0
  277. package/dist/generated/version.d.ts +16 -0
  278. package/dist/generated/version.js +16 -0
  279. package/dist/http/abort.d.ts +57 -0
  280. package/dist/http/abort.js +60 -0
  281. package/dist/http/json.d.ts +13 -0
  282. package/dist/http/json.js +24 -0
  283. package/dist/http/options.d.ts +40 -0
  284. package/dist/http/options.js +1 -0
  285. package/dist/http/request.d.ts +64 -0
  286. package/dist/http/request.js +182 -0
  287. package/dist/http/validated-json.d.ts +9 -0
  288. package/dist/http/validated-json.js +14 -0
  289. package/dist/index.d.ts +39 -0
  290. package/dist/index.js +10 -0
  291. package/dist/internal/abort-error.d.ts +91 -0
  292. package/dist/internal/abort-error.js +62 -0
  293. package/dist/internal/authenticated-socket-session.d.ts +63 -0
  294. package/dist/internal/authenticated-socket-session.js +170 -0
  295. package/dist/internal/emitter.d.ts +18 -0
  296. package/dist/internal/emitter.js +34 -0
  297. package/dist/internal/errors.d.ts +233 -0
  298. package/dist/internal/errors.js +238 -0
  299. package/dist/internal/limits.d.ts +13 -0
  300. package/dist/internal/limits.js +13 -0
  301. package/dist/internal/reconnect-backoff.d.ts +33 -0
  302. package/dist/internal/reconnect-backoff.js +25 -0
  303. package/dist/internal/socket-frame.d.ts +43 -0
  304. package/dist/internal/socket-frame.js +47 -0
  305. package/dist/internal/transport.d.ts +78 -0
  306. package/dist/internal/transport.js +18 -0
  307. package/dist/internal/websocket-event.d.ts +15 -0
  308. package/dist/internal/websocket-event.js +31 -0
  309. package/dist/local/assets.d.ts +96 -0
  310. package/dist/local/assets.js +235 -0
  311. package/dist/local/client.d.ts +32 -0
  312. package/dist/local/client.js +211 -0
  313. package/dist/local/engine.d.ts +79 -0
  314. package/dist/local/engine.js +6 -0
  315. package/dist/local/index.d.ts +20 -0
  316. package/dist/local/index.js +17 -0
  317. package/dist/local/offline-engine.d.ts +46 -0
  318. package/dist/local/offline-engine.js +74 -0
  319. package/dist/local/protocol.d.ts +95 -0
  320. package/dist/local/protocol.js +10 -0
  321. package/dist/local/routing.d.ts +52 -0
  322. package/dist/local/routing.js +193 -0
  323. package/dist/local/server/ai-scheduler.d.ts +31 -0
  324. package/dist/local/server/ai-scheduler.js +93 -0
  325. package/dist/local/server/http-router.d.ts +35 -0
  326. package/dist/local/server/http-router.js +185 -0
  327. package/dist/local/server/index.d.ts +16 -0
  328. package/dist/local/server/index.js +140 -0
  329. package/dist/local/server/sockets.d.ts +25 -0
  330. package/dist/local/server/sockets.js +141 -0
  331. package/dist/local/wasm-engine.d.ts +61 -0
  332. package/dist/local/wasm-engine.js +63 -0
  333. package/dist/local/worker-boot.d.ts +17 -0
  334. package/dist/local/worker-boot.js +76 -0
  335. package/dist/local/worker.d.ts +6 -0
  336. package/dist/local/worker.js +9 -0
  337. package/dist/match-session/access.d.ts +6 -0
  338. package/dist/match-session/access.js +8 -0
  339. package/dist/match-session/controller.d.ts +63 -0
  340. package/dist/match-session/controller.js +513 -0
  341. package/dist/match-session/errors.d.ts +3 -0
  342. package/dist/match-session/errors.js +34 -0
  343. package/dist/match-session/methods.d.ts +433 -0
  344. package/dist/match-session/methods.js +1 -0
  345. package/dist/match-session/session-state.d.ts +235 -0
  346. package/dist/match-session/session-state.js +1 -0
  347. package/dist/match-session/types.d.ts +56 -0
  348. package/dist/match-session/types.js +1 -0
  349. package/dist/match-session.d.ts +3 -0
  350. package/dist/match-session.js +1 -0
  351. package/dist/messages.d.ts +195 -0
  352. package/dist/messages.js +240 -0
  353. package/dist/resources/admin.d.ts +63 -0
  354. package/dist/resources/admin.js +75 -0
  355. package/dist/resources/card-deck-json.d.ts +11 -0
  356. package/dist/resources/card-deck-json.js +164 -0
  357. package/dist/resources/card-resolution.d.ts +9 -0
  358. package/dist/resources/card-resolution.js +21 -0
  359. package/dist/resources/card-resource.d.ts +157 -0
  360. package/dist/resources/card-resource.js +28 -0
  361. package/dist/resources/card-types.d.ts +203 -0
  362. package/dist/resources/card-types.js +1 -0
  363. package/dist/resources/cards.d.ts +3 -0
  364. package/dist/resources/cards.js +1 -0
  365. package/dist/resources/limited-event-types.d.ts +252 -0
  366. package/dist/resources/limited-event-types.js +1 -0
  367. package/dist/resources/limited-events.d.ts +7 -0
  368. package/dist/resources/limited-events.js +49 -0
  369. package/dist/resources/lobbies.d.ts +53 -0
  370. package/dist/resources/lobbies.js +50 -0
  371. package/dist/resources/lobby-list-session.d.ts +13 -0
  372. package/dist/resources/lobby-list-session.js +198 -0
  373. package/dist/resources/lobby-session.d.ts +9 -0
  374. package/dist/resources/lobby-session.js +59 -0
  375. package/dist/resources/lobby-types.d.ts +357 -0
  376. package/dist/resources/lobby-types.js +1 -0
  377. package/dist/resources/match-history.d.ts +49 -0
  378. package/dist/resources/match-history.js +34 -0
  379. package/dist/resources/match-types.d.ts +448 -0
  380. package/dist/resources/match-types.js +1 -0
  381. package/dist/resources/matches.d.ts +16 -0
  382. package/dist/resources/matches.js +109 -0
  383. package/dist/resources/ranked.d.ts +24 -0
  384. package/dist/resources/ranked.js +47 -0
  385. package/dist/resources/session.d.ts +62 -0
  386. package/dist/resources/session.js +26 -0
  387. package/dist/resources/system.d.ts +51 -0
  388. package/dist/resources/system.js +9 -0
  389. package/dist/resources/tournament-room-session.d.ts +9 -0
  390. package/dist/resources/tournament-room-session.js +53 -0
  391. package/dist/resources/tournament-room-types.d.ts +44 -0
  392. package/dist/resources/tournament-room-types.js +1 -0
  393. package/dist/resources/tournament-rooms.d.ts +33 -0
  394. package/dist/resources/tournament-rooms.js +33 -0
  395. package/dist/session.d.ts +56 -0
  396. package/dist/session.js +1 -0
  397. package/dist/types.d.ts +73 -0
  398. package/dist/types.js +27 -0
  399. package/dist/validators/ajv.d.ts +51 -0
  400. package/dist/validators/ajv.js +121 -0
  401. package/dist/validators/discriminants.d.ts +36 -0
  402. package/dist/validators/discriminants.js +89 -0
  403. package/dist/validators/validator.d.ts +73 -0
  404. package/dist/validators/validator.js +26 -0
  405. package/dist/validators/warm-up.d.ts +25 -0
  406. package/dist/validators/warm-up.js +59 -0
  407. package/dist/validators.d.ts +173 -0
  408. package/dist/validators.js +85 -0
  409. package/package.json +88 -0
  410. package/schema/abandon-match-request.schema.json +15 -0
  411. package/schema/abandon-match-response.schema.json +15 -0
  412. package/schema/add-lobby-ai-player-request.schema.json +53 -0
  413. package/schema/api-error-response.schema.json +13 -0
  414. package/schema/card-catalog-refresh-response.schema.json +31 -0
  415. package/schema/cards-response.schema.json +17 -0
  416. package/schema/client-message.schema.json +203 -0
  417. package/schema/close-tournament-room-request.schema.json +18 -0
  418. package/schema/common.schema.json +14129 -0
  419. package/schema/create-limited-event-request.schema.json +60 -0
  420. package/schema/create-lobby-request.schema.json +67 -0
  421. package/schema/create-match-request.schema.json +124 -0
  422. package/schema/create-meta-window-request.schema.json +27 -0
  423. package/schema/create-tournament-room-request.schema.json +104 -0
  424. package/schema/create-tournament-table-request.schema.json +14 -0
  425. package/schema/error-payload.schema.json +34 -0
  426. package/schema/format-event-request.schema.json +20 -0
  427. package/schema/format-event-response.schema.json +15 -0
  428. package/schema/game-command.schema.json +775 -0
  429. package/schema/game-event.schema.json +2012 -0
  430. package/schema/game-state.schema.json +273 -0
  431. package/schema/get-match-response.schema.json +13 -0
  432. package/schema/health-response.schema.json +13 -0
  433. package/schema/join-limited-event-request.schema.json +6 -0
  434. package/schema/join-lobby-request.schema.json +40 -0
  435. package/schema/join-match-request.schema.json +79 -0
  436. package/schema/join-tournament-room-request.schema.json +39 -0
  437. package/schema/join-tournament-table-request.schema.json +14 -0
  438. package/schema/kick-lobby-player-request.schema.json +13 -0
  439. package/schema/kick-lobby-spectator-request.schema.json +14 -0
  440. package/schema/leave-lobby-request.schema.json +13 -0
  441. package/schema/leave-match-request.schema.json +15 -0
  442. package/schema/leave-match-response.schema.json +15 -0
  443. package/schema/leave-tournament-room-request.schema.json +14 -0
  444. package/schema/limited-event-access-response.schema.json +34 -0
  445. package/schema/limited-event-command-request.schema.json +20 -0
  446. package/schema/limited-event-preflight-response.schema.json +25 -0
  447. package/schema/limited-event-response.schema.json +15 -0
  448. package/schema/list-active-ai-matches-request.schema.json +23 -0
  449. package/schema/list-active-ai-matches-response.schema.json +17 -0
  450. package/schema/lobby-access-response.schema.json +31 -0
  451. package/schema/lobby-chat-request.schema.json +17 -0
  452. package/schema/lobby-chat-response.schema.json +17 -0
  453. package/schema/lobby-list-response.schema.json +16 -0
  454. package/schema/lobby-list-server-message.schema.json +49 -0
  455. package/schema/lobby-matchmaking-decision-request.schema.json +13 -0
  456. package/schema/lobby-matchmaking-request.schema.json +80 -0
  457. package/schema/lobby-response.schema.json +13 -0
  458. package/schema/lobby-server-message.schema.json +155 -0
  459. package/schema/lobby-sync-request.schema.json +13 -0
  460. package/schema/manifest.json +124 -0
  461. package/schema/match-access-response.schema.json +32 -0
  462. package/schema/match-chat-lookup-response.schema.json +34 -0
  463. package/schema/match-connection-role.schema.json +9 -0
  464. package/schema/match-history-deck-stats-request.schema.json +26 -0
  465. package/schema/match-history-deck-stats-response.schema.json +17 -0
  466. package/schema/match-history-entry.schema.json +78 -0
  467. package/schema/match-history-list-request.schema.json +48 -0
  468. package/schema/match-history-list-response.schema.json +25 -0
  469. package/schema/match-history-replay-request.schema.json +17 -0
  470. package/schema/match-history-replay-response.schema.json +14 -0
  471. package/schema/match-history-restore-request.schema.json +23 -0
  472. package/schema/match-save-payload.schema.json +71 -0
  473. package/schema/match-spectator-access-response.schema.json +22 -0
  474. package/schema/meta-window.schema.json +37 -0
  475. package/schema/meta-windows-response.schema.json +24 -0
  476. package/schema/prepare-lobby-limited-ai-decks-request.schema.json +14 -0
  477. package/schema/ranked-admin-status.schema.json +43 -0
  478. package/schema/ranked-leaderboard-entry.schema.json +61 -0
  479. package/schema/ranked-leaderboard-query.schema.json +34 -0
  480. package/schema/ranked-leaderboard-response.schema.json +23 -0
  481. package/schema/ranked-matchmaking-view.schema.json +15 -0
  482. package/schema/ranked-profile-request.schema.json +21 -0
  483. package/schema/ranked-profile-response.schema.json +59 -0
  484. package/schema/ranked-queue.schema.json +12 -0
  485. package/schema/rematch-match-request.schema.json +20 -0
  486. package/schema/rematch-match-response.schema.json +61 -0
  487. package/schema/resolve-card-ids-request.schema.json +17 -0
  488. package/schema/resolve-card-ids-response.schema.json +16 -0
  489. package/schema/restore-history-response.schema.json +15 -0
  490. package/schema/restore-match-save-request.schema.json +20 -0
  491. package/schema/restore-match-save-response.schema.json +29 -0
  492. package/schema/return-lobby-match-request.schema.json +13 -0
  493. package/schema/return-tournament-match-request.schema.json +14 -0
  494. package/schema/route-manifest.json +1014 -0
  495. package/schema/save-match-request.schema.json +15 -0
  496. package/schema/server-message.schema.json +192 -0
  497. package/schema/set-ai-paused-request.schema.json +19 -0
  498. package/schema/set-ai-paused-response.schema.json +18 -0
  499. package/schema/set-ranked-admission-request.schema.json +15 -0
  500. package/schema/set-simulator-maintenance-request.schema.json +20 -0
  501. package/schema/simulator-admin-status-response.schema.json +37 -0
  502. package/schema/simulator-availability-response.schema.json +27 -0
  503. package/schema/simulator-report-list-response.schema.json +23 -0
  504. package/schema/simulator-report-response.schema.json +77 -0
  505. package/schema/spectate-lobby-request.schema.json +32 -0
  506. package/schema/spectate-match-request.schema.json +32 -0
  507. package/schema/start-lobby-limited-match-request.schema.json +13 -0
  508. package/schema/start-lobby-request.schema.json +13 -0
  509. package/schema/start-tournament-event-request.schema.json +14 -0
  510. package/schema/submit-lobby-limited-deck-request.schema.json +33 -0
  511. package/schema/submit-match-deck-request.schema.json +45 -0
  512. package/schema/submit-match-deck-response.schema.json +14 -0
  513. package/schema/submit-tournament-deck-request.schema.json +34 -0
  514. package/schema/tournament-event-command-request.schema.json +18 -0
  515. package/schema/tournament-room-access-response.schema.json +32 -0
  516. package/schema/tournament-room-chat-request.schema.json +18 -0
  517. package/schema/tournament-room-chat-response.schema.json +18 -0
  518. package/schema/tournament-room-list-response.schema.json +17 -0
  519. package/schema/tournament-room-response.schema.json +14 -0
  520. package/schema/tournament-room-server-message.schema.json +127 -0
  521. package/schema/tournament-room-sync-request.schema.json +14 -0
  522. package/schema/undo-match-request.schema.json +14 -0
  523. package/schema/undo-match-response.schema.json +14 -0
  524. package/schema/undo-respond-match-request.schema.json +19 -0
  525. package/schema/update-lobby-ai-player-request.schema.json +65 -0
  526. package/schema/update-lobby-player-request.schema.json +81 -0
  527. package/schema/update-lobby-settings-request.schema.json +70 -0
  528. package/schema/update-tournament-room-player-request.schema.json +45 -0
  529. package/schema/update-tournament-room-settings-request.schema.json +33 -0
  530. package/schema/welcome-payload.schema.json +38 -0
@@ -0,0 +1,273 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "GameState",
4
+ "description": "Complete public projection of one match.\n\nBesides riding the wire, this type is embedded in persisted lobby and\ntournament records (per-player `startedAccess.access.snapshot`), so rows\nin storage keep whatever shape they were stored with. A field added\nwithout `#[serde(default)]` makes every older stored record fail strict\ndecode; either keep the default or extend the restoration tables in\n`swu-server/src/legacy_snapshots.rs` in the same change.",
5
+ "type": "object",
6
+ "properties": {
7
+ "actionAbilities": {
8
+ "type": "array",
9
+ "items": {
10
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/ActionAbilityView"
11
+ }
12
+ },
13
+ "activeEffects": {
14
+ "description": "Engine-authoritative outstanding public effects that are active now.",
15
+ "type": "array",
16
+ "items": {
17
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/ActiveEffectView"
18
+ }
19
+ },
20
+ "activePlayer": {
21
+ "anyOf": [
22
+ {
23
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/Seat"
24
+ },
25
+ {
26
+ "type": "null"
27
+ }
28
+ ]
29
+ },
30
+ "availableAttacks": {
31
+ "type": "array",
32
+ "items": {
33
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/AvailableAttackView"
34
+ }
35
+ },
36
+ "availableCounters": {
37
+ "type": "array",
38
+ "items": {
39
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/TwinSunsCounter"
40
+ }
41
+ },
42
+ "availableLeaderDeploys": {
43
+ "type": "array",
44
+ "items": {
45
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/LeaderDeployActionView"
46
+ }
47
+ },
48
+ "consecutivePasses": {
49
+ "type": "integer",
50
+ "format": "uint8",
51
+ "maximum": 255,
52
+ "minimum": 0
53
+ },
54
+ "currentAttack": {
55
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/CurrentAttackStateView"
56
+ },
57
+ "delayedEffects": {
58
+ "description": "Engine-authoritative outstanding public effects waiting on later timing.",
59
+ "type": "array",
60
+ "items": {
61
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/DelayedEffectView"
62
+ }
63
+ },
64
+ "eventsApplied": {
65
+ "type": "integer",
66
+ "format": "uint64",
67
+ "minimum": 0
68
+ },
69
+ "format": {
70
+ "description": "Match format requested at creation time.",
71
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/MatchFormat"
72
+ },
73
+ "gameTimer": {
74
+ "anyOf": [
75
+ {
76
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/GameTimerStateView"
77
+ },
78
+ {
79
+ "type": "null"
80
+ }
81
+ ]
82
+ },
83
+ "groundArena": {
84
+ "type": "array",
85
+ "items": {
86
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/UnitStateView"
87
+ }
88
+ },
89
+ "initiative": {
90
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/InitiativeState"
91
+ },
92
+ "leaderAction": {
93
+ "anyOf": [
94
+ {
95
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/LeaderActionView"
96
+ },
97
+ {
98
+ "type": "null"
99
+ }
100
+ ]
101
+ },
102
+ "matchId": {
103
+ "type": "string",
104
+ "format": "uuid"
105
+ },
106
+ "pendingAbilities": {
107
+ "description": "Abilities awaiting input, in presentation order only.\n\nIndex `0` has no semantic meaning: it is whichever ability the engine\ncollected first in the current simultaneous batch. Clients that need a\nspecific ability must match on its identity\n(`id` / `sourceCardId` / `sourceUnitId` / `window` / `clauseId` /\n`family`), never on position.",
108
+ "type": "array",
109
+ "items": {
110
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/PendingAbilityView"
111
+ }
112
+ },
113
+ "pendingChoice": {
114
+ "description": "The one prompt payload the viewer is being asked for, if any.",
115
+ "anyOf": [
116
+ {
117
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/PendingChoiceView"
118
+ },
119
+ {
120
+ "type": "null"
121
+ }
122
+ ]
123
+ },
124
+ "pendingUndo": {
125
+ "description": "Sensitive multiplayer undo waiting for approval from the other human\nseats. Fully public: every viewer (including spectators) sees the same\nrequest, only the prompt actions differ per seat client-side.",
126
+ "anyOf": [
127
+ {
128
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/PendingUndoRequest"
129
+ },
130
+ {
131
+ "type": "null"
132
+ }
133
+ ]
134
+ },
135
+ "phase": {
136
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/MatchPhase"
137
+ },
138
+ "playActions": {
139
+ "type": "array",
140
+ "items": {
141
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/PlayActionView"
142
+ }
143
+ },
144
+ "playerCount": {
145
+ "description": "Configured number of seats in clockwise order.",
146
+ "type": "integer",
147
+ "format": "uint8",
148
+ "maximum": 255,
149
+ "minimum": 0
150
+ },
151
+ "players": {
152
+ "type": "array",
153
+ "items": {
154
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/SeatState"
155
+ }
156
+ },
157
+ "prompt": {
158
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/PromptState"
159
+ },
160
+ "rejectedPlayReasons": {
161
+ "type": "array",
162
+ "items": {
163
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/RejectedPlayView"
164
+ }
165
+ },
166
+ "result": {
167
+ "anyOf": [
168
+ {
169
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/MatchResult"
170
+ },
171
+ {
172
+ "type": "null"
173
+ }
174
+ ]
175
+ },
176
+ "roundNumber": {
177
+ "type": "integer",
178
+ "format": "uint16",
179
+ "maximum": 65535,
180
+ "minimum": 0
181
+ },
182
+ "series": {
183
+ "description": "Multi-game and format-event state for this match.",
184
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/MatchSeriesView"
185
+ },
186
+ "spaceArena": {
187
+ "type": "array",
188
+ "items": {
189
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/UnitStateView"
190
+ }
191
+ },
192
+ "status": {
193
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/MatchStatus"
194
+ },
195
+ "trilogyFormat": {
196
+ "description": "Constructed legality profile selected for Trilogy deck validation.",
197
+ "anyOf": [
198
+ {
199
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/ConstructedFormat"
200
+ },
201
+ {
202
+ "type": "null"
203
+ }
204
+ ]
205
+ },
206
+ "turnPlayer": {
207
+ "description": "The seat whose action-phase *turn* is currently in progress.\n\nUse this — not `active_player` — to answer \"whose turn is it\". The engine\nreassigns `active_player` to whoever must resolve a forced prompt (e.g.\nthe opponent distributing indirect damage from your card), but the turn\nitself stays with the player who began it. `None` outside the action\nphase (lobby / setup / regroup / once the match is decided).",
208
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/NullableSeatView"
209
+ },
210
+ "twinSunsCounters": {
211
+ "anyOf": [
212
+ {
213
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/TwinSunsCountersView"
214
+ },
215
+ {
216
+ "type": "null"
217
+ }
218
+ ]
219
+ },
220
+ "undoDeclinedRequesters": {
221
+ "description": "Seats whose undo request was declined during the current turn; those\nseats cannot request an undo again until the next turn begins. Fully\npublic like the pending request itself.",
222
+ "type": "array",
223
+ "default": [],
224
+ "items": {
225
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/Seat"
226
+ }
227
+ },
228
+ "winner": {
229
+ "anyOf": [
230
+ {
231
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/Seat"
232
+ },
233
+ {
234
+ "type": "null"
235
+ }
236
+ ]
237
+ },
238
+ "winners": {
239
+ "type": "array",
240
+ "items": {
241
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/Seat"
242
+ }
243
+ }
244
+ },
245
+ "required": [
246
+ "matchId",
247
+ "format",
248
+ "playerCount",
249
+ "series",
250
+ "status",
251
+ "phase",
252
+ "prompt",
253
+ "roundNumber",
254
+ "turnPlayer",
255
+ "initiative",
256
+ "availableCounters",
257
+ "consecutivePasses",
258
+ "winners",
259
+ "eventsApplied",
260
+ "activeEffects",
261
+ "delayedEffects",
262
+ "currentAttack",
263
+ "pendingAbilities",
264
+ "availableLeaderDeploys",
265
+ "availableAttacks",
266
+ "playActions",
267
+ "rejectedPlayReasons",
268
+ "actionAbilities",
269
+ "groundArena",
270
+ "spaceArena",
271
+ "players"
272
+ ]
273
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "GetMatchResponse",
4
+ "type": "object",
5
+ "properties": {
6
+ "snapshot": {
7
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/GameState"
8
+ }
9
+ },
10
+ "required": [
11
+ "snapshot"
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "HealthResponse",
4
+ "type": "object",
5
+ "properties": {
6
+ "status": {
7
+ "type": "string"
8
+ }
9
+ },
10
+ "required": [
11
+ "status"
12
+ ]
13
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "JoinLimitedEventRequest",
4
+ "description": "Empty request body for joining one limited event.",
5
+ "type": "object"
6
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "JoinLobbyRequest",
4
+ "type": "object",
5
+ "properties": {
6
+ "authenticated": {
7
+ "description": "Whether the joining player is authenticated in the app.",
8
+ "type": "boolean"
9
+ },
10
+ "avatarUrl": {
11
+ "description": "Optional public avatar image URL for the joining player.",
12
+ "type": [
13
+ "string",
14
+ "null"
15
+ ]
16
+ },
17
+ "historyIdentities": {
18
+ "description": "Personal identities that should own this player's history.",
19
+ "type": "array",
20
+ "items": {
21
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/HistoryIdentityInput"
22
+ }
23
+ },
24
+ "name": {
25
+ "type": "string"
26
+ },
27
+ "profileUrl": {
28
+ "description": "Optional public profile page URL for the joining player.",
29
+ "type": [
30
+ "string",
31
+ "null"
32
+ ]
33
+ }
34
+ },
35
+ "required": [
36
+ "name",
37
+ "authenticated",
38
+ "historyIdentities"
39
+ ]
40
+ }
@@ -0,0 +1,79 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "JoinMatchRequest",
4
+ "type": "object",
5
+ "properties": {
6
+ "authenticated": {
7
+ "description": "Whether this player joined from an authenticated app session.",
8
+ "type": "boolean"
9
+ },
10
+ "avatarUrl": {
11
+ "description": "Optional public avatar image URL for this joining seat.",
12
+ "type": [
13
+ "string",
14
+ "null"
15
+ ]
16
+ },
17
+ "deck": {
18
+ "description": "Deck for the joining seat. Optional — a seat may join without a\ndeck and submit one later through\n`POST /api/matches/{match_id}/deck`; the seat cannot mark itself\nready until a deck has been submitted.",
19
+ "anyOf": [
20
+ {
21
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/DeckInput"
22
+ },
23
+ {
24
+ "type": "null"
25
+ }
26
+ ]
27
+ },
28
+ "deckId": {
29
+ "description": "Freeform client deck id for the submitted deck.",
30
+ "type": [
31
+ "string",
32
+ "null"
33
+ ]
34
+ },
35
+ "deckTitle": {
36
+ "description": "Display title for the submitted deck.",
37
+ "type": [
38
+ "string",
39
+ "null"
40
+ ]
41
+ },
42
+ "formatSetup": {
43
+ "description": "Optional setup data for formats that register more than one deck or a pool.",
44
+ "anyOf": [
45
+ {
46
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/FormatSetupInput"
47
+ },
48
+ {
49
+ "type": "null"
50
+ }
51
+ ]
52
+ },
53
+ "historyIdentities": {
54
+ "description": "Personal identities that should own this joined seat's history entry.",
55
+ "type": "array",
56
+ "items": {
57
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/HistoryIdentityInput"
58
+ }
59
+ },
60
+ "name": {
61
+ "description": "Optional human-friendly display name for this joining seat. Same\npurpose as `CreateMatchRequest::host_name` — populates\n`SeatState.name` so other viewers can render the player's name\ninstead of the seat enum.",
62
+ "type": [
63
+ "string",
64
+ "null"
65
+ ]
66
+ },
67
+ "profileUrl": {
68
+ "description": "Optional public profile page URL for this joining seat.",
69
+ "type": [
70
+ "string",
71
+ "null"
72
+ ]
73
+ }
74
+ },
75
+ "required": [
76
+ "authenticated",
77
+ "historyIdentities"
78
+ ]
79
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "JoinTournamentRoomRequest",
4
+ "description": "Request body for joining one tournament room.",
5
+ "type": "object",
6
+ "properties": {
7
+ "authenticated": {
8
+ "description": "Whether the joining player is authenticated in the app.",
9
+ "type": "boolean"
10
+ },
11
+ "avatarUrl": {
12
+ "type": [
13
+ "string",
14
+ "null"
15
+ ]
16
+ },
17
+ "historyIdentities": {
18
+ "description": "Personal identities that should own this player's history.",
19
+ "type": "array",
20
+ "items": {
21
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/HistoryIdentityInput"
22
+ }
23
+ },
24
+ "name": {
25
+ "type": "string"
26
+ },
27
+ "profileUrl": {
28
+ "type": [
29
+ "string",
30
+ "null"
31
+ ]
32
+ }
33
+ },
34
+ "required": [
35
+ "name",
36
+ "authenticated",
37
+ "historyIdentities"
38
+ ]
39
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "JoinTournamentTableRequest",
4
+ "description": "Request body for joining an open duel table.",
5
+ "type": "object",
6
+ "properties": {
7
+ "playerToken": {
8
+ "type": "string"
9
+ }
10
+ },
11
+ "required": [
12
+ "playerToken"
13
+ ]
14
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "KickLobbyPlayerRequest",
4
+ "type": "object",
5
+ "properties": {
6
+ "playerToken": {
7
+ "type": "string"
8
+ }
9
+ },
10
+ "required": [
11
+ "playerToken"
12
+ ]
13
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "KickLobbySpectatorRequest",
4
+ "description": "Authenticates a host request to remove one lobby spectator.",
5
+ "type": "object",
6
+ "properties": {
7
+ "playerToken": {
8
+ "type": "string"
9
+ }
10
+ },
11
+ "required": [
12
+ "playerToken"
13
+ ]
14
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "LeaveLobbyRequest",
4
+ "type": "object",
5
+ "properties": {
6
+ "playerToken": {
7
+ "type": "string"
8
+ }
9
+ },
10
+ "required": [
11
+ "playerToken"
12
+ ]
13
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "LeaveMatchRequest",
4
+ "description": "Authenticated request to record an intentional multiplayer departure.",
5
+ "type": "object",
6
+ "properties": {
7
+ "seatToken": {
8
+ "description": "Player seat credential; spectator credentials are never accepted.",
9
+ "type": "string"
10
+ }
11
+ },
12
+ "required": [
13
+ "seatToken"
14
+ ]
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "LeaveMatchResponse",
4
+ "description": "Confirmation that a durable match-presence entry was recorded.",
5
+ "type": "object",
6
+ "properties": {
7
+ "matchId": {
8
+ "type": "string",
9
+ "format": "uuid"
10
+ }
11
+ },
12
+ "required": [
13
+ "matchId"
14
+ ]
15
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "LeaveTournamentRoomRequest",
4
+ "description": "Request body for recording an intentional tournament-room departure.",
5
+ "type": "object",
6
+ "properties": {
7
+ "playerToken": {
8
+ "type": "string"
9
+ }
10
+ },
11
+ "required": [
12
+ "playerToken"
13
+ ]
14
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "LimitedEventAccessResponse",
4
+ "description": "Response returned when a seat creates or joins one event.",
5
+ "type": "object",
6
+ "properties": {
7
+ "eventId": {
8
+ "description": "Limited event id.",
9
+ "type": "string",
10
+ "format": "uuid"
11
+ },
12
+ "seatIndex": {
13
+ "description": "Zero-based seat index inside the pod.",
14
+ "type": "integer",
15
+ "format": "uint8",
16
+ "maximum": 255,
17
+ "minimum": 0
18
+ },
19
+ "seatToken": {
20
+ "description": "Secret token used by this seat.",
21
+ "type": "string"
22
+ },
23
+ "snapshot": {
24
+ "description": "Snapshot visible to this seat.",
25
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/LimitedEventSnapshot"
26
+ }
27
+ },
28
+ "required": [
29
+ "eventId",
30
+ "seatIndex",
31
+ "seatToken",
32
+ "snapshot"
33
+ ]
34
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "LimitedEventCommandRequest",
4
+ "description": "Command request body for a limited event.",
5
+ "type": "object",
6
+ "properties": {
7
+ "command": {
8
+ "description": "Command to apply.",
9
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/LimitedEventCommand"
10
+ },
11
+ "seatToken": {
12
+ "description": "Seat token returned by create or join.",
13
+ "type": "string"
14
+ }
15
+ },
16
+ "required": [
17
+ "seatToken",
18
+ "command"
19
+ ]
20
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "LimitedEventPreflightResponse",
4
+ "description": "Read-only limited-event pack-generation check.",
5
+ "type": "object",
6
+ "properties": {
7
+ "issues": {
8
+ "description": "Empty when every required booster pack can be generated.",
9
+ "type": "array",
10
+ "items": {
11
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/LimitedEventPreflightIssue"
12
+ }
13
+ },
14
+ "seed": {
15
+ "description": "Deterministic seed used by successful creation after this check.",
16
+ "type": "integer",
17
+ "format": "uint64",
18
+ "minimum": 0
19
+ }
20
+ },
21
+ "required": [
22
+ "seed",
23
+ "issues"
24
+ ]
25
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "LimitedEventResponse",
4
+ "description": "Response body for limited event fetches and commands.",
5
+ "type": "object",
6
+ "properties": {
7
+ "snapshot": {
8
+ "description": "Snapshot visible to current requester.",
9
+ "$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/LimitedEventSnapshot"
10
+ }
11
+ },
12
+ "required": [
13
+ "snapshot"
14
+ ]
15
+ }