@indiegems/gem-web-sdk 21.1.1 → 23.0.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/dist/index.d.ts CHANGED
@@ -19,6 +19,7 @@ declare const PARENT_TO_FRAME: readonly [
19
19
  "gem.prefs",
20
20
  "gem.cohorts",
21
21
  "gem.earnAllowanceChanged",
22
+ "gem.inventoryChanged",
22
23
  "gem.viewport",
23
24
  "gem.deviceSettings",
24
25
  "gem.willTerminate",
@@ -49,6 +50,7 @@ declare const PARENT_TO_FRAME: readonly [
49
50
  "gem.momentResult",
50
51
  "gem.signInResult",
51
52
  "gem.friendChallengeResult",
53
+ "gem.playInviteResult",
52
54
  "gem.appLinksResult",
53
55
  "gem.openAppResult",
54
56
  "gem.openGameResult",
@@ -75,6 +77,7 @@ declare const FRAME_TO_PARENT: readonly [
75
77
  "gem.requestFullscreen",
76
78
  "gem.audioState",
77
79
  "gem.rewardCue",
80
+ "gem.rewardPresentation",
78
81
  "gem.walletDisplay",
79
82
  "gem.controlsDeclare",
80
83
  "gem.menu",
@@ -94,6 +97,8 @@ declare const FRAME_TO_PARENT: readonly [
94
97
  "gem.signalMoment",
95
98
  "gem.requestSignIn",
96
99
  "gem.requestFriendChallenge",
100
+ "gem.requestPlayInvite",
101
+ "gem.inviteParams",
97
102
  "gem.requestAppLinks",
98
103
  "gem.requestOpenApp",
99
104
  "gem.requestOpenGame",
@@ -102,7 +107,7 @@ declare const FRAME_TO_PARENT: readonly [
102
107
  "gem.requestStorePurchase",
103
108
  "gem.requestStoreOfferSheet"
104
109
  ];
105
- type GemCapability = "ads" | "signIn" | "purchases" | "purchaseSettled" | "avatar3dPurchases" | "friendChallenges" | "devtools" | "screenshot" | "feedbackContext" | "rooms" | "p2p" | "dedicated" | "clusterTarget" | "graphicsRoutes" | "parties" | "autoStartFailure" | "ticketEvents" | "partySeating" | "socketState" | "audioState" | "rewardCue" | "frameStats" | "portraitBorders" | "engagement" | "viewport" | "reservedAreas" | "audioChannels" | "walletDisplay" | "localHost" | "cohorts" | "earnAllowance" | "deviceSettings" | "asyncOpponents" | "share" | "shareResult" | "shareRemap" | "avatarPicker" | "vibration" | "gameMenu" | "controls" | "gemCorner" | "gameSettings" | "moments" | "appLinks" | "openGame" | "store" | "storeOfferSheet" | "menuStyle" | "p2pRelayDrain";
110
+ type GemCapability = "ads" | "signIn" | "purchases" | "purchaseSettled" | "avatar3dPurchases" | "friendChallenges" | "playInvites" | "devtools" | "screenshot" | "feedbackContext" | "rooms" | "p2p" | "dedicated" | "clusterTarget" | "graphicsRoutes" | "parties" | "autoStartFailure" | "ticketEvents" | "partySeating" | "socketState" | "audioState" | "rewardCue" | "rewardPresentation" | "frameStats" | "portraitBorders" | "engagement" | "viewport" | "reservedAreas" | "audioChannels" | "walletDisplay" | "localHost" | "cohorts" | "earnAllowance" | "inventoryChanged" | "deviceSettings" | "asyncOpponents" | "share" | "shareResult" | "shareRemap" | "avatarPicker" | "vibration" | "gameMenu" | "controls" | "gemCorner" | "gameSettings" | "moments" | "appLinks" | "openGame" | "store" | "storeOfferSheet" | "menuStyle" | "p2pRelayDrain";
106
111
  declare const CAPABILITY_GATES: Readonly<Record<string, string>>;
107
112
  declare const CAPABILITY_NAMESPACE_GATES: ReadonlyArray<readonly [
108
113
  string,
@@ -228,6 +233,10 @@ interface GemEarnAllowanceChanged {
228
233
  readonly gem: typeof PROTOCOL;
229
234
  readonly type: "gem.earnAllowanceChanged";
230
235
  }
236
+ interface GemInventoryChanged {
237
+ readonly gem: typeof PROTOCOL;
238
+ readonly type: "gem.inventoryChanged";
239
+ }
231
240
  interface GemViewport {
232
241
  readonly gem: typeof PROTOCOL;
233
242
  readonly type: "gem.viewport";
@@ -455,12 +464,18 @@ interface GemRewardCue {
455
464
  readonly gem: typeof PROTOCOL;
456
465
  readonly type: "gem.rewardCue";
457
466
  readonly currencySlug: string;
467
+ readonly cueId?: string;
458
468
  readonly expected?: number;
459
469
  readonly origin?: {
460
470
  x: number;
461
471
  y: number;
462
472
  };
463
473
  }
474
+ interface GemRewardPresentation {
475
+ readonly gem: typeof PROTOCOL;
476
+ readonly type: "gem.rewardPresentation";
477
+ readonly mode: "arcade" | "game";
478
+ }
464
479
  interface GemWalletDisplay {
465
480
  readonly gem: typeof PROTOCOL;
466
481
  readonly type: "gem.walletDisplay";
@@ -679,6 +694,29 @@ interface GemFriendChallengeResult {
679
694
  readonly retryAfterMs?: number;
680
695
  readonly detail?: string;
681
696
  }
697
+ interface GemRequestPlayInvite {
698
+ readonly gem: typeof PROTOCOL;
699
+ readonly type: "gem.requestPlayInvite";
700
+ readonly requestId: string;
701
+ readonly params?: {
702
+ key: string;
703
+ value: string;
704
+ }[];
705
+ }
706
+ interface GemPlayInviteResult {
707
+ readonly gem: typeof PROTOCOL;
708
+ readonly type: "gem.playInviteResult";
709
+ readonly requestId: string;
710
+ readonly shown: boolean;
711
+ }
712
+ interface GemInviteParams {
713
+ readonly gem: typeof PROTOCOL;
714
+ readonly type: "gem.inviteParams";
715
+ readonly params?: {
716
+ key: string;
717
+ value: string;
718
+ }[];
719
+ }
682
720
  interface GemRequestAppLinks {
683
721
  readonly gem: typeof PROTOCOL;
684
722
  readonly type: "gem.requestAppLinks";
@@ -806,8 +844,8 @@ interface GemStoreOfferSheetResult {
806
844
  readonly outcome: "ok" | "declined" | "unavailable";
807
845
  readonly reason?: string;
808
846
  }
809
- type ParentMessage = GemHandshake | GemToken | GemTokenDenied | GemPlayer | GemPause | GemPrefs | GemCohorts | GemEarnAllowanceChanged | GemViewport | GemDeviceSettings | GemWillTerminate | GemRoomEvent | GemSocketState | GemSeatedEvent | GemAutoStartFailedEvent | GemTicketEvent | GemSignalEvent | GemRelayDraining | GemDedicatedEvent | GemPartyResult | GemClusterTarget | GemGraphicsRoutes | GemDevtools | GemScreenshot | GemRequestContext | GemLocalServer | GemLocalServerDenied | GemMenuSelect | GemSettingChange | GemShareResult | GemError | GemPurchaseResult | GemPurchaseSettled | GemDeviceSettingsResult | GemAdResult | GemMomentResult | GemSignInResult | GemFriendChallengeResult | GemAppLinksResult | GemOpenAppResult | GemOpenGameResult | GemSimilarGamesResult | GemStoreOffersResult | GemStorePurchaseResult | GemStorePurchaseSettled | GemStoreOfferSheetResult;
810
- type FrameMessage = GemHandshakeAccept | GemScreenshotDenied | GemGameContext | GemSignal | GemDedicatedOffer | GemPartyRequest | GemReady | GemEngaged | GemProgress | GemRequestToken | GemRequestLocalServer | GemExit | GemOpenExternal | GemRequestFullscreen | GemAudioState | GemRewardCue | GemWalletDisplay | GemControlsDeclare | GemMenu | GemGemCorner | GemMenuStyle | GemSettingsDeclare | GemRequestShare | GemRequestAvatarPicker | GemVibrate | GemFrameStats | GemPortraitBorders | GemError | GemRequestPurchase | GemRequestAvatar3dPurchase | GemDeviceSettingsPut | GemRequestAd | GemSignalMoment | GemRequestSignIn | GemRequestFriendChallenge | GemRequestAppLinks | GemRequestOpenApp | GemRequestOpenGame | GemRequestSimilarGames | GemRequestStoreOffers | GemRequestStorePurchase | GemRequestStoreOfferSheet;
847
+ type ParentMessage = GemHandshake | GemToken | GemTokenDenied | GemPlayer | GemPause | GemPrefs | GemCohorts | GemEarnAllowanceChanged | GemInventoryChanged | GemViewport | GemDeviceSettings | GemWillTerminate | GemRoomEvent | GemSocketState | GemSeatedEvent | GemAutoStartFailedEvent | GemTicketEvent | GemSignalEvent | GemRelayDraining | GemDedicatedEvent | GemPartyResult | GemClusterTarget | GemGraphicsRoutes | GemDevtools | GemScreenshot | GemRequestContext | GemLocalServer | GemLocalServerDenied | GemMenuSelect | GemSettingChange | GemShareResult | GemError | GemPurchaseResult | GemPurchaseSettled | GemDeviceSettingsResult | GemAdResult | GemMomentResult | GemSignInResult | GemFriendChallengeResult | GemPlayInviteResult | GemAppLinksResult | GemOpenAppResult | GemOpenGameResult | GemSimilarGamesResult | GemStoreOffersResult | GemStorePurchaseResult | GemStorePurchaseSettled | GemStoreOfferSheetResult;
848
+ type FrameMessage = GemHandshakeAccept | GemScreenshotDenied | GemGameContext | GemSignal | GemDedicatedOffer | GemPartyRequest | GemReady | GemEngaged | GemProgress | GemRequestToken | GemRequestLocalServer | GemExit | GemOpenExternal | GemRequestFullscreen | GemAudioState | GemRewardCue | GemRewardPresentation | GemWalletDisplay | GemControlsDeclare | GemMenu | GemGemCorner | GemMenuStyle | GemSettingsDeclare | GemRequestShare | GemRequestAvatarPicker | GemVibrate | GemFrameStats | GemPortraitBorders | GemError | GemRequestPurchase | GemRequestAvatar3dPurchase | GemDeviceSettingsPut | GemRequestAd | GemSignalMoment | GemRequestSignIn | GemRequestFriendChallenge | GemRequestPlayInvite | GemInviteParams | GemRequestAppLinks | GemRequestOpenApp | GemRequestOpenGame | GemRequestSimilarGames | GemRequestStoreOffers | GemRequestStorePurchase | GemRequestStoreOfferSheet;
811
849
  type GemMessage = ParentMessage | FrameMessage;
812
850
  type Rejection = string | null;
813
851
  declare function isOrigin(s: string): boolean;
@@ -821,6 +859,7 @@ declare const validateGemPause: (raw: unknown) => Rejection;
821
859
  declare const validateGemPrefs: (raw: unknown) => Rejection;
822
860
  declare const validateGemCohorts: (raw: unknown) => Rejection;
823
861
  declare const validateGemEarnAllowanceChanged: (raw: unknown) => Rejection;
862
+ declare const validateGemInventoryChanged: (raw: unknown) => Rejection;
824
863
  declare const validateGemViewport: (raw: unknown) => Rejection;
825
864
  declare const validateGemDeviceSettings: (raw: unknown) => Rejection;
826
865
  declare const validateGemWillTerminate: (raw: unknown) => Rejection;
@@ -855,6 +894,7 @@ declare const validateGemOpenExternal: (raw: unknown) => Rejection;
855
894
  declare const validateGemRequestFullscreen: (raw: unknown) => Rejection;
856
895
  declare const validateGemAudioState: (raw: unknown) => Rejection;
857
896
  declare const validateGemRewardCue: (raw: unknown) => Rejection;
897
+ declare const validateGemRewardPresentation: (raw: unknown) => Rejection;
858
898
  declare const validateGemWalletDisplay: (raw: unknown) => Rejection;
859
899
  declare const validateGemControlsDeclare: (raw: unknown) => Rejection;
860
900
  declare const validateGemMenu: (raw: unknown) => Rejection;
@@ -884,6 +924,9 @@ declare const validateGemRequestSignIn: (raw: unknown) => Rejection;
884
924
  declare const validateGemSignInResult: (raw: unknown) => Rejection;
885
925
  declare const validateGemRequestFriendChallenge: (raw: unknown) => Rejection;
886
926
  declare const validateGemFriendChallengeResult: (raw: unknown) => Rejection;
927
+ declare const validateGemRequestPlayInvite: (raw: unknown) => Rejection;
928
+ declare const validateGemPlayInviteResult: (raw: unknown) => Rejection;
929
+ declare const validateGemInviteParams: (raw: unknown) => Rejection;
887
930
  declare const validateGemRequestAppLinks: (raw: unknown) => Rejection;
888
931
  declare const validateGemAppLinksResult: (raw: unknown) => Rejection;
889
932
  declare const validateGemRequestOpenApp: (raw: unknown) => Rejection;
@@ -1069,7 +1112,7 @@ interface TicketEventRelay {
1069
1112
  readonly reason?: string;
1070
1113
  readonly roomId?: string;
1071
1114
  }
1072
- type RelayDestination = "room" | "signal" | "dedicated" | "party" | "ticket";
1115
+ type RelayDestination = "room" | "signal" | "dedicated" | "party" | "ticket" | "inventory";
1073
1116
  type HostState = "idle" | "handshaking" | "connected" | "unsupported" | "closed";
1074
1117
  interface HostCallbacks {
1075
1118
  onReady?(): void;
@@ -1085,7 +1128,9 @@ interface HostCallbacks {
1085
1128
  onWalletDisplay?(msg: GemWalletDisplay): void;
1086
1129
  onMenu?(msg: GemMenu): void;
1087
1130
  onGemCorner?(msg: GemGemCorner): void;
1131
+ onRewardPresentation?(msg: GemRewardPresentation): void;
1088
1132
  onMenuStyle?(msg: GemMenuStyle): void;
1133
+ onInviteParams?(msg: GemInviteParams): void;
1089
1134
  onSettingsDeclare?(msg: GemSettingsDeclare): void;
1090
1135
  onFrameStats?(msg: GemFrameStats): void;
1091
1136
  onPortraitBorders?(name: string | null): void;
@@ -1106,6 +1151,7 @@ interface HostCallbacks {
1106
1151
  onRequestStoreOffers?(msg: GemRequestStoreOffers): void;
1107
1152
  onRequestStorePurchase?(msg: GemRequestStorePurchase): void;
1108
1153
  onRequestStoreOfferSheet?(msg: GemRequestStoreOfferSheet): void;
1154
+ onRequestPlayInvite?(msg: GemRequestPlayInvite): void;
1109
1155
  onRequestShare?(msg: GemRequestShare): void;
1110
1156
  onRequestAvatarPicker?(request: {
1111
1157
  readonly tab?: "2d" | "3d";
@@ -1141,6 +1187,9 @@ declare class GemHost {
1141
1187
  private localDenials;
1142
1188
  private chainEndsAt;
1143
1189
  private gameId;
1190
+ private grantedChannel;
1191
+ private inventoryHintAt;
1192
+ private inventoryHintTimer;
1144
1193
  private peerCapabilities;
1145
1194
  private lastPrefs;
1146
1195
  private prefsCalls;
@@ -1186,6 +1235,10 @@ declare class GemHost {
1186
1235
  relayAutoStartFailedEvent(raw: unknown): boolean;
1187
1236
  sendTicketEvent(relay: TicketEventRelay): boolean;
1188
1237
  relayTicketEvent(raw: unknown): boolean;
1238
+ relayInventoryEvent(raw: unknown): boolean;
1239
+ sendInventoryChanged(): boolean;
1240
+ private flushInventoryHint;
1241
+ private armInventoryHint;
1189
1242
  relaySocketEvent(raw: unknown): readonly RelayDestination[];
1190
1243
  relaySignalEvent(raw: unknown): boolean;
1191
1244
  sendSignalEvent(relay: RelayedSignal): boolean;
@@ -1236,6 +1289,7 @@ declare class GemHost {
1236
1289
  answerStorePurchase(requestId: string, outcome: ArcadeOutcomeKind, reason?: string): boolean;
1237
1290
  answerStoreOfferSheet(requestId: string, outcome: ArcadeOutcomeKind, reason?: string): boolean;
1238
1291
  sendStorePurchaseSettled(skuId: string): boolean;
1292
+ answerPlayInvite(requestId: string, shown: boolean): boolean;
1239
1293
  denyToken(denial: TokenDenial): void;
1240
1294
  grantLocalServer(grant: LocalServerGrant): boolean;
1241
1295
  denyLocalServer(denial: LocalServerDenial): boolean;
@@ -1384,6 +1438,7 @@ interface PlayerIdentity {
1384
1438
  }
1385
1439
  interface RewardCue {
1386
1440
  currencySlug: string;
1441
+ cueId?: string;
1387
1442
  expected?: number;
1388
1443
  origin?: {
1389
1444
  x: number;
@@ -1391,6 +1446,7 @@ interface RewardCue {
1391
1446
  };
1392
1447
  }
1393
1448
  type GemCorner = "top-left" | "top-right" | "bottom-left" | "bottom-right";
1449
+ type RewardPresentation = "arcade" | "game";
1394
1450
  interface MenuStyle {
1395
1451
  readonly ground: string;
1396
1452
  readonly accent: string;
@@ -1403,6 +1459,7 @@ interface FramePlayer extends PlayerIdentity {
1403
1459
  readonly boost: PlayerBoost;
1404
1460
  }
1405
1461
  type GemArcadeAsk = Omit<GemRequestAppLinks, "gem"> | Omit<GemRequestOpenApp, "gem"> | Omit<GemRequestOpenGame, "gem"> | Omit<GemRequestSimilarGames, "gem"> | Omit<GemRequestStoreOffers, "gem"> | Omit<GemRequestStorePurchase, "gem"> | Omit<GemRequestStoreOfferSheet, "gem">;
1462
+ type GemFriendsWindowAsk = Omit<GemRequestPlayInvite, "gem"> | Omit<GemInviteParams, "gem">;
1406
1463
  type GemArcadeAnswer = GemAppLinksResult | GemOpenAppResult | GemOpenGameResult | GemSimilarGamesResult | GemStoreOffersResult | GemStorePurchaseResult | GemStorePurchaseSettled | GemStoreOfferSheetResult;
1407
1464
  interface FrameCallbacks {
1408
1465
  onToken?(msg: GemToken): void;
@@ -1412,6 +1469,7 @@ interface FrameCallbacks {
1412
1469
  onPrefs?(msg: GemPrefs): void;
1413
1470
  onCohorts?(msg: GemCohorts): void;
1414
1471
  onEarnAllowanceChanged?(): void;
1472
+ onInventoryChanged?(msg: GemInventoryChanged): void;
1415
1473
  onViewport?(msg: GemViewport): void;
1416
1474
  onWillTerminate?(msg: GemWillTerminate): void;
1417
1475
  onDevtools?(action: "open" | "close" | "toggle"): void;
@@ -1445,6 +1503,7 @@ interface FrameCallbacks {
1445
1503
  onSignInResult?(msg: GemSignInResult): void;
1446
1504
  onFriendChallengeResult?(msg: GemFriendChallengeResult): void;
1447
1505
  onArcadeAnswer?(msg: GemArcadeAnswer): void;
1506
+ onPlayInviteResult?(msg: GemPlayInviteResult): void;
1448
1507
  onError?(code: GemErrorCode, message?: string): void;
1449
1508
  onDropped?(code: GemErrorCode, message?: string): void;
1450
1509
  onStateChange?(state: FrameState): void;
@@ -1500,6 +1559,7 @@ declare class GemFrame {
1500
1559
  }>): boolean;
1501
1560
  declareSettings(settings: GemSettingsDeclare["settings"]): boolean;
1502
1561
  setGemCorner(corner: GemCorner): boolean;
1562
+ setRewardPresentation(mode: RewardPresentation): boolean;
1503
1563
  setMenuStyle(style: MenuStyle | null): boolean;
1504
1564
  requestShare(params: ReadonlyArray<{
1505
1565
  readonly key: string;
@@ -1524,7 +1584,7 @@ declare class GemFrame {
1524
1584
  readyCalled(): boolean;
1525
1585
  requestSignIn(requestId: string): boolean;
1526
1586
  requestFriendChallenge(requestId: string, playerId: string, template: string, params?: Readonly<Record<string, string | number>>): boolean;
1527
- requestArcade(msg: GemArcadeAsk): boolean;
1587
+ requestArcade(msg: GemArcadeAsk | GemFriendsWindowAsk): boolean;
1528
1588
  close(): void;
1529
1589
  private transition;
1530
1590
  private refuseMalformed;
@@ -2820,4 +2880,4 @@ interface P2pMatchApi {
2820
2880
  session(matchId: string): P2pSession | null;
2821
2881
  }
2822
2882
  declare function createP2pApi(options: P2pApiOptions): P2pMatchApi;
2823
- export { type ArcadeOutcomeKind, type AutoReconnectOptions, type AwaitMatchOptions, BUILT_IN_GRAPHICS_ROUTES, CAPABILITY_GATES, CAPABILITY_NAMESPACE_GATES, CHANNELS, CHANNEL_KINDS, type ChannelKind, type ClientPlatform, ClientTelemetry, type ClientTelemetryOptions, type ClientVersion, type Clock, type ClusterTarget, type ClusterTargetBridge, type ClusterTargetLike, type ClusterTargetListResolver, type ClusterTargetRefresher, type ClusterTargetResolver, type ClusterTargetSource, type ClusterTargetSourceOptions, type ConnectOptions, type CreateRoomOptions, INBOUND_EVENTS as DEDICATED_INBOUND_EVENTS, DEFAULT_WELCOME_CEILING_MS, DEVICE_SETTINGS_MAX_BYTES, type DataChannelLike$1 as DataChannelLike, type DedicatedServerApi, type DedicatedServerApiOptions, DedicatedServerError, type DedicatedServerFailure, type DedicatedServerSession, type DedicatedSignalTransport, DedicatedSignalingHub, type DedicatedSignalingOptions, type EstablishOptions, FRAME_TO_PARENT, type FailedMatch, type FrameCallbacks, type FrameMessage, type FrameOptions, type FrameState, type GemAdResult, type GemAppLinksResult, type GemArcadeOffer, type GemAudioState, type GemAutoStartFailedEvent, type GemCapability, type GemClusterTarget, type GemCohorts, type GemControlsDeclare, type GemDedicatedEvent, type GemDedicatedOffer, type GemDeviceSettings, type GemDeviceSettingsPut, type GemDeviceSettingsResult, type GemDevtools, type GemEarnAllowanceChanged, type GemEngaged, type GemError, type GemErrorCode, type GemExit, GemFrame, type GemFrameStats, type GemFriendChallengeResult, type GemGameCard, type GemGameContext, type GemGemCorner, type GemGraphicsRouteEntry, type GemGraphicsRoutes, type GemHandshake, type GemHandshakeAccept, GemHost, type GemLocalServer, type GemLocalServerDenied, type GemMenu, type GemMenuSelect, type GemMenuStyle, type GemMessage, type GemMomentResult, type GemOpenAppResult, type GemOpenExternal, type GemOpenGameResult, type GemPartyRequest, type GemPartyResult, type GemPause, type GemPlayer, type GemPortraitBorders, type GemPrefs, type GemProgress, type GemPurchaseResult, type GemPurchaseSettled, type GemReady, type GemRelayDraining, type GemRequestAd, type GemRequestAppLinks, type GemRequestAvatar3dPurchase, type GemRequestAvatarPicker, type GemRequestContext, type GemRequestFriendChallenge, type GemRequestFullscreen, type GemRequestLocalServer, type GemRequestOpenApp, type GemRequestOpenGame, type GemRequestPurchase, type GemRequestShare, type GemRequestSignIn, type GemRequestSimilarGames, type GemRequestStoreOfferSheet, type GemRequestStoreOffers, type GemRequestStorePurchase, type GemRequestToken, type GemRewardCue, type GemRoomEvent, type GemScreenshot, type GemScreenshotDenied, type GemSeatedEvent, type GemSettingChange, type GemSettingsDeclare, type GemShareResult, type GemSignInResult, type GemSignal, type GemSignalEvent, type GemSignalMoment, type GemSimilarGamesResult, type GemSocketState, type GemStoreOfferSheetResult, type GemStoreOffersResult, type GemStorePurchaseResult, type GemStorePurchaseSettled, type GemTicketEvent, type GemToken, type GemTokenDenied, type GemVibrate, type GemViewport, type GemWalletDisplay, type GemWillTerminate, HANDSHAKE_TIMEOUT_MS, type HandshakeEvent, type HostCallbacks, HostMigration, type HostOptions, type HostState, type JoinCredential, type JoinExchange, type JoinRoomOptions, type JoinWelcome, type KeySource, type ListRoomsOptions, MALFORMED_INBOUND_KEY, MAX_ARRAY_LENGTH, MAX_CLUSTER_TARGETS, MAX_MESSAGE_BYTES, MAX_MESSAGE_DEPTH, MAX_MESSAGE_NODES, MAX_SIGNALS_PER_SECOND, MAX_SOCKET_FRAME_BYTES, MIGRATION_TIMEOUT_MS, type MatchAutoStartFailed, type MatchConnectionState, type MatchEnded, type MatchOutcome, type MatchOutcomeWaitOptions, type MatchReconnected, type MatchReconnecting, type MatchSession, type MatchSessionPhase, type MatchSuspended, type MatchTicket, type MatchTicketOutcome, type MatchTicketStatus, type MigrationState, type OfferRefusal, type OfferRequest, P2pApi, type P2pConnectOptions, P2pError, type P2pEventMap, type P2pEventName, type P2pFailure, type P2pMatchApi, type P2pPeer, P2pSession, PARENT_TO_FRAME, PROTOCOL, type ParentMessage, type PartyBridge, type PartyEventRelay, type PartyResolver, type PartyResolverOptions, type PartyTicket, type PartyTicketOutcome, type PartyTicketStatus, type PeerConnectionLike$1 as PeerConnectionLike, type PlayWithOutcome, PlayerText, type PortLike, type PortMessageHandler, type PresentCredentialOptions, type PurchaseRefusalCode, type QueueForMatchOptions, type QuickJoinOptions, RATE_LIMITS, RateLimiter, type ReadyMatch, type Rejection, type RelayedDedicatedEvent, type RelayedRoomEvent, type RelayedSignal, type RelayedTicketEvent, type ResolvedClientVersion, type Room, type RoomArgEntry, type RoomArgScalar, type RoomArgType, type RoomArgValue, type RoomArgs, RoomEmitter, type RoomEventMap, type RoomEventName, type RoomManager, type RoomManagerOptions, type RoomMember, type RoomOperationError, type RoomPage, type RoomStatus, type RoomSummary, RoomsApi, type RoomsApiOptions, SUPPORTED_VERSIONS, type SdpType$1 as SdpType, type SendPlayerInput, type SessionDescriptionLike$1 as SessionDescriptionLike, type SignalTransport, type SignalingAnswer, type SignalingChannel, SignalingClient, type SignalingIntent, type StartMatchOptions, type StartedMatch$1 as StartedMatch, TELEMETRY_EVENTS, TRANSPORT_LABELS, type TelemetrySample, type TokenDenial, type TokenGrant, type TransportLabel, type TurnLease, type UpdateRoomOptions, VALIDATORS, type VerifiedCredential, WEBRTC_DEDICATED, WEBRTC_P2P, WEB_ENGINE_VERSION, WEB_PROTOCOL_VERSION, type WindowLike, asPlayerText, awaitMatchOutcome, browserPeerConnection, buildDedicatedOfferFrame, buildSocketFrame, capabilityFor, createClusterTargetSource, createDedicatedServerApi, createKeySource, createP2pApi, createPartyResolver, createRoomManager, deviceSettingsByteLength, establishDataChannel, fingerprintOf, fingerprintsMatch, generateCertificate, isOrigin, listClusterTargets, memberFromWire, negotiateVersion, normaliseClusterTarget, normaliseClusterTargets, normaliseFingerprint, originsEqual, presentJoinCredential, projectDedicatedEvent, projectPartyEvent, projectSignal, roomArgValuesFromWire, roomArgsTemplateFromWire, roomFromWire, startMatch, summaryFromWire, systemClock, text, unavailableSignaling, validateGemAdResult, validateGemAppLinksResult, validateGemAudioState, validateGemAutoStartFailedEvent, validateGemClusterTarget, validateGemCohorts, validateGemControlsDeclare, validateGemDedicatedEvent, validateGemDedicatedOffer, validateGemDeviceSettings, validateGemDeviceSettingsPut, validateGemDeviceSettingsResult, validateGemDevtools, validateGemEarnAllowanceChanged, validateGemEngaged, validateGemError, validateGemExit, validateGemFrameStats, validateGemFriendChallengeResult, validateGemGameContext, validateGemGemCorner, validateGemGraphicsRoutes, validateGemHandshake, validateGemHandshakeAccept, validateGemLocalServer, validateGemLocalServerDenied, validateGemMenu, validateGemMenuSelect, validateGemMenuStyle, validateGemMomentResult, validateGemOpenAppResult, validateGemOpenExternal, validateGemOpenGameResult, validateGemPartyRequest, validateGemPartyResult, validateGemPause, validateGemPlayer, validateGemPortraitBorders, validateGemPrefs, validateGemProgress, validateGemPurchaseResult, validateGemPurchaseSettled, validateGemReady, validateGemRelayDraining, validateGemRequestAd, validateGemRequestAppLinks, validateGemRequestAvatar3dPurchase, validateGemRequestAvatarPicker, validateGemRequestContext, validateGemRequestFriendChallenge, validateGemRequestFullscreen, validateGemRequestLocalServer, validateGemRequestOpenApp, validateGemRequestOpenGame, validateGemRequestPurchase, validateGemRequestShare, validateGemRequestSignIn, validateGemRequestSimilarGames, validateGemRequestStoreOfferSheet, validateGemRequestStoreOffers, validateGemRequestStorePurchase, validateGemRequestToken, validateGemRewardCue, validateGemRoomEvent, validateGemScreenshot, validateGemScreenshotDenied, validateGemSeatedEvent, validateGemSettingChange, validateGemSettingsDeclare, validateGemShareResult, validateGemSignInResult, validateGemSignal, validateGemSignalEvent, validateGemSignalMoment, validateGemSimilarGamesResult, validateGemSocketState, validateGemStoreOfferSheetResult, validateGemStoreOffersResult, validateGemStorePurchaseResult, validateGemStorePurchaseSettled, validateGemTicketEvent, validateGemToken, validateGemTokenDenied, validateGemVibrate, validateGemViewport, validateGemWalletDisplay, validateGemWillTerminate, validateSize, verifyCredential };
2883
+ export { type ArcadeOutcomeKind, type AutoReconnectOptions, type AwaitMatchOptions, BUILT_IN_GRAPHICS_ROUTES, CAPABILITY_GATES, CAPABILITY_NAMESPACE_GATES, CHANNELS, CHANNEL_KINDS, type ChannelKind, type ClientPlatform, ClientTelemetry, type ClientTelemetryOptions, type ClientVersion, type Clock, type ClusterTarget, type ClusterTargetBridge, type ClusterTargetLike, type ClusterTargetListResolver, type ClusterTargetRefresher, type ClusterTargetResolver, type ClusterTargetSource, type ClusterTargetSourceOptions, type ConnectOptions, type CreateRoomOptions, INBOUND_EVENTS as DEDICATED_INBOUND_EVENTS, DEFAULT_WELCOME_CEILING_MS, DEVICE_SETTINGS_MAX_BYTES, type DataChannelLike$1 as DataChannelLike, type DedicatedServerApi, type DedicatedServerApiOptions, DedicatedServerError, type DedicatedServerFailure, type DedicatedServerSession, type DedicatedSignalTransport, DedicatedSignalingHub, type DedicatedSignalingOptions, type EstablishOptions, FRAME_TO_PARENT, type FailedMatch, type FrameCallbacks, type FrameMessage, type FrameOptions, type FrameState, type GemAdResult, type GemAppLinksResult, type GemArcadeOffer, type GemAudioState, type GemAutoStartFailedEvent, type GemCapability, type GemClusterTarget, type GemCohorts, type GemControlsDeclare, type GemDedicatedEvent, type GemDedicatedOffer, type GemDeviceSettings, type GemDeviceSettingsPut, type GemDeviceSettingsResult, type GemDevtools, type GemEarnAllowanceChanged, type GemEngaged, type GemError, type GemErrorCode, type GemExit, GemFrame, type GemFrameStats, type GemFriendChallengeResult, type GemGameCard, type GemGameContext, type GemGemCorner, type GemGraphicsRouteEntry, type GemGraphicsRoutes, type GemHandshake, type GemHandshakeAccept, GemHost, type GemInventoryChanged, type GemInviteParams, type GemLocalServer, type GemLocalServerDenied, type GemMenu, type GemMenuSelect, type GemMenuStyle, type GemMessage, type GemMomentResult, type GemOpenAppResult, type GemOpenExternal, type GemOpenGameResult, type GemPartyRequest, type GemPartyResult, type GemPause, type GemPlayInviteResult, type GemPlayer, type GemPortraitBorders, type GemPrefs, type GemProgress, type GemPurchaseResult, type GemPurchaseSettled, type GemReady, type GemRelayDraining, type GemRequestAd, type GemRequestAppLinks, type GemRequestAvatar3dPurchase, type GemRequestAvatarPicker, type GemRequestContext, type GemRequestFriendChallenge, type GemRequestFullscreen, type GemRequestLocalServer, type GemRequestOpenApp, type GemRequestOpenGame, type GemRequestPlayInvite, type GemRequestPurchase, type GemRequestShare, type GemRequestSignIn, type GemRequestSimilarGames, type GemRequestStoreOfferSheet, type GemRequestStoreOffers, type GemRequestStorePurchase, type GemRequestToken, type GemRewardCue, type GemRewardPresentation, type GemRoomEvent, type GemScreenshot, type GemScreenshotDenied, type GemSeatedEvent, type GemSettingChange, type GemSettingsDeclare, type GemShareResult, type GemSignInResult, type GemSignal, type GemSignalEvent, type GemSignalMoment, type GemSimilarGamesResult, type GemSocketState, type GemStoreOfferSheetResult, type GemStoreOffersResult, type GemStorePurchaseResult, type GemStorePurchaseSettled, type GemTicketEvent, type GemToken, type GemTokenDenied, type GemVibrate, type GemViewport, type GemWalletDisplay, type GemWillTerminate, HANDSHAKE_TIMEOUT_MS, type HandshakeEvent, type HostCallbacks, HostMigration, type HostOptions, type HostState, type JoinCredential, type JoinExchange, type JoinRoomOptions, type JoinWelcome, type KeySource, type ListRoomsOptions, MALFORMED_INBOUND_KEY, MAX_ARRAY_LENGTH, MAX_CLUSTER_TARGETS, MAX_MESSAGE_BYTES, MAX_MESSAGE_DEPTH, MAX_MESSAGE_NODES, MAX_SIGNALS_PER_SECOND, MAX_SOCKET_FRAME_BYTES, MIGRATION_TIMEOUT_MS, type MatchAutoStartFailed, type MatchConnectionState, type MatchEnded, type MatchOutcome, type MatchOutcomeWaitOptions, type MatchReconnected, type MatchReconnecting, type MatchSession, type MatchSessionPhase, type MatchSuspended, type MatchTicket, type MatchTicketOutcome, type MatchTicketStatus, type MigrationState, type OfferRefusal, type OfferRequest, P2pApi, type P2pConnectOptions, P2pError, type P2pEventMap, type P2pEventName, type P2pFailure, type P2pMatchApi, type P2pPeer, P2pSession, PARENT_TO_FRAME, PROTOCOL, type ParentMessage, type PartyBridge, type PartyEventRelay, type PartyResolver, type PartyResolverOptions, type PartyTicket, type PartyTicketOutcome, type PartyTicketStatus, type PeerConnectionLike$1 as PeerConnectionLike, type PlayWithOutcome, PlayerText, type PortLike, type PortMessageHandler, type PresentCredentialOptions, type PurchaseRefusalCode, type QueueForMatchOptions, type QuickJoinOptions, RATE_LIMITS, RateLimiter, type ReadyMatch, type Rejection, type RelayedDedicatedEvent, type RelayedRoomEvent, type RelayedSignal, type RelayedTicketEvent, type ResolvedClientVersion, type Room, type RoomArgEntry, type RoomArgScalar, type RoomArgType, type RoomArgValue, type RoomArgs, RoomEmitter, type RoomEventMap, type RoomEventName, type RoomManager, type RoomManagerOptions, type RoomMember, type RoomOperationError, type RoomPage, type RoomStatus, type RoomSummary, RoomsApi, type RoomsApiOptions, SUPPORTED_VERSIONS, type SdpType$1 as SdpType, type SendPlayerInput, type SessionDescriptionLike$1 as SessionDescriptionLike, type SignalTransport, type SignalingAnswer, type SignalingChannel, SignalingClient, type SignalingIntent, type StartMatchOptions, type StartedMatch$1 as StartedMatch, TELEMETRY_EVENTS, TRANSPORT_LABELS, type TelemetrySample, type TokenDenial, type TokenGrant, type TransportLabel, type TurnLease, type UpdateRoomOptions, VALIDATORS, type VerifiedCredential, WEBRTC_DEDICATED, WEBRTC_P2P, WEB_ENGINE_VERSION, WEB_PROTOCOL_VERSION, type WindowLike, asPlayerText, awaitMatchOutcome, browserPeerConnection, buildDedicatedOfferFrame, buildSocketFrame, capabilityFor, createClusterTargetSource, createDedicatedServerApi, createKeySource, createP2pApi, createPartyResolver, createRoomManager, deviceSettingsByteLength, establishDataChannel, fingerprintOf, fingerprintsMatch, generateCertificate, isOrigin, listClusterTargets, memberFromWire, negotiateVersion, normaliseClusterTarget, normaliseClusterTargets, normaliseFingerprint, originsEqual, presentJoinCredential, projectDedicatedEvent, projectPartyEvent, projectSignal, roomArgValuesFromWire, roomArgsTemplateFromWire, roomFromWire, startMatch, summaryFromWire, systemClock, text, unavailableSignaling, validateGemAdResult, validateGemAppLinksResult, validateGemAudioState, validateGemAutoStartFailedEvent, validateGemClusterTarget, validateGemCohorts, validateGemControlsDeclare, validateGemDedicatedEvent, validateGemDedicatedOffer, validateGemDeviceSettings, validateGemDeviceSettingsPut, validateGemDeviceSettingsResult, validateGemDevtools, validateGemEarnAllowanceChanged, validateGemEngaged, validateGemError, validateGemExit, validateGemFrameStats, validateGemFriendChallengeResult, validateGemGameContext, validateGemGemCorner, validateGemGraphicsRoutes, validateGemHandshake, validateGemHandshakeAccept, validateGemInventoryChanged, validateGemInviteParams, validateGemLocalServer, validateGemLocalServerDenied, validateGemMenu, validateGemMenuSelect, validateGemMenuStyle, validateGemMomentResult, validateGemOpenAppResult, validateGemOpenExternal, validateGemOpenGameResult, validateGemPartyRequest, validateGemPartyResult, validateGemPause, validateGemPlayInviteResult, validateGemPlayer, validateGemPortraitBorders, validateGemPrefs, validateGemProgress, validateGemPurchaseResult, validateGemPurchaseSettled, validateGemReady, validateGemRelayDraining, validateGemRequestAd, validateGemRequestAppLinks, validateGemRequestAvatar3dPurchase, validateGemRequestAvatarPicker, validateGemRequestContext, validateGemRequestFriendChallenge, validateGemRequestFullscreen, validateGemRequestLocalServer, validateGemRequestOpenApp, validateGemRequestOpenGame, validateGemRequestPlayInvite, validateGemRequestPurchase, validateGemRequestShare, validateGemRequestSignIn, validateGemRequestSimilarGames, validateGemRequestStoreOfferSheet, validateGemRequestStoreOffers, validateGemRequestStorePurchase, validateGemRequestToken, validateGemRewardCue, validateGemRewardPresentation, validateGemRoomEvent, validateGemScreenshot, validateGemScreenshotDenied, validateGemSeatedEvent, validateGemSettingChange, validateGemSettingsDeclare, validateGemShareResult, validateGemSignInResult, validateGemSignal, validateGemSignalEvent, validateGemSignalMoment, validateGemSimilarGamesResult, validateGemSocketState, validateGemStoreOfferSheetResult, validateGemStoreOffersResult, validateGemStorePurchaseResult, validateGemStorePurchaseSettled, validateGemTicketEvent, validateGemToken, validateGemTokenDenied, validateGemVibrate, validateGemViewport, validateGemWalletDisplay, validateGemWillTerminate, validateSize, verifyCredential };
package/dist/sdk.d.ts CHANGED
@@ -1086,6 +1086,7 @@ declare class CharactersApi {
1086
1086
  private readonly scopes;
1087
1087
  constructor(api: GameApi$1, saves?: SavesOptions | undefined, identity?: (() => string | null) | undefined, resolveCurrencyId?: ((slugOrId: string) => Promise<string | undefined>) | undefined);
1088
1088
  private readonly scope;
1089
+ refreshHeld(): void;
1089
1090
  list(signal?: AbortSignal): Promise<readonly Character[]>;
1090
1091
  get(id: string, signal?: AbortSignal): Promise<Character>;
1091
1092
  create(options: CreateCharacterOptions): Promise<Character>;
@@ -1416,8 +1417,13 @@ declare class FriendChallengeError extends GemApiError {
1416
1417
  readonly configVersion?: number;
1417
1418
  });
1418
1419
  }
1420
+ interface PlayInviteRequest {
1421
+ readonly params?: Readonly<Record<string, string>>;
1422
+ }
1419
1423
  interface FriendsApiDependencies {
1420
1424
  readonly challenge?: (request: FriendChallengeRequest) => Promise<FriendChallengeOutcome>;
1425
+ readonly inviteToPlay?: (request?: PlayInviteRequest) => Promise<boolean>;
1426
+ readonly setInviteParams?: (params: Readonly<Record<string, string>> | null) => boolean;
1421
1427
  readonly launchedChallengeId?: string;
1422
1428
  }
1423
1429
  declare class FriendsApi {
@@ -1425,6 +1431,8 @@ declare class FriendsApi {
1425
1431
  constructor(api: GameApi$1, dependencies?: FriendsApiDependencies);
1426
1432
  list(options?: ListFriendsOptions): Promise<FriendsPage>;
1427
1433
  challenge(request: FriendChallengeRequest): Promise<FriendChallengeOutcome>;
1434
+ inviteToPlay(request?: PlayInviteRequest): Promise<boolean>;
1435
+ setInviteParams(params: Readonly<Record<string, string>> | null): boolean;
1428
1436
  inbox(options?: ListFriendChallengesOptions): Promise<FriendChallengesPage>;
1429
1437
  launchedChallenge(options?: {
1430
1438
  readonly signal?: AbortSignal;
@@ -1497,6 +1505,7 @@ declare class ProfilesApi {
1497
1505
  }
1498
1506
  interface FunctionInvokeOptions {
1499
1507
  readonly signal?: AbortSignal;
1508
+ readonly cueId?: string;
1500
1509
  }
1501
1510
  interface FunctionResult {
1502
1511
  readonly bytes: Uint8Array;
@@ -1520,6 +1529,7 @@ declare class FunctionsApi {
1520
1529
  #private;
1521
1530
  constructor(invoke: (body: Uint8Array, options?: {
1522
1531
  signal?: AbortSignal;
1532
+ cue_id?: string;
1523
1533
  }) => Promise<BytesResponse>);
1524
1534
  invoke(input: unknown, options?: FunctionInvokeOptions): Promise<FunctionResult>;
1525
1535
  }
@@ -2206,6 +2216,10 @@ interface GemCohorts$1 {
2206
2216
  variantKey: string;
2207
2217
  }[];
2208
2218
  }
2219
+ interface GemInventoryChanged {
2220
+ readonly gem: typeof PROTOCOL;
2221
+ readonly type: "gem.inventoryChanged";
2222
+ }
2209
2223
  interface GemViewport$1 {
2210
2224
  readonly gem: typeof PROTOCOL;
2211
2225
  readonly type: "gem.viewport";
@@ -2443,6 +2457,29 @@ interface GemFriendChallengeResult {
2443
2457
  readonly retryAfterMs?: number;
2444
2458
  readonly detail?: string;
2445
2459
  }
2460
+ interface GemRequestPlayInvite {
2461
+ readonly gem: typeof PROTOCOL;
2462
+ readonly type: "gem.requestPlayInvite";
2463
+ readonly requestId: string;
2464
+ readonly params?: {
2465
+ key: string;
2466
+ value: string;
2467
+ }[];
2468
+ }
2469
+ interface GemPlayInviteResult {
2470
+ readonly gem: typeof PROTOCOL;
2471
+ readonly type: "gem.playInviteResult";
2472
+ readonly requestId: string;
2473
+ readonly shown: boolean;
2474
+ }
2475
+ interface GemInviteParams {
2476
+ readonly gem: typeof PROTOCOL;
2477
+ readonly type: "gem.inviteParams";
2478
+ readonly params?: {
2479
+ key: string;
2480
+ value: string;
2481
+ }[];
2482
+ }
2446
2483
  interface GemRequestAppLinks {
2447
2484
  readonly gem: typeof PROTOCOL;
2448
2485
  readonly type: "gem.requestAppLinks";
@@ -4252,6 +4289,7 @@ declare function initiateInventoryTransfer(api: GameApi, body: InitiateTransferR
4252
4289
  signal?: AbortSignal;
4253
4290
  }): Promise<TransferResponse>;
4254
4291
  declare function invokeFunction(api: GameApi, body: Uint8Array, options?: {
4292
+ "cue_id"?: string;
4255
4293
  signal?: AbortSignal;
4256
4294
  }): Promise<BytesResponse>;
4257
4295
  declare function kickPlayer(api: GameApi, game_room_id: string, player_id: string, options?: {
@@ -4785,6 +4823,7 @@ interface PlayerBoost {
4785
4823
  }
4786
4824
  interface RewardCue {
4787
4825
  currencySlug: string;
4826
+ cueId?: string;
4788
4827
  expected?: number;
4789
4828
  origin?: {
4790
4829
  x: number;
@@ -4792,6 +4831,7 @@ interface RewardCue {
4792
4831
  };
4793
4832
  }
4794
4833
  type GemCorner = "top-left" | "top-right" | "bottom-left" | "bottom-right";
4834
+ type RewardPresentation = "arcade" | "game";
4795
4835
  interface MenuStyle {
4796
4836
  readonly ground: string;
4797
4837
  readonly accent: string;
@@ -4804,6 +4844,7 @@ interface FramePlayer extends PlayerIdentity {
4804
4844
  readonly boost: PlayerBoost;
4805
4845
  }
4806
4846
  type GemArcadeAsk = Omit<GemRequestAppLinks, "gem"> | Omit<GemRequestOpenApp, "gem"> | Omit<GemRequestOpenGame, "gem"> | Omit<GemRequestSimilarGames, "gem"> | Omit<GemRequestStoreOffers, "gem"> | Omit<GemRequestStorePurchase, "gem"> | Omit<GemRequestStoreOfferSheet, "gem">;
4847
+ type GemFriendsWindowAsk = Omit<GemRequestPlayInvite, "gem"> | Omit<GemInviteParams, "gem">;
4807
4848
  type GemArcadeAnswer = GemAppLinksResult | GemOpenAppResult | GemOpenGameResult | GemSimilarGamesResult | GemStoreOffersResult | GemStorePurchaseResult | GemStorePurchaseSettled | GemStoreOfferSheetResult;
4808
4849
  interface FrameCallbacks {
4809
4850
  onToken?(msg: GemToken): void;
@@ -4813,6 +4854,7 @@ interface FrameCallbacks {
4813
4854
  onPrefs?(msg: GemPrefs$1): void;
4814
4855
  onCohorts?(msg: GemCohorts$1): void;
4815
4856
  onEarnAllowanceChanged?(): void;
4857
+ onInventoryChanged?(msg: GemInventoryChanged): void;
4816
4858
  onViewport?(msg: GemViewport$1): void;
4817
4859
  onWillTerminate?(msg: GemWillTerminate): void;
4818
4860
  onDevtools?(action: "open" | "close" | "toggle"): void;
@@ -4846,6 +4888,7 @@ interface FrameCallbacks {
4846
4888
  onSignInResult?(msg: GemSignInResult): void;
4847
4889
  onFriendChallengeResult?(msg: GemFriendChallengeResult): void;
4848
4890
  onArcadeAnswer?(msg: GemArcadeAnswer): void;
4891
+ onPlayInviteResult?(msg: GemPlayInviteResult): void;
4849
4892
  onError?(code: GemErrorCode, message?: string): void;
4850
4893
  onDropped?(code: GemErrorCode, message?: string): void;
4851
4894
  onStateChange?(state: FrameState): void;
@@ -4901,6 +4944,7 @@ declare class GemFrame {
4901
4944
  }>): boolean;
4902
4945
  declareSettings(settings: GemSettingsDeclare["settings"]): boolean;
4903
4946
  setGemCorner(corner: GemCorner): boolean;
4947
+ setRewardPresentation(mode: RewardPresentation): boolean;
4904
4948
  setMenuStyle(style: MenuStyle | null): boolean;
4905
4949
  requestShare(params: ReadonlyArray<{
4906
4950
  readonly key: string;
@@ -4925,7 +4969,7 @@ declare class GemFrame {
4925
4969
  readyCalled(): boolean;
4926
4970
  requestSignIn(requestId: string): boolean;
4927
4971
  requestFriendChallenge(requestId: string, playerId: string, template: string, params?: Readonly<Record<string, string | number>>): boolean;
4928
- requestArcade(msg: GemArcadeAsk): boolean;
4972
+ requestArcade(msg: GemArcadeAsk | GemFriendsWindowAsk): boolean;
4929
4973
  close(): void;
4930
4974
  private transition;
4931
4975
  private refuseMalformed;
@@ -5355,6 +5399,7 @@ interface Gem {
5355
5399
  reportMuted(muted: boolean): void;
5356
5400
  showPortraitBorders(name: string | null): void;
5357
5401
  cueReward(cue: RewardCue): boolean;
5402
+ setRewardPresentation(mode: RewardPresentation): boolean;
5358
5403
  setWalletVisible(visible: boolean, options?: WalletVisibleOptions): boolean;
5359
5404
  setMenu(menu: GameMenu): boolean;
5360
5405
  setGemCorner(corner: GemCorner): boolean;
@@ -5385,4 +5430,4 @@ interface ExitAnalytics {
5385
5430
  }
5386
5431
  declare function leaveAndExit(rooms: ExitRooms, bridge: ExitBridge | null, reason?: string, analytics?: ExitAnalytics): Promise<void>;
5387
5432
  declare function createGem(options?: GemOptions): Gem;
5388
- export { ARCADE_EMBEDDERS, AVATAR_RIGS, type AccountApi, type AdFormat, type AdOutcome, type AdOutcomeKind, type AdRequest, type AdsApi, AnalyticsApi, type AnalyticsFlushOptions, type AnalyticsFlushResult, type AnalyticsOptions, type AnalyticsRejection$1 as AnalyticsRejection, type AnalyticsValue, type AppLinksOutcome, type AppListing, type AppStore, type ArcadeApi, type ArcadeAvailability, type ArcadeOffer, type ArcadeOutcome, type ArcadeOutcomeKind, AuthError, type AuthFailure, type AuthState, type Avatar3dFamily, type Avatar3dOffer, type Avatar3dPrice, type Avatar3dPurchaseRequest, type AvatarRigNode, type AvatarRigs, type Avatars3dApi, type Base64String, type BootMark, type BootTimeline, type BrandingApi, type BrandingAsset, type BrandingAssetOptions, type BrandingCurrency, type BrandingImageOptions, type BrandingList, type BrandingLookup, type BrandingTheme, type BrandingVariant, type BroadcastOptions, type BytesResponse, CONDITIONAL_HEADERS, type Challenge, type ChallengeWindow, ChallengesApi, type ClientOptions, type Clock, type ConditionalRequestHeaders, type ConfiguredPurchasePayment, type ConfiguredPurchaseRequest, type ConfiguredPurchaseResult, type ControlsApi, DEVICE_SETTINGS_MAX_BYTES, DedicatedServerError, type DedicatedServerFailure, type DedicatedServerSession, type DevToolsOpener, type DeviceSettings, type DeviceSettingsApi, type DeviceSettingsPutOutcome, type DirectPurchaseRequest, type DirectPurchaseResult, type EarnAllowance, type EarnAllowanceEvent, type EarnAllowancePeriod, type EarnAllowanceReadOptions, type EntityLeaderboard, type EntityLeaderboardEntry, type EntityLeaderboardOptions, type EntityType$1 as EntityType, type ExitAnalytics, type ExitBridge, type ExitRooms, type FrameState, type Friend, type FriendChallenge, FriendChallengeError, type FriendChallengeErrorCode, type FriendChallengeOutcome, type FriendChallengeOutcomeKind, type FriendChallengeRequest, type FriendChallengesPage, FriendsApi, type FriendsPage, type FunctionFailure, type FunctionInvokeOptions, type FunctionResult, FunctionsApi, type GameApi, type GameCard, type GameConfig, type GameMenu, type GameMenuItem, type GamePass, type GameServerLink, type GameSettingsApi, type Gem, GemApiError, type GemAudioChannels, GemClient, type GemCohort, type GemCohorts, GemConfigError, type GemControlBox, type GemCorner, type GemDevTools, type GemErrorReason, GemFrame, GemFunctionError, type GemGameChoiceSetting, type GemGameSetting, type GemGameSettingBase, type GemGameSettingChange, type GemGameSettingIcon, type GemGameSettingOption, type GemGameSettingValue, type GemGameSliderSetting, type GemGameToggleSetting, type GemGraphicsQuality, type GemGraphicsRoute, type GemGraphicsRouteEntry, type GemIdentity, type GemInsets, type GemLook, type GemLookBase, type GemLookDelta, type GemLookOptions, type GemLookSpeed, type GemMatchApi, type GemMatchServer, type GemMatchServerModule, type GemOptions, type GemPlayer, type GemPreferredRoute, type GemPrefs, type GemRecommendedSettings, type GemReservedArea, GemSaveError, type GemServer, type GemServerBundle, type GemServerFactory, type GemServerHost, type GemServerHostProfile, type GemServerIdentity, type GemServerLifecycle, type GemServerOptions, type GemServerProfile, type GemTerminationNotice, GemUnframedError, type GemViewport, type GetLeaderboardOptions, type GraphicsApi, type HostTokenSource, type HostTokenSourceOptions, type JoinWelcome, type Leaderboard, type LeaderboardEntry, type LeaderboardPeriod, LeaderboardsApi, type ListChallengesOptions, type ListFriendChallengesOptions, type ListFriendsOptions, MAX_PERIODS_BACK, type MatchBackfillState, type MatchConnectOptions, type MatchConnection, type MatchHosting, type MatchHostingMode, type MatchPlayerReport, type MatchPlayerReportResult, type MatchServeOptions, type MatchTransport, type MenuStyle, type MessageMeta, type MomentKind, type MomentResult, type MomentSignal, type MomentsApi, type MultiTransportSession, PLATFORM_EVENTS, type PassesApi, type PassesEvent, type PeriodOptions, PlatformApi, PlatformCurrenciesApi, type PlatformCurrency, type PlatformCurrencyAccess, type PlatformCurrencyPurchasePayment, type PlatformCurrencyPurchaseRequest, type PlatformCurrencyPurchaseResult, type PlatformCurrencyReadOptions, PlatformEarnAllowanceApi, type PlatformEventName, type PlayerBadge$1 as PlayerBadge, type PlayerBoost, type PlayerBoostMultiplier, type PlayerIdentity, type PlayerProfile, type PlayerScope, PlayerText, type PreferredRouteOptions, type ProfileCallOptions, type ProfileShowcaseEntry$1 as ProfileShowcaseEntry, ProfilesApi, type PurchaseApi, type PurchaseOptions, type PurchaseOutcome, PurchaseRefusal, type PurchaseRefusalCode, type PurchaseRequest, type PurchaseSettlement, type PutBytesOptions, type PutSaveOptions, type RankedRow, type RecipeAvailability, type RecipeLock, type RequestOptions, type RewardCue, type RewardedStatus, type RoomArgValue, type SavePage, type SaveRecord, type SendOptions$1 as SendOptions, type ServerApi, type ServerBundleHost, type ServerTokenGrant, type SessionEndReason, type ShareApi, ShareRefusal, type ShareRequest, ShowcaseApi, type ShowcaseCallOptions, type ShowcaseFriendEntry, type ShowcaseFriends, type ShowcaseValue, type SignInOutcome, type SignInOutcomeKind, type SimilarGamesOutcome, type SnapshotCurrency, type SnapshotItem, type StoreApi, type StoreOffersOutcome, type StoreSettlement, type TokenGrant, type Transport, type TransportAdvert, type TransportKind, TransportRefusal, type TransportRequest, type TransportResponse, UNRELIABLE_CHANNEL_LABEL, type VersionedGetOptions, type VersionedResponse, type VibrationApi, type WalletVisibleOptions, type WornAvatar3d$1 as WornAvatar3d, asPlayerText, createBootTimeline, createGem, createGemServer, createHostTokenSource, createMatchServer, defineServer, experimentSelection, leaveAndExit, mapIdentity, markOnResolve, platformIconUrl, presentJoinCredential, readTemplateTransports, readTransportAdvert, reportOnResolve, systemClock, text, toBase64, webTransportAvailable };
5433
+ export { ARCADE_EMBEDDERS, AVATAR_RIGS, type AccountApi, type AdFormat, type AdOutcome, type AdOutcomeKind, type AdRequest, type AdsApi, AnalyticsApi, type AnalyticsFlushOptions, type AnalyticsFlushResult, type AnalyticsOptions, type AnalyticsRejection$1 as AnalyticsRejection, type AnalyticsValue, type AppLinksOutcome, type AppListing, type AppStore, type ArcadeApi, type ArcadeAvailability, type ArcadeOffer, type ArcadeOutcome, type ArcadeOutcomeKind, AuthError, type AuthFailure, type AuthState, type Avatar3dFamily, type Avatar3dOffer, type Avatar3dPrice, type Avatar3dPurchaseRequest, type AvatarRigNode, type AvatarRigs, type Avatars3dApi, type Base64String, type BootMark, type BootTimeline, type BrandingApi, type BrandingAsset, type BrandingAssetOptions, type BrandingCurrency, type BrandingImageOptions, type BrandingList, type BrandingLookup, type BrandingTheme, type BrandingVariant, type BroadcastOptions, type BytesResponse, CONDITIONAL_HEADERS, type Challenge, type ChallengeWindow, ChallengesApi, type ClientOptions, type Clock, type ConditionalRequestHeaders, type ConfiguredPurchasePayment, type ConfiguredPurchaseRequest, type ConfiguredPurchaseResult, type ControlsApi, DEVICE_SETTINGS_MAX_BYTES, DedicatedServerError, type DedicatedServerFailure, type DedicatedServerSession, type DevToolsOpener, type DeviceSettings, type DeviceSettingsApi, type DeviceSettingsPutOutcome, type DirectPurchaseRequest, type DirectPurchaseResult, type EarnAllowance, type EarnAllowanceEvent, type EarnAllowancePeriod, type EarnAllowanceReadOptions, type EntityLeaderboard, type EntityLeaderboardEntry, type EntityLeaderboardOptions, type EntityType$1 as EntityType, type ExitAnalytics, type ExitBridge, type ExitRooms, type FrameState, type Friend, type FriendChallenge, FriendChallengeError, type FriendChallengeErrorCode, type FriendChallengeOutcome, type FriendChallengeOutcomeKind, type FriendChallengeRequest, type FriendChallengesPage, FriendsApi, type FriendsPage, type FunctionFailure, type FunctionInvokeOptions, type FunctionResult, FunctionsApi, type GameApi, type GameCard, type GameConfig, type GameMenu, type GameMenuItem, type GamePass, type GameServerLink, type GameSettingsApi, type Gem, GemApiError, type GemAudioChannels, GemClient, type GemCohort, type GemCohorts, GemConfigError, type GemControlBox, type GemCorner, type GemDevTools, type GemErrorReason, GemFrame, GemFunctionError, type GemGameChoiceSetting, type GemGameSetting, type GemGameSettingBase, type GemGameSettingChange, type GemGameSettingIcon, type GemGameSettingOption, type GemGameSettingValue, type GemGameSliderSetting, type GemGameToggleSetting, type GemGraphicsQuality, type GemGraphicsRoute, type GemGraphicsRouteEntry, type GemIdentity, type GemInsets, type GemLook, type GemLookBase, type GemLookDelta, type GemLookOptions, type GemLookSpeed, type GemMatchApi, type GemMatchServer, type GemMatchServerModule, type GemOptions, type GemPlayer, type GemPreferredRoute, type GemPrefs, type GemRecommendedSettings, type GemReservedArea, GemSaveError, type GemServer, type GemServerBundle, type GemServerFactory, type GemServerHost, type GemServerHostProfile, type GemServerIdentity, type GemServerLifecycle, type GemServerOptions, type GemServerProfile, type GemTerminationNotice, GemUnframedError, type GemViewport, type GetLeaderboardOptions, type GraphicsApi, type HostTokenSource, type HostTokenSourceOptions, type JoinWelcome, type Leaderboard, type LeaderboardEntry, type LeaderboardPeriod, LeaderboardsApi, type ListChallengesOptions, type ListFriendChallengesOptions, type ListFriendsOptions, MAX_PERIODS_BACK, type MatchBackfillState, type MatchConnectOptions, type MatchConnection, type MatchHosting, type MatchHostingMode, type MatchPlayerReport, type MatchPlayerReportResult, type MatchServeOptions, type MatchTransport, type MenuStyle, type MessageMeta, type MomentKind, type MomentResult, type MomentSignal, type MomentsApi, type MultiTransportSession, PLATFORM_EVENTS, type PassesApi, type PassesEvent, type PeriodOptions, PlatformApi, PlatformCurrenciesApi, type PlatformCurrency, type PlatformCurrencyAccess, type PlatformCurrencyPurchasePayment, type PlatformCurrencyPurchaseRequest, type PlatformCurrencyPurchaseResult, type PlatformCurrencyReadOptions, PlatformEarnAllowanceApi, type PlatformEventName, type PlayInviteRequest, type PlayerBadge$1 as PlayerBadge, type PlayerBoost, type PlayerBoostMultiplier, type PlayerIdentity, type PlayerProfile, type PlayerScope, PlayerText, type PreferredRouteOptions, type ProfileCallOptions, type ProfileShowcaseEntry$1 as ProfileShowcaseEntry, ProfilesApi, type PurchaseApi, type PurchaseOptions, type PurchaseOutcome, PurchaseRefusal, type PurchaseRefusalCode, type PurchaseRequest, type PurchaseSettlement, type PutBytesOptions, type PutSaveOptions, type RankedRow, type RecipeAvailability, type RecipeLock, type RequestOptions, type RewardCue, type RewardPresentation, type RewardedStatus, type RoomArgValue, type SavePage, type SaveRecord, type SendOptions$1 as SendOptions, type ServerApi, type ServerBundleHost, type ServerTokenGrant, type SessionEndReason, type ShareApi, ShareRefusal, type ShareRequest, ShowcaseApi, type ShowcaseCallOptions, type ShowcaseFriendEntry, type ShowcaseFriends, type ShowcaseValue, type SignInOutcome, type SignInOutcomeKind, type SimilarGamesOutcome, type SnapshotCurrency, type SnapshotItem, type StoreApi, type StoreOffersOutcome, type StoreSettlement, type TokenGrant, type Transport, type TransportAdvert, type TransportKind, TransportRefusal, type TransportRequest, type TransportResponse, UNRELIABLE_CHANNEL_LABEL, type VersionedGetOptions, type VersionedResponse, type VibrationApi, type WalletVisibleOptions, type WornAvatar3d$1 as WornAvatar3d, asPlayerText, createBootTimeline, createGem, createGemServer, createHostTokenSource, createMatchServer, defineServer, experimentSelection, leaveAndExit, mapIdentity, markOnResolve, platformIconUrl, presentJoinCredential, readTemplateTransports, readTransportAdvert, reportOnResolve, systemClock, text, toBase64, webTransportAvailable };
@@ -1326,6 +1326,7 @@ declare function initiateInventoryTransfer(api: GameApi, body: InitiateTransferR
1326
1326
  signal?: AbortSignal;
1327
1327
  }): Promise<TransferResponse>;
1328
1328
  declare function invokeFunction(api: GameApi, body: Uint8Array, options?: {
1329
+ "cue_id"?: string;
1329
1330
  signal?: AbortSignal;
1330
1331
  }): Promise<BytesResponse>;
1331
1332
  declare function kickPlayer(api: GameApi, game_room_id: string, player_id: string, options?: {
package/dist/server.d.ts CHANGED
@@ -1404,6 +1404,7 @@ declare function initiateInventoryTransfer(api: GameApi, body: InitiateTransferR
1404
1404
  signal?: AbortSignal;
1405
1405
  }): Promise<TransferResponse>;
1406
1406
  declare function invokeFunction(api: GameApi, body: Uint8Array, options?: {
1407
+ "cue_id"?: string;
1407
1408
  signal?: AbortSignal;
1408
1409
  }): Promise<BytesResponse>;
1409
1410
  declare function kickPlayer(api: GameApi, game_room_id: string, player_id: string, options?: {
@@ -1723,6 +1724,7 @@ interface ServerAnalytics {
1723
1724
  }
1724
1725
  interface FunctionInvokeOptions {
1725
1726
  readonly signal?: AbortSignal;
1727
+ readonly cueId?: string;
1726
1728
  }
1727
1729
  interface FunctionResult {
1728
1730
  readonly bytes: Uint8Array;
@@ -1746,6 +1748,7 @@ declare class FunctionsApi {
1746
1748
  #private;
1747
1749
  constructor(invoke: (body: Uint8Array, options?: {
1748
1750
  signal?: AbortSignal;
1751
+ cue_id?: string;
1749
1752
  }) => Promise<BytesResponse>);
1750
1753
  invoke(input: unknown, options?: FunctionInvokeOptions): Promise<FunctionResult>;
1751
1754
  }