@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.
- package/LICENSE +21 -0
- package/README.md +355 -0
- package/dist/actionable.d.ts +61 -0
- package/dist/actionable.js +91 -0
- package/dist/client.d.ts +157 -0
- package/dist/client.js +92 -0
- package/dist/connection/handshake.d.ts +30 -0
- package/dist/connection/handshake.js +62 -0
- package/dist/connection/options.d.ts +36 -0
- package/dist/connection/options.js +1 -0
- package/dist/connection/url.d.ts +55 -0
- package/dist/connection/url.js +46 -0
- package/dist/connection/wait.d.ts +22 -0
- package/dist/connection/wait.js +10 -0
- package/dist/connection.d.ts +110 -0
- package/dist/connection.js +358 -0
- package/dist/generated/index.d.ts +121 -0
- package/dist/generated/index.js +1 -0
- package/dist/generated/public-types.d.ts +2 -0
- package/dist/generated/public-types.js +1 -0
- package/dist/generated/schemas.d.ts +27 -0
- package/dist/generated/schemas.js +21264 -0
- package/dist/generated/types/abandon-match-request.d.ts +1 -0
- package/dist/generated/types/abandon-match-request.js +2 -0
- package/dist/generated/types/abandon-match-response.d.ts +1 -0
- package/dist/generated/types/abandon-match-response.js +2 -0
- package/dist/generated/types/add-lobby-ai-player-request.d.ts +1 -0
- package/dist/generated/types/add-lobby-ai-player-request.js +2 -0
- package/dist/generated/types/ai-driver-error-report-list-response.d.ts +1 -0
- package/dist/generated/types/ai-driver-error-report-list-response.js +2 -0
- package/dist/generated/types/ai-driver-error-report-response.d.ts +1 -0
- package/dist/generated/types/ai-driver-error-report-response.js +2 -0
- package/dist/generated/types/api-error-response.d.ts +1 -0
- package/dist/generated/types/api-error-response.js +2 -0
- package/dist/generated/types/card-catalog-refresh-response.d.ts +1 -0
- package/dist/generated/types/card-catalog-refresh-response.js +2 -0
- package/dist/generated/types/cards-response.d.ts +1 -0
- package/dist/generated/types/cards-response.js +2 -0
- package/dist/generated/types/client-message.d.ts +1 -0
- package/dist/generated/types/client-message.js +2 -0
- package/dist/generated/types/close-tournament-room-request.d.ts +1 -0
- package/dist/generated/types/close-tournament-room-request.js +2 -0
- package/dist/generated/types/common.d.ts +5361 -0
- package/dist/generated/types/common.js +2 -0
- package/dist/generated/types/covered-cards-response.d.ts +47 -0
- package/dist/generated/types/covered-cards-response.js +2 -0
- package/dist/generated/types/create-limited-event-request.d.ts +1 -0
- package/dist/generated/types/create-limited-event-request.js +2 -0
- package/dist/generated/types/create-lobby-request.d.ts +1 -0
- package/dist/generated/types/create-lobby-request.js +2 -0
- package/dist/generated/types/create-match-request.d.ts +1 -0
- package/dist/generated/types/create-match-request.js +2 -0
- package/dist/generated/types/create-meta-window-request.d.ts +1 -0
- package/dist/generated/types/create-meta-window-request.js +2 -0
- package/dist/generated/types/create-tournament-room-request.d.ts +1 -0
- package/dist/generated/types/create-tournament-room-request.js +2 -0
- package/dist/generated/types/create-tournament-table-request.d.ts +1 -0
- package/dist/generated/types/create-tournament-table-request.js +2 -0
- package/dist/generated/types/error-payload.d.ts +1 -0
- package/dist/generated/types/error-payload.js +2 -0
- package/dist/generated/types/format-event-request.d.ts +1 -0
- package/dist/generated/types/format-event-request.js +2 -0
- package/dist/generated/types/format-event-response.d.ts +1 -0
- package/dist/generated/types/format-event-response.js +2 -0
- package/dist/generated/types/game-command.d.ts +1 -0
- package/dist/generated/types/game-command.js +2 -0
- package/dist/generated/types/game-event.d.ts +1 -0
- package/dist/generated/types/game-event.js +2 -0
- package/dist/generated/types/game-state.d.ts +1 -0
- package/dist/generated/types/game-state.js +2 -0
- package/dist/generated/types/get-match-response.d.ts +1 -0
- package/dist/generated/types/get-match-response.js +2 -0
- package/dist/generated/types/health-response.d.ts +1 -0
- package/dist/generated/types/health-response.js +2 -0
- package/dist/generated/types/join-limited-event-request.d.ts +1 -0
- package/dist/generated/types/join-limited-event-request.js +2 -0
- package/dist/generated/types/join-lobby-request.d.ts +1 -0
- package/dist/generated/types/join-lobby-request.js +2 -0
- package/dist/generated/types/join-match-request.d.ts +1 -0
- package/dist/generated/types/join-match-request.js +2 -0
- package/dist/generated/types/join-tournament-room-request.d.ts +1 -0
- package/dist/generated/types/join-tournament-room-request.js +2 -0
- package/dist/generated/types/join-tournament-table-request.d.ts +1 -0
- package/dist/generated/types/join-tournament-table-request.js +2 -0
- package/dist/generated/types/kick-lobby-player-request.d.ts +1 -0
- package/dist/generated/types/kick-lobby-player-request.js +2 -0
- package/dist/generated/types/kick-lobby-spectator-request.d.ts +1 -0
- package/dist/generated/types/kick-lobby-spectator-request.js +2 -0
- package/dist/generated/types/leave-lobby-request.d.ts +1 -0
- package/dist/generated/types/leave-lobby-request.js +2 -0
- package/dist/generated/types/leave-match-request.d.ts +1 -0
- package/dist/generated/types/leave-match-request.js +2 -0
- package/dist/generated/types/leave-match-response.d.ts +1 -0
- package/dist/generated/types/leave-match-response.js +2 -0
- package/dist/generated/types/leave-tournament-room-request.d.ts +1 -0
- package/dist/generated/types/leave-tournament-room-request.js +2 -0
- package/dist/generated/types/limited-event-access-response.d.ts +1 -0
- package/dist/generated/types/limited-event-access-response.js +2 -0
- package/dist/generated/types/limited-event-command-request.d.ts +1 -0
- package/dist/generated/types/limited-event-command-request.js +2 -0
- package/dist/generated/types/limited-event-preflight-response.d.ts +1 -0
- package/dist/generated/types/limited-event-preflight-response.js +2 -0
- package/dist/generated/types/limited-event-response.d.ts +1 -0
- package/dist/generated/types/limited-event-response.js +2 -0
- package/dist/generated/types/list-active-ai-matches-request.d.ts +1 -0
- package/dist/generated/types/list-active-ai-matches-request.js +2 -0
- package/dist/generated/types/list-active-ai-matches-response.d.ts +1 -0
- package/dist/generated/types/list-active-ai-matches-response.js +2 -0
- package/dist/generated/types/lobby-access-response.d.ts +1 -0
- package/dist/generated/types/lobby-access-response.js +2 -0
- package/dist/generated/types/lobby-chat-request.d.ts +1 -0
- package/dist/generated/types/lobby-chat-request.js +2 -0
- package/dist/generated/types/lobby-chat-response.d.ts +1 -0
- package/dist/generated/types/lobby-chat-response.js +2 -0
- package/dist/generated/types/lobby-list-response.d.ts +1 -0
- package/dist/generated/types/lobby-list-response.js +2 -0
- package/dist/generated/types/lobby-list-server-message.d.ts +1 -0
- package/dist/generated/types/lobby-list-server-message.js +2 -0
- package/dist/generated/types/lobby-matchmaking-decision-request.d.ts +1 -0
- package/dist/generated/types/lobby-matchmaking-decision-request.js +2 -0
- package/dist/generated/types/lobby-matchmaking-request.d.ts +1 -0
- package/dist/generated/types/lobby-matchmaking-request.js +2 -0
- package/dist/generated/types/lobby-response.d.ts +1 -0
- package/dist/generated/types/lobby-response.js +2 -0
- package/dist/generated/types/lobby-server-message.d.ts +1 -0
- package/dist/generated/types/lobby-server-message.js +2 -0
- package/dist/generated/types/lobby-sync-request.d.ts +1 -0
- package/dist/generated/types/lobby-sync-request.js +2 -0
- package/dist/generated/types/match-access-response.d.ts +1 -0
- package/dist/generated/types/match-access-response.js +2 -0
- package/dist/generated/types/match-chat-lookup-response.d.ts +1 -0
- package/dist/generated/types/match-chat-lookup-response.js +2 -0
- package/dist/generated/types/match-connection-role.d.ts +1 -0
- package/dist/generated/types/match-connection-role.js +2 -0
- package/dist/generated/types/match-history-deck-stats-request.d.ts +1 -0
- package/dist/generated/types/match-history-deck-stats-request.js +2 -0
- package/dist/generated/types/match-history-deck-stats-response.d.ts +1 -0
- package/dist/generated/types/match-history-deck-stats-response.js +2 -0
- package/dist/generated/types/match-history-entry.d.ts +1 -0
- package/dist/generated/types/match-history-entry.js +2 -0
- package/dist/generated/types/match-history-list-request.d.ts +1 -0
- package/dist/generated/types/match-history-list-request.js +2 -0
- package/dist/generated/types/match-history-list-response.d.ts +1 -0
- package/dist/generated/types/match-history-list-response.js +2 -0
- package/dist/generated/types/match-history-replay-request.d.ts +1 -0
- package/dist/generated/types/match-history-replay-request.js +2 -0
- package/dist/generated/types/match-history-replay-response.d.ts +1 -0
- package/dist/generated/types/match-history-replay-response.js +2 -0
- package/dist/generated/types/match-history-restore-request.d.ts +1 -0
- package/dist/generated/types/match-history-restore-request.js +2 -0
- package/dist/generated/types/match-save-payload.d.ts +1 -0
- package/dist/generated/types/match-save-payload.js +2 -0
- package/dist/generated/types/match-spectator-access-response.d.ts +1 -0
- package/dist/generated/types/match-spectator-access-response.js +2 -0
- package/dist/generated/types/meta-window.d.ts +1 -0
- package/dist/generated/types/meta-window.js +2 -0
- package/dist/generated/types/meta-windows-response.d.ts +1 -0
- package/dist/generated/types/meta-windows-response.js +2 -0
- package/dist/generated/types/prepare-lobby-limited-ai-decks-request.d.ts +1 -0
- package/dist/generated/types/prepare-lobby-limited-ai-decks-request.js +2 -0
- package/dist/generated/types/random-lobby-matchmaking-request.d.ts +173 -0
- package/dist/generated/types/random-lobby-matchmaking-request.js +2 -0
- package/dist/generated/types/ranked-admin-status.d.ts +1 -0
- package/dist/generated/types/ranked-admin-status.js +2 -0
- package/dist/generated/types/ranked-leaderboard-entry.d.ts +1 -0
- package/dist/generated/types/ranked-leaderboard-entry.js +2 -0
- package/dist/generated/types/ranked-leaderboard-query.d.ts +1 -0
- package/dist/generated/types/ranked-leaderboard-query.js +2 -0
- package/dist/generated/types/ranked-leaderboard-response.d.ts +1 -0
- package/dist/generated/types/ranked-leaderboard-response.js +2 -0
- package/dist/generated/types/ranked-matchmaking-request.d.ts +137 -0
- package/dist/generated/types/ranked-matchmaking-request.js +2 -0
- package/dist/generated/types/ranked-matchmaking-view.d.ts +1 -0
- package/dist/generated/types/ranked-matchmaking-view.js +2 -0
- package/dist/generated/types/ranked-profile-request.d.ts +1 -0
- package/dist/generated/types/ranked-profile-request.js +2 -0
- package/dist/generated/types/ranked-profile-response.d.ts +1 -0
- package/dist/generated/types/ranked-profile-response.js +2 -0
- package/dist/generated/types/ranked-queue.d.ts +1 -0
- package/dist/generated/types/ranked-queue.js +2 -0
- package/dist/generated/types/ready-tournament-table-request.d.ts +7 -0
- package/dist/generated/types/ready-tournament-table-request.js +2 -0
- package/dist/generated/types/rematch-match-request.d.ts +1 -0
- package/dist/generated/types/rematch-match-request.js +2 -0
- package/dist/generated/types/rematch-match-response.d.ts +1 -0
- package/dist/generated/types/rematch-match-response.js +2 -0
- package/dist/generated/types/resolve-card-ids-request.d.ts +1 -0
- package/dist/generated/types/resolve-card-ids-request.js +2 -0
- package/dist/generated/types/resolve-card-ids-response.d.ts +1 -0
- package/dist/generated/types/resolve-card-ids-response.js +2 -0
- package/dist/generated/types/restore-history-response.d.ts +1 -0
- package/dist/generated/types/restore-history-response.js +2 -0
- package/dist/generated/types/restore-match-save-request.d.ts +1 -0
- package/dist/generated/types/restore-match-save-request.js +2 -0
- package/dist/generated/types/restore-match-save-response.d.ts +1 -0
- package/dist/generated/types/restore-match-save-response.js +2 -0
- package/dist/generated/types/return-lobby-match-request.d.ts +1 -0
- package/dist/generated/types/return-lobby-match-request.js +2 -0
- package/dist/generated/types/return-tournament-match-request.d.ts +1 -0
- package/dist/generated/types/return-tournament-match-request.js +2 -0
- package/dist/generated/types/save-match-request.d.ts +1 -0
- package/dist/generated/types/save-match-request.js +2 -0
- package/dist/generated/types/server-message.d.ts +1 -0
- package/dist/generated/types/server-message.js +2 -0
- package/dist/generated/types/set-ai-paused-request.d.ts +1 -0
- package/dist/generated/types/set-ai-paused-request.js +2 -0
- package/dist/generated/types/set-ai-paused-response.d.ts +1 -0
- package/dist/generated/types/set-ai-paused-response.js +2 -0
- package/dist/generated/types/set-ranked-admission-request.d.ts +1 -0
- package/dist/generated/types/set-ranked-admission-request.js +2 -0
- package/dist/generated/types/set-simulator-maintenance-request.d.ts +1 -0
- package/dist/generated/types/set-simulator-maintenance-request.js +2 -0
- package/dist/generated/types/simulator-admin-status-response.d.ts +1 -0
- package/dist/generated/types/simulator-admin-status-response.js +2 -0
- package/dist/generated/types/simulator-availability-response.d.ts +1 -0
- package/dist/generated/types/simulator-availability-response.js +2 -0
- package/dist/generated/types/simulator-report-list-response.d.ts +1 -0
- package/dist/generated/types/simulator-report-list-response.js +2 -0
- package/dist/generated/types/simulator-report-response.d.ts +1 -0
- package/dist/generated/types/simulator-report-response.js +2 -0
- package/dist/generated/types/spectate-lobby-request.d.ts +1 -0
- package/dist/generated/types/spectate-lobby-request.js +2 -0
- package/dist/generated/types/spectate-match-request.d.ts +1 -0
- package/dist/generated/types/spectate-match-request.js +2 -0
- package/dist/generated/types/start-lobby-limited-match-request.d.ts +1 -0
- package/dist/generated/types/start-lobby-limited-match-request.js +2 -0
- package/dist/generated/types/start-lobby-request.d.ts +1 -0
- package/dist/generated/types/start-lobby-request.js +2 -0
- package/dist/generated/types/start-tournament-event-request.d.ts +1 -0
- package/dist/generated/types/start-tournament-event-request.js +2 -0
- package/dist/generated/types/stats-response.d.ts +5 -0
- package/dist/generated/types/stats-response.js +2 -0
- package/dist/generated/types/submit-lobby-limited-deck-request.d.ts +1 -0
- package/dist/generated/types/submit-lobby-limited-deck-request.js +2 -0
- package/dist/generated/types/submit-match-deck-request.d.ts +1 -0
- package/dist/generated/types/submit-match-deck-request.js +2 -0
- package/dist/generated/types/submit-match-deck-response.d.ts +1 -0
- package/dist/generated/types/submit-match-deck-response.js +2 -0
- package/dist/generated/types/submit-tournament-deck-request.d.ts +1 -0
- package/dist/generated/types/submit-tournament-deck-request.js +2 -0
- package/dist/generated/types/tournament-event-command-request.d.ts +1 -0
- package/dist/generated/types/tournament-event-command-request.js +2 -0
- package/dist/generated/types/tournament-room-access-response.d.ts +1 -0
- package/dist/generated/types/tournament-room-access-response.js +2 -0
- package/dist/generated/types/tournament-room-chat-request.d.ts +1 -0
- package/dist/generated/types/tournament-room-chat-request.js +2 -0
- package/dist/generated/types/tournament-room-chat-response.d.ts +1 -0
- package/dist/generated/types/tournament-room-chat-response.js +2 -0
- package/dist/generated/types/tournament-room-list-response.d.ts +1 -0
- package/dist/generated/types/tournament-room-list-response.js +2 -0
- package/dist/generated/types/tournament-room-response.d.ts +1 -0
- package/dist/generated/types/tournament-room-response.js +2 -0
- package/dist/generated/types/tournament-room-server-message.d.ts +1 -0
- package/dist/generated/types/tournament-room-server-message.js +2 -0
- package/dist/generated/types/tournament-room-sync-request.d.ts +1 -0
- package/dist/generated/types/tournament-room-sync-request.js +2 -0
- package/dist/generated/types/undo-match-request.d.ts +1 -0
- package/dist/generated/types/undo-match-request.js +2 -0
- package/dist/generated/types/undo-match-response.d.ts +1 -0
- package/dist/generated/types/undo-match-response.js +2 -0
- package/dist/generated/types/undo-respond-match-request.d.ts +1 -0
- package/dist/generated/types/undo-respond-match-request.js +2 -0
- package/dist/generated/types/update-lobby-ai-player-request.d.ts +1 -0
- package/dist/generated/types/update-lobby-ai-player-request.js +2 -0
- package/dist/generated/types/update-lobby-player-request.d.ts +1 -0
- package/dist/generated/types/update-lobby-player-request.js +2 -0
- package/dist/generated/types/update-lobby-settings-request.d.ts +1 -0
- package/dist/generated/types/update-lobby-settings-request.js +2 -0
- package/dist/generated/types/update-tournament-room-player-request.d.ts +1 -0
- package/dist/generated/types/update-tournament-room-player-request.js +2 -0
- package/dist/generated/types/update-tournament-room-settings-request.d.ts +1 -0
- package/dist/generated/types/update-tournament-room-settings-request.js +2 -0
- package/dist/generated/types/update-tournament-table-deck-request.d.ts +123 -0
- package/dist/generated/types/update-tournament-table-deck-request.js +2 -0
- package/dist/generated/types/welcome-payload.d.ts +1 -0
- package/dist/generated/types/welcome-payload.js +2 -0
- package/dist/generated/version.d.ts +16 -0
- package/dist/generated/version.js +16 -0
- package/dist/http/abort.d.ts +57 -0
- package/dist/http/abort.js +60 -0
- package/dist/http/json.d.ts +13 -0
- package/dist/http/json.js +24 -0
- package/dist/http/options.d.ts +40 -0
- package/dist/http/options.js +1 -0
- package/dist/http/request.d.ts +64 -0
- package/dist/http/request.js +182 -0
- package/dist/http/validated-json.d.ts +9 -0
- package/dist/http/validated-json.js +14 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.js +10 -0
- package/dist/internal/abort-error.d.ts +91 -0
- package/dist/internal/abort-error.js +62 -0
- package/dist/internal/authenticated-socket-session.d.ts +63 -0
- package/dist/internal/authenticated-socket-session.js +170 -0
- package/dist/internal/emitter.d.ts +18 -0
- package/dist/internal/emitter.js +34 -0
- package/dist/internal/errors.d.ts +233 -0
- package/dist/internal/errors.js +238 -0
- package/dist/internal/limits.d.ts +13 -0
- package/dist/internal/limits.js +13 -0
- package/dist/internal/reconnect-backoff.d.ts +33 -0
- package/dist/internal/reconnect-backoff.js +25 -0
- package/dist/internal/socket-frame.d.ts +43 -0
- package/dist/internal/socket-frame.js +47 -0
- package/dist/internal/transport.d.ts +78 -0
- package/dist/internal/transport.js +18 -0
- package/dist/internal/websocket-event.d.ts +15 -0
- package/dist/internal/websocket-event.js +31 -0
- package/dist/local/assets.d.ts +96 -0
- package/dist/local/assets.js +235 -0
- package/dist/local/client.d.ts +32 -0
- package/dist/local/client.js +211 -0
- package/dist/local/engine.d.ts +79 -0
- package/dist/local/engine.js +6 -0
- package/dist/local/index.d.ts +20 -0
- package/dist/local/index.js +17 -0
- package/dist/local/offline-engine.d.ts +46 -0
- package/dist/local/offline-engine.js +74 -0
- package/dist/local/protocol.d.ts +95 -0
- package/dist/local/protocol.js +10 -0
- package/dist/local/routing.d.ts +52 -0
- package/dist/local/routing.js +193 -0
- package/dist/local/server/ai-scheduler.d.ts +31 -0
- package/dist/local/server/ai-scheduler.js +93 -0
- package/dist/local/server/http-router.d.ts +35 -0
- package/dist/local/server/http-router.js +185 -0
- package/dist/local/server/index.d.ts +16 -0
- package/dist/local/server/index.js +140 -0
- package/dist/local/server/sockets.d.ts +25 -0
- package/dist/local/server/sockets.js +141 -0
- package/dist/local/wasm-engine.d.ts +61 -0
- package/dist/local/wasm-engine.js +63 -0
- package/dist/local/worker-boot.d.ts +17 -0
- package/dist/local/worker-boot.js +76 -0
- package/dist/local/worker.d.ts +6 -0
- package/dist/local/worker.js +9 -0
- package/dist/match-session/access.d.ts +6 -0
- package/dist/match-session/access.js +8 -0
- package/dist/match-session/controller.d.ts +63 -0
- package/dist/match-session/controller.js +513 -0
- package/dist/match-session/errors.d.ts +3 -0
- package/dist/match-session/errors.js +34 -0
- package/dist/match-session/methods.d.ts +433 -0
- package/dist/match-session/methods.js +1 -0
- package/dist/match-session/session-state.d.ts +235 -0
- package/dist/match-session/session-state.js +1 -0
- package/dist/match-session/types.d.ts +56 -0
- package/dist/match-session/types.js +1 -0
- package/dist/match-session.d.ts +3 -0
- package/dist/match-session.js +1 -0
- package/dist/messages.d.ts +195 -0
- package/dist/messages.js +240 -0
- package/dist/resources/admin.d.ts +63 -0
- package/dist/resources/admin.js +75 -0
- package/dist/resources/card-deck-json.d.ts +11 -0
- package/dist/resources/card-deck-json.js +164 -0
- package/dist/resources/card-resolution.d.ts +9 -0
- package/dist/resources/card-resolution.js +21 -0
- package/dist/resources/card-resource.d.ts +157 -0
- package/dist/resources/card-resource.js +28 -0
- package/dist/resources/card-types.d.ts +203 -0
- package/dist/resources/card-types.js +1 -0
- package/dist/resources/cards.d.ts +3 -0
- package/dist/resources/cards.js +1 -0
- package/dist/resources/limited-event-types.d.ts +252 -0
- package/dist/resources/limited-event-types.js +1 -0
- package/dist/resources/limited-events.d.ts +7 -0
- package/dist/resources/limited-events.js +49 -0
- package/dist/resources/lobbies.d.ts +53 -0
- package/dist/resources/lobbies.js +50 -0
- package/dist/resources/lobby-list-session.d.ts +13 -0
- package/dist/resources/lobby-list-session.js +198 -0
- package/dist/resources/lobby-session.d.ts +9 -0
- package/dist/resources/lobby-session.js +59 -0
- package/dist/resources/lobby-types.d.ts +357 -0
- package/dist/resources/lobby-types.js +1 -0
- package/dist/resources/match-history.d.ts +49 -0
- package/dist/resources/match-history.js +34 -0
- package/dist/resources/match-types.d.ts +448 -0
- package/dist/resources/match-types.js +1 -0
- package/dist/resources/matches.d.ts +16 -0
- package/dist/resources/matches.js +109 -0
- package/dist/resources/ranked.d.ts +24 -0
- package/dist/resources/ranked.js +47 -0
- package/dist/resources/session.d.ts +62 -0
- package/dist/resources/session.js +26 -0
- package/dist/resources/system.d.ts +51 -0
- package/dist/resources/system.js +9 -0
- package/dist/resources/tournament-room-session.d.ts +9 -0
- package/dist/resources/tournament-room-session.js +53 -0
- package/dist/resources/tournament-room-types.d.ts +44 -0
- package/dist/resources/tournament-room-types.js +1 -0
- package/dist/resources/tournament-rooms.d.ts +33 -0
- package/dist/resources/tournament-rooms.js +33 -0
- package/dist/session.d.ts +56 -0
- package/dist/session.js +1 -0
- package/dist/types.d.ts +73 -0
- package/dist/types.js +27 -0
- package/dist/validators/ajv.d.ts +51 -0
- package/dist/validators/ajv.js +121 -0
- package/dist/validators/discriminants.d.ts +36 -0
- package/dist/validators/discriminants.js +89 -0
- package/dist/validators/validator.d.ts +73 -0
- package/dist/validators/validator.js +26 -0
- package/dist/validators/warm-up.d.ts +25 -0
- package/dist/validators/warm-up.js +59 -0
- package/dist/validators.d.ts +173 -0
- package/dist/validators.js +85 -0
- package/package.json +88 -0
- package/schema/abandon-match-request.schema.json +15 -0
- package/schema/abandon-match-response.schema.json +15 -0
- package/schema/add-lobby-ai-player-request.schema.json +53 -0
- package/schema/api-error-response.schema.json +13 -0
- package/schema/card-catalog-refresh-response.schema.json +31 -0
- package/schema/cards-response.schema.json +17 -0
- package/schema/client-message.schema.json +203 -0
- package/schema/close-tournament-room-request.schema.json +18 -0
- package/schema/common.schema.json +14129 -0
- package/schema/create-limited-event-request.schema.json +60 -0
- package/schema/create-lobby-request.schema.json +67 -0
- package/schema/create-match-request.schema.json +124 -0
- package/schema/create-meta-window-request.schema.json +27 -0
- package/schema/create-tournament-room-request.schema.json +104 -0
- package/schema/create-tournament-table-request.schema.json +14 -0
- package/schema/error-payload.schema.json +34 -0
- package/schema/format-event-request.schema.json +20 -0
- package/schema/format-event-response.schema.json +15 -0
- package/schema/game-command.schema.json +775 -0
- package/schema/game-event.schema.json +2012 -0
- package/schema/game-state.schema.json +273 -0
- package/schema/get-match-response.schema.json +13 -0
- package/schema/health-response.schema.json +13 -0
- package/schema/join-limited-event-request.schema.json +6 -0
- package/schema/join-lobby-request.schema.json +40 -0
- package/schema/join-match-request.schema.json +79 -0
- package/schema/join-tournament-room-request.schema.json +39 -0
- package/schema/join-tournament-table-request.schema.json +14 -0
- package/schema/kick-lobby-player-request.schema.json +13 -0
- package/schema/kick-lobby-spectator-request.schema.json +14 -0
- package/schema/leave-lobby-request.schema.json +13 -0
- package/schema/leave-match-request.schema.json +15 -0
- package/schema/leave-match-response.schema.json +15 -0
- package/schema/leave-tournament-room-request.schema.json +14 -0
- package/schema/limited-event-access-response.schema.json +34 -0
- package/schema/limited-event-command-request.schema.json +20 -0
- package/schema/limited-event-preflight-response.schema.json +25 -0
- package/schema/limited-event-response.schema.json +15 -0
- package/schema/list-active-ai-matches-request.schema.json +23 -0
- package/schema/list-active-ai-matches-response.schema.json +17 -0
- package/schema/lobby-access-response.schema.json +31 -0
- package/schema/lobby-chat-request.schema.json +17 -0
- package/schema/lobby-chat-response.schema.json +17 -0
- package/schema/lobby-list-response.schema.json +16 -0
- package/schema/lobby-list-server-message.schema.json +49 -0
- package/schema/lobby-matchmaking-decision-request.schema.json +13 -0
- package/schema/lobby-matchmaking-request.schema.json +80 -0
- package/schema/lobby-response.schema.json +13 -0
- package/schema/lobby-server-message.schema.json +155 -0
- package/schema/lobby-sync-request.schema.json +13 -0
- package/schema/manifest.json +124 -0
- package/schema/match-access-response.schema.json +32 -0
- package/schema/match-chat-lookup-response.schema.json +34 -0
- package/schema/match-connection-role.schema.json +9 -0
- package/schema/match-history-deck-stats-request.schema.json +26 -0
- package/schema/match-history-deck-stats-response.schema.json +17 -0
- package/schema/match-history-entry.schema.json +78 -0
- package/schema/match-history-list-request.schema.json +48 -0
- package/schema/match-history-list-response.schema.json +25 -0
- package/schema/match-history-replay-request.schema.json +17 -0
- package/schema/match-history-replay-response.schema.json +14 -0
- package/schema/match-history-restore-request.schema.json +23 -0
- package/schema/match-save-payload.schema.json +71 -0
- package/schema/match-spectator-access-response.schema.json +22 -0
- package/schema/meta-window.schema.json +37 -0
- package/schema/meta-windows-response.schema.json +24 -0
- package/schema/prepare-lobby-limited-ai-decks-request.schema.json +14 -0
- package/schema/ranked-admin-status.schema.json +43 -0
- package/schema/ranked-leaderboard-entry.schema.json +61 -0
- package/schema/ranked-leaderboard-query.schema.json +34 -0
- package/schema/ranked-leaderboard-response.schema.json +23 -0
- package/schema/ranked-matchmaking-view.schema.json +15 -0
- package/schema/ranked-profile-request.schema.json +21 -0
- package/schema/ranked-profile-response.schema.json +59 -0
- package/schema/ranked-queue.schema.json +12 -0
- package/schema/rematch-match-request.schema.json +20 -0
- package/schema/rematch-match-response.schema.json +61 -0
- package/schema/resolve-card-ids-request.schema.json +17 -0
- package/schema/resolve-card-ids-response.schema.json +16 -0
- package/schema/restore-history-response.schema.json +15 -0
- package/schema/restore-match-save-request.schema.json +20 -0
- package/schema/restore-match-save-response.schema.json +29 -0
- package/schema/return-lobby-match-request.schema.json +13 -0
- package/schema/return-tournament-match-request.schema.json +14 -0
- package/schema/route-manifest.json +1014 -0
- package/schema/save-match-request.schema.json +15 -0
- package/schema/server-message.schema.json +192 -0
- package/schema/set-ai-paused-request.schema.json +19 -0
- package/schema/set-ai-paused-response.schema.json +18 -0
- package/schema/set-ranked-admission-request.schema.json +15 -0
- package/schema/set-simulator-maintenance-request.schema.json +20 -0
- package/schema/simulator-admin-status-response.schema.json +37 -0
- package/schema/simulator-availability-response.schema.json +27 -0
- package/schema/simulator-report-list-response.schema.json +23 -0
- package/schema/simulator-report-response.schema.json +77 -0
- package/schema/spectate-lobby-request.schema.json +32 -0
- package/schema/spectate-match-request.schema.json +32 -0
- package/schema/start-lobby-limited-match-request.schema.json +13 -0
- package/schema/start-lobby-request.schema.json +13 -0
- package/schema/start-tournament-event-request.schema.json +14 -0
- package/schema/submit-lobby-limited-deck-request.schema.json +33 -0
- package/schema/submit-match-deck-request.schema.json +45 -0
- package/schema/submit-match-deck-response.schema.json +14 -0
- package/schema/submit-tournament-deck-request.schema.json +34 -0
- package/schema/tournament-event-command-request.schema.json +18 -0
- package/schema/tournament-room-access-response.schema.json +32 -0
- package/schema/tournament-room-chat-request.schema.json +18 -0
- package/schema/tournament-room-chat-response.schema.json +18 -0
- package/schema/tournament-room-list-response.schema.json +17 -0
- package/schema/tournament-room-response.schema.json +14 -0
- package/schema/tournament-room-server-message.schema.json +127 -0
- package/schema/tournament-room-sync-request.schema.json +14 -0
- package/schema/undo-match-request.schema.json +14 -0
- package/schema/undo-match-response.schema.json +14 -0
- package/schema/undo-respond-match-request.schema.json +19 -0
- package/schema/update-lobby-ai-player-request.schema.json +65 -0
- package/schema/update-lobby-player-request.schema.json +81 -0
- package/schema/update-lobby-settings-request.schema.json +70 -0
- package/schema/update-tournament-room-player-request.schema.json +45 -0
- package/schema/update-tournament-room-settings-request.schema.json +33 -0
- package/schema/welcome-payload.schema.json +38 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { LimitedEventCommand, TournamentEventCommandRequest, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { AbilityTarget, AbilityWindow, ActionAbilitySource, ActionAbilityView, ActiveEffectDescriptionView, ActiveEffectView, AttachmentMode, AttackChoiceView, AttackTarget, AvailableAttackView, CaptureOptionsView, CaptureSelection, CapturedUnitView, CardArena, CardChoiceResourcePaymentOptionView, CardInstanceView, ConstructedFormat, CurrentAttackStateView, CurrentAttackView, DeckInput, DeckRegistrationView, DelayedEffectDescriptionView, DelayedEffectTimingView, DelayedEffectView, DistributionAssignment, DistributionDamageKindView, DistributionItemView, DistributionTargetView, DistributionTokenKindView, DraftRoundConfig, DynamicPowerLimit, EffectCardScopeView, EffectDurationView, EffectRestrictionView, EffectSequenceOrder, EffectSequenceView, EffectSourceView, EffectTargetView, ExploitOptionsView, FormatSeatView, GameState, GameTimerActiveClockView, GameTimerReserveView, GameTimerStateView, HiddenCardChoiceMode, HiddenZoneKind, InitiativeChoiceReason, InitiativeState, InstructedAttackView, LeaderActionView, LeaderDeployActionView, LeaderDeployCostView, LeaderDeployMode, LeaderDeployThresholdBonus, LeaderStateView, LimitedCardSlot, LimitedCardTreatment, LimitedDeckSourceView, LimitedEventAccessResponse, LimitedEventKind, LimitedEventPhaseView, LimitedEventSeatView, LimitedEventSnapshot, LimitedEventView, LimitedEventViewerView, LimitedPackCardView, LimitedSideboardPoolView, LobbyChatMessage, LobbyDeckPreview, LobbyDeckSetPreview, LobbyVisibility, MatchAccessResponse, MatchEndReason, MatchFormat, MatchPhase, MatchResult, MatchSeriesView, MatchStatus, ModeChoiceView, NamedCardEffectDescriptionView, NullableDistributionTokenKindView, NullableSeatView, PendingAbilityAspectChoiceView, PendingAbilityAttackChoiceView, PendingAbilityCardChoiceView, PendingAbilityFamily, PendingAbilityModeChoiceView, PendingAbilityNameChoiceView, PendingAbilityOrderAbilityView, PendingAbilityOrderChoiceView, PendingAbilityOrderGroupView, PendingAbilityView, PendingChoiceView, PendingDistributionView, PendingUndoRequest, PlayActionView, PlayCardSourceView, PlayCardZone, PlayerPresenceStatus, PlayerTargetPattern, PresenceFilter, PromptProvenanceView, PromptState, RejectedPlayView, RelationFilter, ResourceCardView, ResourcePaymentOptionView, RoomPlayerPresenceEvent, Seat, SeatDirection, SeatOfferIntent, SeatState, SelectionScope, SeriesEndReason, SeriesGameRecord, SeriesResultView, SharedCounterState, SmuggleActionView, SmuggleKind, TargetGroupPurpose, TargetSelectionGroup, TargetSelectionPlanView, TournamentRoomAccessResponse, TournamentRoomPlayerView, TournamentRoomPrivateView, TournamentRoomSnapshot, TournamentRoomStatus, TournamentTableStatus, TournamentTableView, TriggerWindowView, TwinSunsCounter, TwinSunsCountersView, UndoRequestReason, UniquenessFilter, UnitAbilitySuppressionView, UnitExtremum, UnitFilter, UnitStateView, UpgradeStateView, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { TournamentRoomChatRequest, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { DraftRoundConfig, LimitedCardSlot, LimitedCardTreatment, LimitedDeckSourceView, LimitedEventKind, LimitedEventPhaseView, LimitedEventSeatView, LimitedEventSnapshot, LimitedEventViewerView, LimitedPackCardView, LobbyChatMessage, LobbyDeckPreview, LobbyDeckSetPreview, LobbyVisibility, PlayerPresenceStatus, RoomPlayerPresenceEvent, TournamentRoomChatResponse, TournamentRoomPlayerView, TournamentRoomSnapshot, TournamentRoomStatus, TournamentTableStatus, TournamentTableView, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { DraftRoundConfig, LimitedEventKind, LobbyVisibility, PublicTournamentRoomSummary, TournamentRoomListResponse, TournamentRoomStatus, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { DraftRoundConfig, LimitedCardSlot, LimitedCardTreatment, LimitedDeckSourceView, LimitedEventKind, LimitedEventPhaseView, LimitedEventSeatView, LimitedEventSnapshot, LimitedEventViewerView, LimitedPackCardView, LobbyChatMessage, LobbyDeckPreview, LobbyDeckSetPreview, LobbyVisibility, PlayerPresenceStatus, RoomPlayerPresenceEvent, TournamentRoomPlayerView, TournamentRoomResponse, TournamentRoomSnapshot, TournamentRoomStatus, TournamentTableStatus, TournamentTableView, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { AbilityTarget, AbilityWindow, ActionAbilitySource, ActionAbilityView, ActiveEffectDescriptionView, ActiveEffectView, AttachmentMode, AttackChoiceView, AttackTarget, AvailableAttackView, CaptureOptionsView, CaptureSelection, CapturedUnitView, CardArena, CardChoiceResourcePaymentOptionView, CardInstanceView, ConstructedFormat, CurrentAttackStateView, CurrentAttackView, DeckInput, DeckRegistrationView, DelayedEffectDescriptionView, DelayedEffectTimingView, DelayedEffectView, DistributionAssignment, DistributionDamageKindView, DistributionItemView, DistributionTargetView, DistributionTokenKindView, DraftRoundConfig, DynamicPowerLimit, EffectCardScopeView, EffectDurationView, EffectRestrictionView, EffectSequenceOrder, EffectSequenceView, EffectSourceView, EffectTargetView, ErrorPayload, ExploitOptionsView, FormatSeatView, GameState, GameTimerActiveClockView, GameTimerReserveView, GameTimerStateView, HiddenCardChoiceMode, HiddenZoneKind, InitiativeChoiceReason, InitiativeState, InstructedAttackView, LeaderActionView, LeaderDeployActionView, LeaderDeployCostView, LeaderDeployMode, LeaderDeployThresholdBonus, LeaderStateView, LimitedCardSlot, LimitedCardTreatment, LimitedDeckSourceView, LimitedEventKind, LimitedEventPhaseView, LimitedEventSeatView, LimitedEventSnapshot, LimitedEventView, LimitedEventViewerView, LimitedPackCardView, LimitedSideboardPoolView, LobbyChatMessage, LobbyDeckPreview, LobbyDeckSetPreview, LobbyVisibility, MatchAccessResponse, MatchEndReason, MatchFormat, MatchPhase, MatchResult, MatchSeriesView, MatchStatus, ModeChoiceView, NamedCardEffectDescriptionView, NullableDistributionTokenKindView, NullableSeatView, PendingAbilityAspectChoiceView, PendingAbilityAttackChoiceView, PendingAbilityCardChoiceView, PendingAbilityFamily, PendingAbilityModeChoiceView, PendingAbilityNameChoiceView, PendingAbilityOrderAbilityView, PendingAbilityOrderChoiceView, PendingAbilityOrderGroupView, PendingAbilityView, PendingChoiceView, PendingDistributionView, PendingUndoRequest, PlayActionView, PlayCardSourceView, PlayCardZone, PlayerPresenceStatus, PlayerTargetPattern, PresenceFilter, PromptProvenanceView, PromptState, RejectedPlayView, RelationFilter, ResourceCardView, ResourcePaymentOptionView, RoomPlayerPresenceEvent, Seat, SeatDirection, SeatOfferIntent, SeatState, SelectionScope, SeriesEndReason, SeriesGameRecord, SeriesResultView, SharedCounterState, SmuggleActionView, SmuggleKind, TargetGroupPurpose, TargetSelectionGroup, TargetSelectionPlanView, TournamentRoomMatchReadyPayload, TournamentRoomPlayerView, TournamentRoomServerMessage, TournamentRoomSnapshot, TournamentRoomStatus, TournamentRoomWelcomePayload, TournamentTableStatus, TournamentTableView, TriggerWindowView, TwinSunsCounter, TwinSunsCountersView, UndoRequestReason, UniquenessFilter, UnitAbilitySuppressionView, UnitExtremum, UnitFilter, UnitStateView, UpgradeStateView, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { TournamentRoomSyncRequest, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { UndoMatchRequest, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { AbilityTarget, AbilityWindow, ActionAbilitySource, ActionAbilityView, ActiveEffectDescriptionView, ActiveEffectView, AttachmentMode, AttackChoiceView, AttackTarget, AvailableAttackView, CaptureOptionsView, CaptureSelection, CapturedUnitView, CardArena, CardChoiceResourcePaymentOptionView, CardInstanceView, ConstructedFormat, CurrentAttackStateView, CurrentAttackView, DeckInput, DeckRegistrationView, DelayedEffectDescriptionView, DelayedEffectTimingView, DelayedEffectView, DistributionAssignment, DistributionDamageKindView, DistributionItemView, DistributionTargetView, DistributionTokenKindView, DynamicPowerLimit, EffectCardScopeView, EffectDurationView, EffectRestrictionView, EffectSequenceOrder, EffectSequenceView, EffectSourceView, EffectTargetView, ExploitOptionsView, FormatSeatView, GameState, GameTimerActiveClockView, GameTimerReserveView, GameTimerStateView, HiddenCardChoiceMode, HiddenZoneKind, InitiativeChoiceReason, InitiativeState, InstructedAttackView, LeaderActionView, LeaderDeployActionView, LeaderDeployCostView, LeaderDeployMode, LeaderDeployThresholdBonus, LeaderStateView, LimitedEventView, LimitedSideboardPoolView, MatchEndReason, MatchFormat, MatchPhase, MatchResult, MatchSeriesView, MatchStatus, ModeChoiceView, NamedCardEffectDescriptionView, NullableDistributionTokenKindView, NullableSeatView, PendingAbilityAspectChoiceView, PendingAbilityAttackChoiceView, PendingAbilityCardChoiceView, PendingAbilityFamily, PendingAbilityModeChoiceView, PendingAbilityNameChoiceView, PendingAbilityOrderAbilityView, PendingAbilityOrderChoiceView, PendingAbilityOrderGroupView, PendingAbilityView, PendingChoiceView, PendingDistributionView, PendingUndoRequest, PlayActionView, PlayCardSourceView, PlayCardZone, PlayerTargetPattern, PresenceFilter, PromptProvenanceView, PromptState, RejectedPlayView, RelationFilter, ResourceCardView, ResourcePaymentOptionView, Seat, SeatDirection, SeatOfferIntent, SeatState, SelectionScope, SeriesEndReason, SeriesGameRecord, SeriesResultView, SharedCounterState, SmuggleActionView, SmuggleKind, TargetGroupPurpose, TargetSelectionGroup, TargetSelectionPlanView, TriggerWindowView, TwinSunsCounter, TwinSunsCountersView, UndoMatchResponse, UndoRequestReason, UniquenessFilter, UnitAbilitySuppressionView, UnitExtremum, UnitFilter, UnitStateView, UpgradeStateView, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { UndoRespondMatchRequest, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { AiDifficulty, AiTrilogyFormatMode, ConstructedFormat, DeckInput, FormatSetupInput, UpdateLobbyAiPlayerRequest, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { ConstructedFormat, DeckInput, FormatSetupInput, UpdateLobbyPlayerRequest, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { ConstructedFormat, LobbyVisibility, UpdateLobbySettingsRequest, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { UpdateTournamentRoomPlayerRequest, } from './common.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { LobbyVisibility, UpdateTournamentRoomSettingsRequest, } from './common.js';
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional format-event setup data supplied with match creation or joining.
|
|
3
|
+
*
|
|
4
|
+
* This interface was referenced by `UpdateTournamentTableDeckRequest`'s JSON-Schema
|
|
5
|
+
* via the `definition` "FormatSetupInput".
|
|
6
|
+
*/
|
|
7
|
+
export type FormatSetupInput = ({
|
|
8
|
+
/**
|
|
9
|
+
* Odd number of games used to determine the series winner.
|
|
10
|
+
*/
|
|
11
|
+
bestOfGames: number;
|
|
12
|
+
type: "premierSeries";
|
|
13
|
+
} | {
|
|
14
|
+
/**
|
|
15
|
+
* Odd number of games used to determine the series winner.
|
|
16
|
+
*/
|
|
17
|
+
bestOfGames: number;
|
|
18
|
+
type: "eternalSeries";
|
|
19
|
+
} | {
|
|
20
|
+
/**
|
|
21
|
+
* Odd number of games used to determine the series winner.
|
|
22
|
+
*/
|
|
23
|
+
bestOfGames: number;
|
|
24
|
+
type: "peasantSeries";
|
|
25
|
+
} | {
|
|
26
|
+
/**
|
|
27
|
+
* Odd number of games used to determine the series winner.
|
|
28
|
+
*/
|
|
29
|
+
bestOfGames: number;
|
|
30
|
+
type: "previewSeries";
|
|
31
|
+
} | {
|
|
32
|
+
/**
|
|
33
|
+
* Odd number of games used to determine the series winner.
|
|
34
|
+
*/
|
|
35
|
+
bestOfGames: number;
|
|
36
|
+
type: "openSeries";
|
|
37
|
+
} | {
|
|
38
|
+
/**
|
|
39
|
+
* Three validated Trilogy deck lists for this seat.
|
|
40
|
+
*/
|
|
41
|
+
decks: DeckInput[];
|
|
42
|
+
/**
|
|
43
|
+
* Constructed legality profile applied to all three decks.
|
|
44
|
+
*/
|
|
45
|
+
format: ("premier" | "eternal" | "peasant" | "preview" | "open");
|
|
46
|
+
type: "trilogy";
|
|
47
|
+
} | {
|
|
48
|
+
/**
|
|
49
|
+
* Common bases from the selected set available outside the sealed pool.
|
|
50
|
+
*/
|
|
51
|
+
commonBases: number[];
|
|
52
|
+
/**
|
|
53
|
+
* Generated sealed pack contents; flattened into the sealed pool.
|
|
54
|
+
*/
|
|
55
|
+
packs: number[][];
|
|
56
|
+
/**
|
|
57
|
+
* Explicit sealed pool card ids.
|
|
58
|
+
*/
|
|
59
|
+
pool: number[];
|
|
60
|
+
type: "sealed";
|
|
61
|
+
} | {
|
|
62
|
+
/**
|
|
63
|
+
* Common bases from the selected set available outside the drafted pool.
|
|
64
|
+
*/
|
|
65
|
+
commonBases: number[];
|
|
66
|
+
/**
|
|
67
|
+
* Draft packs assigned to this seat.
|
|
68
|
+
*/
|
|
69
|
+
packs: number[][];
|
|
70
|
+
/**
|
|
71
|
+
* Explicit drafted pool card ids, used after draft picks are modeled.
|
|
72
|
+
*/
|
|
73
|
+
pool: number[];
|
|
74
|
+
/**
|
|
75
|
+
* Number of seats in the modeled draft pod.
|
|
76
|
+
*/
|
|
77
|
+
seatCount: number;
|
|
78
|
+
type: "draft";
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* Constructed legality profile chosen inside a larger game mode.
|
|
82
|
+
*
|
|
83
|
+
* This interface was referenced by `UpdateTournamentTableDeckRequest`'s JSON-Schema
|
|
84
|
+
* via the `definition` "ConstructedFormat".
|
|
85
|
+
*/
|
|
86
|
+
export type ConstructedFormat = ("premier" | "eternal" | "peasant" | "preview" | "open");
|
|
87
|
+
/**
|
|
88
|
+
* Request body for updating the current player's BO3 table deck.
|
|
89
|
+
*/
|
|
90
|
+
export interface UpdateTournamentTableDeckRequest {
|
|
91
|
+
deck: DeckInput;
|
|
92
|
+
deckId?: (string | null);
|
|
93
|
+
deckTitle?: (string | null);
|
|
94
|
+
formatSetup?: (FormatSetupInput | null);
|
|
95
|
+
playerToken: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* This interface was referenced by `UpdateTournamentTableDeckRequest`'s JSON-Schema
|
|
99
|
+
* via the `definition` "DeckInput".
|
|
100
|
+
*/
|
|
101
|
+
export interface DeckInput {
|
|
102
|
+
/**
|
|
103
|
+
* Base card id for the submitted deck.
|
|
104
|
+
*/
|
|
105
|
+
base?: (number | null);
|
|
106
|
+
/**
|
|
107
|
+
* Main-deck card ids.
|
|
108
|
+
*/
|
|
109
|
+
cards: number[];
|
|
110
|
+
/**
|
|
111
|
+
* Leader card id for the submitted deck.
|
|
112
|
+
*/
|
|
113
|
+
leader?: (number | null);
|
|
114
|
+
/**
|
|
115
|
+
* Twin Suns leader card ids. Non-Twin Suns formats continue to use
|
|
116
|
+
* `leader` and reject this field when present.
|
|
117
|
+
*/
|
|
118
|
+
leaders: number[];
|
|
119
|
+
/**
|
|
120
|
+
* Sideboard card ids, accepted only by formats whose validation allows it.
|
|
121
|
+
*/
|
|
122
|
+
sideboard: number[];
|
|
123
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { AiSeatStatusPayload, AiStatusPayload, AiTrilogyFormatMode, MatchConnectionRole, Seat, WelcomePayload, } from './common.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SHA-256 marker for generated SDK wire contracts.
|
|
3
|
+
*
|
|
4
|
+
* Compare this value with the simulator server when you need deployment
|
|
5
|
+
* checks that prevent mismatched SDK and server artifacts.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { schemaVersion } from '@my-swu/simulator-client'
|
|
10
|
+
*
|
|
11
|
+
* console.log(`SDK schema ${schemaVersion}`)
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @see https://simulator-sdk.my-swu.com/guide/versioning
|
|
15
|
+
*/
|
|
16
|
+
export declare const schemaVersion: "d8592d3386a56e29b26ac35fb9e99a6e912733015edb7957fa7cae5282347bcf";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SHA-256 marker for generated SDK wire contracts.
|
|
3
|
+
*
|
|
4
|
+
* Compare this value with the simulator server when you need deployment
|
|
5
|
+
* checks that prevent mismatched SDK and server artifacts.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { schemaVersion } from '@my-swu/simulator-client'
|
|
10
|
+
*
|
|
11
|
+
* console.log(`SDK schema ${schemaVersion}`)
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @see https://simulator-sdk.my-swu.com/guide/versioning
|
|
15
|
+
*/
|
|
16
|
+
export const schemaVersion = "d8592d3386a56e29b26ac35fb9e99a6e912733015edb7957fa7cae5282347bcf";
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { EngineRequestAbortedError } from '../internal/abort-error.js';
|
|
2
|
+
/**
|
|
3
|
+
* Request identity attached to a cancellation error.
|
|
4
|
+
*/
|
|
5
|
+
export interface RequestAbortContext {
|
|
6
|
+
/**
|
|
7
|
+
* HTTP method used for the request.
|
|
8
|
+
*/
|
|
9
|
+
method: string;
|
|
10
|
+
/**
|
|
11
|
+
* Fully resolved request URL.
|
|
12
|
+
*/
|
|
13
|
+
url: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Composed cancellation for one in-flight request.
|
|
17
|
+
*/
|
|
18
|
+
export interface RequestAbortPlan {
|
|
19
|
+
/**
|
|
20
|
+
* Returns the cancellation error owed to the caller, or `undefined` while
|
|
21
|
+
* nothing has cancelled the request. Callable after the request settles, so a
|
|
22
|
+
* fetch adapter that ignores the signal still honours the deadline.
|
|
23
|
+
*/
|
|
24
|
+
abortErrorFor: (context: RequestAbortContext) => EngineRequestAbortedError | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Releases the timeout timer and the caller-signal listener.
|
|
27
|
+
*/
|
|
28
|
+
dispose: () => void;
|
|
29
|
+
/**
|
|
30
|
+
* Signal to hand to `fetch`, or `undefined` when nothing can cancel.
|
|
31
|
+
*/
|
|
32
|
+
signal: AbortSignal | undefined;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolves the timeout that applies to one call.
|
|
36
|
+
*
|
|
37
|
+
* A per-call value always wins over the client-level default, so `0` (or any
|
|
38
|
+
* non-positive value) opts a single call out of a configured default. A client
|
|
39
|
+
* with no default and a call with no value keep the pre-timeout behaviour: no
|
|
40
|
+
* timer is ever armed.
|
|
41
|
+
*
|
|
42
|
+
* @param callTimeoutMs Per-call `timeoutMs`, when supplied.
|
|
43
|
+
* @param defaultTimeoutMs Client-level `timeoutMs`, when configured.
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveRequestTimeoutMs(callTimeoutMs: number | undefined, defaultTimeoutMs: number | undefined): number | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Composes a caller signal and a timeout into one cancellation plan.
|
|
48
|
+
*
|
|
49
|
+
* Composition is written by hand instead of through `AbortSignal.any`, which
|
|
50
|
+
* needs Node 20 while this package supports Node 18. Doing it manually also
|
|
51
|
+
* records which source fired first, so a caller-initiated abort stays
|
|
52
|
+
* distinguishable from a timeout.
|
|
53
|
+
*
|
|
54
|
+
* @param callerSignal Signal supplied by the caller, when any.
|
|
55
|
+
* @param timeoutMs Resolved timeout, when one applies.
|
|
56
|
+
*/
|
|
57
|
+
export declare function createRequestAbortPlan(callerSignal: AbortSignal | undefined, timeoutMs: number | undefined): RequestAbortPlan;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { EngineRequestAbortedError } from '../internal/abort-error.js';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves the timeout that applies to one call.
|
|
4
|
+
*
|
|
5
|
+
* A per-call value always wins over the client-level default, so `0` (or any
|
|
6
|
+
* non-positive value) opts a single call out of a configured default. A client
|
|
7
|
+
* with no default and a call with no value keep the pre-timeout behaviour: no
|
|
8
|
+
* timer is ever armed.
|
|
9
|
+
*
|
|
10
|
+
* @param callTimeoutMs Per-call `timeoutMs`, when supplied.
|
|
11
|
+
* @param defaultTimeoutMs Client-level `timeoutMs`, when configured.
|
|
12
|
+
*/
|
|
13
|
+
export function resolveRequestTimeoutMs(callTimeoutMs, defaultTimeoutMs) {
|
|
14
|
+
const timeoutMs = callTimeoutMs ?? defaultTimeoutMs;
|
|
15
|
+
return timeoutMs != null && timeoutMs > 0 ? timeoutMs : undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Composes a caller signal and a timeout into one cancellation plan.
|
|
19
|
+
*
|
|
20
|
+
* Composition is written by hand instead of through `AbortSignal.any`, which
|
|
21
|
+
* needs Node 20 while this package supports Node 18. Doing it manually also
|
|
22
|
+
* records which source fired first, so a caller-initiated abort stays
|
|
23
|
+
* distinguishable from a timeout.
|
|
24
|
+
*
|
|
25
|
+
* @param callerSignal Signal supplied by the caller, when any.
|
|
26
|
+
* @param timeoutMs Resolved timeout, when one applies.
|
|
27
|
+
*/
|
|
28
|
+
export function createRequestAbortPlan(callerSignal, timeoutMs) {
|
|
29
|
+
if (timeoutMs == null) {
|
|
30
|
+
// Nothing to compose: the caller's signal (if any) goes straight to fetch.
|
|
31
|
+
return {
|
|
32
|
+
abortErrorFor: context => callerSignal?.aborted === true
|
|
33
|
+
? new EngineRequestAbortedError('aborted', context)
|
|
34
|
+
: undefined,
|
|
35
|
+
dispose: () => { },
|
|
36
|
+
signal: callerSignal,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const controller = new AbortController();
|
|
40
|
+
let firedKind;
|
|
41
|
+
const timer = setTimeout(() => {
|
|
42
|
+
firedKind ??= 'timeout';
|
|
43
|
+
controller.abort();
|
|
44
|
+
}, timeoutMs);
|
|
45
|
+
const onCallerAbort = () => {
|
|
46
|
+
firedKind ??= 'aborted';
|
|
47
|
+
controller.abort();
|
|
48
|
+
};
|
|
49
|
+
callerSignal?.addEventListener('abort', onCallerAbort);
|
|
50
|
+
return {
|
|
51
|
+
abortErrorFor: context => firedKind == null
|
|
52
|
+
? undefined
|
|
53
|
+
: new EngineRequestAbortedError(firedKind, { ...context, timeoutMs }),
|
|
54
|
+
dispose: () => {
|
|
55
|
+
clearTimeout(timer);
|
|
56
|
+
callerSignal?.removeEventListener('abort', onCallerAbort);
|
|
57
|
+
},
|
|
58
|
+
signal: controller.signal,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SchemaName } from '../generated/schemas.js';
|
|
2
|
+
/**
|
|
3
|
+
* Serializes one JSON request body.
|
|
4
|
+
*/
|
|
5
|
+
export declare function jsonBody(value: unknown): BodyInit;
|
|
6
|
+
/**
|
|
7
|
+
* Shared JSON headers used by POST resource methods.
|
|
8
|
+
*/
|
|
9
|
+
export declare function jsonHeaders(): HeadersInit;
|
|
10
|
+
/**
|
|
11
|
+
* Converts malformed JSON response bodies into SDK validation failures.
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseJsonForSchema(schemaName: SchemaName, responseText: string): unknown;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SdkValidationError } from '../internal/errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* Serializes one JSON request body.
|
|
4
|
+
*/
|
|
5
|
+
export function jsonBody(value) {
|
|
6
|
+
return JSON.stringify(value);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Shared JSON headers used by POST resource methods.
|
|
10
|
+
*/
|
|
11
|
+
export function jsonHeaders() {
|
|
12
|
+
return { 'content-type': 'application/json' };
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Converts malformed JSON response bodies into SDK validation failures.
|
|
16
|
+
*/
|
|
17
|
+
export function parseJsonForSchema(schemaName, responseText) {
|
|
18
|
+
try {
|
|
19
|
+
return JSON.parse(responseText);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
throw new SdkValidationError(`response body does not contain valid JSON for schema ${schemaName}`, schemaName, ['/ body must be valid JSON']);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-call cancellation controls accepted by every SDK HTTP method.
|
|
3
|
+
*
|
|
4
|
+
* Pass this as the last argument of any resource method. Omit it and the call
|
|
5
|
+
* behaves exactly as it did before cancellation existed, apart from a
|
|
6
|
+
* client-level `timeoutMs` when one is configured on `createSimulatorClient`.
|
|
7
|
+
*
|
|
8
|
+
* `signal` and `timeoutMs` compose: whichever fires first cancels the request,
|
|
9
|
+
* and the rejected {@link EngineRequestAbortedError} names which one it was.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { createSimulatorClient, type SimulatorRequestOptions } from '@my-swu/simulator-client'
|
|
14
|
+
*
|
|
15
|
+
* const simulatorClient = createSimulatorClient({ baseUrl: 'http://127.0.0.1:4000' })
|
|
16
|
+
* const unmountController = new AbortController()
|
|
17
|
+
* const cancellation: SimulatorRequestOptions = {
|
|
18
|
+
* signal: unmountController.signal,
|
|
19
|
+
* timeoutMs: 5_000,
|
|
20
|
+
* }
|
|
21
|
+
*
|
|
22
|
+
* const publicMatchSnapshot = await simulatorClient.matches.get('match_123', cancellation)
|
|
23
|
+
* console.log(publicMatchSnapshot.phase)
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @see https://simulator-sdk.my-swu.com/guide/http-client#cancellation-and-timeouts
|
|
27
|
+
*/
|
|
28
|
+
export interface SimulatorRequestOptions {
|
|
29
|
+
/**
|
|
30
|
+
* Caller-owned signal that cancels the request when it aborts.
|
|
31
|
+
*/
|
|
32
|
+
signal?: AbortSignal | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Milliseconds to wait before the SDK cancels the request itself.
|
|
35
|
+
*
|
|
36
|
+
* Overrides the client-level `timeoutMs`. Pass `0` to opt one call out of a
|
|
37
|
+
* client-level default.
|
|
38
|
+
*/
|
|
39
|
+
timeoutMs?: number | undefined;
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { FetchLike } from '../internal/transport.js';
|
|
2
|
+
import type { SchemaTypeMap } from '../validators.js';
|
|
3
|
+
import type { SchemaValidator } from '../validators/validator.js';
|
|
4
|
+
import type { SimulatorRequestOptions } from './options.js';
|
|
5
|
+
/**
|
|
6
|
+
* Transport dependencies for HTTP resource clients.
|
|
7
|
+
*/
|
|
8
|
+
export interface EngineHttpRequesterOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Resolved base URL for the simulator HTTP API.
|
|
11
|
+
*/
|
|
12
|
+
baseUrl: URL;
|
|
13
|
+
/**
|
|
14
|
+
* Client-level request timeout applied when a call passes none.
|
|
15
|
+
*/
|
|
16
|
+
defaultTimeoutMs?: number | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Fetch implementation used by every resource method.
|
|
19
|
+
*/
|
|
20
|
+
fetch: FetchLike;
|
|
21
|
+
/**
|
|
22
|
+
* Boundary validator applied to request bodies and responses.
|
|
23
|
+
*
|
|
24
|
+
* Defaults to the typed pass-through, which checks nothing.
|
|
25
|
+
*/
|
|
26
|
+
validate?: SchemaValidator | undefined;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Minimal HTTP helper shared by all SDK resources.
|
|
30
|
+
*
|
|
31
|
+
* Whether request bodies and responses are checked against the generated
|
|
32
|
+
* schemas is decided once, here, by the injected validator.
|
|
33
|
+
*/
|
|
34
|
+
export declare class EngineHttpRequester {
|
|
35
|
+
#private;
|
|
36
|
+
/**
|
|
37
|
+
* Creates one requester.
|
|
38
|
+
*/
|
|
39
|
+
constructor(options: EngineHttpRequesterOptions);
|
|
40
|
+
/**
|
|
41
|
+
* Validates one outbound payload built by a resource method.
|
|
42
|
+
*
|
|
43
|
+
* Resources call this instead of `parseSchema` so a client without a
|
|
44
|
+
* validator neither pays for the check nor pulls the schema map into the
|
|
45
|
+
* bundle. With validation off it is the identity.
|
|
46
|
+
*
|
|
47
|
+
* @param schemaName Generated schema name the payload must match.
|
|
48
|
+
* @param value Payload about to be serialized into a request.
|
|
49
|
+
*/
|
|
50
|
+
validate<TSchema extends keyof SchemaTypeMap>(schemaName: TSchema, value: unknown): SchemaTypeMap[TSchema];
|
|
51
|
+
/**
|
|
52
|
+
* Sends one request and validates the JSON response against one schema.
|
|
53
|
+
*
|
|
54
|
+
* `init` carries the transport shape owned by the calling resource method;
|
|
55
|
+
* `options` carries the caller's cancellation controls. Both the network call
|
|
56
|
+
* and the body read run under the composed signal, so a timeout also cancels
|
|
57
|
+
* a response that streams forever.
|
|
58
|
+
*/
|
|
59
|
+
request<TSchema extends keyof SchemaTypeMap>(schemaName: TSchema, pathname: string, init?: RequestInit, options?: SimulatorRequestOptions): Promise<SchemaTypeMap[TSchema]>;
|
|
60
|
+
/**
|
|
61
|
+
* Resolves one API pathname against the configured base URL.
|
|
62
|
+
*/
|
|
63
|
+
resolveUrl(pathname: string): URL;
|
|
64
|
+
}
|