@series-inc/rundot-game-sdk 5.21.0-beta.2 → 5.21.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.
@@ -853,6 +853,87 @@ interface HapticsApi {
853
853
  triggerHapticAsync(style: HapticFeedbackStyle): Promise<void>;
854
854
  }
855
855
 
856
+ type GamepadSource = 'web-gamepad' | 'steam-input' | 'ios-gamecontroller' | 'android-input';
857
+ type GamepadButtonName = 'a' | 'b' | 'x' | 'y' | 'leftBumper' | 'rightBumper' | 'leftTrigger' | 'rightTrigger' | 'select' | 'start' | 'guide' | 'leftStick' | 'rightStick' | 'dpadUp' | 'dpadDown' | 'dpadLeft' | 'dpadRight';
858
+ interface GamepadButtonState {
859
+ pressed: boolean;
860
+ /** Analog 0..1 (triggers); 0/1 for digital buttons. */
861
+ value: number;
862
+ }
863
+ interface GamepadAxes {
864
+ leftX: number;
865
+ leftY: number;
866
+ rightX: number;
867
+ rightY: number;
868
+ }
869
+ interface GamepadSnapshot {
870
+ index: number;
871
+ id: string;
872
+ connected: boolean;
873
+ source: GamepadSource;
874
+ /** True when buttons map to the standard layout above; false = best-effort. */
875
+ standardMapping: boolean;
876
+ buttons: Record<GamepadButtonName, GamepadButtonState>;
877
+ /** Each axis normalized to -1..1. */
878
+ axes: GamepadAxes;
879
+ /** Monotonic ms (performance.now) when the provider sampled the device. */
880
+ sourceTimestamp: number;
881
+ /**
882
+ * Monotonic ms when the SDK cached/served this snapshot. Equals
883
+ * `sourceTimestamp` on Tier 1 (direct read); larger by the transport cost on
884
+ * Tier 2. `deliveredTimestamp - sourceTimestamp` is the added input latency.
885
+ */
886
+ deliveredTimestamp: number;
887
+ }
888
+ interface GamepadConnectionEvent {
889
+ index: number;
890
+ id: string;
891
+ source: GamepadSource;
892
+ }
893
+ interface GamepadLatencyStats {
894
+ p50: number;
895
+ p95: number;
896
+ max: number;
897
+ sampleCount: number;
898
+ }
899
+ interface GamepadApi {
900
+ /**
901
+ * Resolves once the one-time `GAMEPAD_SUBSCRIBE` handshake has settled (success,
902
+ * timeout, or reject) — i.e. once `isSupported()` is authoritative. Never
903
+ * rejects, never hangs. This is the readiness contract consumers MUST await
904
+ * before trusting `isSupported()`: the handshake is async and the SDK fires it
905
+ * during init, so `isSupported()` is routinely still `false` at game mount.
906
+ * Without awaiting this, a consumer either gives up on a transient `false`
907
+ * (race) or polls in hope it flips (silent fallback). On the local/mock tier
908
+ * there is no handshake, so this resolves immediately.
909
+ */
910
+ ready(): Promise<void>;
911
+ /**
912
+ * True when the SDK can read controllers on this surface (capability —
913
+ * independent of whether a pad is currently connected). Determined solely by
914
+ * the one-time `GAMEPAD_SUBSCRIBE` handshake: `true` iff the host returned a
915
+ * valid `{ supported: true, mode: 'tier1' | 'tier2' }`. The SDK never infers
916
+ * this from `navigator.getGamepads` (which exists yet is broken under Steam
917
+ * Input). Returns `false` before the handshake resolves (await `ready()`
918
+ * first) and on timeout/reject/`supported: false`/unknown `mode`. Never hangs.
919
+ */
920
+ isSupported(): boolean;
921
+ /**
922
+ * Synchronous snapshot of currently-connected pads (empty if none; never
923
+ * `null`/disconnected slots). Tier 1 reads `navigator.getGamepads()` live on
924
+ * each call (filtering empty slots); Tier 2 returns the latest host-pushed
925
+ * cache. Exactly one tier per instance; no RPC in either tier.
926
+ */
927
+ getGamepads(): GamepadSnapshot[];
928
+ onConnected(callback: (event: GamepadConnectionEvent) => void): Subscription;
929
+ onDisconnected(callback: (event: GamepadConnectionEvent) => void): Subscription;
930
+ /** Performance telemetry, off unless the input debug flag is enabled. */
931
+ readonly __debug: {
932
+ getLatencyStats(): GamepadLatencyStats;
933
+ };
934
+ }
935
+ declare const GAMEPAD_BUTTON_NAMES: readonly GamepadButtonName[];
936
+
856
937
  interface Experiment {
857
938
  readonly name: string;
858
939
  readonly ruleID: string;
@@ -2783,6 +2864,107 @@ interface EntitlementApi {
2783
2864
  getLedger(entitlementId?: string, limit?: number, startAfter?: number): Promise<LedgerEntry[]>;
2784
2865
  }
2785
2866
 
2867
+ /**
2868
+ * Information returned when a stat submission triggers one or more rule
2869
+ * evaluations server-side. Mirrors the cloud-run GrantInfo type in
2870
+ * server/cloud-run/src/types/collectibles.ts.
2871
+ *
2872
+ * Most submissions resolve with an empty `grants` array — only stats wired to
2873
+ * a collectible rule produce grants. RUN.tv consumers use `grants` to drive
2874
+ * the reveal overlay; fire-and-forget callers can ignore it.
2875
+ */
2876
+ interface GrantInfo {
2877
+ /** Card identifier (= entitlementId on the platform). */
2878
+ cardId: string;
2879
+ /** Rule that fired to produce this grant. */
2880
+ ruleId: string;
2881
+ /** Card type from the catalog. 'vip' and 'premium' grants do not flow
2882
+ * through stats.submit and so do not appear here. */
2883
+ type: 'free' | 'completion';
2884
+ /** Source of the trigger for analytics attribution. */
2885
+ source: 'watch' | 'completion_reward';
2886
+ }
2887
+ interface StatsApi {
2888
+ /**
2889
+ * Submit a stat value for the current user in this game. Schemaless — any
2890
+ * `(statId, value)` pair is accepted. The server stores last-write-wins.
2891
+ *
2892
+ * Resolves with `{ grants }` containing the cards granted by rule evaluation
2893
+ * for **this specific statId**. The array is empty for stats with no rules,
2894
+ * or when this stat's rules did not fire.
2895
+ *
2896
+ * Submits issued within the same synchronous tick coalesce into a single
2897
+ * round-trip (per-stat last-write-wins on `value`). Each caller's promise
2898
+ * resolves or rejects based on their own statId's outcome — callers do not
2899
+ * observe grants from other stats in the same batch, even if one is
2900
+ * submitted next to theirs.
2901
+ *
2902
+ * For most game use cases the result can be ignored — the platform records
2903
+ * grants server-side regardless and consumers (like RUN.tv's Profile)
2904
+ * refresh entitlements on a separate cadence. Consumers that drive a
2905
+ * reveal-overlay UX synchronous with the submit await the grants.
2906
+ */
2907
+ submit(statId: string, value: number): Promise<{
2908
+ grants: GrantInfo[];
2909
+ }>;
2910
+ /** Get the current value of a stat, or `null` if never submitted. */
2911
+ getValue(statId: string): Promise<number | null>;
2912
+ /** Get all stat values for the current user in this game as a flat map. */
2913
+ getAllValues(): Promise<Record<string, number>>;
2914
+ }
2915
+
2916
+ /**
2917
+ * Card catalog entry. Mirrors the cloud-run CollectibleCard shape — the same
2918
+ * data that gets authored in a game's `.rundot/collectibles.config.json`.
2919
+ *
2920
+ * The SDK does not interpret these fields; they are passed through to the
2921
+ * consumer for rendering. `artPath` / `thumbPath` are CDN-relative — resolve
2922
+ * them via `RundotGameAPI.cdn.resolveAssetUrl` before display.
2923
+ */
2924
+ interface CollectibleCard {
2925
+ cardId: string;
2926
+ storyId: string;
2927
+ episodeId?: string;
2928
+ type: 'free' | 'premium' | 'vip' | 'completion';
2929
+ rarity: 'common' | 'rare' | 'epic' | 'legendary';
2930
+ title: string;
2931
+ description: string;
2932
+ artPath: string;
2933
+ thumbPath: string;
2934
+ lockedArtPath?: string;
2935
+ priceRbOverride?: number;
2936
+ limitedTimeEnd?: string;
2937
+ }
2938
+ /** Result of a VIP card claim. */
2939
+ interface VipClaimResult {
2940
+ granted: boolean;
2941
+ cardId: string;
2942
+ }
2943
+ interface CollectiblesApi {
2944
+ /**
2945
+ * Fetch the deployed card catalog for the current game. Returns every card
2946
+ * authored in `.rundot/collectibles.config.json` — both owned and unowned
2947
+ * from the user's perspective. Pair with `RundotGameAPI.entitlements.*` to
2948
+ * decide which cards the player currently owns.
2949
+ *
2950
+ * Typically called once on game init and cached client-side; the catalog
2951
+ * only changes on the next `rundot deploy`.
2952
+ */
2953
+ listCards(): Promise<CollectibleCard[]>;
2954
+ /**
2955
+ * Claim a VIP card for the current user. The server validates that the
2956
+ * user is an active subscriber AND has completed the requested series (via
2957
+ * the `series_completed_{seriesId}` stat), then grants the matching card
2958
+ * entitlement directly — no rule engine, no client-writable trigger stat
2959
+ * in between.
2960
+ *
2961
+ * Rejects with an error when the server returns 403 (subscription required)
2962
+ * or 400 (series not completed / card mismatch / unknown card). Consumers
2963
+ * typically translate the error message into a toast.
2964
+ */
2965
+ claimVipCard(seriesId: string, cardId: string): Promise<VipClaimResult>;
2966
+ }
2967
+
2786
2968
  interface StorefrontItem {
2787
2969
  itemId: string;
2788
2970
  name: string;
@@ -3406,6 +3588,7 @@ interface Host {
3406
3588
  readonly ai: AiApi;
3407
3589
  readonly textGen: TextGenApi;
3408
3590
  readonly haptics: HapticsApi;
3591
+ readonly gamepad: GamepadApi;
3409
3592
  readonly features: FeaturesApi;
3410
3593
  readonly lifecycle: LifecycleApi;
3411
3594
  readonly simulation: SimulationApi;
@@ -3424,6 +3607,8 @@ interface Host {
3424
3607
  readonly spriteGen: SpriteGenApi;
3425
3608
  readonly threeDGen: ThreeDGenApi;
3426
3609
  readonly entitlements: EntitlementApi;
3610
+ readonly stats: StatsApi;
3611
+ readonly collectibles: CollectiblesApi;
3427
3612
  readonly shop: ShopApi;
3428
3613
  readonly accessGate: AccessGateApi;
3429
3614
  readonly multiplayer: MultiplayerApi;
@@ -3739,6 +3924,7 @@ interface RundotGameAPI {
3739
3924
  simulation: SimulationApi;
3740
3925
  leaderboard: LeaderboardApi;
3741
3926
  ugc: UgcApi;
3927
+ gamepad: GamepadApi;
3742
3928
  log(message: string, ...args: any[]): void;
3743
3929
  error(message: string, ...args: any[]): void;
3744
3930
  isAvailable(): boolean;
@@ -3937,6 +4123,8 @@ interface RundotGameAPI {
3937
4123
  spriteGen: SpriteGenApi;
3938
4124
  threeDGen: ThreeDGenApi;
3939
4125
  entitlements: EntitlementApi;
4126
+ stats: StatsApi;
4127
+ collectibles: CollectiblesApi;
3940
4128
  shop: ShopApi;
3941
4129
  accessGate: AccessGateApi;
3942
4130
  video: VideoApi;
@@ -3965,4 +4153,4 @@ interface AdsApi {
3965
4153
  showInterstitialAd(options?: ShowInterstitialAdOptions): Promise<boolean>;
3966
4154
  }
3967
4155
 
3968
- export { type AddToHomeScreenResult as $, type AnalyticsApi as A, type BatchRecipeRequirementsResult as B, type NotificationsApi as C, type ScheduleLocalNotification as D, type ScheduleNotificationOptions as E, type RCSAvailabilityStatus as F, type ScheduleRCSInput as G, type Host as H, type ScheduleRCSResult as I, type RequestRCSOptInInput as J, type RequestRCSOptInResult as K, type PopupsApi as L, type ShowToastOptions as M, type NavigationApi as N, type ShowInterstitialAdOptions as O, type Profile as P, type QuitOptions as Q, type RundotGameAPI as R, type SimulationActiveRunsUpdate as S, type ShowRewardedAdOptions as T, type ProfileApi as U, type DeviceApi as V, type DeviceInfo as W, type EnvironmentApi as X, type EnvironmentInfo as Y, type SystemApi as Z, type SafeArea as _, type RecipeRequirementQuery as a, type LoggingApi as a$, type CdnApi as a0, type FetchFromCdnOptions as a1, type AssetUrlResult as a2, type TimeApi as a3, type ServerTimeData as a4, type GetFutureTimeOptions as a5, type AiApi as a6, type AiChatCompletionRequest as a7, type AiChatCompletionData as a8, type AiChatCompletionStreamOptions as a9, type ResetStateOptions as aA, type ResetStateResult as aB, type GetActiveRunsOptions as aC, type ExecuteScopedRecipeOptions as aD, type ExecuteScopedRecipeResult as aE, type GetAvailableRecipesOptions as aF, type GetAvailableRecipesResult as aG, type Recipe as aH, type GetBatchRecipeRequirements as aI, type TriggerRecipeChainOptions as aJ, type RoomDataUpdate as aK, type RoomMessageEvent as aL, type ProposedMoveEvent as aM, RundotGameTransport as aN, type RoomsApi as aO, type CreateRoomOptions as aP, type JoinOrCreateRoomOptions as aQ, type JoinOrCreateResult as aR, type ListRoomsOptions as aS, type UpdateRoomDataOptions as aT, type RoomMessageRequest as aU, type StartRoomGameOptions as aV, type ProposeMoveRequest as aW, type ProposeMoveResult as aX, type ValidateMoveVerdict as aY, type ValidateMoveResult as aZ, type RoomSubscriptionOptions as a_, type AiChatCompletionStreamChunk as aa, type HapticsApi as ab, HapticFeedbackStyle as ac, type FeaturesApi as ad, type Experiment as ae, type LifecycleApi as af, type SleepCallback as ag, type Subscription as ah, type AwakeCallback as ai, type PauseCallback as aj, type ResumeCallback as ak, type QuitCallback as al, type BackButtonCallback as am, type SimulationApi as an, type SimulationSlotValidationResult as ao, type SimulationBatchOperation as ap, type SimulationBatchOperationsResult as aq, type SimulationAvailableItem as ar, type SimulationPowerPreview as as, type SimulationSlotMutationResult as at, type SimulationSlotContainer as au, type SimulationAssignment as av, type SimulationState as aw, type ExecuteRecipeOptions as ax, type ExecuteRecipeResponse as ay, type CollectRecipeResult as az, type RecipeRequirementResult as b, type Avatar3dConfig as b$, type IapApi as b0, type SpendCurrencyOptions as b1, type SpendCurrencyResult as b2, type SubscriptionTier as b3, type RunSubscriptionsResponse as b4, type SubscriptionInterval as b5, type PurchaseSubscriptionResponse as b6, type OpenStoreResult as b7, type LoadEmbeddedAssetsResponse as b8, type SharedAssetsApi as b9, type AdminUgcApi as bA, type AdminImageGenApi as bB, type AdminVideoGenApi as bC, type AdminSpriteGenApi as bD, type AdminAudioGenApi as bE, type AdminThreeDGenApi as bF, type AppRole as bG, type ResolveLaunchIntentOptions as bH, type LaunchIntent as bI, type AdminUgcBrowseParams as bJ, type AdminUgcBrowseResponse as bK, type AdminUgcListReportsParams as bL, type AdminUgcListReportsResponse as bM, type AdminUgcResolveAction as bN, type AdminGenBrowseParams as bO, type AdminGenBrowseResponse as bP, type ImageGenEntry as bQ, type AdminGenListReportsParams as bR, type AdminGenListReportsResponse as bS, type ImageGenReport as bT, type AdminGenResolveAction as bU, type SpriteGenEntry as bV, type SpriteGenReport as bW, type ThreeDGenEntry as bX, type ThreeDGenReport as bY, type Avatar3dApi as bZ, type AssetManifest as b_, type PreloaderApi as ba, type SocialApi as bb, type ShareMetadata as bc, type ShareLinkResult as bd, type SocialQRCodeOptions as be, type QRCodeResult as bf, type ShareClickData as bg, type ShareFileOptions as bh, type ShareFileResult as bi, type CanShareFileResult as bj, type EntitlementApi as bk, type Entitlement as bl, type LedgerEntry as bm, type ShopApi as bn, type StorefrontResponse as bo, type StorefrontItem as bp, type ShopPurchaseResponse as bq, type ShopOrderHistoryResponse as br, type PromptLoginResult as bs, type AccessTier as bt, type AccessGateApi as bu, type TextGenApi as bv, type UgcApi as bw, type MultiplayerApi as bx, type VideoApi as by, type AppApi as bz, type RundotGameAvailableRecipe as c, type IsPlayerSubscribedRequest as c$, type ShowEditorOptions as c0, type Avatar3dEdits as c1, type AdsApi as c2, type SharedStorageHostApi as c3, type FilesApi as c4, type ClipsApi as c5, type AttributionApi as c6, type InitializationContext as c7, type InitializationOptions as c8, type CaptureConsent as c9, type AdminVideoGenBrowseResponse as cA, type AdminVideoGenListReportsParams as cB, type AdminVideoGenListReportsResponse as cC, type AdminVideoGenResolveAction as cD, type AiContentBlock as cE, type AiImageContent as cF, type AiImageUrlContent as cG, type AiMessage as cH, type AiResponseFormat as cI, type AiTextContent as cJ, type AiToolResultContent as cK, type AiToolUseContent as cL, type Asset as cM, type AudioGenEntry as cN, type AudioGenReport as cO, CLIP_CONTENT_TYPE as cP, type Category as cQ, type ClipAudioOptions as cR, type ClipCameraOptions as cS, type ClipPipLayout as cT, type ClipPipPosition as cU, type ConnectionState as cV, type GetSubscriptionsForTierRequest as cW, type HudInsets as cX, type InboundForKeyEntry as cY, type InboundMethodIds as cZ, type InboundStorageApi as c_, type StartClipRecordingOptions as ca, type ClipBlob as cb, type ClipsSupport as cc, type ClipPersistOptions as cd, type ClipResult as ce, type UgcEntry as cf, type CaptureConsentStatus as cg, AccessDeniedError as ch, type AdminGenApi as ci, type AdminImageGenBrowseParams as cj, type AdminImageGenBrowseResponse as ck, type AdminImageGenListReportsParams as cl, type AdminImageGenListReportsResponse as cm, type AdminImageGenResolveAction as cn, type AdminSpriteGenBrowseParams as co, type AdminSpriteGenBrowseResponse as cp, type AdminSpriteGenListReportsParams as cq, type AdminSpriteGenListReportsResponse as cr, type AdminSpriteGenResolveAction as cs, type AdminThreeDGenBrowseParams as ct, type AdminThreeDGenBrowseResponse as cu, type AdminThreeDGenListReportsParams as cv, type AdminThreeDGenListReportsResponse as cw, type AdminThreeDGenResolveAction as cx, type AdminUgcEntry as cy, type AdminVideoGenBrowseParams as cz, type RundotGameCollectRecipeResult as d, type JoinOrCreateRoomEnvelopeResponse as d0, type JoinRoomMatchCriteria as d1, type LaunchIntentKind as d2, type ListUserRoomsOptions as d3, type LoadEmbeddedAssetsRequest as d4, MockAvatarApi as d5, type NotificationTriggerInput as d6, type OnNotificationCallback as d7, type OnRequestCallback as d8, type OnResponseCallback as d9, type ServerPlayer as dA, type ServerRoom as dB, type ShareFileMimeType as dC, type ShopOrder as dD, type SimulationBatchOperationAssign as dE, type SimulationBatchOperationRemove as dF, type SimulationBatchOperationResult as dG, type SimulationPersonalState as dH, type SimulationRoomActiveRecipe as dI, type SimulationRoomState as dJ, type StorefrontCollection as dK, type StorefrontCollectionItem as dL, type SubPath as dM, type Tool as dN, type ToolChoice as dO, type ToolUse as dP, type TimeIntervalTriggerInput as dQ, type UgcReport as dR, type VideoGenEntry as dS, type VideoGenReport as dT, createHost as dU, resolveCollectionItemPrice as dV, type ProposedMovePayload as da, type Protocol as db, type PurchaseSubscriptionRequest as dc, type RCSAvailabilityReason as dd, type RCSOptInStatus as de, ROOM_GAME_PHASES as df, type RealtimeRoomSummary as dg, type RecipeInfo as dh, type RoomEnvelopeResponse as di, type RoomEvents as dj, type RoomGamePhase as dk, type RoomMessageEventType as dl, type RoomMessagePayload as dm, type RoomsEnvelopeResponse as dn, RpcInboundStorageApi as dp, RpcSharedAssetsApi as dq, type RpcTransport as dr, type RunSubscription as ds, type RundotGameRoomCustomMetadata as dt, type RundotGameRoomPayload as du, type RundotGameRoomRules as dv, type RundotGameRoomRulesGameState as dw, SHARE_FILE_ALLOWED_MIME_TYPES as dx, SHARE_FILE_MAX_SIZE_BYTES as dy, type ScheduleRCSStatus as dz, type RundotGameExecuteRecipeOptions as e, type RundotGameExecuteRecipeResult as f, type RundotGameExecuteScopedRecipeOptions as g, RundotGameRoom as h, type RundotGameSimulationConfig as i, type RundotGameSimulationEffect as j, type RundotGameSimulationRecipe as k, type RundotGameSimulationStateResponse as l, type SimulationEntityUpdate as m, type SimulationRunSummary as n, type SimulationSnapshotUpdate as o, type SimulationSubscribeOptions as p, type SimulationUpdateData as q, type SimulationUpdateType as r, type RpcRequest as s, type RpcResponse as t, type RpcNotification as u, RpcClient as v, type StorageApi as w, type NavigationStackInfo as x, type PushAppOptions as y, type NavigateToGameOptions as z };
4156
+ export { type AddToHomeScreenResult as $, type AnalyticsApi as A, type BatchRecipeRequirementsResult as B, type NotificationsApi as C, type ScheduleLocalNotification as D, type ScheduleNotificationOptions as E, type RCSAvailabilityStatus as F, type ScheduleRCSInput as G, type Host as H, type ScheduleRCSResult as I, type RequestRCSOptInInput as J, type RequestRCSOptInResult as K, type PopupsApi as L, type ShowToastOptions as M, type NavigationApi as N, type ShowInterstitialAdOptions as O, type Profile as P, type QuitOptions as Q, type RundotGameAPI as R, type SimulationActiveRunsUpdate as S, type ShowRewardedAdOptions as T, type ProfileApi as U, type DeviceApi as V, type DeviceInfo as W, type EnvironmentApi as X, type EnvironmentInfo as Y, type SystemApi as Z, type SafeArea as _, type RecipeRequirementQuery as a, type ProposeMoveResult as a$, type CdnApi as a0, type FetchFromCdnOptions as a1, type AssetUrlResult as a2, type TimeApi as a3, type ServerTimeData as a4, type GetFutureTimeOptions as a5, type AiApi as a6, type AiChatCompletionRequest as a7, type AiChatCompletionData as a8, type AiChatCompletionStreamOptions as a9, type SimulationState as aA, type ExecuteRecipeOptions as aB, type ExecuteRecipeResponse as aC, type CollectRecipeResult as aD, type ResetStateOptions as aE, type ResetStateResult as aF, type GetActiveRunsOptions as aG, type ExecuteScopedRecipeOptions as aH, type ExecuteScopedRecipeResult as aI, type GetAvailableRecipesOptions as aJ, type GetAvailableRecipesResult as aK, type Recipe as aL, type GetBatchRecipeRequirements as aM, type TriggerRecipeChainOptions as aN, type RoomDataUpdate as aO, type RoomMessageEvent as aP, type ProposedMoveEvent as aQ, RundotGameTransport as aR, type RoomsApi as aS, type CreateRoomOptions as aT, type JoinOrCreateRoomOptions as aU, type JoinOrCreateResult as aV, type ListRoomsOptions as aW, type UpdateRoomDataOptions as aX, type RoomMessageRequest as aY, type StartRoomGameOptions as aZ, type ProposeMoveRequest as a_, type AiChatCompletionStreamChunk as aa, type HapticsApi as ab, HapticFeedbackStyle as ac, type GamepadSnapshot as ad, type GamepadConnectionEvent as ae, type Subscription as af, type GamepadApi as ag, type GamepadLatencyStats as ah, type FeaturesApi as ai, type Experiment as aj, type LifecycleApi as ak, type SleepCallback as al, type AwakeCallback as am, type PauseCallback as an, type ResumeCallback as ao, type QuitCallback as ap, type BackButtonCallback as aq, type SimulationApi as ar, type SimulationSlotValidationResult as as, type SimulationBatchOperation as at, type SimulationBatchOperationsResult as au, type SimulationAvailableItem as av, type SimulationPowerPreview as aw, type SimulationSlotMutationResult as ax, type SimulationSlotContainer as ay, type SimulationAssignment as az, type RecipeRequirementResult as b, type AdminGenListReportsResponse as b$, type ValidateMoveVerdict as b0, type ValidateMoveResult as b1, type RoomSubscriptionOptions as b2, type LoggingApi as b3, type IapApi as b4, type SpendCurrencyOptions as b5, type SpendCurrencyResult as b6, type SubscriptionTier as b7, type RunSubscriptionsResponse as b8, type SubscriptionInterval as b9, type ShopOrderHistoryResponse as bA, type PromptLoginResult as bB, type AccessTier as bC, type AccessGateApi as bD, type TextGenApi as bE, type UgcApi as bF, type MultiplayerApi as bG, type VideoApi as bH, type AppApi as bI, type AdminUgcApi as bJ, type AdminImageGenApi as bK, type AdminVideoGenApi as bL, type AdminSpriteGenApi as bM, type AdminAudioGenApi as bN, type AdminThreeDGenApi as bO, type AppRole as bP, type ResolveLaunchIntentOptions as bQ, type LaunchIntent as bR, type AdminUgcBrowseParams as bS, type AdminUgcBrowseResponse as bT, type AdminUgcListReportsParams as bU, type AdminUgcListReportsResponse as bV, type AdminUgcResolveAction as bW, type AdminGenBrowseParams as bX, type AdminGenBrowseResponse as bY, type ImageGenEntry as bZ, type AdminGenListReportsParams as b_, type PurchaseSubscriptionResponse as ba, type OpenStoreResult as bb, type LoadEmbeddedAssetsResponse as bc, type SharedAssetsApi as bd, type PreloaderApi as be, type SocialApi as bf, type ShareMetadata as bg, type ShareLinkResult as bh, type SocialQRCodeOptions as bi, type QRCodeResult as bj, type ShareClickData as bk, type ShareFileOptions as bl, type ShareFileResult as bm, type CanShareFileResult as bn, type EntitlementApi as bo, type Entitlement as bp, type LedgerEntry as bq, type StatsApi as br, type GrantInfo as bs, type CollectiblesApi as bt, type CollectibleCard as bu, type VipClaimResult as bv, type ShopApi as bw, type StorefrontResponse as bx, type StorefrontItem as by, type ShopPurchaseResponse as bz, type RundotGameAvailableRecipe as c, type ClipCameraOptions as c$, type ImageGenReport as c0, type AdminGenResolveAction as c1, type SpriteGenEntry as c2, type SpriteGenReport as c3, type ThreeDGenEntry as c4, type ThreeDGenReport as c5, type Avatar3dApi as c6, type AssetManifest as c7, type Avatar3dConfig as c8, type ShowEditorOptions as c9, type AdminSpriteGenListReportsResponse as cA, type AdminSpriteGenResolveAction as cB, type AdminThreeDGenBrowseParams as cC, type AdminThreeDGenBrowseResponse as cD, type AdminThreeDGenListReportsParams as cE, type AdminThreeDGenListReportsResponse as cF, type AdminThreeDGenResolveAction as cG, type AdminUgcEntry as cH, type AdminVideoGenBrowseParams as cI, type AdminVideoGenBrowseResponse as cJ, type AdminVideoGenListReportsParams as cK, type AdminVideoGenListReportsResponse as cL, type AdminVideoGenResolveAction as cM, type AiContentBlock as cN, type AiImageContent as cO, type AiImageUrlContent as cP, type AiMessage as cQ, type AiResponseFormat as cR, type AiTextContent as cS, type AiToolResultContent as cT, type AiToolUseContent as cU, type Asset as cV, type AudioGenEntry as cW, type AudioGenReport as cX, CLIP_CONTENT_TYPE as cY, type Category as cZ, type ClipAudioOptions as c_, type Avatar3dEdits as ca, type AdsApi as cb, type SharedStorageHostApi as cc, type FilesApi as cd, type ClipsApi as ce, type AttributionApi as cf, type InitializationContext as cg, type InitializationOptions as ch, type CaptureConsent as ci, type StartClipRecordingOptions as cj, type ClipBlob as ck, type ClipsSupport as cl, type ClipPersistOptions as cm, type ClipResult as cn, type UgcEntry as co, type CaptureConsentStatus as cp, AccessDeniedError as cq, type AdminGenApi as cr, type AdminImageGenBrowseParams as cs, type AdminImageGenBrowseResponse as ct, type AdminImageGenListReportsParams as cu, type AdminImageGenListReportsResponse as cv, type AdminImageGenResolveAction as cw, type AdminSpriteGenBrowseParams as cx, type AdminSpriteGenBrowseResponse as cy, type AdminSpriteGenListReportsParams as cz, type RundotGameCollectRecipeResult as d, type Tool as d$, type ClipPipLayout as d0, type ClipPipPosition as d1, type ConnectionState as d2, GAMEPAD_BUTTON_NAMES as d3, type GamepadAxes as d4, type GamepadButtonName as d5, type GamepadButtonState as d6, type GamepadSource as d7, type GetSubscriptionsForTierRequest as d8, type HudInsets as d9, type RoomMessageEventType as dA, type RoomMessagePayload as dB, type RoomsEnvelopeResponse as dC, RpcInboundStorageApi as dD, RpcSharedAssetsApi as dE, type RpcTransport as dF, type RunSubscription as dG, type RundotGameRoomCustomMetadata as dH, type RundotGameRoomPayload as dI, type RundotGameRoomRules as dJ, type RundotGameRoomRulesGameState as dK, SHARE_FILE_ALLOWED_MIME_TYPES as dL, SHARE_FILE_MAX_SIZE_BYTES as dM, type ScheduleRCSStatus as dN, type ServerPlayer as dO, type ServerRoom as dP, type ShareFileMimeType as dQ, type ShopOrder as dR, type SimulationBatchOperationAssign as dS, type SimulationBatchOperationRemove as dT, type SimulationBatchOperationResult as dU, type SimulationPersonalState as dV, type SimulationRoomActiveRecipe as dW, type SimulationRoomState as dX, type StorefrontCollection as dY, type StorefrontCollectionItem as dZ, type SubPath as d_, type InboundForKeyEntry as da, type InboundMethodIds as db, type InboundStorageApi as dc, type IsPlayerSubscribedRequest as dd, type JoinOrCreateRoomEnvelopeResponse as de, type JoinRoomMatchCriteria as df, type LaunchIntentKind as dg, type ListUserRoomsOptions as dh, type LoadEmbeddedAssetsRequest as di, MockAvatarApi as dj, type NotificationTriggerInput as dk, type OnNotificationCallback as dl, type OnRequestCallback as dm, type OnResponseCallback as dn, type ProposedMovePayload as dp, type Protocol as dq, type PurchaseSubscriptionRequest as dr, type RCSAvailabilityReason as ds, type RCSOptInStatus as dt, ROOM_GAME_PHASES as du, type RealtimeRoomSummary as dv, type RecipeInfo as dw, type RoomEnvelopeResponse as dx, type RoomEvents as dy, type RoomGamePhase as dz, type RundotGameExecuteRecipeOptions as e, type ToolChoice as e0, type ToolUse as e1, type TimeIntervalTriggerInput as e2, type UgcReport as e3, type VideoGenEntry as e4, type VideoGenReport as e5, createHost as e6, resolveCollectionItemPrice as e7, type RundotGameExecuteRecipeResult as f, type RundotGameExecuteScopedRecipeOptions as g, RundotGameRoom as h, type RundotGameSimulationConfig as i, type RundotGameSimulationEffect as j, type RundotGameSimulationRecipe as k, type RundotGameSimulationStateResponse as l, type SimulationEntityUpdate as m, type SimulationRunSummary as n, type SimulationSnapshotUpdate as o, type SimulationSubscribeOptions as p, type SimulationUpdateData as q, type SimulationUpdateType as r, type RpcRequest as s, type RpcResponse as t, type RpcNotification as u, RpcClient as v, type StorageApi as w, type NavigationStackInfo as x, type PushAppOptions as y, type NavigateToGameOptions as z };