// Generated from ../schema.json. Edit the schema and run npm run contracts:generate. export type UUID = string; export type Revision = number; export type Instant = string; export type Locale = string; export type ErrorCode = string; export type MessageArgument = string | number | boolean; export type MessageArgs = Record; export interface LocalizedMessage { key: string; args: MessageArgs; } export type ErrorOrigin = "server" | "client" | "transport"; export type ErrorCategory = "validation" | "authentication" | "authorization" | "not-found" | "conflict" | "rate-limit" | "availability" | "internal" | "protocol" | "transport"; export type OperationOutcome = "not-applicable" | "not-applied" | "rejected" | "unknown"; export type RecoveryAction = "none" | "correct-input" | "authenticate" | "complete-requirements" | "resync" | "resolve-pending" | "retry-same-request" | "change-selection" | "update-client" | "contact-support"; export interface Recovery { action: RecoveryAction; retryAfterMs?: number; } export interface Violation { pointer: string; code: ErrorCode; message: LocalizedMessage; } export interface ErrorData { modelVersion: 1; origin: ErrorOrigin; code: ErrorCode; category: ErrorCategory; outcome: OperationOutcome; message: LocalizedMessage; recovery: Recovery; violations: Array; } export interface Correlation { requestId?: UUID; commandId?: UUID; operationId?: UUID; subscriptionId?: UUID; } export interface HttpProblem { type: string; title: string; status: number; correlation: Correlation; error: ErrorData; } export interface ErrorMessagePayload { correlation: Correlation; error: ErrorData; } export interface CommandRejection { status: "rejected"; error: ErrorData; } export interface GameCard { id: string; version: string; title: string; summary: string; locale: Locale; minPlayers: number; maxPlayers: number; } export interface CatalogPage { items: Array; nextCursor: string | null; } export interface CatalogResponse { requestId: UUID; data: CatalogPage; }