@series-inc/venus-sdk 3.4.2-beta.0 → 3.4.2-beta.2

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.
@@ -562,6 +562,32 @@ interface SimulationApi {
562
562
  subscribeAsync(options: SimulationSubscribeOptions): Promise<() => void>;
563
563
  }
564
564
 
565
+ declare const ROOM_GAME_PHASES: readonly ["waiting", "playing", "ended"];
566
+ type RoomGamePhase = (typeof ROOM_GAME_PHASES)[number];
567
+ interface VenusRoomRulesGameState extends Record<string, unknown> {
568
+ phase?: RoomGamePhase;
569
+ currentPlayer?: string | null;
570
+ turnOrder?: string[];
571
+ turnCount?: number;
572
+ turnBased?: boolean;
573
+ playerStates?: Record<string, unknown>;
574
+ startParams?: {
575
+ gameConfig: Record<string, unknown>;
576
+ turnOrder?: string[] | null;
577
+ startedBy: string;
578
+ startedAt: unknown;
579
+ };
580
+ }
581
+ interface VenusRoomRules extends Record<string, unknown> {
582
+ hostProfileId?: string;
583
+ minPlayers?: number;
584
+ maxPlayers?: number;
585
+ turnBased?: boolean;
586
+ gameState?: VenusRoomRulesGameState;
587
+ }
588
+ interface VenusRoomCustomMetadata extends Record<string, unknown> {
589
+ rules?: VenusRoomRules;
590
+ }
565
591
  interface VenusRoomPayload extends Record<string, unknown> {
566
592
  id: string;
567
593
  name?: string;
@@ -575,12 +601,12 @@ interface VenusRoomPayload extends Record<string, unknown> {
575
601
  updatedAt?: number;
576
602
  isPrivate?: boolean;
577
603
  status?: string;
578
- customMetadata?: Record<string, unknown>;
604
+ customMetadata?: VenusRoomCustomMetadata;
579
605
  admins?: string[];
580
606
  roomCode?: string;
581
607
  description?: string;
582
608
  data?: Record<string, unknown>;
583
- version?: string;
609
+ version?: number;
584
610
  }
585
611
  declare class VenusRoom {
586
612
  readonly id: string;
@@ -595,12 +621,12 @@ declare class VenusRoom {
595
621
  updatedAt?: number;
596
622
  isPrivate?: boolean;
597
623
  status?: string;
598
- customMetadata: Record<string, unknown>;
624
+ customMetadata: VenusRoomCustomMetadata;
599
625
  admins: string[];
600
626
  roomCode?: string;
601
627
  description?: string;
602
628
  data: Record<string, unknown>;
603
- version?: string;
629
+ version?: number;
604
630
  constructor(roomData: VenusRoomPayload);
605
631
  }
606
632
 
@@ -635,20 +661,45 @@ interface ListRoomsOptions {
635
661
  interface RoomDataUpdate {
636
662
  type: 'H5_ROOM_DATA_UPDATED';
637
663
  roomId: string;
638
- roomData: Record<string, unknown>;
664
+ roomData: VenusRoomPayload;
639
665
  timestamp?: number;
640
666
  }
641
667
  type RoomMessageEventType = 'H5_ROOM_MESSAGE_RECEIVED' | 'H5_ROOM_MESSAGE_UPDATED' | 'H5_ROOM_MESSAGE_DELETED';
668
+ interface RoomMessagePayload extends Record<string, unknown> {
669
+ id?: string;
670
+ roomId?: string;
671
+ senderId?: string;
672
+ type?: string;
673
+ content?: unknown;
674
+ metadata?: Record<string, unknown>;
675
+ timestamp?: unknown;
676
+ }
642
677
  interface RoomMessageEvent {
643
678
  type: RoomMessageEventType;
644
679
  roomId: string;
645
- message: Record<string, unknown>;
680
+ message: RoomMessagePayload;
646
681
  timestamp?: number;
647
682
  }
683
+ interface ProposedMovePayload extends Record<string, unknown> {
684
+ id?: string;
685
+ proposerProfileId?: string;
686
+ timestamp?: unknown;
687
+ gameSpecificState?: Record<string, unknown>;
688
+ clientContext?: Record<string, unknown>;
689
+ moveType?: string;
690
+ clientProposalId?: string;
691
+ serverGenericValidationStatus?: string;
692
+ serverGenericValidationReason?: string;
693
+ serverCustomValidationStatus?: string;
694
+ serverCustomValidationReason?: string;
695
+ clientConsensusStatus?: string;
696
+ clientConsensusDetails?: unknown;
697
+ updatedAt?: unknown;
698
+ }
648
699
  interface ProposedMoveEvent {
649
700
  type: 'app:h5:proposedMoveValidationUpdated';
650
701
  roomId: string;
651
- proposedMoveData: Record<string, unknown>;
702
+ proposedMoveData: ProposedMovePayload;
652
703
  proposedMoveId?: string;
653
704
  changeType?: string;
654
705
  timestamp?: number;
@@ -695,6 +746,10 @@ interface RoomsApi {
695
746
  joinRoomByCodeAsync(roomCode: string): Promise<VenusRoom>;
696
747
  getUserRoomsAsync(options?: ListRoomsOptions): Promise<VenusRoom[]>;
697
748
  subscribeAsync(room: VenusRoom, options?: RoomSubscriptionOptions): Promise<() => void>;
749
+ /**
750
+ * @deprecated Prefer server-authoritative flows (e.g. `proposeMoveAsync` / `startRoomGameAsync`)
751
+ * and treat `customMetadata.rules.gameState` as the canonical room lifecycle state.
752
+ */
698
753
  updateRoomDataAsync(room: VenusRoom, updates: Record<string, unknown>, options?: UpdateRoomDataOptions): Promise<void>;
699
754
  getRoomDataAsync(room: VenusRoom): Promise<Record<string, unknown>>;
700
755
  sendRoomMessageAsync(room: VenusRoom, message: RoomMessageRequest): Promise<string>;
@@ -1552,4 +1607,4 @@ interface AdsApi {
1552
1607
  showInterstitialAd(options?: ShowInterstitialAdOptions): Promise<boolean>;
1553
1608
  }
1554
1609
 
1555
- export { type AiApi as $, type AnalyticsApi as A, type BatchRecipeRequirementsResult as B, type ScheduleNotificationOptions as C, type PopupsApi as D, type ShowToastOptions as E, type ShowInterstitialAdOptions as F, type ShowRewardedAdOptions as G, type Host as H, type ProfileApi as I, type DeviceApi as J, type DeviceInfo as K, type EnvironmentApi as L, type EnvironmentInfo as M, type NavigationApi as N, type SystemApi as O, type Profile as P, type QuitOptions as Q, type RecipeRequirementResult as R, type SimulationRunSummary as S, type SafeArea as T, type CdnApi as U, type VenusAPI as V, type SubPath as W, type FetchBlobOptions as X, type TimeApi as Y, type ServerTimeData as Z, type GetFutureTimeOptions as _, type VenusSimulationStateResponse as a, type PlayerRankResult as a$, type AiChatCompletionRequest as a0, type AiChatCompletionData as a1, type HapticsApi as a2, HapticFeedbackStyle as a3, type FeaturesApi as a4, type Experiment as a5, type LifecycleApi as a6, type SleepCallback as a7, type Subscription as a8, type AwakeCallback as a9, type ProposedMoveEvent as aA, VenusTransport as aB, type RoomsApi as aC, type CreateRoomOptions as aD, type JoinOrCreateRoomOptions as aE, type JoinOrCreateResult as aF, type ListRoomsOptions as aG, type UpdateRoomDataOptions as aH, type RoomMessageRequest as aI, type StartRoomGameOptions as aJ, type ProposeMoveRequest as aK, type ProposeMoveResult as aL, type ValidateMoveVerdict as aM, type ValidateMoveResult as aN, type RoomSubscriptionOptions as aO, type LoggingApi as aP, type IapApi as aQ, type SpendCurrencyOptions as aR, type LoadEmbeddedAssetsResponse as aS, type SharedAssetsApi as aT, type LeaderboardApi as aU, type ScoreToken as aV, type SubmitScoreParams as aW, type SubmitScoreResult as aX, type GetPagedScoresOptions as aY, type PagedScoresResponse as aZ, type PlayerRankOptions as a_, type PauseCallback as aa, type ResumeCallback as ab, type QuitCallback as ac, type SimulationApi as ad, type SimulationSlotValidationResult as ae, type SimulationBatchOperation as af, type SimulationBatchOperationsResult as ag, type SimulationAvailableItem as ah, type SimulationPowerPreview as ai, type SimulationSlotMutationResult as aj, type SimulationSlotContainer as ak, type SimulationAssignment as al, type SimulationState as am, type ExecuteRecipeOptions as an, type ExecuteRecipeResponse as ao, type CollectRecipeResult as ap, type GetActiveRunsOptions as aq, type ExecuteScopedRecipeOptions as ar, type ExecuteScopedRecipeResult as as, type GetAvailableRecipesOptions as at, type GetAvailableRecipesResult as au, type Recipe as av, type GetBatchRecipeRequirements as aw, type TriggerRecipeChainOptions as ax, type RoomDataUpdate as ay, type RoomMessageEvent as az, type SimulationUpdateType as b, type GetPodiumScoresOptions as b0, type PodiumScoresResponse as b1, type PreloaderApi as b2, type SocialApi as b3, type ShareMetadata as b4, type ShareLinkResult as b5, type SocialQRCodeOptions as b6, type QRCodeResult as b7, type Avatar3dApi as b8, type AssetManifest as b9, RpcSharedAssetsApi as bA, type LoadEmbeddedAssetsRequest as bB, type LeaderboardModeConfig as bC, type LeaderboardPeriodType as bD, type LeaderboardPeriodConfig as bE, type LeaderboardAntiCheatConfig as bF, type LeaderboardDisplaySettings as bG, type LeaderboardConfig as bH, type LeaderboardEntry as bI, type PodiumScoresContext as bJ, type HudInsets as bK, createHost as bL, type Avatar3dConfig as ba, type ShowEditorOptions as bb, type Avatar3dEdits as bc, type AdsApi as bd, type InitializationContext as be, type InitializationOptions as bf, type AiMessage as bg, type Asset as bh, type Category as bi, MockAvatarApi as bj, type TimeIntervalTriggerInput as bk, type NotificationTriggerInput as bl, type OnRequestCallback as bm, type OnResponseCallback as bn, type OnNotificationCallback as bo, type RpcTransport as bp, type JoinRoomMatchCriteria as bq, type RoomMessageEventType as br, type VenusRoomPayload as bs, type RecipeInfo as bt, type SimulationPersonalState as bu, type SimulationRoomActiveRecipe as bv, type SimulationRoomState as bw, type SimulationBatchOperationAssign as bx, type SimulationBatchOperationRemove as by, type SimulationBatchOperationResult as bz, type SimulationEntityUpdate as c, type SimulationActiveRunsUpdate as d, type SimulationSnapshotUpdate as e, type SimulationUpdateData as f, type SimulationSubscribeOptions as g, type VenusSimulationEffect as h, type VenusSimulationRecipe as i, type VenusSimulationConfig as j, type RecipeRequirementQuery as k, type VenusExecuteRecipeOptions as l, type VenusExecuteScopedRecipeOptions as m, type VenusAvailableRecipe as n, type VenusCollectRecipeResult as o, type VenusExecuteRecipeResult as p, VenusRoom as q, type RpcRequest as r, type RpcResponse as s, type RpcNotification as t, RpcClient as u, type StorageApi as v, type NavigationStackInfo as w, type PushAppOptions as x, type NotificationsApi as y, type ScheduleLocalNotification as z };
1610
+ export { type AiApi as $, type AnalyticsApi as A, type BatchRecipeRequirementsResult as B, type ScheduleNotificationOptions as C, type PopupsApi as D, type ShowToastOptions as E, type ShowInterstitialAdOptions as F, type ShowRewardedAdOptions as G, type Host as H, type ProfileApi as I, type DeviceApi as J, type DeviceInfo as K, type EnvironmentApi as L, type EnvironmentInfo as M, type NavigationApi as N, type SystemApi as O, type Profile as P, type QuitOptions as Q, type RecipeRequirementResult as R, type SimulationRunSummary as S, type SafeArea as T, type CdnApi as U, type VenusAPI as V, type SubPath as W, type FetchBlobOptions as X, type TimeApi as Y, type ServerTimeData as Z, type GetFutureTimeOptions as _, type VenusSimulationStateResponse as a, type PlayerRankResult as a$, type AiChatCompletionRequest as a0, type AiChatCompletionData as a1, type HapticsApi as a2, HapticFeedbackStyle as a3, type FeaturesApi as a4, type Experiment as a5, type LifecycleApi as a6, type SleepCallback as a7, type Subscription as a8, type AwakeCallback as a9, type ProposedMoveEvent as aA, VenusTransport as aB, type RoomsApi as aC, type CreateRoomOptions as aD, type JoinOrCreateRoomOptions as aE, type JoinOrCreateResult as aF, type ListRoomsOptions as aG, type UpdateRoomDataOptions as aH, type RoomMessageRequest as aI, type StartRoomGameOptions as aJ, type ProposeMoveRequest as aK, type ProposeMoveResult as aL, type ValidateMoveVerdict as aM, type ValidateMoveResult as aN, type RoomSubscriptionOptions as aO, type LoggingApi as aP, type IapApi as aQ, type SpendCurrencyOptions as aR, type LoadEmbeddedAssetsResponse as aS, type SharedAssetsApi as aT, type LeaderboardApi as aU, type ScoreToken as aV, type SubmitScoreParams as aW, type SubmitScoreResult as aX, type GetPagedScoresOptions as aY, type PagedScoresResponse as aZ, type PlayerRankOptions as a_, type PauseCallback as aa, type ResumeCallback as ab, type QuitCallback as ac, type SimulationApi as ad, type SimulationSlotValidationResult as ae, type SimulationBatchOperation as af, type SimulationBatchOperationsResult as ag, type SimulationAvailableItem as ah, type SimulationPowerPreview as ai, type SimulationSlotMutationResult as aj, type SimulationSlotContainer as ak, type SimulationAssignment as al, type SimulationState as am, type ExecuteRecipeOptions as an, type ExecuteRecipeResponse as ao, type CollectRecipeResult as ap, type GetActiveRunsOptions as aq, type ExecuteScopedRecipeOptions as ar, type ExecuteScopedRecipeResult as as, type GetAvailableRecipesOptions as at, type GetAvailableRecipesResult as au, type Recipe as av, type GetBatchRecipeRequirements as aw, type TriggerRecipeChainOptions as ax, type RoomDataUpdate as ay, type RoomMessageEvent as az, type SimulationUpdateType as b, type GetPodiumScoresOptions as b0, type PodiumScoresResponse as b1, type PreloaderApi as b2, type SocialApi as b3, type ShareMetadata as b4, type ShareLinkResult as b5, type SocialQRCodeOptions as b6, type QRCodeResult as b7, type Avatar3dApi as b8, type AssetManifest as b9, type RecipeInfo as bA, type SimulationPersonalState as bB, type SimulationRoomActiveRecipe as bC, type SimulationRoomState as bD, type SimulationBatchOperationAssign as bE, type SimulationBatchOperationRemove as bF, type SimulationBatchOperationResult as bG, RpcSharedAssetsApi as bH, type LoadEmbeddedAssetsRequest as bI, type LeaderboardModeConfig as bJ, type LeaderboardPeriodType as bK, type LeaderboardPeriodConfig as bL, type LeaderboardAntiCheatConfig as bM, type LeaderboardDisplaySettings as bN, type LeaderboardConfig as bO, type LeaderboardEntry as bP, type PodiumScoresContext as bQ, type HudInsets as bR, createHost as bS, type Avatar3dConfig as ba, type ShowEditorOptions as bb, type Avatar3dEdits as bc, type AdsApi as bd, type InitializationContext as be, type InitializationOptions as bf, type AiMessage as bg, type Asset as bh, type Category as bi, MockAvatarApi as bj, type TimeIntervalTriggerInput as bk, type NotificationTriggerInput as bl, type OnRequestCallback as bm, type OnResponseCallback as bn, type OnNotificationCallback as bo, type RpcTransport as bp, type JoinRoomMatchCriteria as bq, type RoomMessageEventType as br, type RoomMessagePayload as bs, type ProposedMovePayload as bt, ROOM_GAME_PHASES as bu, type RoomGamePhase as bv, type VenusRoomRulesGameState as bw, type VenusRoomRules as bx, type VenusRoomCustomMetadata as by, type VenusRoomPayload as bz, type SimulationEntityUpdate as c, type SimulationActiveRunsUpdate as d, type SimulationSnapshotUpdate as e, type SimulationUpdateData as f, type SimulationSubscribeOptions as g, type VenusSimulationEffect as h, type VenusSimulationRecipe as i, type VenusSimulationConfig as j, type RecipeRequirementQuery as k, type VenusExecuteRecipeOptions as l, type VenusExecuteScopedRecipeOptions as m, type VenusAvailableRecipe as n, type VenusCollectRecipeResult as o, type VenusExecuteRecipeResult as p, VenusRoom as q, type RpcRequest as r, type RpcResponse as s, type RpcNotification as t, RpcClient as u, type StorageApi as v, type NavigationStackInfo as w, type PushAppOptions as x, type NotificationsApi as y, type ScheduleLocalNotification as z };
@@ -2121,6 +2121,7 @@ var RpcClient = class {
2121
2121
  };
2122
2122
 
2123
2123
  // src/rooms/VenusRoom.ts
2124
+ var ROOM_GAME_PHASES = ["waiting", "playing", "ended"];
2124
2125
  var VenusRoom = class {
2125
2126
  id;
2126
2127
  name;
@@ -2308,6 +2309,10 @@ var RpcRoomsApi = class {
2308
2309
  }
2309
2310
  return venusRooms;
2310
2311
  }
2312
+ /**
2313
+ * @deprecated Prefer server-authoritative flows (e.g. `proposeMoveAsync` / `startRoomGameAsync`)
2314
+ * and treat `customMetadata.rules.gameState` as the canonical room lifecycle state.
2315
+ */
2311
2316
  async updateRoomDataAsync(room, updates, options = {}) {
2312
2317
  await this.rpcClient.call(
2313
2318
  "H5_ROOM_UPDATE_DATA" /* H5_ROOM_UPDATE_DATA */,
@@ -2351,8 +2356,10 @@ var RpcRoomsApi = class {
2351
2356
  "H5_ROOM_START_GAME" /* H5_ROOM_START_GAME */,
2352
2357
  {
2353
2358
  roomId: room.id,
2354
- gameConfig: options.gameConfig ?? {},
2355
- turnOrder: options.turnOrder ?? null
2359
+ options: {
2360
+ gameConfig: options.gameConfig ?? {},
2361
+ turnOrder: options.turnOrder ?? null
2362
+ }
2356
2363
  }
2357
2364
  );
2358
2365
  }
@@ -3419,7 +3426,7 @@ function initializeTime(venusApi, host) {
3419
3426
  }
3420
3427
 
3421
3428
  // src/version.ts
3422
- var SDK_VERSION = "3.4.2-beta.0";
3429
+ var SDK_VERSION = "3.4.2-beta.2";
3423
3430
 
3424
3431
  // src/shared-assets/base64Utils.ts
3425
3432
  function base64ToArrayBuffer(base64) {
@@ -5113,6 +5120,6 @@ function initializeSocial(venusApi, host) {
5113
5120
  };
5114
5121
  }
5115
5122
 
5116
- export { DEFAULT_SHARED_LIB_CDN_BASE, EMBEDDED_LIBRARIES, EMBEDDED_LIBRARY_BY_KEY, HASH_ALGORITHM_NODE, HASH_ALGORITHM_WEB_CRYPTO, HapticFeedbackStyle, HostCdnApi, HostDeviceApi, HostEnvironmentApi, HostProfileApi, HostSystemApi, HostTimeApi, MODULE_TO_LIBRARY_SPECIFIERS, MockAdsApi, MockAiApi, MockAnalyticsApi, MockAvatarApi, MockCdnApi, MockDeviceApi, MockEnvironmentApi, MockFeaturesApi, MockHapticsApi, MockIapApi, MockLeaderboardApi, MockLifecycleApi, MockLoggingApi, MockNavigationApi, MockNotificationsApi, MockPopupsApi, MockPreloaderApi, MockProfileApi, MockSharedAssetsApi, MockSocialApi, MockStorageApi, MockSystemApi, MockTimeApi, RemoteHost, RpcAdsApi, RpcAiApi, RpcAnalyticsApi, RpcAvatarApi, RpcClient, RpcFeaturesApi, RpcHapticsApi, RpcIapApi, RpcLeaderboardApi, RpcLifecycleApi, RpcLoggingApi, RpcNavigationApi, RpcNotificationsApi, RpcPopupsApi, RpcPreloaderApi, RpcRoomsApi, RpcSharedAssetsApi, RpcSimulationApi, RpcSocialApi, RpcStorageApi, SDK_VERSION, VenusMessageId, VenusRoom, base64ToArrayBuffer, base64ToUtf8, computeScoreHash, createHost, createMockStorageApi, getLibraryDefinition, initializeAds, initializeAi, initializeAnalytics, initializeAvatar3d, initializeCdn, initializeFeaturesApi, initializeHaptics, initializeIap, initializeLeaderboard, initializeLifecycleApi, initializeLocalNotifications, initializeLoggingApi, initializePopups, initializePreloader, initializeProfile, initializeRoomsApi, initializeSimulation, initializeSocial, initializeStackNavigation, initializeStorage, initializeSystem, initializeTime, isPacificDaylightTime, setupRoomNotifications };
5117
- //# sourceMappingURL=chunk-34XHWHTI.js.map
5118
- //# sourceMappingURL=chunk-34XHWHTI.js.map
5123
+ export { DEFAULT_SHARED_LIB_CDN_BASE, EMBEDDED_LIBRARIES, EMBEDDED_LIBRARY_BY_KEY, HASH_ALGORITHM_NODE, HASH_ALGORITHM_WEB_CRYPTO, HapticFeedbackStyle, HostCdnApi, HostDeviceApi, HostEnvironmentApi, HostProfileApi, HostSystemApi, HostTimeApi, MODULE_TO_LIBRARY_SPECIFIERS, MockAdsApi, MockAiApi, MockAnalyticsApi, MockAvatarApi, MockCdnApi, MockDeviceApi, MockEnvironmentApi, MockFeaturesApi, MockHapticsApi, MockIapApi, MockLeaderboardApi, MockLifecycleApi, MockLoggingApi, MockNavigationApi, MockNotificationsApi, MockPopupsApi, MockPreloaderApi, MockProfileApi, MockSharedAssetsApi, MockSocialApi, MockStorageApi, MockSystemApi, MockTimeApi, ROOM_GAME_PHASES, RemoteHost, RpcAdsApi, RpcAiApi, RpcAnalyticsApi, RpcAvatarApi, RpcClient, RpcFeaturesApi, RpcHapticsApi, RpcIapApi, RpcLeaderboardApi, RpcLifecycleApi, RpcLoggingApi, RpcNavigationApi, RpcNotificationsApi, RpcPopupsApi, RpcPreloaderApi, RpcRoomsApi, RpcSharedAssetsApi, RpcSimulationApi, RpcSocialApi, RpcStorageApi, SDK_VERSION, VenusMessageId, VenusRoom, base64ToArrayBuffer, base64ToUtf8, computeScoreHash, createHost, createMockStorageApi, getLibraryDefinition, initializeAds, initializeAi, initializeAnalytics, initializeAvatar3d, initializeCdn, initializeFeaturesApi, initializeHaptics, initializeIap, initializeLeaderboard, initializeLifecycleApi, initializeLocalNotifications, initializeLoggingApi, initializePopups, initializePreloader, initializeProfile, initializeRoomsApi, initializeSimulation, initializeSocial, initializeStackNavigation, initializeStorage, initializeSystem, initializeTime, isPacificDaylightTime, setupRoomNotifications };
5124
+ //# sourceMappingURL=chunk-OKOJGDZJ.js.map
5125
+ //# sourceMappingURL=chunk-OKOJGDZJ.js.map