@rtsdk/topia 0.17.8 → 0.17.9

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.cjs CHANGED
@@ -39761,6 +39761,8 @@ class Asset extends SDKController {
39761
39761
  /**
39762
39762
  * Retrieves platform asset details and assigns response data to the instance.
39763
39763
  *
39764
+ * @keywords get, fetch, retrieve, load, details, info, information
39765
+ *
39764
39766
  * @example
39765
39767
  * ```ts
39766
39768
  * await asset.fetchAssetById();
@@ -39784,6 +39786,8 @@ class Asset extends SDKController {
39784
39786
  /**
39785
39787
  * Updates platform asset details.
39786
39788
  *
39789
+ * @keywords update, modify, change, edit, alter, transform
39790
+ *
39787
39791
  * @example
39788
39792
  * ```ts
39789
39793
  * await asset.updateAsset({
@@ -39941,6 +39945,8 @@ class DroppedAsset extends Asset {
39941
39945
  /**
39942
39946
  * Retrieves dropped asset details and assigns response data to the instance.
39943
39947
  *
39948
+ * @keywords get, fetch, retrieve, load, details, info, information
39949
+ *
39944
39950
  * @example
39945
39951
  * ```ts
39946
39952
  * await droppedAsset.fetchDroppedAssetById();
@@ -39963,6 +39969,8 @@ class DroppedAsset extends Asset {
39963
39969
  /**
39964
39970
  * Updates dropped asset details and assigns the response data to the instance. Requires Public Key to have the `canUpdateDroppedAssets` permission.
39965
39971
  *
39972
+ * @keywords update, modify, change, edit, alter, transform
39973
+ *
39966
39974
  * @example
39967
39975
  * ```ts
39968
39976
  * const payload = {
@@ -40037,6 +40045,8 @@ class DroppedAsset extends Asset {
40037
40045
  /**
40038
40046
  * Deletes the dropped asset (removes it from the world).
40039
40047
  *
40048
+ * @keywords remove, delete, erase, destroy, eliminate
40049
+ *
40040
40050
  * @example
40041
40051
  * ```ts
40042
40052
  * await droppedAsset.deleteDroppedAsset();
@@ -40055,6 +40065,8 @@ class DroppedAsset extends Asset {
40055
40065
  /**
40056
40066
  * Retrieves the data object for a dropped asset.
40057
40067
  *
40068
+ * @keywords get, fetch, retrieve, load, data, object, state
40069
+ *
40058
40070
  * @category Data Objects
40059
40071
  *
40060
40072
  * @example
@@ -40087,6 +40099,8 @@ class DroppedAsset extends Asset {
40087
40099
  * @remarks
40088
40100
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
40089
40101
  *
40102
+ * @keywords set, assign, store, save, data, object, state
40103
+ *
40090
40104
  * @category Data Objects
40091
40105
  *
40092
40106
  * @example
@@ -40119,6 +40133,8 @@ class DroppedAsset extends Asset {
40119
40133
  * @remarks
40120
40134
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
40121
40135
  *
40136
+ * @keywords update, modify, change, edit, alter, data, object, state
40137
+ *
40122
40138
  * @category Data Objects
40123
40139
  *
40124
40140
  * @example
@@ -40148,6 +40164,8 @@ class DroppedAsset extends Asset {
40148
40164
  * @remarks
40149
40165
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
40150
40166
  *
40167
+ * @keywords increment, increase, add, count, data, object, state
40168
+ *
40151
40169
  * @category Data Objects
40152
40170
  *
40153
40171
  * @example
@@ -40172,6 +40190,8 @@ class DroppedAsset extends Asset {
40172
40190
  /**
40173
40191
  * Updates broadcast options for a dropped asset.
40174
40192
  *
40193
+ * @keywords broadcast, dropped asset settings
40194
+ *
40175
40195
  * @example
40176
40196
  * ```ts
40177
40197
  * await droppedAsset.updateBroadcast({
@@ -40195,6 +40215,8 @@ class DroppedAsset extends Asset {
40195
40215
  /**
40196
40216
  * Updates click options for a dropped asset.
40197
40217
  *
40218
+ * @keywords click, link, interaction, url, dropped asset settings
40219
+ *
40198
40220
  * @example
40199
40221
  * ```ts
40200
40222
  * await droppedAsset.updateClickType({
@@ -40235,6 +40257,8 @@ class DroppedAsset extends Asset {
40235
40257
  /**
40236
40258
  * Adds an array of links to an asset. Maximum is 20 links.
40237
40259
  *
40260
+ * @keywords links, multiple, clickable, urls, hyperlinks, dropped asset settings
40261
+ *
40238
40262
  * @example
40239
40263
  * ```ts
40240
40264
  * await droppedAsset.setClickableLinkMulti({
@@ -40275,6 +40299,8 @@ class DroppedAsset extends Asset {
40275
40299
  * @remarks
40276
40300
  * Pass in an 'existingLinkId' to edit an existing link.
40277
40301
  *
40302
+ * @keywords links, multiple, clickable, urls, dropped asset settings
40303
+ *
40278
40304
  * @example
40279
40305
  * ```ts
40280
40306
  * await droppedAsset.updateClickableLinkMulti({
@@ -40308,6 +40334,8 @@ class DroppedAsset extends Asset {
40308
40334
  /**
40309
40335
  * Removes a clickable link from a dropped asset.
40310
40336
  *
40337
+ * @keywords remove, delete, link, clickable, url, erase, dropped asset settings
40338
+ *
40311
40339
  * @example
40312
40340
  * ```ts
40313
40341
  * await droppedAsset.removeClickableLink({ linkId: "link-id" });
@@ -40329,6 +40357,8 @@ class DroppedAsset extends Asset {
40329
40357
  /**
40330
40358
  * Updates text and style of a dropped asset.
40331
40359
  *
40360
+ * @keywords text, style, dropped asset settings
40361
+ *
40332
40362
  * @example
40333
40363
  * ```ts
40334
40364
  * const style = {
@@ -40355,6 +40385,8 @@ class DroppedAsset extends Asset {
40355
40385
  /**
40356
40386
  * Updates media options for a dropped asset.
40357
40387
  *
40388
+ * @keywords media, video, audio, dropped asset settings
40389
+ *
40358
40390
  * @example
40359
40391
  * ```ts
40360
40392
  * await droppedAsset.updateMediaType({
@@ -40392,6 +40424,8 @@ class DroppedAsset extends Asset {
40392
40424
  /**
40393
40425
  * Updates mute zone options for a dropped asset.
40394
40426
  *
40427
+ * @keywords mute, zone, dropped asset settings
40428
+ *
40395
40429
  * @example
40396
40430
  * ```ts
40397
40431
  * await droppedAsset.updateMuteZone(true);
@@ -40410,6 +40444,8 @@ class DroppedAsset extends Asset {
40410
40444
  /**
40411
40445
  * Updates landmark zone options for a dropped asset.
40412
40446
  *
40447
+ * @keywords landmark, zone, dropped asset settings
40448
+ *
40413
40449
  * @example
40414
40450
  * ```ts
40415
40451
  * await droppedAsset.updateLandmarkZone({
@@ -40433,6 +40469,8 @@ class DroppedAsset extends Asset {
40433
40469
  /**
40434
40470
  * Updates webhook zone options for a dropped asset.
40435
40471
  *
40472
+ * @keywords webhook, zone, dropped asset settings
40473
+ *
40436
40474
  * @example
40437
40475
  * ```ts
40438
40476
  * await droppedAsset.updateWebhookZone(true);
@@ -40451,6 +40489,8 @@ class DroppedAsset extends Asset {
40451
40489
  /**
40452
40490
  * Moves a dropped asset to specified coordinates.
40453
40491
  *
40492
+ * @keywords position, dropped asset settings
40493
+ *
40454
40494
  * @example
40455
40495
  * ```ts
40456
40496
  * await droppedAsset.updatePosition(100, 200, 100);
@@ -40470,6 +40510,8 @@ class DroppedAsset extends Asset {
40470
40510
  /**
40471
40511
  * Updates private zone options for a dropped asset.
40472
40512
  *
40513
+ * @keywords private, zone, dropped asset settings
40514
+ *
40473
40515
  * @example
40474
40516
  * ```ts
40475
40517
  * await droppedAsset.updatePrivateZone({
@@ -40493,6 +40535,8 @@ class DroppedAsset extends Asset {
40493
40535
  /**
40494
40536
  * Updates the size of a dropped asset.
40495
40537
  *
40538
+ * @keywords size, scale, dropped asset settings
40539
+ *
40496
40540
  * @example
40497
40541
  * ```ts
40498
40542
  * await droppedAsset.assetScale(.5);
@@ -40511,6 +40555,8 @@ class DroppedAsset extends Asset {
40511
40555
  /**
40512
40556
  * Flip an dropped asset.
40513
40557
  *
40558
+ * @keywords flip, layout, dropped asset settings
40559
+ *
40514
40560
  * @example
40515
40561
  * ```ts
40516
40562
  * await droppedAsset.flip(.5);
@@ -40529,6 +40575,8 @@ class DroppedAsset extends Asset {
40529
40575
  /**
40530
40576
  * Change or remove media embedded in a dropped asset.
40531
40577
  *
40578
+ * @keywords media, update, dropped asset settings
40579
+ *
40532
40580
  * @example
40533
40581
  * ```ts
40534
40582
  * await droppedAsset.updateUploadedMediaSelected("LVWyxwNxI96eLjnXWwYO");
@@ -40547,6 +40595,8 @@ class DroppedAsset extends Asset {
40547
40595
  /**
40548
40596
  * Change or remove top and bottom layers of a dropped asset.
40549
40597
  *
40598
+ * @keywords layers, images, urls, dropped asset settings
40599
+ *
40550
40600
  * @example
40551
40601
  * ```ts
40552
40602
  * await droppedAsset.updateWebImageLayers("","https://www.shutterstock.com/image-vector/colorful-illustration-test-word-260nw-1438324490.jpg");
@@ -40566,6 +40616,8 @@ class DroppedAsset extends Asset {
40566
40616
  /**
40567
40617
  * Add a webhook to a dropped asset
40568
40618
  *
40619
+ * @keywords webhook, dropped asset settings
40620
+ *
40569
40621
  * @example
40570
40622
  * ```ts
40571
40623
  * await droppedAsset.addWebhook({
@@ -40605,6 +40657,8 @@ class DroppedAsset extends Asset {
40605
40657
  /**
40606
40658
  * Set the interactive settings on a dropped asset
40607
40659
  *
40660
+ * @keywords interactive, dropped asset settings
40661
+ *
40608
40662
  * @example
40609
40663
  * ```ts
40610
40664
  * await droppedAsset.setInteractiveSettings({
@@ -40632,6 +40686,8 @@ class DroppedAsset extends Asset {
40632
40686
  /**
40633
40687
  * Retrieve analytics for a dropped asset by day, week, month, quarter, or year
40634
40688
  *
40689
+ * @keywords get, fetch, retrieve, load, analytics
40690
+ *
40635
40691
  * @example
40636
40692
  * ```ts
40637
40693
  * const analytics = await droppedAsset.fetchDroppedAssetAnalytics({
@@ -40723,6 +40779,8 @@ class Ecosystem extends SDKController {
40723
40779
  /**
40724
40780
  * Retrieves the data object for a Topia ecosystem. Requires canUpdateEcosystemDataObjects permission to be set to true for the public key.
40725
40781
  *
40782
+ * @keywords get, fetch, retrieve, load, data, object, state
40783
+ *
40726
40784
  * @category Data Objects
40727
40785
  *
40728
40786
  * @example
@@ -40757,6 +40815,8 @@ class Ecosystem extends SDKController {
40757
40815
  *
40758
40816
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
40759
40817
  *
40818
+ * @keywords set, assign, store, save, data, object, state
40819
+ *
40760
40820
  * @category Data Objects
40761
40821
  *
40762
40822
  * @example
@@ -40787,6 +40847,8 @@ class Ecosystem extends SDKController {
40787
40847
  *
40788
40848
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
40789
40849
  *
40850
+ * @keywords update, modify, change, edit, alter, data, object, state
40851
+ *
40790
40852
  * @category Data Objects
40791
40853
  *
40792
40854
  * @example
@@ -40823,6 +40885,8 @@ class Ecosystem extends SDKController {
40823
40885
  *
40824
40886
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
40825
40887
  *
40888
+ * @keywords increment, increase, add, count, data, object, state
40889
+ *
40826
40890
  * @category Data Objects
40827
40891
  *
40828
40892
  * @example
@@ -40898,6 +40962,8 @@ class Scene extends SDKController {
40898
40962
  /**
40899
40963
  * Retrieves scene details and assigns response data to the instance.
40900
40964
  *
40965
+ * @keywords get, fetch, retrieve, load, details, info, information, scene
40966
+ *
40901
40967
  * @example
40902
40968
  * ```ts
40903
40969
  * await scene.fetchSceneById();
@@ -41005,6 +41071,8 @@ class World extends SDKController {
41005
41071
  /**
41006
41072
  * Retrieves the data object for a world. Must have valid interactive credentials from a visitor in the world.
41007
41073
  *
41074
+ * @keywords get, fetch, retrieve, load, data, object, state
41075
+ *
41008
41076
  * @category Data Objects
41009
41077
  *
41010
41078
  * @example
@@ -41034,6 +41102,8 @@ class World extends SDKController {
41034
41102
  * @remarks
41035
41103
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
41036
41104
  *
41105
+ * @keywords set, assign, store, save, data, object, state
41106
+ *
41037
41107
  * @category Data Objects
41038
41108
  *
41039
41109
  * @example
@@ -41063,6 +41133,8 @@ class World extends SDKController {
41063
41133
  * @remarks
41064
41134
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
41065
41135
  *
41136
+ * @keywords update, modify, change, edit, alter, data, object, state
41137
+ *
41066
41138
  * @category Data Objects
41067
41139
  *
41068
41140
  * @example
@@ -41094,6 +41166,8 @@ class World extends SDKController {
41094
41166
  /**
41095
41167
  * Retrieves details of a world.
41096
41168
  *
41169
+ * @keywords get, fetch, retrieve, details, info, information, world
41170
+ *
41097
41171
  * @example
41098
41172
  * ```ts
41099
41173
  * await world.fetchDetails();
@@ -41114,6 +41188,8 @@ class World extends SDKController {
41114
41188
  /**
41115
41189
  * Update details of a world.
41116
41190
  *
41191
+ * @keywords update, modify, change, edit, world, settings, details
41192
+ *
41117
41193
  * @example
41118
41194
  * ```ts
41119
41195
  * await world.updateDetails({
@@ -41158,6 +41234,8 @@ class World extends SDKController {
41158
41234
  /**
41159
41235
  * Set close world settings
41160
41236
  *
41237
+ * @keywords update, modify, change, edit, world, settings, details, close, closed
41238
+ *
41161
41239
  * @example
41162
41240
  * ```ts
41163
41241
  * await world.updateCloseWorldSettings({
@@ -41197,6 +41275,8 @@ class World extends SDKController {
41197
41275
  /**
41198
41276
  * Retrieve all assets dropped in a world.
41199
41277
  *
41278
+ * @keywords get, fetch, retrieve, list, current, dropped assets
41279
+ *
41200
41280
  * @category Dropped Assets
41201
41281
  *
41202
41282
  * @example
@@ -41227,6 +41307,8 @@ class World extends SDKController {
41227
41307
  /**
41228
41308
  * Retrieve all assets dropped in a world matching uniqueName.
41229
41309
  *
41310
+ * @keywords get, fetch, retrieve, list, current, dropped assets, uniqueName
41311
+ *
41230
41312
  * @category Dropped Assets
41231
41313
  *
41232
41314
  * @example
@@ -41261,6 +41343,8 @@ class World extends SDKController {
41261
41343
  /**
41262
41344
  * Retrieve all assets dropped in a world matching sceneDropId.
41263
41345
  *
41346
+ * @keywords get, fetch, retrieve, list, current, dropped assets, sceneDropId
41347
+ *
41264
41348
  * @category Dropped Assets
41265
41349
  *
41266
41350
  * @example
@@ -41301,6 +41385,8 @@ class World extends SDKController {
41301
41385
  /**
41302
41386
  * Update multiple custom text dropped assets with a single style while preserving text for specified dropped assets only.
41303
41387
  *
41388
+ * @keywords update, modify, change, edit, dropped assets, custom text, style, text
41389
+ *
41304
41390
  * @category Dropped Assets
41305
41391
  *
41306
41392
  * @example
@@ -41332,6 +41418,8 @@ class World extends SDKController {
41332
41418
  /**
41333
41419
  * Retrieve all landmark zone assets dropped in a world.
41334
41420
  *
41421
+ * @keywords get, fetch, retrieve, list, landmark, zones, dropped assets
41422
+ *
41335
41423
  * @category Dropped Assets
41336
41424
  *
41337
41425
  * @example
@@ -41403,6 +41491,8 @@ class World extends SDKController {
41403
41491
  /**
41404
41492
  * Fetch a list of all scene drop ids and dropped assets in a world
41405
41493
  *
41494
+ * @keywords get, fetch, retrieve, list, scenes
41495
+ *
41406
41496
  * @category Scenes
41407
41497
  *
41408
41498
  * @example
@@ -41444,6 +41534,8 @@ class World extends SDKController {
41444
41534
  /**
41445
41535
  * Drops a scene in a world and returns sceneDropId.
41446
41536
  *
41537
+ * @keywords drop, add, place, scene
41538
+ *
41447
41539
  * @category Scenes
41448
41540
  *
41449
41541
  * @example
@@ -41478,6 +41570,8 @@ class World extends SDKController {
41478
41570
  /**
41479
41571
  * Replace the current scene of a world.
41480
41572
  *
41573
+ * @keywords replace, change, scene
41574
+ *
41481
41575
  * @category Scenes
41482
41576
  *
41483
41577
  * @example
@@ -41508,6 +41602,8 @@ class World extends SDKController {
41508
41602
  /**
41509
41603
  * Get all particles available
41510
41604
  *
41605
+ * @keywords get, fetch, retrieve, list, particles
41606
+ *
41511
41607
  * @category Particles
41512
41608
  *
41513
41609
  * @example
@@ -41531,6 +41627,8 @@ class World extends SDKController {
41531
41627
  /**
41532
41628
  * Trigger a particle effect at a position in the world
41533
41629
  *
41630
+ * @keywords trigger, start, play, particle, effect
41631
+ *
41534
41632
  * @category Particles
41535
41633
  *
41536
41634
  * @example
@@ -41567,6 +41665,8 @@ class World extends SDKController {
41567
41665
  * Add an activity to a world
41568
41666
  * excludeFromNotification is an array of visitorIds to exclude from the notification
41569
41667
  *
41668
+ * @keywords start, trigger, activity
41669
+ *
41570
41670
  * @example
41571
41671
  * ```ts
41572
41672
  * await world.triggerActivity({ type: "GAME_ON", assetId: "abc123" });
@@ -41589,6 +41689,8 @@ class World extends SDKController {
41589
41689
  /**
41590
41690
  * Display a message via a toast to all visitors currently in a world.
41591
41691
  *
41692
+ * @keywords send, display, show, toast, message, notification
41693
+ *
41592
41694
  * @example
41593
41695
  * ```ts
41594
41696
  * await world.fireToast({
@@ -41622,6 +41724,8 @@ class World extends SDKController {
41622
41724
  * @remarks
41623
41725
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
41624
41726
  *
41727
+ * @keywords increment, increase, add, count, data, object, state
41728
+ *
41625
41729
  * @category Data Objects
41626
41730
  *
41627
41731
  * @example
@@ -41647,6 +41751,8 @@ class World extends SDKController {
41647
41751
  /**
41648
41752
  * Retrieve all webhooks in a world.
41649
41753
  *
41754
+ * @keywords get, fetch, retrieve, list, current, webhooks
41755
+ *
41650
41756
  * @category Webhooks
41651
41757
  *
41652
41758
  * @example
@@ -41670,6 +41776,8 @@ class World extends SDKController {
41670
41776
  /**
41671
41777
  * Retrieve world analytics by day, week, month, quarter, or year
41672
41778
  *
41779
+ * @keywords get, fetch, retrieve, analytics, stats, statistics, data, metrics
41780
+ *
41673
41781
  * @category Analytics
41674
41782
  *
41675
41783
  * @example
@@ -41785,6 +41893,8 @@ class User extends SDKController {
41785
41893
  /*
41786
41894
  * Verify user has valid interactive credentials
41787
41895
  *
41896
+ * @keywords check, verify, validate, credentials, authentication, authorization, interactive
41897
+ *
41788
41898
  * @example
41789
41899
  * ```ts
41790
41900
  * await user.checkInteractiveCredentials();
@@ -41806,6 +41916,8 @@ class User extends SDKController {
41806
41916
  /**
41807
41917
  * Returns all avatars owned by User
41808
41918
  *
41919
+ * @keywords get, fetch, retrieve, list, avatars, characters
41920
+ *
41809
41921
  * @category Avatars
41810
41922
  *
41811
41923
  * @example
@@ -41829,6 +41941,8 @@ class User extends SDKController {
41829
41941
  /**
41830
41942
  * Add a new avatar
41831
41943
  *
41944
+ * @keywords add, create, upload, avatar, character
41945
+ *
41832
41946
  * @category Avatars
41833
41947
  *
41834
41948
  * @example
@@ -41911,6 +42025,8 @@ class User extends SDKController {
41911
42025
  /**
41912
42026
  * Update avatar and sprite sheet records and upload files to existing sprite sheet and avatar storage buckets
41913
42027
  *
42028
+ * @keywords update, modify, change, edit, avatar, character
42029
+ *
41914
42030
  * @category Avatars
41915
42031
  *
41916
42032
  * @example
@@ -41993,6 +42109,8 @@ class User extends SDKController {
41993
42109
  /**
41994
42110
  * Update avatar and sprite sheet records and upload files to existing sprite sheet and avatar storage buckets
41995
42111
  *
42112
+ * @keywords delete, remove, erase, destroy, eliminate, avatar
42113
+ *
41996
42114
  * @category Avatars
41997
42115
  *
41998
42116
  * @example
@@ -42014,6 +42132,8 @@ class User extends SDKController {
42014
42132
  /**
42015
42133
  * Returns all assets owned by User when an email address is provided.
42016
42134
  *
42135
+ * @keywords get, fetch, retrieve, list, user assets, objects
42136
+ *
42017
42137
  * @category Assets
42018
42138
  *
42019
42139
  * @example
@@ -42044,6 +42164,8 @@ class User extends SDKController {
42044
42164
  /**
42045
42165
  * Returns all platform assets.
42046
42166
  *
42167
+ * @keywords get, fetch, retrieve, list, platform assets, objects
42168
+ *
42047
42169
  * @category Assets
42048
42170
  *
42049
42171
  * @example
@@ -42067,6 +42189,8 @@ class User extends SDKController {
42067
42189
  /**
42068
42190
  * Returns all scenes owned by User.
42069
42191
  *
42192
+ * @keywords get, fetch, retrieve, list, user scenes
42193
+ *
42070
42194
  * @category Scenes
42071
42195
  *
42072
42196
  * @example
@@ -42097,6 +42221,8 @@ class User extends SDKController {
42097
42221
  /**
42098
42222
  * Retrieves all worlds owned by user with matching API Key, creates a new World object for each, and creates new map of Worlds accessible via user.worlds.
42099
42223
  *
42224
+ * @keywords get, fetch, retrieve, list, user worlds
42225
+ *
42100
42226
  * @category Worlds
42101
42227
  *
42102
42228
  * @example
@@ -42132,6 +42258,8 @@ class User extends SDKController {
42132
42258
  /**
42133
42259
  * Retrieves all worlds a user with matching API Key is an admin in, creates a new World object for each, and creates new map of Worlds accessible via user.adminWorlds.
42134
42260
  *
42261
+ * @keywords get, fetch, retrieve, list, admin worlds, user worlds
42262
+ *
42135
42263
  * @category Worlds
42136
42264
  *
42137
42265
  * @example
@@ -42161,6 +42289,8 @@ class User extends SDKController {
42161
42289
  /**
42162
42290
  * Retrieves ids of all dropped assets in all worlds with a matching interactivePublicKey.
42163
42291
  *
42292
+ * @keywords get, fetch, retrieve, list, interactive worlds, public key
42293
+ *
42164
42294
  * @category Dropped Assets
42165
42295
  *
42166
42296
  * @example
@@ -42185,6 +42315,8 @@ class User extends SDKController {
42185
42315
  /**
42186
42316
  * Send an email
42187
42317
  *
42318
+ * @keywords send, email, message, notify
42319
+ *
42188
42320
  * @example
42189
42321
  * ```ts
42190
42322
  * const html = `<p><b>Hello World!</b></p><p>This email is being sent from via SDK.</p>`
@@ -42208,6 +42340,8 @@ class User extends SDKController {
42208
42340
  /**
42209
42341
  * Get expressions
42210
42342
  *
42343
+ * @keywords get, fetch, retrieve, list, expressions, emotes
42344
+ *
42211
42345
  * @category Expressions
42212
42346
  *
42213
42347
  * @example
@@ -42234,6 +42368,8 @@ class User extends SDKController {
42234
42368
  /**
42235
42369
  * Retrieves the data object for a user.
42236
42370
  *
42371
+ * @keywords get, fetch, retrieve, load, data, object, state
42372
+ *
42237
42373
  * @category Data Objects
42238
42374
  *
42239
42375
  * @example
@@ -42263,6 +42399,8 @@ class User extends SDKController {
42263
42399
  /**
42264
42400
  * Sets the data object for a user.
42265
42401
  *
42402
+ * @keywords set, assign, store, save, data, object, state
42403
+ *
42266
42404
  * @remarks
42267
42405
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
42268
42406
  *
@@ -42297,6 +42435,8 @@ class User extends SDKController {
42297
42435
  /**
42298
42436
  * Updates the data object for a user.
42299
42437
  *
42438
+ * @keywords update, modify, change, edit, alter, data, object, state
42439
+ *
42300
42440
  * @remarks
42301
42441
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
42302
42442
  *
@@ -42329,6 +42469,8 @@ class User extends SDKController {
42329
42469
  /**
42330
42470
  * Increments a specific value in the data object for a user by the amount specified. Must have valid interactive credentials from a visitor in the world.
42331
42471
  *
42472
+ * @keywords increment, increase, add, count, data, object, state
42473
+ *
42332
42474
  * @remarks
42333
42475
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
42334
42476
  *
@@ -42400,6 +42542,8 @@ class Visitor extends User {
42400
42542
  /**
42401
42543
  * Get a single visitor from a world
42402
42544
  *
42545
+ * @keywords get, fetch, retrieve, load, visitor, details
42546
+ *
42403
42547
  * @example
42404
42548
  * ```ts
42405
42549
  * await visitor.fetchVisitor();
@@ -42433,6 +42577,8 @@ class Visitor extends User {
42433
42577
  /**
42434
42578
  * Teleport or walk a visitor currently in a world to a single set of coordinates.
42435
42579
  *
42580
+ * @keywords move, teleport, walk, position, coordinate, location, place
42581
+ *
42436
42582
  * @example
42437
42583
  * ```ts
42438
42584
  * await visitor.moveVisitor({
@@ -42465,6 +42611,8 @@ class Visitor extends User {
42465
42611
  /**
42466
42612
  * Display a message via a toast to a visitor currently in a world.
42467
42613
  *
42614
+ * @keywords toast, message, notification, alert, display, show, popup
42615
+ *
42468
42616
  * @example
42469
42617
  * ```ts
42470
42618
  * await visitor.fireToast({
@@ -42495,6 +42643,8 @@ class Visitor extends User {
42495
42643
  /**
42496
42644
  * Open an iframe in a drawer or modal for a visitor currently in a world.
42497
42645
  *
42646
+ * @keywords open, iframe, drawer, modal, link, url, website, web page
42647
+ *
42498
42648
  * @category iframes
42499
42649
  *
42500
42650
  * @example
@@ -42529,6 +42679,8 @@ class Visitor extends User {
42529
42679
  /**
42530
42680
  * Reload an iframe for a visitor currently in a world.
42531
42681
  *
42682
+ * @keywords reload, iframe, drawer, modal, link, url, website, web page
42683
+ *
42532
42684
  * @category iframes
42533
42685
  *
42534
42686
  * @example
@@ -42552,6 +42704,8 @@ class Visitor extends User {
42552
42704
  /**
42553
42705
  * Close an iframe for a visitor currently in a world.
42554
42706
  *
42707
+ * @keywords close, iframe, drawer, modal
42708
+ *
42555
42709
  * @category iframes
42556
42710
  *
42557
42711
  * @example
@@ -42575,6 +42729,8 @@ class Visitor extends User {
42575
42729
  /**
42576
42730
  * Mute and turn video off for a visitor currently in a world.
42577
42731
  *
42732
+ * @keywords mute, video, av, turn off, disable
42733
+ *
42578
42734
  * @example
42579
42735
  * ```ts
42580
42736
  * await visitor.turnAVOff();
@@ -42596,6 +42752,8 @@ class Visitor extends User {
42596
42752
  /**
42597
42753
  * Get expressions
42598
42754
  *
42755
+ * @keywords get, fetch, retrieve, list, expressions, emotes
42756
+ *
42599
42757
  * @category Expressions
42600
42758
  *
42601
42759
  * @example
@@ -42621,6 +42779,8 @@ class Visitor extends User {
42621
42779
  /**
42622
42780
  * Grant expression to a visitor by id or name.
42623
42781
  *
42782
+ * @keywords grant, give, add, expression, emote
42783
+ *
42624
42784
  * @category Expressions
42625
42785
  *
42626
42786
  * @example
@@ -42652,6 +42812,8 @@ class Visitor extends User {
42652
42812
  /**
42653
42813
  * Get all particles available
42654
42814
  *
42815
+ * @keywords get, fetch, retrieve, list, particles, effects
42816
+ *
42655
42817
  * @category Particle Effects
42656
42818
  *
42657
42819
  * @example
@@ -42675,6 +42837,8 @@ class Visitor extends User {
42675
42837
  /**
42676
42838
  * Trigger a particle effect on a visitor
42677
42839
  *
42840
+ * @keywords trigger, particle, effect, spawn, start, play
42841
+ *
42678
42842
  * @category Particle Effects
42679
42843
  *
42680
42844
  * @example
@@ -42708,6 +42872,8 @@ class Visitor extends User {
42708
42872
  /**
42709
42873
  * Retrieves the data object for a visitor.
42710
42874
  *
42875
+ * @keywords get, fetch, retrieve, load, data, object, state
42876
+ *
42711
42877
  * @category Data Objects
42712
42878
  *
42713
42879
  * @example
@@ -42737,6 +42903,8 @@ class Visitor extends User {
42737
42903
  /**
42738
42904
  * Sets the data object for a visitor.
42739
42905
  *
42906
+ * @keywords set, assign, store, save, data, object, state
42907
+ *
42740
42908
  * @remarks
42741
42909
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
42742
42910
  *
@@ -42772,6 +42940,8 @@ class Visitor extends User {
42772
42940
  * @remarks
42773
42941
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
42774
42942
  *
42943
+ * @keywords update, modify, change, edit, alter, data, object, state
42944
+ *
42775
42945
  * @category Data Objects
42776
42946
  *
42777
42947
  * @example
@@ -42802,6 +42972,8 @@ class Visitor extends User {
42802
42972
  * @remarks
42803
42973
  * Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
42804
42974
  *
42975
+ * @keywords increment, increase, add, count, data, object, state
42976
+ *
42805
42977
  * @category Data Objects
42806
42978
  *
42807
42979
  * @example
@@ -42826,6 +42998,8 @@ class Visitor extends User {
42826
42998
  /**
42827
42999
  * Update analytics for a given public key. Must have valid interactive credentials from a visitor in the world.
42828
43000
  *
43001
+ * @keywords update, modify, change, edit, analytics, analytic, stats, statistics, data
43002
+ *
42829
43003
  * @example
42830
43004
  * ```ts
42831
43005
  * await visitor.updatePublicKeyAnalytics([{ analyticName: "joins", profileId, uniqueKey: profileId, urlSlug }]);
@@ -42848,6 +43022,8 @@ class Visitor extends User {
42848
43022
  /**
42849
43023
  * Setup signal to visitor
42850
43024
  *
43025
+ * @keywords signal, webrtc, answer, connect, p2p
43026
+ *
42851
43027
  * @example
42852
43028
  * ```ts
42853
43029
  * await visitor.sendSignalToVisitor(iceServers);
@@ -42997,6 +43173,8 @@ class WorldActivity extends SDKController {
42997
43173
  /**
42998
43174
  * Retrieve all visitors currently in a world.
42999
43175
  *
43176
+ * @keywords get, fetch, retrieve, list, current, visitors, users, players
43177
+ *
43000
43178
  * @category Visitors
43001
43179
  *
43002
43180
  * @example
@@ -43020,6 +43198,8 @@ class WorldActivity extends SDKController {
43020
43198
  /**
43021
43199
  * Retrieve all visitors currently in a Landmark Zone.
43022
43200
  *
43201
+ * @keywords get, fetch, retrieve, list, zone, area, landmark, visitors, users
43202
+ *
43023
43203
  * @category Visitors
43024
43204
  *
43025
43205
  * @example
@@ -43049,6 +43229,8 @@ class WorldActivity extends SDKController {
43049
43229
  * Optionally refetch visitors, teleport or walk visitors to new location,
43050
43230
  * and scatter visitors by any number so that they don't all move to the exact same location.
43051
43231
  *
43232
+ * @keywords move, teleport, position, coordinate, visitors, users, relocate
43233
+ *
43052
43234
  * @category Visitors
43053
43235
  *
43054
43236
  * @example
@@ -43085,6 +43267,8 @@ class WorldActivity extends SDKController {
43085
43267
  /**
43086
43268
  * Teleport or walk a list of visitors currently in a world to various coordinates.
43087
43269
  *
43270
+ * @keywords move, teleport, position, coordinate, visitor, user, relocate
43271
+ *
43088
43272
  * @category Visitors
43089
43273
  *
43090
43274
  * @example
@@ -43152,9 +43336,19 @@ _WorldActivity_visitorsMap = new WeakMap();
43152
43336
  Do NOT instantiate factories in controllers. Do NOT invent methods.
43153
43337
  ============================================================================ */
43154
43338
  /**
43339
+ * Factory for creating Asset instances. Use this factory to create or upload assets in the Topia platform.
43340
+ *
43341
+ * @remarks
43342
+ * This factory should be instantiated once per application and reused across your codebase.
43343
+ *
43344
+ * @keywords asset, factory, create, upload, instantiate, topia
43345
+ *
43155
43346
  * @example
43156
43347
  * ```ts
43157
- * const Asset = new AssetFactory(myTopiaInstance);
43348
+ * // In your initialization file (e.g., utils/topiaInit.ts)
43349
+ * import { Topia, AssetFactory } from "@rtsdk/topia";
43350
+ * const topia = new Topia({ config });
43351
+ * export const Asset = new AssetFactory(topia);
43158
43352
  * ```
43159
43353
  */
43160
43354
  class AssetFactory extends SDKController {
@@ -43162,11 +43356,32 @@ class AssetFactory extends SDKController {
43162
43356
  super(topia);
43163
43357
  }
43164
43358
  /**
43165
- * Instantiate a new instance of Asset class.
43359
+ * Instantiate a new instance of Asset class with the specified asset ID.
43360
+ *
43361
+ * @remarks
43362
+ * This method creates a new Asset controller instance that can be used to interact with an existing asset.
43363
+ * It does not create a new asset in the database.
43364
+ *
43365
+ * @keywords create, instantiate, asset, initialize, get, instance
43166
43366
  *
43167
43367
  * @example
43168
- * ```
43169
- * const assetInstance = await Asset.create(id, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
43368
+ * ```ts
43369
+ * // Import the pre-initialized factory from your app's initialization file
43370
+ * import { Asset } from "utils/topiaInit.ts";
43371
+ *
43372
+ * // Create an Asset instance with credentials
43373
+ * const assetInstance = await Asset.create(assetId, {
43374
+ * credentials: {
43375
+ * interactiveNonce,
43376
+ * interactivePublicKey,
43377
+ * assetId,
43378
+ * urlSlug,
43379
+ * visitorId
43380
+ * }
43381
+ * });
43382
+ *
43383
+ * // Use the instance to interact with the asset
43384
+ * await assetInstance.fetchAssetById();
43170
43385
  * ```
43171
43386
  *
43172
43387
  * @returns {Asset} Returns a new Asset object with the asset id.
@@ -43175,22 +43390,37 @@ class AssetFactory extends SDKController {
43175
43390
  return new Asset(this.topia, id, options);
43176
43391
  }
43177
43392
  /**
43178
- * Upload a new Asset and return a new instance of Asset class.
43393
+ * Upload a new Asset to the Topia platform and return a new instance of Asset class.
43394
+ *
43395
+ * @remarks
43396
+ * This method both creates a new asset in the database and returns an Asset controller instance.
43397
+ * A valid API key with appropriate permissions is required.
43398
+ *
43399
+ * @keywords upload, create, new, asset, add, store
43179
43400
  *
43180
43401
  * @example
43181
- * ```
43402
+ * ```ts
43403
+ * // Import the pre-initialized factory from your app's initialization file
43404
+ * import { Asset } from "utils/topiaInit.ts";
43405
+ *
43406
+ * // Prepare the asset payload
43182
43407
  * const assetPayload = {
43183
- * assetName: "exampleAssetName"
43184
- * bottomLayerURL: "https://example.bottomLayerURL"
43408
+ * assetName: "My Decorative Asset",
43409
+ * bottomLayerURL: "https://example.com/bottom-layer.png",
43185
43410
  * creatorTags: { "decorations": true },
43186
43411
  * tagJson: "[{"label":"decorations","value":"decorations"}]",
43187
43412
  * isPublic: true,
43188
- * topLayerURL: "https://example.topLayerURL"
43189
- * }
43413
+ * topLayerURL: "https://example.com/top-layer.png"
43414
+ * };
43415
+ *
43416
+ * // Upload the asset using your API key
43190
43417
  * const asset = await Asset.upload(assetPayload, apiKey);
43418
+ *
43419
+ * // Access the new asset's properties
43420
+ * console.log(asset.id);
43191
43421
  * ```
43192
43422
  *
43193
- * @returns {AssetType} Returns a new Asset object with the asset details.
43423
+ * @returns {Asset} Returns a new Asset object with the asset details.
43194
43424
  */
43195
43425
  upload(assetPayload, apiKey) {
43196
43426
  return __awaiter(this, void 0, void 0, function* () {
@@ -43240,9 +43470,19 @@ class AssetFactory extends SDKController {
43240
43470
  Do NOT instantiate factories in controllers. Do NOT invent methods.
43241
43471
  ============================================================================ */
43242
43472
  /**
43473
+ * Factory for creating and retrieving DroppedAsset instances. Use this factory to work with assets that have been placed in a Topia world.
43474
+ *
43475
+ * @remarks
43476
+ * This factory should be instantiated once per application and reused across your codebase.
43477
+ *
43478
+ * @keywords dropped asset, factory, create, get, retrieve, instantiate, topia
43479
+ *
43243
43480
  * @example
43244
43481
  * ```ts
43245
- * const DroppedAsset = new DroppedAssetFactory(myTopiaInstance);
43482
+ * // In your initialization file (e.g., utils/topiaInit.ts)
43483
+ * import { Topia, DroppedAssetFactory } from "@rtsdk/topia";
43484
+ * const topia = new Topia({ config });
43485
+ * export const DroppedAsset = new DroppedAssetFactory(topia);
43246
43486
  * ```
43247
43487
  */
43248
43488
  class DroppedAssetFactory extends SDKController {
@@ -43250,27 +43490,77 @@ class DroppedAssetFactory extends SDKController {
43250
43490
  super(topia);
43251
43491
  }
43252
43492
  /**
43253
- * Instantiate a new instance of DroppedAsset class.
43493
+ * Instantiate a new instance of DroppedAsset class for an existing dropped asset in a world.
43494
+ *
43495
+ * @remarks
43496
+ * This method creates a controller instance for an existing dropped asset but does not fetch its properties.
43497
+ * Use this when you need a lightweight instance and will fetch properties separately if needed or when you already have the properties.
43498
+ *
43499
+ * @keywords create, instantiate, dropped asset, initialize, instance
43254
43500
  *
43255
43501
  * @example
43256
- * ```
43257
- * const droppedAssetInstance = await DroppedAsset.create(assetId, urlSlug, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
43502
+ * ```ts
43503
+ * // Import the pre-initialized factory from your app's initialization file
43504
+ * import { DroppedAsset } from "utils/topiaInit.ts";
43505
+ *
43506
+ * // Create a DroppedAsset instance with credentials
43507
+ * const droppedAssetInstance = DroppedAsset.create(
43508
+ * assetId,
43509
+ * urlSlug,
43510
+ * {
43511
+ * credentials: {
43512
+ * interactiveNonce,
43513
+ * interactivePublicKey,
43514
+ * assetId,
43515
+ * urlSlug,
43516
+ * visitorId
43517
+ * }
43518
+ * }
43519
+ * );
43520
+ *
43521
+ * // Later fetch its properties if needed
43522
+ * await droppedAssetInstance.fetchDroppedAssetById();
43258
43523
  * ```
43259
43524
  *
43260
- * @returns {DroppedAsset} Returns a new DroppedAsset object.
43525
+ * @returns {DroppedAsset} Returns a new DroppedAsset object without fetching its properties.
43261
43526
  */
43262
43527
  create(id, urlSlug, options) {
43263
43528
  return new DroppedAsset(this.topia, id, urlSlug, options);
43264
43529
  }
43265
43530
  /**
43266
- * Instantiate a new instance of DroppedAsset class and retrieve all properties.
43531
+ * Instantiate a new instance of DroppedAsset class and automatically fetch all its properties.
43532
+ *
43533
+ * @remarks
43534
+ * This method creates a controller instance and immediately fetches all properties of the dropped asset.
43535
+ * It's a convenience method that combines creating an instance and calling fetchDroppedAssetById().
43536
+ *
43537
+ * @keywords get, fetch, retrieve, dropped asset, load, instance
43267
43538
  *
43268
43539
  * @example
43269
- * ```
43270
- * const droppedAssetInstance = await DroppedAsset.get(assetId, urlSlug, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
43540
+ * ```ts
43541
+ * // Import the pre-initialized factory from your app's initialization file
43542
+ * import { DroppedAsset } from "utils/topiaInit.ts";
43543
+ *
43544
+ * // Get a fully populated DroppedAsset instance
43545
+ * const droppedAssetInstance = await DroppedAsset.get(
43546
+ * assetId,
43547
+ * urlSlug,
43548
+ * {
43549
+ * credentials: {
43550
+ * interactiveNonce,
43551
+ * interactivePublicKey,
43552
+ * assetId,
43553
+ * urlSlug,
43554
+ * visitorId
43555
+ * }
43556
+ * }
43557
+ * );
43558
+ *
43559
+ * // The properties are already loaded, so you can use them immediately
43560
+ * console.log(droppedAssetInstance.position);
43271
43561
  * ```
43272
43562
  *
43273
- * @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties.
43563
+ * @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties already fetched.
43274
43564
  */
43275
43565
  get(id, urlSlug, options) {
43276
43566
  return __awaiter(this, void 0, void 0, function* () {
@@ -43280,17 +43570,36 @@ class DroppedAssetFactory extends SDKController {
43280
43570
  });
43281
43571
  }
43282
43572
  /**
43283
- * Searches dropped assets within a world by a provide `uniqueName`. If a single match is found, a new instance of DroppedAsset class is returned all properties.
43573
+ * Searches for and retrieves a dropped asset by its unique name within a world.
43284
43574
  *
43285
43575
  * @remarks
43286
- * This method leverages the handleGetDroppedAssetByUniqueName endpoint in the Public API and assumes there is exactly one dropped asset with matching uniqueName for the given urlSlug.
43576
+ * This method leverages the handleGetDroppedAssetByUniqueName endpoint in the Public API and assumes there is exactly one dropped asset with the matching uniqueName for the given urlSlug.
43577
+ * Use this when you need to find a dropped asset by its uniqueName rather than its ID.
43578
+ *
43579
+ * @keywords find, search, unique name, retrieve, locate, lookup, dropped asset
43287
43580
  *
43288
43581
  * @example
43289
- * ```
43290
- * const droppedAssetInstance = await DroppedAsset.getWithUniqueName("exampleUniqueName", urlSlug, interactiveSecret, credentials);
43582
+ * ```ts
43583
+ * // Import the pre-initialized factory from your app's initialization file
43584
+ * import { DroppedAsset } from "utils/topiaInit.ts";
43585
+ *
43586
+ * // Find and retrieve a dropped asset by its unique name
43587
+ * const droppedAssetInstance = await DroppedAsset.getWithUniqueName(
43588
+ * "banner-sign-northeast",
43589
+ * "my-world-slug",
43590
+ * "your-interactive-secret",
43591
+ * {
43592
+ * apiKey: "your-api-key",
43593
+ * interactivePublicKey: "your-public-key",
43594
+ * // other credentials...
43595
+ * }
43596
+ * );
43597
+ *
43598
+ * // The properties are already loaded, so you can use them immediately
43599
+ * console.log(droppedAssetInstance.position);
43291
43600
  * ```
43292
43601
  *
43293
- * @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties.
43602
+ * @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties already fetched.
43294
43603
  */
43295
43604
  getWithUniqueName(uniqueName, urlSlug, interactiveSecret, credentials) {
43296
43605
  return __awaiter(this, void 0, void 0, function* () {
@@ -43317,23 +43626,59 @@ class DroppedAssetFactory extends SDKController {
43317
43626
  /**
43318
43627
  * Drops an asset in a world and returns a new instance of DroppedAsset class with all properties.
43319
43628
  *
43629
+ * @remarks
43630
+ * This method places an existing Asset into a world at specified coordinates, effectively "dropping" it into the environment.
43631
+ * You can customize various properties of the dropped asset during placement, such as scale, position, interactive settings, and visual layers.
43632
+ *
43633
+ * @keywords drop, place, add, create, position, asset, deploy
43634
+ *
43320
43635
  * @example
43321
- * ```
43322
- * const assetInstance = await Asset.create(id, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
43323
- * const droppedAssetInstance = await DroppedAsset.get(assetInstance, {
43324
- assetScale: 1.5,
43325
- flipped: true,
43326
- layer0: "",
43327
- layer1: "https://pathtoimage.png",
43328
- interactivePublicKey,
43329
- isInteractive: true,
43330
- position: { x: 0, y: 0 },
43331
- uniqueName: "exampleUniqueName",
43332
- urlSlug,
43333
- });
43636
+ * ```ts
43637
+ * // Import the pre-initialized factories from your app's initialization file
43638
+ * import { Asset, DroppedAsset } from "utils/topiaInit.ts";
43639
+ *
43640
+ * // First get an asset instance
43641
+ * const assetInstance = Asset.create("asset-id-123", {
43642
+ * credentials: {
43643
+ * interactiveNonce,
43644
+ * interactivePublicKey,
43645
+ * assetId,
43646
+ * urlSlug,
43647
+ * visitorId
43648
+ * }
43649
+ * });
43650
+ *
43651
+ * // Then drop (place) the asset in a world
43652
+ * const droppedAssetInstance = await DroppedAsset.drop(
43653
+ * assetInstance,
43654
+ * {
43655
+ * // Basic positioning and appearance
43656
+ * position: { x: 250, y: 350 },
43657
+ * assetScale: 1.5,
43658
+ * flipped: true,
43659
+ * uniqueName: "welcome-sign",
43660
+ * urlSlug: "my-world-slug",
43661
+ *
43662
+ * // For web images (optional)
43663
+ * layer0: "https://example.com/background.png",
43664
+ * layer1: "https://example.com/foreground.png",
43665
+ *
43666
+ * // For interactive assets (optional)
43667
+ * interactivePublicKey: "your-public-key",
43668
+ * isInteractive: true,
43669
+ *
43670
+ * // For clickable assets (optional)
43671
+ * clickType: "link",
43672
+ * clickableLink: "https://example.com",
43673
+ * clickableLinkTitle: "Visit Example"
43674
+ * }
43675
+ * );
43676
+ *
43677
+ * // The dropped asset is ready to use
43678
+ * console.log(droppedAssetInstance.id);
43334
43679
  * ```
43335
43680
  *
43336
- * @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties.
43681
+ * @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object representing the placed asset in the world.
43337
43682
  */
43338
43683
  drop(asset, { assetScale = 1, clickType, clickableDisplayTextDescription, clickableDisplayTextHeadline, clickableLink, clickableLinkTitle, flipped, interactivePublicKey, isInteractive, isForceLinkInIframe, isOpenLinkInDrawer, isTextTopLayer = false, layer0, layer1, position: { x, y }, sceneDropId, text, textColor, textFontFamily, textSize, textWeight, textWidth, uniqueName, urlSlug, yOrderAdjust, }) {
43339
43684
  return __awaiter(this, void 0, void 0, function* () {
@@ -43418,9 +43763,20 @@ class DroppedAssetFactory extends SDKController {
43418
43763
  Do NOT instantiate factories in controllers. Do NOT invent methods.
43419
43764
  ============================================================================ */
43420
43765
  /**
43766
+ * Factory for creating Ecosystem instances. Use this factory to work with ecosystem-wide data and operations.
43767
+ *
43768
+ * @remarks
43769
+ * This factory should be instantiated once per application and reused across your codebase.
43770
+ * The Ecosystem controller provides methods to interact with data shared across multiple worlds.
43771
+ *
43772
+ * @keywords ecosystem, factory, create, multi-world, global, shared data, platform
43773
+ *
43421
43774
  * @example
43422
43775
  * ```ts
43423
- * const Ecosystem = new EcosystemFactory(myTopiaInstance);
43776
+ * // In your initialization file (e.g., utils/topiaInit.ts)
43777
+ * import { Topia, EcosystemFactory } from "@rtsdk/topia";
43778
+ * const topia = new Topia({ config });
43779
+ * export const Ecosystem = new EcosystemFactory(topia);
43424
43780
  * ```
43425
43781
  */
43426
43782
  class EcosystemFactory {
@@ -43428,14 +43784,36 @@ class EcosystemFactory {
43428
43784
  this.topia = topia;
43429
43785
  }
43430
43786
  /**
43431
- * Instantiate a new instance of Ecosystem class.
43787
+ * Instantiate a new instance of Ecosystem class for interacting with ecosystem-wide data.
43788
+ *
43789
+ * @remarks
43790
+ * This method creates a controller instance for accessing and managing data that spans multiple worlds.
43791
+ * Use this for cross-world data sharing, global data objects, and ecosystem-wide operations.
43792
+ *
43793
+ * @keywords create, instantiate, ecosystem, initialize, global, shared data, platform
43432
43794
  *
43433
43795
  * @example
43434
- * ```
43435
- * const ecosystemInstance = await Ecosystem.create({ credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId }});
43796
+ * ```ts
43797
+ * // Import the pre-initialized factory from your app's initialization file
43798
+ * import { Ecosystem } from "utils/topiaInit.ts";
43799
+ *
43800
+ * // Create an Ecosystem instance with credentials
43801
+ * const ecosystemInstance = Ecosystem.create({
43802
+ * credentials: {
43803
+ * interactiveNonce,
43804
+ * interactivePublicKey,
43805
+ * assetId,
43806
+ * urlSlug,
43807
+ * visitorId
43808
+ * }
43809
+ * });
43810
+ *
43811
+ * // Work with ecosystem-wide data objects
43812
+ * await ecosystemInstance.fetchDataObject("global-leaderboard");
43813
+ * await ecosystemInstance.setDataObject("global-leaderboard", { scores: [...] });
43436
43814
  * ```
43437
43815
  *
43438
- * @returns {Ecosystem} Returns a new Ecosystem object.
43816
+ * @returns {Ecosystem} Returns a new Ecosystem object for interacting with ecosystem-wide data.
43439
43817
  */
43440
43818
  create(options) {
43441
43819
  return new Ecosystem(this.topia, options);
@@ -43472,9 +43850,20 @@ class EcosystemFactory {
43472
43850
  Do NOT instantiate factories in controllers. Do NOT invent methods.
43473
43851
  ============================================================================ */
43474
43852
  /**
43853
+ * Factory for creating Scene instances. Use this factory to work with scenes in the Topia platform.
43854
+ *
43855
+ * @remarks
43856
+ * This factory should be instantiated once per application and reused across your codebase.
43857
+ * Scenes represent the template or blueprint for a world's design and layout.
43858
+ *
43859
+ * @keywords scene, factory, create, template, blueprint, layout, design
43860
+ *
43475
43861
  * @example
43476
43862
  * ```ts
43477
- * const Scene = new SceneFactory(myTopiaInstance);
43863
+ * // In your initialization file (e.g., utils/topiaInit.ts)
43864
+ * import { Topia, SceneFactory } from "@rtsdk/topia";
43865
+ * const topia = new Topia({ config });
43866
+ * export const Scene = new SceneFactory(topia);
43478
43867
  * ```
43479
43868
  */
43480
43869
  class SceneFactory {
@@ -43483,14 +43872,38 @@ class SceneFactory {
43483
43872
  this.create;
43484
43873
  }
43485
43874
  /**
43486
- * Instantiate a new instance of Scene class.
43875
+ * Instantiate a new instance of Scene class for an existing scene in the platform.
43876
+ *
43877
+ * @remarks
43878
+ * This method creates a controller instance for working with a scene but does not fetch its properties.
43879
+ * Use this when you need to interact with a specific scene by its ID.
43880
+ *
43881
+ * @keywords create, instantiate, scene, initialize, instance, template
43487
43882
  *
43488
43883
  * @example
43489
- * ```
43490
- * const sceneInstance = await Scene.create(id, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
43884
+ * ```ts
43885
+ * // Import the pre-initialized factory from your app's initialization file
43886
+ * import { Scene } from "utils/topiaInit.ts";
43887
+ *
43888
+ * // Create a Scene instance with credentials
43889
+ * const sceneInstance = Scene.create(
43890
+ * "scene-id-123",
43891
+ * {
43892
+ * credentials: {
43893
+ * interactiveNonce,
43894
+ * interactivePublicKey,
43895
+ * assetId,
43896
+ * urlSlug,
43897
+ * visitorId
43898
+ * }
43899
+ * }
43900
+ * );
43901
+ *
43902
+ * // Fetch scene details if needed
43903
+ * await sceneInstance.fetchSceneById();
43491
43904
  * ```
43492
43905
  *
43493
- * @returns {Scene} Returns a new Scene object.
43906
+ * @returns {Scene} Returns a new Scene object for interacting with the specified scene.
43494
43907
  */
43495
43908
  create(id, options) {
43496
43909
  return new Scene(this.topia, id, options);
@@ -43545,9 +43958,20 @@ class SceneFactory {
43545
43958
  Do NOT instantiate factories in controllers. Do NOT invent methods.
43546
43959
  ============================================================================ */
43547
43960
  /**
43961
+ * Factory for creating User instances. Use this factory to work with user data in the Topia platform.
43962
+ *
43963
+ * @remarks
43964
+ * This factory should be instantiated once per application and reused across your codebase.
43965
+ * The User controller allows you to interact with user-specific information and operations.
43966
+ *
43967
+ * @keywords user, factory, create, account, profile, member, visitor
43968
+ *
43548
43969
  * @example
43549
43970
  * ```ts
43550
- * const User = new UserFactory(myTopiaInstance);
43971
+ * // In your initialization file (e.g., utils/topiaInit.ts)
43972
+ * import { Topia, UserFactory } from "@rtsdk/topia";
43973
+ * const topia = new Topia({ config });
43974
+ * export const User = new UserFactory(topia);
43551
43975
  * ```
43552
43976
  */
43553
43977
  class UserFactory {
@@ -43555,14 +43979,36 @@ class UserFactory {
43555
43979
  this.topia = topia;
43556
43980
  }
43557
43981
  /**
43558
- * Instantiate a new instance of User class.
43982
+ * Instantiate a new instance of User class for working with user data.
43983
+ *
43984
+ * @remarks
43985
+ * This method creates a controller instance for interacting with user-specific operations.
43986
+ * The User controller doesn't require an ID since it represents the currently authenticated user.
43987
+ *
43988
+ * @keywords create, instantiate, user, initialize, account, profile, member
43559
43989
  *
43560
43990
  * @example
43561
- * ```
43562
- * const userInstance = await User.create({ credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
43991
+ * ```ts
43992
+ * // Import the pre-initialized factory from your app's initialization file
43993
+ * import { User } from "utils/topiaInit.ts";
43994
+ *
43995
+ * // Create a User instance with credentials
43996
+ * const userInstance = User.create({
43997
+ * credentials: {
43998
+ * interactiveNonce,
43999
+ * interactivePublicKey,
44000
+ * assetId,
44001
+ * urlSlug,
44002
+ * visitorId
44003
+ * }
44004
+ * });
44005
+ *
44006
+ * // Use methods on the user instance
44007
+ * await userInstance.checkInteractiveCredentials();
44008
+ * const avatars = await userInstance.fetchAvatars();
43563
44009
  * ```
43564
44010
  *
43565
- * @returns {User} Returns a new User object.
44011
+ * @returns {User} Returns a new User object for interacting with user data.
43566
44012
  */
43567
44013
  create(options) {
43568
44014
  return new User(this.topia, options);
@@ -43600,9 +44046,20 @@ class UserFactory {
43600
44046
  Do NOT instantiate factories in controllers. Do NOT invent methods.
43601
44047
  ============================================================================ */
43602
44048
  /**
44049
+ * Factory for creating Visitor instances. Use this factory to work with visitors in Topia worlds.
44050
+ *
44051
+ * @remarks
44052
+ * This factory should be instantiated once per application and reused across your codebase.
44053
+ * The Visitor controller represents a specific visitor/avatar instance in a world.
44054
+ *
44055
+ * @keywords visitor, factory, create, get, avatar, user, participant
44056
+ *
43603
44057
  * @example
43604
44058
  * ```ts
43605
- * const Visitor = new VisitorFactory(myTopiaInstance);
44059
+ * // In your initialization file (e.g., utils/topiaInit.ts)
44060
+ * import { Topia, VisitorFactory } from "@rtsdk/topia";
44061
+ * const topia = new Topia({ config });
44062
+ * export const Visitor = new VisitorFactory(topia);
43606
44063
  * ```
43607
44064
  */
43608
44065
  class VisitorFactory {
@@ -43610,27 +44067,78 @@ class VisitorFactory {
43610
44067
  this.topia = topia;
43611
44068
  }
43612
44069
  /**
43613
- * Instantiate a new instance of Visitor class.
44070
+ * Instantiate a new instance of Visitor class for an existing visitor in a world.
44071
+ *
44072
+ * @remarks
44073
+ * This method creates a controller instance for a visitor but does not fetch its properties.
44074
+ * Use this when you need a lightweight instance and will fetch properties separately or when you already have the properties.
44075
+ *
44076
+ * @keywords create, instantiate, visitor, initialize, avatar, instance
43614
44077
  *
43615
44078
  * @example
43616
- * ```
43617
- * const visitorInstance = await Visitor.create(id, urlSlug, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
44079
+ * ```ts
44080
+ * // Import the pre-initialized factory from your app's initialization file
44081
+ * import { Visitor } from "utils/topiaInit.ts";
44082
+ *
44083
+ * // Create a Visitor instance with credentials
44084
+ * const visitorInstance = Visitor.create(
44085
+ * 12345, // visitor ID
44086
+ * "my-world-slug",
44087
+ * {
44088
+ * credentials: {
44089
+ * interactiveNonce,
44090
+ * interactivePublicKey,
44091
+ * assetId,
44092
+ * urlSlug,
44093
+ * visitorId
44094
+ * }
44095
+ * }
44096
+ * );
44097
+ *
44098
+ * // Later fetch visitor properties if needed
44099
+ * await visitorInstance.fetchVisitor();
43618
44100
  * ```
43619
44101
  *
43620
- * @returns {Visitor} Returns a new Visitor object.
44102
+ * @returns {Visitor} Returns a new Visitor object without fetching its properties.
43621
44103
  */
43622
44104
  create(id, urlSlug, options) {
43623
44105
  return new Visitor(this.topia, id, urlSlug, options);
43624
44106
  }
43625
44107
  /**
43626
- * Instantiate a new instance of Visitor class and retrieve all properties.
44108
+ * Instantiate a new instance of Visitor class and automatically fetch all its properties.
44109
+ *
44110
+ * @remarks
44111
+ * This method creates a controller instance and immediately fetches all properties of the visitor.
44112
+ * It's a convenience method that combines creating an instance and calling fetchVisitor().
44113
+ *
44114
+ * @keywords get, fetch, retrieve, visitor, load, avatar, instance
43627
44115
  *
43628
44116
  * @example
43629
- * ```
43630
- * const visitorInstance = await Visitor.get(id, urlSlug, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
44117
+ * ```ts
44118
+ * // Import the pre-initialized factory from your app's initialization file
44119
+ * import { Visitor } from "utils/topiaInit.ts";
44120
+ *
44121
+ * // Get a fully populated Visitor instance
44122
+ * const visitorInstance = await Visitor.get(
44123
+ * 12345, // visitor ID
44124
+ * "my-world-slug",
44125
+ * {
44126
+ * credentials: {
44127
+ * interactiveNonce,
44128
+ * interactivePublicKey,
44129
+ * assetId,
44130
+ * urlSlug,
44131
+ * visitorId
44132
+ * }
44133
+ * }
44134
+ * );
44135
+ *
44136
+ * // The properties are already loaded, so you can use them immediately
44137
+ * console.log(visitorInstance.username);
44138
+ * console.log(visitorInstance.position);
43631
44139
  * ```
43632
44140
  *
43633
- * @returns {Promise<Visitor>} Returns a new Visitor object with all properties.
44141
+ * @returns {Promise<Visitor>} Returns a new Visitor object with all properties already fetched.
43634
44142
  */
43635
44143
  get(id, urlSlug, options) {
43636
44144
  return __awaiter(this, void 0, void 0, function* () {
@@ -43642,9 +44150,20 @@ class VisitorFactory {
43642
44150
  }
43643
44151
 
43644
44152
  /**
44153
+ * Factory for creating WebRTCConnector instances. Use this factory to establish WebRTC connections for audio/video in Topia worlds.
44154
+ *
44155
+ * @remarks
44156
+ * This factory should be instantiated once per application and reused across your codebase.
44157
+ * The WebRTCConnector provides methods to set up and manage real-time audio/video communication.
44158
+ *
44159
+ * @keywords webrtc, factory, create, audio, video, communication, real-time, conference
44160
+ *
43645
44161
  * @example
43646
44162
  * ```ts
43647
- * const WebRTCConnector = new WebRTCConnectorFactory(myTopiaInstance);
44163
+ * // In your initialization file (e.g., utils/topiaInit.ts)
44164
+ * import { Topia, WebRTCConnectorFactory } from "@rtsdk/topia";
44165
+ * const topia = new Topia({ config });
44166
+ * export const WebRTCConnector = new WebRTCConnectorFactory(topia);
43648
44167
  * ```
43649
44168
  */
43650
44169
  class WebRTCConnectorFactory {
@@ -43652,14 +44171,41 @@ class WebRTCConnectorFactory {
43652
44171
  this.topia = topia;
43653
44172
  }
43654
44173
  /**
43655
- * Instantiate a new instance of WebRTCConnector class.
44174
+ * Instantiate a new instance of WebRTCConnector class for managing audio/video communication.
44175
+ *
44176
+ * @remarks
44177
+ * This method creates a controller instance for establishing and managing WebRTC connections.
44178
+ * Use this for implementing real-time audio/video communication features in Topia worlds.
44179
+ *
44180
+ * @keywords create, instantiate, webrtc, initialize, audio, video, communication, stream
43656
44181
  *
43657
44182
  * @example
43658
- * ```
43659
- * const webRTCInstance = await WebRTCConnector.create({ credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId }, twilioConfig: {} });
44183
+ * ```ts
44184
+ * // Import the pre-initialized factory from your app's initialization file
44185
+ * import { WebRTCConnector } from "utils/topiaInit.ts";
44186
+ *
44187
+ * // Create a WebRTCConnector instance with credentials and configuration
44188
+ * const webRTCInstance = WebRTCConnector.create(
44189
+ * "my-world-slug",
44190
+ * {
44191
+ * credentials: {
44192
+ * interactiveNonce,
44193
+ * interactivePublicKey,
44194
+ * assetId,
44195
+ * urlSlug,
44196
+ * visitorId
44197
+ * },
44198
+ * twilioConfig: {
44199
+ * // Twilio configuration options
44200
+ * }
44201
+ * }
44202
+ * );
44203
+ *
44204
+ * // Use the instance to establish connections
44205
+ * await webRTCInstance.connect();
43660
44206
  * ```
43661
44207
  *
43662
- * @returns {WebRTCConnector} Returns a new WebRTCConnector object.
44208
+ * @returns {WebRTCConnector} Returns a new WebRTCConnector object for managing audio/video communication.
43663
44209
  */
43664
44210
  create(urlSlug, options) {
43665
44211
  return new WebRTCConnector(this.topia, urlSlug, options);
@@ -43697,9 +44243,20 @@ class WebRTCConnectorFactory {
43697
44243
  Do NOT instantiate factories in controllers. Do NOT invent methods.
43698
44244
  ============================================================================ */
43699
44245
  /**
44246
+ * Factory for creating WorldActivity instances. Use this factory to monitor and manage visitor activity in Topia worlds.
44247
+ *
44248
+ * @remarks
44249
+ * This factory should be instantiated once per application and reused across your codebase.
44250
+ * The WorldActivity controller provides methods to interact with real-time visitor activities and movements.
44251
+ *
44252
+ * @keywords world activity, factory, create, visitors, movement, tracking, presence, real-time
44253
+ *
43700
44254
  * @example
43701
44255
  * ```ts
43702
- * const WorldActivity = new WorldActivityFactory(myTopiaInstance);
44256
+ * // In your initialization file (e.g., utils/topiaInit.ts)
44257
+ * import { Topia, WorldActivityFactory } from "@rtsdk/topia";
44258
+ * const topia = new Topia({ config });
44259
+ * export const WorldActivity = new WorldActivityFactory(topia);
43703
44260
  * ```
43704
44261
  */
43705
44262
  class WorldActivityFactory {
@@ -43707,14 +44264,42 @@ class WorldActivityFactory {
43707
44264
  this.topia = topia;
43708
44265
  }
43709
44266
  /**
43710
- * Instantiate a new instance of WorldActivity class.
44267
+ * Instantiate a new instance of WorldActivity class for monitoring visitor activity in a specific world.
44268
+ *
44269
+ * @remarks
44270
+ * This method creates a controller instance for tracking and managing visitor activity in a world.
44271
+ * Use this to fetch current visitors, move visitors, or monitor specific zones within a world.
44272
+ *
44273
+ * @keywords create, instantiate, world activity, initialize, visitors, tracking, presence
43711
44274
  *
43712
44275
  * @example
43713
- * ```
43714
- * const worldActivityInstance = await WorldActivity.create(urlSlug, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
44276
+ * ```ts
44277
+ * // Import the pre-initialized factory from your app's initialization file
44278
+ * import { WorldActivity } from "utils/topiaInit.ts";
44279
+ *
44280
+ * // Create a WorldActivity instance with credentials
44281
+ * const worldActivityInstance = WorldActivity.create(
44282
+ * "my-world-slug",
44283
+ * {
44284
+ * credentials: {
44285
+ * interactiveNonce,
44286
+ * interactivePublicKey,
44287
+ * assetId,
44288
+ * urlSlug,
44289
+ * visitorId
44290
+ * }
44291
+ * }
44292
+ * );
44293
+ *
44294
+ * // Get current visitors in the world
44295
+ * const visitors = await worldActivityInstance.currentVisitors();
44296
+ * console.log(`There are ${visitors.length} visitors in the world`);
44297
+ *
44298
+ * // Check visitors in a specific zone
44299
+ * const zoneVisitors = await worldActivityInstance.fetchVisitorsInZone("stage-area");
43715
44300
  * ```
43716
44301
  *
43717
- * @returns {WorldActivity} Returns a new WorldActivity object.
44302
+ * @returns {WorldActivity} Returns a new WorldActivity object for tracking and managing visitor activity.
43718
44303
  */
43719
44304
  create(urlSlug, options) {
43720
44305
  return new WorldActivity(this.topia, urlSlug, options);
@@ -43752,9 +44337,20 @@ class WorldActivityFactory {
43752
44337
  Do NOT instantiate factories in controllers. Do NOT invent methods.
43753
44338
  ============================================================================ */
43754
44339
  /**
44340
+ * Factory for creating World instances. Use this factory to interact with Topia worlds.
44341
+ *
44342
+ * @remarks
44343
+ * This factory should be instantiated once per application and reused across your codebase.
44344
+ * The World controller provides methods to manage world settings, retrieve world details, and perform world-level operations.
44345
+ *
44346
+ * @keywords world, factory, create, virtual space, environment, room, topia
44347
+ *
43755
44348
  * @example
43756
44349
  * ```ts
43757
- * const World = new WorldFactory(myTopiaInstance);
44350
+ * // In your initialization file (e.g., utils/topiaInit.ts)
44351
+ * import { Topia, WorldFactory } from "@rtsdk/topia";
44352
+ * const topia = new Topia({ config });
44353
+ * export const World = new WorldFactory(topia);
43758
44354
  * ```
43759
44355
  */
43760
44356
  class WorldFactory extends SDKController {
@@ -43762,27 +44358,75 @@ class WorldFactory extends SDKController {
43762
44358
  super(topia);
43763
44359
  }
43764
44360
  /**
43765
- * Instantiate a new instance of World class.
44361
+ * Instantiate a new instance of World class for interacting with a specific Topia world.
44362
+ *
44363
+ * @remarks
44364
+ * This method creates a controller instance for a world identified by its URL slug.
44365
+ * The world controller can be used to fetch details, update world settings, and perform other world-level operations.
44366
+ *
44367
+ * @keywords create, instantiate, world, initialize, virtual space, environment, room
43766
44368
  *
43767
44369
  * @example
43768
- * ```
43769
- * const worldInstance = await World.create(urlSlug, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
44370
+ * ```ts
44371
+ * // Import the pre-initialized factory from your app's initialization file
44372
+ * import { World } from "utils/topiaInit.ts";
44373
+ *
44374
+ * // Create a World instance with credentials
44375
+ * const worldInstance = World.create(
44376
+ * "my-world-slug",
44377
+ * {
44378
+ * credentials: {
44379
+ * interactiveNonce,
44380
+ * interactivePublicKey,
44381
+ * assetId,
44382
+ * urlSlug,
44383
+ * visitorId
44384
+ * }
44385
+ * }
44386
+ * );
44387
+ *
44388
+ * // Fetch world details
44389
+ * await worldInstance.fetchDetails();
44390
+ * console.log(worldInstance.name);
43770
44391
  * ```
43771
44392
  *
43772
- * @returns {World} Returns a new World object.
44393
+ * @returns {World} Returns a new World object for interacting with the specified world.
43773
44394
  */
43774
44395
  create(urlSlug, options) {
43775
44396
  return new World(this.topia, urlSlug, options);
43776
44397
  }
43777
44398
  /**
43778
- * Deletes an array of Dropped Assets from within a world and returns success: true
44399
+ * Deletes multiple dropped assets from a world in a single operation.
44400
+ *
44401
+ * @remarks
44402
+ * This method provides a convenient way to delete multiple dropped assets at once rather than
44403
+ * deleting them one by one. Requires appropriate permissions via interactive credentials.
44404
+ *
44405
+ * @keywords delete, remove, dropped assets, multiple, batch, cleanup, world
43779
44406
  *
43780
44407
  * @example
43781
- * ```
43782
- * await World.deleteDroppedAssets(urlSlug, ["exampleDroppedAssetId1", "exampleDroppedAssetId2"], interactiveSecret, credentials);
44408
+ * ```ts
44409
+ * // Import the pre-initialized factory from your app's initialization file
44410
+ * import { World } from "utils/topiaInit.ts";
44411
+ *
44412
+ * // Delete multiple dropped assets from a world
44413
+ * const result = await World.deleteDroppedAssets(
44414
+ * "my-world-slug",
44415
+ * ["asset-id-123", "asset-id-456", "asset-id-789"],
44416
+ * "your-interactive-secret",
44417
+ * {
44418
+ * apiKey: "your-api-key",
44419
+ * interactivePublicKey: "your-public-key",
44420
+ * visitorId: 12345
44421
+ * }
44422
+ * );
44423
+ *
44424
+ * if (result.success) {
44425
+ * console.log("Assets successfully deleted");
44426
+ * }
43783
44427
  * ```
43784
44428
  *
43785
- * @returns {Promise<{ success: boolean }>} Returns `{ success: true }` or an error.
44429
+ * @returns {Promise<{ success: boolean }>} Returns `{ success: true }` if all assets were deleted successfully.
43786
44430
  */
43787
44431
  deleteDroppedAssets(urlSlug, droppedAssetIds, interactiveSecret, credentials) {
43788
44432
  return __awaiter(this, void 0, void 0, function* () {