@series-inc/venus-sdk 2.4.1 → 3.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.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as AnalyticsApi, R as RpcRequest, a as RpcResponse, b as RpcNotification, c as RpcClient, V as VenusAPI, N as NavigationApi, Q as QuitOptions, d as NavigationStackInfo, P as PushAppOptions, e as NotificationsApi, S as ScheduleLocalNotification, f as ScheduleLocalNotificationOptions, g as PopupsApi, h as ActionSheetItem, i as ShowActionSheetOptions, j as ShowAlertOptions, k as ShowConfirmOptions, l as ShowToastOptions, m as Profile, n as AiApi, o as AiChatCompletionRequest, p as AiChatCompletionData, H as HapticsApi, q as HapticFeedbackStyle, L as LifecycleApi, O as OnCleanupCallback, r as OnShowCallback, s as OnHideCallback, t as OnPauseCallback, u as OnPlayCallback, v as OnQuitCallback, w as OnResumeCallback, x as PlayContext, y as ShowContext, z as VenusSimulationConfig, B as RecipeRequirementResult, I as IapApi, C as SpendCurrencyOptions, D as LoadEmbeddedAssetsResponse, E as SharedAssetsApi, F as AdsApi, G as Avatar3dApi, J as CdnApi, K as AssetManifest, M as Avatar3dConfig, T as ShowEditorOptions, U as Avatar3dEdits, W as SubPath, X as FetchBlobOptions } from './AdsApi-Cz0XgLM8.mjs';
2
- export { Y as AiMessage, Z as Asset, a4 as CalendarTriggerInput, _ as Category, a5 as DailyTriggerInput, a3 as DateTriggerInput, a0 as Insets, ag as LoadEmbeddedAssetsRequest, $ as MockAvatarApi, a7 as MonthlyTriggerInput, a9 as NotificationTriggerInput, ad as OnNotificationCallback, ab as OnRequestCallback, ac as OnResponseCallback, a1 as PostInfo, af as RpcSharedAssetsApi, ae as RpcTransport, aa as Subscription, a2 as TimeIntervalTriggerInput, a6 as WeeklyTriggerInput, a8 as YearlyTriggerInput } from './AdsApi-Cz0XgLM8.mjs';
1
+ import { A as AnalyticsApi, R as RpcRequest, a as RpcResponse, b as RpcNotification, c as RpcClient, V as VenusAPI, H as Host, S as StorageApi, N as NavigationApi, Q as QuitOptions, d as NavigationStackInfo, P as PushAppOptions, e as NotificationsApi, f as ScheduleLocalNotification, g as ScheduleNotificationOptions, h as PopupsApi, i as ActionSheetItem, j as ShowActionSheetOptions, k as ShowAlertOptions, l as ShowConfirmOptions, m as ShowToastOptions, n as ShowInterstitialAdOptions, o as ShowRewardedAdOptions, p as ProfileApi, q as Profile, C as CdnApi, r as SubPath, F as FetchBlobOptions, T as TimeApi, s as ServerTimeData, G as GetFutureTimeOptions, t as AiApi, u as AiChatCompletionRequest, v as AiChatCompletionData, w as HapticsApi, x as HapticFeedbackStyle, y as FeaturesApi, E as Experiment, L as LifecycleApi, z as SleepCallback, B as Subscription, D as AwakeCallback, I as PauseCallback, J as ResumeCallback, K as QuitCallback, M as SimulationApi, O as VenusSimulationConfig, U as ExecuteRecipeOptions, W as CollectRecipeResult, X as GetActiveRunsOptions, Y as ExecuteScopedRecipeResult, Z as GetAvailableRecipesOptions, _ as GetAvailableRecipesResult, $ as Recipe, a0 as GetBatchRecipeRequirements, a1 as TriggerRecipeChainOptions, a2 as RecipeRequirementResult, a3 as VenusTransport, a4 as LoggingApi, a5 as IapApi, a6 as SpendCurrencyOptions, a7 as LoadEmbeddedAssetsResponse, a8 as SharedAssetsApi, a9 as LeaderboardApi, aa as StartRunResult, ab as SubmitScoreOptions, ac as SubmitScoreResult, ad as GetLeaderboardOptions, ae as LeaderboardResponse, af as PlayerStatsOptions, ag as PlayerStats, ah as LeaderboardHighlightOptions, ai as LeaderboardHighlightResponse, aj as PreloaderApi, ak as Avatar3dApi, al as AssetManifest, am as Avatar3dConfig, an as ShowEditorOptions, ao as Avatar3dEdits, ap as SocialApi, aq as ShareMetadata, ar as ShareLinkResult, as as SocialQRCodeOptions, at as QRCodeResult, au as AdsApi, av as PostApi, aw as RoomsApi, ax as InitializationOptions, ay as InitializationContext, az as HudInsets } from './AdsApi-3DEYUUuj.mjs';
2
+ export { aA as AiMessage, aB as Asset, aC as Category, aL as CreateRoomOptions, aR as ExecuteScopedRecipeOptions, b1 as InitializeOptions, aM as JoinOrCreateResult, aY as LeaderboardAntiCheatConfig, a_ as LeaderboardConfig, aZ as LeaderboardDisplaySettings, a$ as LeaderboardEntry, b0 as LeaderboardHighlightContext, aV as LeaderboardModeConfig, aX as LeaderboardPeriodConfig, aW as LeaderboardPeriodType, aU as LoadEmbeddedAssetsRequest, aD as MockAvatarApi, aF as NotificationTriggerInput, aI as OnNotificationCallback, aG as OnRequestCallback, aH as OnResponseCallback, aO as ProposeMovePayload, aP as ProposeMoveResult, aS as RecipeInfo, aN as RoomSubscriptionOptions, aT as RpcSharedAssetsApi, aJ as RpcTransport, aE as TimeIntervalTriggerInput, aQ as ValidateMoveResult, aK as VenusRoom, b2 as createHost } from './AdsApi-3DEYUUuj.mjs';
3
3
 
4
4
  declare class MockAnalyticsApi implements AnalyticsApi {
5
5
  recordCustomEvent(eventName: string, payload: Record<string, any>): Promise<void>;
@@ -17,21 +17,61 @@ declare class RpcAnalyticsApi implements AnalyticsApi {
17
17
 
18
18
  declare function initializeAnalytics(venusApiInstance: VenusAPI, host: Host): void;
19
19
 
20
- interface StorageApi {
21
- key(index: number): Promise<string | null>;
20
+ type StorageType = 'globalStorage' | 'deviceCache' | 'appStorage';
21
+ declare function createMockStorageApi(storageType: StorageType, appUrl?: string): MockStorageApi;
22
+ declare class MockStorageApi implements StorageApi {
23
+ private readonly prefix;
24
+ private readonly syncDelay;
25
+ constructor(prefix: string, syncDelay: number);
22
26
  clear(): Promise<void>;
23
- length(): Promise<number>;
24
27
  getAllItems(): Promise<string[]>;
25
- setMultipleItems(items: {
28
+ getItem(key: string): Promise<string | null>;
29
+ key(index: number): Promise<string | null>;
30
+ length(): Promise<number>;
31
+ removeItem(key: string): Promise<void>;
32
+ setItem(key: string, item: string): Promise<void>;
33
+ setMultipleItems(entries: {
26
34
  key: string;
27
35
  value: string;
28
36
  }[]): Promise<void>;
29
37
  removeMultipleItems(keys: string[]): Promise<void>;
30
- setItem(key: string, item: string): Promise<void>;
38
+ private buildKey;
39
+ private extractKey;
40
+ private keys;
41
+ private simulateSyncDelay;
42
+ }
43
+
44
+ interface MethodIds {
45
+ clear: string;
46
+ getItem: string;
47
+ getKey: string;
48
+ length: string;
49
+ removeItem: string;
50
+ setItem: string;
51
+ getAllItems?: string;
52
+ removeMultipleItems?: string;
53
+ setMultipleItems?: string;
54
+ }
55
+ declare class RpcStorageApi implements StorageApi {
56
+ private readonly rpcClient;
57
+ private readonly methodIds;
58
+ constructor(rpcClient: RpcClient, methodIds: MethodIds);
59
+ clear(): Promise<void>;
31
60
  getItem(key: string): Promise<string | null>;
61
+ setItem(key: string, value: string): Promise<void>;
62
+ key(index: number): Promise<string | null>;
63
+ length(): Promise<number>;
32
64
  removeItem(key: string): Promise<void>;
65
+ removeMultipleItems(keys: string[]): Promise<void>;
66
+ getAllItems(): Promise<string[]>;
67
+ setMultipleItems(items: {
68
+ key: string;
69
+ value: string;
70
+ }[]): Promise<void>;
33
71
  }
34
72
 
73
+ declare function initializeStorage(venusApiInstance: VenusAPI, host: Host): void;
74
+
35
75
  declare class MockNavigationApi implements NavigationApi {
36
76
  private readonly venusApi;
37
77
  constructor(venusApi: VenusAPI);
@@ -57,12 +97,28 @@ declare function initializeStackNavigation(venusApi: VenusAPI, host: Host): void
57
97
  declare class MockNotificationsApi implements NotificationsApi {
58
98
  private readonly venusApi;
59
99
  constructor(venusApi: VenusAPI);
60
- cancelLocalNotification(notificationId: string): Promise<boolean>;
100
+ cancelNotification(notificationId: string): Promise<boolean>;
101
+ getAllScheduledLocalNotifications(): Promise<ScheduleLocalNotification[]>;
102
+ isLocalNotificationsEnabled(): Promise<boolean>;
103
+ scheduleAsync(title: string, body: string, seconds: number, notificationId?: string, options?: ScheduleNotificationOptions): Promise<string | null>;
104
+ setLocalNotificationsEnabled(enabled: boolean): Promise<boolean>;
105
+ }
106
+
107
+ declare class RpcNotificationsApi implements NotificationsApi {
108
+ private readonly rpcClient;
109
+ constructor(rpcClient: RpcClient);
110
+ scheduleAsync(title: string, body: string, seconds: number, notificationId?: string, options?: ScheduleNotificationOptions): Promise<string | null>;
111
+ cancelNotification(id: string): Promise<boolean>;
61
112
  getAllScheduledLocalNotifications(): Promise<ScheduleLocalNotification[]>;
62
113
  isLocalNotificationsEnabled(): Promise<boolean>;
63
- scheduleLocalNotification(title: string, body: string, options?: ScheduleLocalNotificationOptions): Promise<string | null>;
64
114
  setLocalNotificationsEnabled(enabled: boolean): Promise<boolean>;
65
115
  }
116
+ type NotificationContent = {
117
+ title: string | null;
118
+ subtitle: string | null;
119
+ body: string | null;
120
+ data?: Record<string, any>;
121
+ };
66
122
 
67
123
  declare function initializeLocalNotifications(venusApi: VenusAPI, host: Host): void;
68
124
 
@@ -85,7 +141,7 @@ interface MockOverlay {
85
141
  adOverlay: HTMLElement;
86
142
  actionSheetOverlay: HTMLElement;
87
143
  appVisibilityState: 'visible' | 'hidden';
88
- showAdOverlay: () => Promise<boolean>;
144
+ showAdOverlay: (options?: ShowInterstitialAdOptions | ShowRewardedAdOptions) => Promise<boolean>;
89
145
  showActionSheet: (items: ActionSheetItem[], options?: ShowActionSheetOptions) => Promise<string | number | null>;
90
146
  }
91
147
  interface OverlayElements {
@@ -103,10 +159,6 @@ declare class MockPopupsApi implements PopupsApi {
103
159
 
104
160
  declare function initializePopups(venusApi: VenusAPI, host: Host): void;
105
161
 
106
- interface ProfileApi {
107
- getCurrentProfile(): Profile;
108
- }
109
-
110
162
  declare class HostProfileApi implements ProfileApi {
111
163
  getCurrentProfile(): Profile;
112
164
  }
@@ -117,31 +169,30 @@ declare class MockProfileApi implements ProfileApi {
117
169
 
118
170
  declare function initializeProfile(venusApi: VenusAPI, host: Host): void;
119
171
 
120
- interface ServerTimeData {
121
- serverTime: number;
122
- localTime: number;
123
- timezoneOffset: number;
124
- formattedTime: string;
125
- locale: string;
126
- }
127
- interface GetFutureTimeOptions {
128
- days?: number;
129
- hours?: number;
130
- minutes?: number;
131
- timeOfDay?: {
132
- hour: number;
133
- minute: number;
134
- second: number;
135
- };
136
- timezone?: any;
172
+ declare class HostCdnApi implements CdnApi {
173
+ private readonly baseUrl;
174
+ constructor(baseUrl: string);
175
+ fetchBlob(path: SubPath, options?: FetchBlobOptions): Promise<Blob>;
176
+ fetchFromCdn(url: string, request?: RequestInit): Promise<Response>;
177
+ getAssetCdnBaseUrl(): string;
178
+ resolveAssetUrl(subPath: string): string;
179
+ resolveAvatarAssetUrl(subPath: string): string;
180
+ resolveSharedLibUrl(subPath: string): string;
137
181
  }
138
- interface TimeApi {
139
- requestTimeAsync(): Promise<ServerTimeData>;
140
- formatTime(timestamp: number, options?: any): string;
141
- formatNumber(value: number, options?: Intl.NumberFormatOptions): string;
142
- getFutureTimeAsync(options?: GetFutureTimeOptions): Promise<number>;
182
+
183
+ declare class MockCdnApi implements CdnApi {
184
+ private readonly baseUrl;
185
+ constructor();
186
+ fetchBlob(path: SubPath, options?: FetchBlobOptions): Promise<Blob>;
187
+ getAssetCdnBaseUrl(): string;
188
+ resolveAssetUrl(subPath: string): string;
189
+ resolveAvatarAssetUrl(subPath: string): string;
190
+ resolveSharedLibUrl(subPath: string): string;
191
+ fetchFromCdn(url: string, options?: RequestInit): Promise<Response>;
143
192
  }
144
193
 
194
+ declare function initializeCdn(venusApi: VenusAPI, host: Host): void;
195
+
145
196
  declare class HostTimeApi implements TimeApi {
146
197
  private readonly rpcClient;
147
198
  constructor(rpcClient: RpcClient);
@@ -165,44 +216,6 @@ declare class MockTimeApi implements TimeApi {
165
216
 
166
217
  declare function initializeTime(venusApi: VenusAPI, host: Host): void;
167
218
 
168
- interface PostInfo {
169
- isLiked: boolean;
170
- isFollowing: boolean;
171
- likesCount: number;
172
- commentsCount: number;
173
- }
174
- interface ToggleLikeResult {
175
- isLiked: boolean;
176
- likesCount: number;
177
- action: 'liked' | 'unliked';
178
- }
179
- interface ToggleFollowResult {
180
- isFollowing: boolean;
181
- action: 'followed' | 'unfollowed';
182
- }
183
- interface OpenCommentsResult {
184
- opened: boolean;
185
- commentsCount: number;
186
- }
187
- interface ShareContext {
188
- message?: string;
189
- title?: string;
190
- senderId?: string | null;
191
- additionalInfo?: Record<string, any>;
192
- }
193
- interface SharePostResult {
194
- shared: true;
195
- platform: string;
196
- customMessage?: string;
197
- }
198
- interface PostApi {
199
- getPostInfo(): Promise<PostInfo>;
200
- toggleLikeAsync(): Promise<ToggleLikeResult>;
201
- openCommentsAsync(): Promise<OpenCommentsResult>;
202
- toggleFollowAsync(): Promise<ToggleFollowResult>;
203
- sharePostAsync(context: ShareContext): Promise<SharePostResult>;
204
- }
205
-
206
219
  declare class RpcAiApi implements AiApi {
207
220
  private readonly rpcClient;
208
221
  constructor(rpcClient: RpcClient);
@@ -231,18 +244,6 @@ declare class MockHapticsApi implements HapticsApi {
231
244
 
232
245
  declare function initializeHaptics(venusApi: VenusAPI, host: Host): void;
233
246
 
234
- interface Experiment {
235
- readonly name: string;
236
- readonly ruleID: string;
237
- readonly value: Record<string, unknown>;
238
- readonly groupName: string | null;
239
- }
240
- interface FeaturesApi {
241
- getExperiment(experimentName: string): Promise<Experiment | null>;
242
- getFeatureFlag(flagName: string): Promise<boolean>;
243
- getFeatureGate(gateName: string): Promise<boolean>;
244
- }
245
-
246
247
  declare class RpcFeaturesApi implements FeaturesApi {
247
248
  private readonly rpcClient;
248
249
  constructor(rcpClient: RpcClient);
@@ -260,113 +261,35 @@ declare class MockFeaturesApi implements FeaturesApi {
260
261
  declare function initializeFeaturesApi(venusApi: VenusAPI, host: Host): void;
261
262
 
262
263
  declare class MockLifecycleApi implements LifecycleApi {
263
- private playCallbacks;
264
264
  private pauseCallbacks;
265
265
  private resumeCallbacks;
266
+ private awakeCallbacks;
267
+ private sleepCallbacks;
266
268
  private quitCallbacks;
267
- private showCallbacks;
268
- private hideCallbacks;
269
- onCleanup(callback: OnCleanupCallback): void;
270
- onShow(callback: OnShowCallback): void;
271
- onHide(callback: OnHideCallback): void;
272
- onPause(callback: OnPauseCallback): void;
273
- onPlay(callback: OnPlayCallback): void;
274
- onQuit(callback: OnQuitCallback): void;
275
- onResume(callback: OnResumeCallback): void;
276
- triggerOnPlayCallbacks(context: PlayContext): void;
277
- triggerOnPauseCallbacks(): void;
278
- triggerOnResumeCallbacks(): void;
279
- triggerOnShowCallbacks(context: ShowContext): void;
280
- triggerOnHideCallbacks(): void;
281
- triggerOnQuitCallbacks(): void;
269
+ onSleep(callback: SleepCallback): Subscription;
270
+ onAwake(callback: AwakeCallback): Subscription;
271
+ onPause(callback: PauseCallback): Subscription;
272
+ onResume(callback: ResumeCallback): Subscription;
273
+ onQuit(callback: QuitCallback): Subscription;
274
+ triggerPauseCallbacks(): void;
275
+ triggerResumeCallbacks(): void;
276
+ triggerAwakeCallbacks(): void;
277
+ triggerSleepCallbacks(): void;
278
+ triggerQuitCallbacks(): void;
282
279
  }
283
280
 
284
281
  declare class RpcLifecycleApi implements LifecycleApi {
285
282
  private readonly rpcClient;
286
283
  constructor(rpcClient: RpcClient);
287
- onCleanup(callback: OnCleanupCallback): void;
288
- onHide(callback: OnHideCallback): void;
289
- onPause(callback: OnPauseCallback): void;
290
- onPlay(callback: OnPlayCallback): void;
291
- onQuit(callback: OnQuitCallback): void;
292
- onResume(callback: OnResumeCallback): void;
293
- onShow(callback: OnShowCallback): void;
284
+ onQuit(callback: QuitCallback): Subscription;
285
+ onSleep(callback: SleepCallback): Subscription;
286
+ onAwake(callback: AwakeCallback): Subscription;
287
+ onResume(callback: ResumeCallback): Subscription;
288
+ onPause(callback: PauseCallback): Subscription;
294
289
  }
295
290
 
296
291
  declare function initializeLifecycleApi(venusApi: VenusAPI, host: Host): void;
297
292
 
298
- interface ExecuteRecipeOptions {
299
- roomId?: string;
300
- batchAmount?: number;
301
- allowPartialBatch?: boolean;
302
- entity?: string;
303
- }
304
- interface GetActiveRunsOptions {
305
- roomId?: string;
306
- }
307
- interface ExecuteScopedRecipeOptions {
308
- roomId?: string;
309
- }
310
- interface GetAvailableRecipesOptions {
311
- roomId?: string;
312
- includeActorRecipes?: boolean;
313
- }
314
- interface Recipe {
315
- recipeId: string;
316
- entity?: string;
317
- batchAmount?: number;
318
- }
319
- interface TriggerRecipeChainOptions {
320
- roomId?: string;
321
- context?: any;
322
- }
323
- interface CollectRecipeResult {
324
- success: boolean;
325
- runId: string;
326
- rewards: any;
327
- message: string;
328
- }
329
- interface ExecuteScopedRecipeResult {
330
- success: boolean;
331
- message: string;
332
- }
333
- interface RecipeInfo {
334
- id: string;
335
- scope: string;
336
- clientViewable: boolean;
337
- }
338
- interface GetAvailableRecipesResult {
339
- success: boolean;
340
- recipes: RecipeInfo[];
341
- }
342
- interface GetBatchRecipeRequirements {
343
- success: boolean;
344
- results: RecipeRequirementResult[];
345
- }
346
- interface SimulationApi {
347
- getStateAsync(roomId?: string): Promise<any>;
348
- getConfigAsync(roomId?: string): Promise<VenusSimulationConfig>;
349
- executeRecipeAsync(recipeId: string, inputs?: any, options?: ExecuteRecipeOptions): Promise<any>;
350
- getActiveRunsAsync(options?: GetActiveRunsOptions): Promise<any>;
351
- collectRecipeAsync(runId: string): Promise<CollectRecipeResult>;
352
- executeScopedRecipeAsync(recipeId: string, entity: string, inputs?: any, options?: ExecuteScopedRecipeOptions | any): Promise<ExecuteScopedRecipeResult>;
353
- triggerRecipeChainAsync(recipeId: string, options?: TriggerRecipeChainOptions): Promise<any>;
354
- getAvailableRecipesAsync(options?: GetAvailableRecipesOptions): Promise<GetAvailableRecipesResult>;
355
- getRecipeRequirementsAsync(recipe: Recipe): Promise<RecipeRequirementResult>;
356
- getBatchRecipeRequirementsAsync(recipes: Recipe[]): Promise<GetBatchRecipeRequirements>;
357
- resolveFieldValueAsync(entityId: string, fieldPath: string, entity?: string): Promise<any>;
358
- getEntityMetadataAsync(entityId: string): Promise<any>;
359
- getSlotContainersAsync(): Promise<any>;
360
- getSlotAssignmentsAsync(containerId: string): Promise<any>;
361
- assignItemToSlotAsync(containerId: string, slotId: string, itemId: string): Promise<any>;
362
- removeItemFromSlotAsync(containerId: string, slotId: string): Promise<any>;
363
- getAvailableItemsAsync(containerId: string, slotId: string): Promise<Array<any>>;
364
- calculatePowerPreviewAsync(containerId: string, slotId: string, candidateItemId: string): Promise<any>;
365
- validateSlotAssignmentAsync(containerId: string, slotId: string, itemId: string): Promise<any>;
366
- executeBatchOperationsAsync(operations: Array<any>, validateOnly?: boolean): Promise<any>;
367
- sumContributions(contributions: Record<string, any>): Record<string, number>;
368
- }
369
-
370
293
  declare class RpcSimulationApi implements SimulationApi {
371
294
  private readonly rpcClient;
372
295
  private _simulationConfig;
@@ -433,15 +356,15 @@ declare class MockSimulationApi implements SimulationApi {
433
356
 
434
357
  declare function initializeSimulation(venusApi: VenusAPI, host: Host): void;
435
358
 
436
- interface RoomsApi {
437
- createRoom(options: any): Promise<any>;
438
- join(roomId: string): Promise<any>;
439
- }
440
-
441
- interface LoggingApi {
442
- logDebug(message: string, ...args: any[]): void;
443
- logError(message: string, ...args: any[]): void;
444
- }
359
+ /**
360
+ * Set up room notification listeners using the transport's onVenusMessage hook.
361
+ * This routes host-sent room notifications (H5_ROOM_DATA_UPDATED, etc.) to the
362
+ * callbacks registered in the RoomsApi instance.
363
+ * @param transport The Venus transport to listen for messages
364
+ * @param getSubscriptions Function to retrieve subscription state from RoomsApi
365
+ */
366
+ declare function setupRoomNotifications(transport: VenusTransport, getSubscriptions: () => any): Subscription;
367
+ declare function initializeRoomsApi(venusApi: VenusAPI, host: Host): void;
445
368
 
446
369
  declare class MockLoggingApi implements LoggingApi {
447
370
  logDebug(message?: any, ...args: any[]): void;
@@ -488,32 +411,57 @@ declare class MockIapApi implements IapApi {
488
411
 
489
412
  declare function initializeIap(venusApiInstance: VenusAPI, host: Host): void;
490
413
 
491
- interface Host {
492
- readonly ads: AdsApi;
493
- readonly analytics: AnalyticsApi;
494
- readonly deviceCache: StorageApi;
495
- readonly appStorage: StorageApi;
496
- readonly globalStorage: StorageApi;
497
- readonly avatar3d: Avatar3dApi;
498
- readonly navigation: NavigationApi;
499
- readonly notifications: NotificationsApi;
500
- readonly popups: PopupsApi;
501
- readonly profile: ProfileApi;
502
- readonly cdn: CdnApi;
503
- readonly time: TimeApi;
504
- readonly post: PostApi;
505
- readonly ai: AiApi;
506
- readonly haptics: HapticsApi;
507
- readonly features: FeaturesApi;
508
- readonly lifecycle: LifecycleApi;
509
- readonly simulation: SimulationApi;
510
- readonly rooms: RoomsApi;
511
- readonly logging: LoggingApi;
512
- readonly isInitialized: boolean;
513
- initialize(): Promise<void>;
514
- readonly iap: IapApi;
414
+ declare class RpcLeaderboardApi implements LeaderboardApi {
415
+ private readonly rpcClient;
416
+ constructor(rpcClient: RpcClient);
417
+ startRun(mode?: string): Promise<StartRunResult>;
418
+ submitScore(sessionId: string, score: number, durationSec: number, options?: SubmitScoreOptions): Promise<SubmitScoreResult>;
419
+ getLeaderboard(options?: GetLeaderboardOptions): Promise<LeaderboardResponse>;
420
+ getPlayerStats(options?: PlayerStatsOptions): Promise<PlayerStats>;
421
+ getLeaderboardHighlight(options?: LeaderboardHighlightOptions): Promise<LeaderboardHighlightResponse>;
422
+ }
423
+
424
+ declare class MockLeaderboardApi implements LeaderboardApi {
425
+ private sessions;
426
+ private entriesByMode;
427
+ private sessionCounter;
428
+ private requiresHash;
429
+ constructor(options?: {
430
+ requiresHash?: boolean;
431
+ });
432
+ configure(options: {
433
+ requiresHash?: boolean;
434
+ }): void;
435
+ private generateNonce;
436
+ private getModeKey;
437
+ private getEntriesForMode;
438
+ startRun(mode?: string): Promise<StartRunResult>;
439
+ submitScore(sessionId: string, score: number, durationSec: number, options?: SubmitScoreOptions): Promise<SubmitScoreResult>;
440
+ getLeaderboard(options?: GetLeaderboardOptions): Promise<LeaderboardResponse>;
441
+ getPlayerStats(_options?: PlayerStatsOptions): Promise<PlayerStats>;
442
+ getLeaderboardHighlight(options?: LeaderboardHighlightOptions): Promise<LeaderboardHighlightResponse>;
443
+ }
444
+
445
+ declare function initializeLeaderboard(venusApiInstance: VenusAPI, host: Host): void;
446
+
447
+ declare class MockPreloaderApi implements PreloaderApi {
448
+ showLoadScreen(): Promise<void>;
449
+ hideLoadScreen(): Promise<void>;
450
+ setLoaderText(text: string): Promise<void>;
451
+ setLoaderProgress(progress: number): Promise<void>;
452
+ }
453
+
454
+ declare class RpcPreloaderApi implements PreloaderApi {
455
+ private readonly rpcClient;
456
+ constructor(rpcClient: RpcClient);
457
+ showLoadScreen(): Promise<void>;
458
+ hideLoadScreen(): Promise<void>;
459
+ setLoaderText(text: string): Promise<void>;
460
+ setLoaderProgress(progress: number): Promise<void>;
515
461
  }
516
462
 
463
+ declare function initializePreloader(venusApi: VenusAPI, host: Host): void;
464
+
517
465
  declare class RpcAvatarApi implements Avatar3dApi {
518
466
  private readonly venusApi;
519
467
  private readonly rpcClient;
@@ -530,104 +478,52 @@ declare class RpcAvatarApi implements Avatar3dApi {
530
478
 
531
479
  declare function initializeAvatar3d(venusApi: VenusAPI, host: Host): void;
532
480
 
533
- declare class HostCdnApi implements CdnApi {
534
- private readonly baseUrl;
535
- constructor(baseUrl: string);
536
- fetchBlob(path: SubPath, options?: FetchBlobOptions): Promise<Blob>;
537
- fetchFromCdn(url: string, request?: RequestInit): Promise<Response>;
538
- getAssetCdnBaseUrl(): string;
539
- resolveAssetUrl(subPath: string): string;
540
- resolveAvatarAssetUrl(subPath: string): string;
541
- resolveSharedLibUrl(subPath: string): string;
542
- }
543
-
544
- declare class MockCdnApi implements CdnApi {
545
- private readonly baseUrl;
546
- constructor();
547
- fetchBlob(path: SubPath, options?: FetchBlobOptions): Promise<Blob>;
548
- getAssetCdnBaseUrl(): string;
549
- resolveAssetUrl(subPath: string): string;
550
- resolveAvatarAssetUrl(subPath: string): string;
551
- resolveSharedLibUrl(subPath: string): string;
552
- fetchFromCdn(url: string, options?: RequestInit): Promise<Response>;
553
- }
554
-
555
- declare function initializeCdn(venusApi: VenusAPI, host: Host): void;
481
+ declare class RpcSocialApi implements SocialApi {
482
+ private readonly rpcClient;
483
+ constructor(rpcClient: RpcClient);
484
+ shareLinkAsync(options: {
485
+ launchParams: Record<string, string>;
486
+ metadata?: ShareMetadata;
487
+ }): Promise<ShareLinkResult>;
488
+ createQRCodeAsync(options: {
489
+ launchParams: Record<string, string>;
490
+ metadata?: ShareMetadata;
491
+ qrOptions?: SocialQRCodeOptions;
492
+ }): Promise<QRCodeResult>;
493
+ }
494
+
495
+ declare class MockSocialApi implements SocialApi {
496
+ shareLinkAsync(options: {
497
+ launchParams: Record<string, string>;
498
+ }): Promise<ShareLinkResult>;
499
+ createQRCodeAsync(options: {
500
+ launchParams: Record<string, string>;
501
+ qrOptions?: SocialQRCodeOptions;
502
+ }): Promise<QRCodeResult>;
503
+ private createMockUrl;
504
+ }
505
+
506
+ declare function initializeSocial(venusApi: VenusAPI, host: Host): void;
556
507
 
557
508
  declare class RpcAdsApi implements AdsApi {
558
509
  private readonly rpcClient;
559
510
  constructor(rpcClient: RpcClient);
560
- showInterstitialAd(): Promise<boolean>;
511
+ showInterstitialAd(options?: ShowInterstitialAdOptions): Promise<boolean>;
561
512
  isRewardedAdReadyAsync(): Promise<boolean>;
562
- showRewardedAdAsync(): Promise<boolean>;
513
+ showRewardedAdAsync(options?: ShowRewardedAdOptions): Promise<boolean>;
563
514
  }
564
515
 
565
516
  declare class MockAdsApi implements AdsApi {
566
517
  private mockOverlay;
567
518
  constructor(mockOverlay: MockOverlay);
568
519
  isRewardedAdReadyAsync(): Promise<boolean>;
569
- showRewardedAdAsync(): Promise<boolean>;
570
- showInterstitialAd(): Promise<boolean>;
520
+ showRewardedAdAsync(options?: ShowRewardedAdOptions): Promise<boolean>;
521
+ showInterstitialAd(options?: ShowInterstitialAdOptions): Promise<boolean>;
571
522
  private log;
572
523
  }
573
524
 
574
525
  declare function initializeAds(venusApiInstance: VenusAPI, host: Host): void;
575
526
 
576
- type StorageType = 'globalStorage' | 'deviceCache' | 'appStorage';
577
- declare function createMockStorageApi(storageType: StorageType, appUrl?: string): MockStorageApi;
578
- declare class MockStorageApi implements StorageApi {
579
- private readonly prefix;
580
- private readonly syncDelay;
581
- constructor(prefix: string, syncDelay: number);
582
- clear(): Promise<void>;
583
- getAllItems(): Promise<string[]>;
584
- getItem(key: string): Promise<string | null>;
585
- key(index: number): Promise<string | null>;
586
- length(): Promise<number>;
587
- removeItem(key: string): Promise<void>;
588
- setItem(key: string, item: string): Promise<void>;
589
- setMultipleItems(entries: {
590
- key: string;
591
- value: string;
592
- }[]): Promise<void>;
593
- removeMultipleItems(keys: string[]): Promise<void>;
594
- private buildKey;
595
- private extractKey;
596
- private keys;
597
- private simulateSyncDelay;
598
- }
599
-
600
- interface MethodIds {
601
- clear: string;
602
- getItem: string;
603
- getKey: string;
604
- length: string;
605
- removeItem: string;
606
- setItem: string;
607
- getAllItems?: string;
608
- removeMultipleItems?: string;
609
- setMultipleItems?: string;
610
- }
611
- declare class RpcStorageApi implements StorageApi {
612
- private readonly rpcClient;
613
- private readonly methodIds;
614
- constructor(rpcClient: RpcClient, methodIds: MethodIds);
615
- clear(): Promise<void>;
616
- getItem(key: string): Promise<string | null>;
617
- setItem(key: string, value: string): Promise<void>;
618
- key(index: number): Promise<string | null>;
619
- length(): Promise<number>;
620
- removeItem(key: string): Promise<void>;
621
- removeMultipleItems(keys: string[]): Promise<void>;
622
- getAllItems(): Promise<string[]>;
623
- setMultipleItems(items: {
624
- key: string;
625
- value: string;
626
- }[]): Promise<void>;
627
- }
628
-
629
- declare function initializeStorage(venusApiInstance: VenusAPI, host: Host): void;
630
-
631
527
  declare const SDK_VERSION: string;
632
528
 
633
529
  declare enum VenusMessageId {
@@ -679,7 +575,8 @@ declare enum VenusMessageId {
679
575
  TOGGLE_LIKE = "H5_TOGGLE_LIKE",
680
576
  OPEN_COMMENTS = "H5_OPEN_COMMENTS",// For opening comments with callback support
681
577
  TOGGLE_FOLLOW = "H5_TOGGLE_FOLLOW",
682
- SHARE_POST = "H5_SHARE_POST",
578
+ SHARE_LINK = "H5_SHARE_LINK",
579
+ CREATE_SHARE_QRCODE = "H5_CREATE_SHARE_QRCODE",
683
580
  AI_CHAT_COMPLETION = "H5_AI_CHAT_COMPLETION",
684
581
  AI_GET_AVAILABLE_MODELS = "H5_AI_GET_AVAILABLE_MODELS",
685
582
  TRIGGER_HAPTIC = "H5_TRIGGER_HAPTIC",
@@ -691,13 +588,11 @@ declare enum VenusMessageId {
691
588
  IAP_WALLET_UPDATE = "IAP_WALLET_UPDATE",
692
589
  READY = "READY",
693
590
  INIT_SDK = "INITIALIZE_SDK",
694
- PLAY = "PLAY",
695
591
  PAUSE = "PAUSE",
696
592
  RESUME = "RESUME",
697
- SHOWN = "SHOWN",// Previously AWAKE
698
- HIDDEN = "HIDDEN",// Previously SLEEP
699
- QUIT = "QUIT",// Previously STOP
700
- CLEANUP = "CLEANUP",
593
+ AWAKE = "AWAKE",
594
+ SLEEP = "SLEEP",
595
+ QUIT = "QUIT",
701
596
  /** given the experiment name, returns the entire experiment object as configured for the current user */
702
597
  GET_EXPERIMENT = "H5_GET_EXPERIMENT",
703
598
  /** returns the boolean value for a feature flag using the statsig parameter store, or the feature flags constants as fallback */
@@ -724,6 +619,11 @@ declare enum VenusMessageId {
724
619
  H5_SIMULATION_GET_AVAILABLE_ITEMS = "H5_SIMULATION_GET_AVAILABLE_ITEMS",
725
620
  H5_SIMULATION_VALIDATE_ASSIGNMENT = "H5_SIMULATION_VALIDATE_ASSIGNMENT",
726
621
  H5_SIMULATION_BATCH_OPERATIONS = "H5_SIMULATION_BATCH_OPERATIONS",
622
+ H5_LEADERBOARD_START_RUN = "H5_LEADERBOARD_START_RUN",
623
+ H5_LEADERBOARD_SUBMIT_SCORE = "H5_LEADERBOARD_SUBMIT_SCORE",
624
+ H5_LEADERBOARD_GET = "H5_LEADERBOARD_GET",
625
+ H5_LEADERBOARD_GET_HIGHLIGHT = "H5_LEADERBOARD_GET_HIGHLIGHT",
626
+ H5_LEADERBOARD_GET_PLAYER_STATS = "H5_LEADERBOARD_GET_PLAYER_STATS",
727
627
  H5_ROOM_CREATE = "H5_ROOM_CREATE",
728
628
  H5_ROOM_JOIN = "H5_ROOM_JOIN",
729
629
  H5_ROOM_JOIN_OR_CREATE = "H5_ROOM_JOIN_OR_CREATE",
@@ -747,8 +647,58 @@ declare enum VenusMessageId {
747
647
  H5_ROOM_ELIMINATE_PLAYER = "H5_ROOM_ELIMINATE_PLAYER",
748
648
  H5_ROOM_PROMOTE_TO_SPECTATOR = "H5_ROOM_PROMOTE_TO_SPECTATOR",
749
649
  H5_LOAD_EMBEDDED_ASSET = "H5_LOAD_EMBEDDED_ASSET",
650
+ H5_SHOW_LOAD_SCREEN = "H5_SHOW_LOAD_SCREEN",
651
+ H5_HIDE_LOAD_SCREEN = "H5_HIDE_LOAD_SCREEN",
652
+ H5_SET_LOADER_TEXT = "H5_SET_LOADER_TEXT",
653
+ H5_SET_LOADER_PROGRESS = "H5_SET_LOADER_PROGRESS",
750
654
  H5_IAP_OPEN_STORE = "H5_IAP_OPEN_STORE",
751
655
  H5_IAP_GET_CURRENCY_ICON = "H5_IAP_GET_CURRENCY_ICON"
752
656
  }
753
657
 
754
- export { ActionSheetItem, AdsApi, AiApi, AiChatCompletionData, AiChatCompletionRequest, AnalyticsApi, AssetManifest, Avatar3dApi, Avatar3dConfig, Avatar3dEdits, CdnApi, type CollectRecipeResult, type ExecuteRecipeOptions, type ExecuteScopedRecipeOptions, type ExecuteScopedRecipeResult, type Experiment, type FeaturesApi, FetchBlobOptions, type GetActiveRunsOptions, type GetAvailableRecipesOptions, type GetAvailableRecipesResult, type GetBatchRecipeRequirements, type GetFutureTimeOptions, HapticFeedbackStyle, HapticsApi, HostCdnApi, HostProfileApi, HostTimeApi, IapApi, LifecycleApi, LoadEmbeddedAssetsResponse, type LoggingApi, type MethodIds, MockAdsApi, MockAiApi, MockAnalyticsApi, MockCdnApi, MockFeaturesApi, MockHapticsApi, MockIapApi, MockLifecycleApi, MockLoggingApi, MockNavigationApi, MockNotificationsApi, MockPopupsApi, MockProfileApi, MockSharedAssetsApi, MockSimulationApi, MockStorageApi, MockTimeApi, NavigationApi, NavigationStackInfo, NotificationsApi, OnCleanupCallback, OnHideCallback, OnPauseCallback, OnPlayCallback, OnQuitCallback, OnResumeCallback, OnShowCallback, PlayContext, PopupsApi, type ProfileApi, PushAppOptions, QuitOptions, type Recipe, type RecipeInfo, RpcAdsApi, RpcAiApi, RpcAnalyticsApi, RpcAvatarApi, RpcClient, RpcFeaturesApi, RpcHapticsApi, RpcIapApi, RpcLifecycleApi, RpcLoggingApi, type RpcMessage, RpcNavigationApi, RpcNotification, RpcPopupsApi, RpcRequest, RpcResponse, RpcSimulationApi, RpcStorageApi, SDK_VERSION, ScheduleLocalNotification, ScheduleLocalNotificationOptions, type ServerTimeData, SharedAssetsApi, ShowActionSheetOptions, ShowAlertOptions, ShowConfirmOptions, ShowContext, ShowEditorOptions, ShowToastOptions, type ShowToastResponse, type SimulationApi, SpendCurrencyOptions, type StorageApi, type StorageType, SubPath, type TimeApi, type TriggerRecipeChainOptions, VenusMessageId, createMockStorageApi, initializeAds, initializeAi, initializeAnalytics, initializeAvatar3d, initializeCdn, initializeFeaturesApi, initializeHaptics, initializeIap, initializeLifecycleApi, initializeLocalNotifications, initializeLoggingApi, initializePopups, initializeProfile, initializeSimulation, initializeStackNavigation, initializeStorage, initializeTime, isPacificDaylightTime };
658
+ declare class RemoteHost implements Host {
659
+ readonly ads: AdsApi;
660
+ readonly analytics: AnalyticsApi;
661
+ readonly deviceCache: StorageApi;
662
+ readonly appStorage: StorageApi;
663
+ readonly globalStorage: StorageApi;
664
+ readonly avatar3d: Avatar3dApi;
665
+ readonly navigation: NavigationApi;
666
+ readonly notifications: NotificationsApi;
667
+ readonly popups: PopupsApi;
668
+ readonly profile: ProfileApi;
669
+ readonly cdn: CdnApi;
670
+ readonly time: TimeApi;
671
+ readonly post: PostApi;
672
+ readonly ai: AiApi;
673
+ readonly haptics: HapticsApi;
674
+ readonly features: FeaturesApi;
675
+ readonly lifecycle: LifecycleApi;
676
+ readonly simulation: SimulationApi;
677
+ readonly rooms: RoomsApi;
678
+ readonly logging: LoggingApi;
679
+ readonly iap: IapApi;
680
+ readonly leaderboard: LeaderboardApi;
681
+ readonly preloader: PreloaderApi;
682
+ readonly social: SocialApi;
683
+ get isInitialized(): boolean;
684
+ private readonly venusApi;
685
+ private readonly rpcClient;
686
+ private _isInitialized;
687
+ constructor(venusApi: VenusAPI);
688
+ initialize(options?: InitializationOptions): Promise<InitializationContext>;
689
+ private log;
690
+ }
691
+ interface InitResponse {
692
+ initializeAsleep: boolean;
693
+ instanceId: string;
694
+ profile?: {
695
+ id: string;
696
+ username: string;
697
+ avatarUrl?: string | null;
698
+ isAnonymous?: boolean;
699
+ };
700
+ hudInsets?: HudInsets;
701
+ launchParams?: Record<string, string>;
702
+ }
703
+
704
+ export { ActionSheetItem, AdsApi, AiApi, AiChatCompletionData, AiChatCompletionRequest, AnalyticsApi, AssetManifest, Avatar3dApi, Avatar3dConfig, Avatar3dEdits, AwakeCallback, CdnApi, CollectRecipeResult, ExecuteRecipeOptions, ExecuteScopedRecipeResult, Experiment, FeaturesApi, FetchBlobOptions, GetActiveRunsOptions, GetAvailableRecipesOptions, GetAvailableRecipesResult, GetBatchRecipeRequirements, GetFutureTimeOptions, GetLeaderboardOptions, HapticFeedbackStyle, HapticsApi, Host, HostCdnApi, HostProfileApi, HostTimeApi, HudInsets, IapApi, type InitResponse, InitializationContext, InitializationOptions, LeaderboardApi, LeaderboardHighlightOptions, LeaderboardHighlightResponse, LeaderboardResponse, LifecycleApi, LoadEmbeddedAssetsResponse, LoggingApi, type MethodIds, MockAdsApi, MockAiApi, MockAnalyticsApi, MockCdnApi, MockFeaturesApi, MockHapticsApi, MockIapApi, MockLeaderboardApi, MockLifecycleApi, MockLoggingApi, MockNavigationApi, MockNotificationsApi, MockPopupsApi, MockPreloaderApi, MockProfileApi, MockSharedAssetsApi, MockSimulationApi, MockSocialApi, MockStorageApi, MockTimeApi, NavigationApi, NavigationStackInfo, type NotificationContent, NotificationsApi, PauseCallback, PlayerStats, PlayerStatsOptions, PopupsApi, PreloaderApi, ProfileApi, PushAppOptions, QRCodeResult, QuitCallback, QuitOptions, Recipe, RemoteHost, ResumeCallback, RoomsApi, RpcAdsApi, RpcAiApi, RpcAnalyticsApi, RpcAvatarApi, RpcClient, RpcFeaturesApi, RpcHapticsApi, RpcIapApi, RpcLeaderboardApi, RpcLifecycleApi, RpcLoggingApi, type RpcMessage, RpcNavigationApi, RpcNotification, RpcNotificationsApi, RpcPopupsApi, RpcPreloaderApi, RpcRequest, RpcResponse, RpcSimulationApi, RpcSocialApi, RpcStorageApi, SDK_VERSION, ScheduleLocalNotification, ScheduleNotificationOptions, ServerTimeData, ShareLinkResult, ShareMetadata, SharedAssetsApi, ShowActionSheetOptions, ShowAlertOptions, ShowConfirmOptions, ShowEditorOptions, ShowInterstitialAdOptions, ShowRewardedAdOptions, ShowToastOptions, type ShowToastResponse, SimulationApi, SleepCallback, SocialApi, SocialQRCodeOptions, SpendCurrencyOptions, StartRunResult, StorageApi, type StorageType, SubPath, SubmitScoreOptions, SubmitScoreResult, Subscription, TimeApi, TriggerRecipeChainOptions, VenusMessageId, createMockStorageApi, initializeAds, initializeAi, initializeAnalytics, initializeAvatar3d, initializeCdn, initializeFeaturesApi, initializeHaptics, initializeIap, initializeLeaderboard, initializeLifecycleApi, initializeLocalNotifications, initializeLoggingApi, initializePopups, initializePreloader, initializeProfile, initializeRoomsApi, initializeSimulation, initializeSocial, initializeStackNavigation, initializeStorage, initializeTime, isPacificDaylightTime, setupRoomNotifications };