@casual-simulation/aux-runtime 3.2.7 → 3.2.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.
@@ -310,10 +310,10 @@ export function createDefaultLibrary(context) {
310
310
  * @example Open the sheetPortal to "testDimension".
311
311
  * configBot.tags.sheetPortal = "testDimension";
312
312
  *
313
- * @dochash actions/os
314
- * @doctitle OS Actions
315
- * @docsidebar OS
316
- * @docdescription OS actions are used to interact with the player's current session.
313
+ * @dochash actions/os/system
314
+ * @doctitle System Actions
315
+ * @docsidebar System
316
+ * @docdescription System actions are used to get information about the current session.
317
317
  * @docname configBot
318
318
  * @docgroup 01-os
319
319
  */
@@ -389,7 +389,7 @@ export function createDefaultLibrary(context) {
389
389
  * @example Toast the number of miliseconds since the Unix Epoch
390
390
  * os.toast(os.localTime);
391
391
  *
392
- * @dochash actions/time
392
+ * @dochash actions/os/time
393
393
  * @doctitle Time Actions
394
394
  * @docsidebar Time
395
395
  * @docdescription Time actions make working with time across devices easy.
@@ -408,7 +408,7 @@ export function createDefaultLibrary(context) {
408
408
  * @example Toast the current shared time
409
409
  * os.toast(os.agreedUponTime);
410
410
  *
411
- * @dochash actions/time
411
+ * @dochash actions/os/time
412
412
  * @docgroup 01-time
413
413
  * @docname os.agreedUponTime
414
414
  */
@@ -420,7 +420,7 @@ export function createDefaultLibrary(context) {
420
420
  *
421
421
  * If an agreed upon time cannot be determined (for example, because collaboration is disabled in the inst), then this value will always be `NaN`.
422
422
  *
423
- * @dochash actions/time
423
+ * @dochash actions/os/time
424
424
  * @docgroup 01-time
425
425
  * @docname os.instLatency
426
426
  */
@@ -432,7 +432,7 @@ export function createDefaultLibrary(context) {
432
432
  *
433
433
  * If an agreed upon time cannot be determined (for example, because collaboration is disabled in the inst), then this value will always be `NaN`.
434
434
  *
435
- * @dochash actions/time
435
+ * @dochash actions/os/time
436
436
  * @docgroup 01-time
437
437
  * @docname os.instTimeOffset
438
438
  */
@@ -444,7 +444,7 @@ export function createDefaultLibrary(context) {
444
444
  *
445
445
  * If an agreed upon time cannot be determined (for example, because collaboration is disabled in the inst), then this value will always be `NaN`.
446
446
  *
447
- * @dochash actions/time
447
+ * @dochash actions/os/time
448
448
  * @docgroup 01-time
449
449
  * @docname os.instTimeOffsetSpread
450
450
  */
@@ -457,7 +457,7 @@ export function createDefaultLibrary(context) {
457
457
  *
458
458
  * If an agreed upon time cannot be determined (for example, because collaboration is disabled in the inst), then this value will always be `NaN`.
459
459
  *
460
- * @dochash actions/time
460
+ * @dochash actions/os/time
461
461
  * @docgroup 01-time
462
462
  * @docname os.deadReckoningTime
463
463
  */
@@ -1920,7 +1920,10 @@ export function createDefaultLibrary(context) {
1920
1920
  * @example Show the player a code for 5 seconds.
1921
1921
  * os.toast("this is the code", 5);
1922
1922
  *
1923
- * @dochash actions/os
1923
+ * @dochash actions/os/portals
1924
+ * @doctitle Portal Actions
1925
+ * @docsidebar Portals
1926
+ * @docdescription Portal actions are functions that make it easier to work with the player's portals.
1924
1927
  * @docname os.toast
1925
1928
  */
1926
1929
  function toast(message, duration = 2) {
@@ -1951,7 +1954,7 @@ export function createDefaultLibrary(context) {
1951
1954
  * @example Show a tip and record its ID in a tag mask.
1952
1955
  * masks.tipID = await os.tip("Hello!");
1953
1956
  *
1954
- * @dochash actions/portals
1957
+ * @dochash actions/os/portals
1955
1958
  * @docname os.tip
1956
1959
  * @docgroup 10-tip
1957
1960
  */
@@ -1971,7 +1974,7 @@ export function createDefaultLibrary(context) {
1971
1974
  * await os.sleep(1000);
1972
1975
  * await os.hideTips(id);
1973
1976
  *
1974
- * @dochash actions/portals
1977
+ * @dochash actions/os/portals
1975
1978
  * @docname os.hideTips
1976
1979
  * @docgroup 10-tip
1977
1980
  */
@@ -1998,7 +2001,7 @@ export function createDefaultLibrary(context) {
1998
2001
  * @example Show a join QR Code for a inst and dimension.
1999
2002
  * os.showJoinCode("inst", "dimension");
2000
2003
  *
2001
- * @dochash actions/barcodes
2004
+ * @dochash actions/os/barcodes
2002
2005
  * @docname os.showJoinCode
2003
2006
  * @docgroup 10-qr-code
2004
2007
  */
@@ -2013,7 +2016,7 @@ export function createDefaultLibrary(context) {
2013
2016
  * @example Enter fullscreen mode.
2014
2017
  * os.requestFullscreenMode();
2015
2018
  *
2016
- * @dochash actions/portals
2019
+ * @dochash actions/os/portals
2017
2020
  * @docname os.requestFullscreenMode
2018
2021
  * @docgroup 10-fullscreen
2019
2022
  */
@@ -2026,7 +2029,7 @@ export function createDefaultLibrary(context) {
2026
2029
  * @example Exit fullscreen mode.
2027
2030
  * os.exitFullscreenMode();
2028
2031
  *
2029
- * @dochash actions/portals
2032
+ * @dochash actions/os/portals
2030
2033
  * @docname os.exitFullscreenMode
2031
2034
  * @docgroup 10-fullscreen
2032
2035
  */
@@ -2055,7 +2058,7 @@ export function createDefaultLibrary(context) {
2055
2058
  * </iframe>
2056
2059
  * `);
2057
2060
  *
2058
- * @dochash actions/os
2061
+ * @dochash actions/os/portals
2059
2062
  * @docname os.showHtml
2060
2063
  * @docgroup 10-html
2061
2064
  */
@@ -2068,7 +2071,7 @@ export function createDefaultLibrary(context) {
2068
2071
  * @example Hide the HTML popup.
2069
2072
  * os.hideHtml();
2070
2073
  *
2071
- * @dochash actions/os
2074
+ * @dochash actions/os/portals
2072
2075
  * @docname os.hideHtml
2073
2076
  * @docgroup 10-html
2074
2077
  */
@@ -2084,7 +2087,10 @@ export function createDefaultLibrary(context) {
2084
2087
  * @example Copy "hello" to the player's clipboard.
2085
2088
  * os.setClipboard("hello");
2086
2089
  *
2087
- * @dochash actions/os
2090
+ * @dochash actions/os/clipboard
2091
+ * @doctitle Clipboard Actions
2092
+ * @docsidebar Clipboard
2093
+ * @docdescription Clipboard actions are functions that make it easier to work with the player's clipboard.
2088
2094
  * @docname os.setClipboard
2089
2095
  */
2090
2096
  function setClipboard(text) {
@@ -2180,7 +2186,7 @@ export function createDefaultLibrary(context) {
2180
2186
  * portal: 'tag'
2181
2187
  * });
2182
2188
  *
2183
- * @dochash actions/portals
2189
+ * @dochash actions/os/portals
2184
2190
  * @docname os.focusOn
2185
2191
  * @docid os.focusOn-bot
2186
2192
  */
@@ -2210,7 +2216,7 @@ export function createDefaultLibrary(context) {
2210
2216
  * zoom: 10000
2211
2217
  * });
2212
2218
  *
2213
- * @dochash actions/portals
2219
+ * @dochash actions/os/portals
2214
2220
  * @docname os.focusOn
2215
2221
  * @docid os.focusOn-position
2216
2222
  */
@@ -2247,7 +2253,10 @@ export function createDefaultLibrary(context) {
2247
2253
  * @example Show the chat bar with some placeholder text.
2248
2254
  * os.showChat("hello");
2249
2255
  *
2250
- * @dochash actions/os
2256
+ * @dochash actions/os/input
2257
+ * @doctitle Input Actions
2258
+ * @docsidebar Input
2259
+ * @docdescription Input actions are functions that make it easier accept input from the user.
2251
2260
  * @docname os.showChat
2252
2261
  * @docid showChat-placeholder
2253
2262
  * @docgroup 10-chat
@@ -2293,7 +2302,7 @@ export function createDefaultLibrary(context) {
2293
2302
  * foregroundColor: '#531234'
2294
2303
  * });
2295
2304
  *
2296
- * @dochash actions/os
2305
+ * @dochash actions/os/input
2297
2306
  * @docname os.showChat
2298
2307
  * @docid showChat-options
2299
2308
  * @docgroup 10-chat
@@ -2325,7 +2334,7 @@ export function createDefaultLibrary(context) {
2325
2334
  * @example Hide the chat bar.
2326
2335
  * os.hideChat();
2327
2336
  *
2328
- * @dochash actions/os
2337
+ * @dochash actions/os/input
2329
2338
  * @docname os.hideChat
2330
2339
  * @docgroup 10-chat
2331
2340
  */
@@ -2351,7 +2360,7 @@ export function createDefaultLibrary(context) {
2351
2360
  * const result = await os.run("return 594 + 391");
2352
2361
  * os.toast(result);
2353
2362
  *
2354
- * @dochash actions/os
2363
+ * @dochash actions/os/system
2355
2364
  * @docname os.run
2356
2365
  */
2357
2366
  function run(script) {
@@ -2371,7 +2380,7 @@ export function createDefaultLibrary(context) {
2371
2380
  * const isPlayer = info.playerMode === "player";
2372
2381
  * os.toast('Is Player: ' + isPlayer);
2373
2382
  *
2374
- * @dochash actions/os
2383
+ * @dochash actions/os/system
2375
2384
  * @docname os.version
2376
2385
  * @docgroup 10-os-info
2377
2386
  */
@@ -2385,7 +2394,7 @@ export function createDefaultLibrary(context) {
2385
2394
  * const info = os.device();
2386
2395
  * os.toast(info);
2387
2396
  *
2388
- * @dochash actions/os
2397
+ * @dochash actions/os/system
2389
2398
  * @docname os.device
2390
2399
  * @docgroup 10-os-info
2391
2400
  */
@@ -2411,7 +2420,10 @@ export function createDefaultLibrary(context) {
2411
2420
  * const isCollaborative = os.isCollaborative();
2412
2421
  * os.toast(isCollaborative ? "We are collaborative!" : "We are not collaborative!");
2413
2422
  *
2414
- * @dochash actions/os
2423
+ * @dochash actions/os/spaces
2424
+ * @doctitle Space Actions
2425
+ * @docsidebar Spaces
2426
+ * @docdescription Space actions are functions that make it easier to work with the spaces in CasualOS.
2415
2427
  * @docname os.isCollaborative
2416
2428
  * @docgroup 10-os-info
2417
2429
  */
@@ -2427,7 +2439,7 @@ export function createDefaultLibrary(context) {
2427
2439
  * @example Enable collaboration on this device.
2428
2440
  * await os.enableCollaboration();
2429
2441
  *
2430
- * @dochash actions/os
2442
+ * @dochash actions/os/spaces
2431
2443
  * @docname os.enableCollaboration
2432
2444
  * @docgroup 10-os-info
2433
2445
  */
@@ -2469,7 +2481,7 @@ export function createDefaultLibrary(context) {
2469
2481
  * frameBufferScaleFactor: 0.5
2470
2482
  * });
2471
2483
  *
2472
- * @dochash actions/xr
2484
+ * @dochash actions/os/xr
2473
2485
  * @docname os.enableAR
2474
2486
  * @docgroup 11-ar
2475
2487
  */
@@ -2484,7 +2496,7 @@ export function createDefaultLibrary(context) {
2484
2496
  * @example Disable AR.
2485
2497
  * os.disableAR();
2486
2498
  *
2487
- * @dochash actions/xr
2499
+ * @dochash actions/os/xr
2488
2500
  * @docname os.disableAR
2489
2501
  * @docgroup 11-ar
2490
2502
  */
@@ -2499,7 +2511,7 @@ export function createDefaultLibrary(context) {
2499
2511
  * @example Check if AR is supported:
2500
2512
  * const supported = await os.arSupported();
2501
2513
  *
2502
- * @dochash actions/xr
2514
+ * @dochash actions/os/xr
2503
2515
  * @doctitle XR Actions
2504
2516
  * @docsidebar XR
2505
2517
  * @docdescription Actions for enabling and disabling XR (AR & VR) features.
@@ -2527,7 +2539,7 @@ export function createDefaultLibrary(context) {
2527
2539
  * frameBufferScaleFactor: 0.5
2528
2540
  * });
2529
2541
  *
2530
- * @dochash actions/xr
2542
+ * @dochash actions/os/xr
2531
2543
  * @docname os.enableVR
2532
2544
  * @docgroup 11-vr
2533
2545
  */
@@ -2542,7 +2554,7 @@ export function createDefaultLibrary(context) {
2542
2554
  * @example Disable VR.
2543
2555
  * os.disableVR();
2544
2556
  *
2545
- * @dochash actions/xr
2557
+ * @dochash actions/os/xr
2546
2558
  * @docname os.disableVR
2547
2559
  * @docgroup 11-vr
2548
2560
  */
@@ -2557,7 +2569,7 @@ export function createDefaultLibrary(context) {
2557
2569
  * @example Check if VR is supported:
2558
2570
  * const supported = await os.vrSupported();
2559
2571
  *
2560
- * @dochash actions/xr
2572
+ * @dochash actions/os/xr
2561
2573
  * @docname os.vrSupported
2562
2574
  * @docgroup 11-vr
2563
2575
  */
@@ -2589,7 +2601,7 @@ export function createDefaultLibrary(context) {
2589
2601
  * @example Enable POV mode with the IMU.
2590
2602
  * os.enablePointOfView(undefined, true);
2591
2603
  *
2592
- * @dochash actions/portals
2604
+ * @dochash actions/os/portals
2593
2605
  * @docname os.enablePointOfView
2594
2606
  * @docgroup 10-pov
2595
2607
  */
@@ -2602,7 +2614,7 @@ export function createDefaultLibrary(context) {
2602
2614
  * @example Disable POV mode.
2603
2615
  * os.disablePointOfView();
2604
2616
  *
2605
- * @dochash actions/portals
2617
+ * @dochash actions/os/portals
2606
2618
  * @docname os.disablePointOfView
2607
2619
  * @docgroup 10-pov
2608
2620
  */
@@ -2619,7 +2631,7 @@ export function createDefaultLibrary(context) {
2619
2631
  * @example Request a wake lock from the user.
2620
2632
  * await os.requestWakeLock();
2621
2633
  *
2622
- * @dochash actions/os
2634
+ * @dochash actions/os/portals
2623
2635
  * @docname os.requestWakeLock
2624
2636
  * @docgroup 10-wake-lock
2625
2637
  */
@@ -2634,7 +2646,7 @@ export function createDefaultLibrary(context) {
2634
2646
  * @example Disable the wake lock
2635
2647
  * await os.disableWakeLock();
2636
2648
  *
2637
- * @dochash actions/os
2649
+ * @dochash actions/os/portals
2638
2650
  * @docname os.disableWakeLock
2639
2651
  * @docgroup 10-wake-lock
2640
2652
  */
@@ -2655,7 +2667,7 @@ export function createDefaultLibrary(context) {
2655
2667
  * os.toast('Wake lock is disabled.');
2656
2668
  * }
2657
2669
  *
2658
- * @dochash actions/os
2670
+ * @dochash actions/os/portals
2659
2671
  * @docname os.getWakeLockConfiguration
2660
2672
  * @docgroup 10-wake-lock
2661
2673
  */
@@ -2674,7 +2686,7 @@ export function createDefaultLibrary(context) {
2674
2686
  * @example Download a text file named "test.txt" that contains "abc".
2675
2687
  * os.download("abc", "test.txt");
2676
2688
  *
2677
- * @dochash actions/files
2689
+ * @dochash actions/os/files
2678
2690
  * @doctitle File Actions
2679
2691
  * @docsidebar Files
2680
2692
  * @docdescription Actions for uploading and downloading files.
@@ -2738,7 +2750,7 @@ export function createDefaultLibrary(context) {
2738
2750
  * @example Download all bots as "myServer.pdf".
2739
2751
  * os.downloadBots(getBots(), "myServer.pdf");
2740
2752
  *
2741
- * @dochash actions/files
2753
+ * @dochash actions/os/files
2742
2754
  * @docname os.downloadBots
2743
2755
  * @docgroup 10-download
2744
2756
  */
@@ -2775,7 +2787,7 @@ export function createDefaultLibrary(context) {
2775
2787
  * @example Download all bots as "myServer.pdf".
2776
2788
  * os.downloadBotsAsInitialzationUpdate(getBots(), "myServer.pdf");
2777
2789
  *
2778
- * @dochash actions/files
2790
+ * @dochash actions/os/files
2779
2791
  * @docname os.downloadBotsAsInitialzationUpdate
2780
2792
  * @docgroup 10-download
2781
2793
  */
@@ -2800,7 +2812,7 @@ export function createDefaultLibrary(context) {
2800
2812
  * @example Download the entire inst.
2801
2813
  * os.downloadInst();
2802
2814
  *
2803
- * @dochash actions/files
2815
+ * @dochash actions/os/files
2804
2816
  * @docname os.downloadInst
2805
2817
  * @docgroup 10-download
2806
2818
  */
@@ -2813,7 +2825,7 @@ export function createDefaultLibrary(context) {
2813
2825
  * @example Show the "Upload AUX File" dialog.
2814
2826
  * os.showUploadAuxFile();
2815
2827
  *
2816
- * @dochash actions/files
2828
+ * @dochash actions/os/files
2817
2829
  * @docname os.showUploadAuxFile
2818
2830
  * @docgroup 10-upload
2819
2831
  */
@@ -2828,7 +2840,7 @@ export function createDefaultLibrary(context) {
2828
2840
  * const files = await os.showUploadFiles();
2829
2841
  * os.toast("You uploaded " + files.length + " file(s)!");
2830
2842
  *
2831
- * @dochash actions/files
2843
+ * @dochash actions/os/files
2832
2844
  * @docname os.showUploadFiles
2833
2845
  * @docgroup 10-upload
2834
2846
  */
@@ -2850,7 +2862,7 @@ export function createDefaultLibrary(context) {
2850
2862
  * @example Open the QR Code scanner for the front-facing camera.
2851
2863
  * os.openQRCodeScanner("front");
2852
2864
  *
2853
- * @dochash actions/barcodes
2865
+ * @dochash actions/os/barcodes
2854
2866
  * @docname os.openQRCodeScanner
2855
2867
  * @docgroup 10-qr-code-scanner
2856
2868
  */
@@ -2864,7 +2876,7 @@ export function createDefaultLibrary(context) {
2864
2876
  * @example Close the QR Code scanner.
2865
2877
  * os.closeQRCodeScanner();
2866
2878
  *
2867
- * @dochash actions/barcodes
2879
+ * @dochash actions/os/barcodes
2868
2880
  * @docname os.closeQRCodeScanner
2869
2881
  * @docgroup 10-qr-code-scanner
2870
2882
  */
@@ -2883,7 +2895,7 @@ export function createDefaultLibrary(context) {
2883
2895
  * @example Show a QR Code that links to https://example.com
2884
2896
  * os.showQRCode("https://example.com")
2885
2897
  *
2886
- * @dochash actions/barcodes
2898
+ * @dochash actions/os/barcodes
2887
2899
  * @docname os.showQRCode
2888
2900
  * @docgroup 10-qr-code
2889
2901
  */
@@ -2897,7 +2909,7 @@ export function createDefaultLibrary(context) {
2897
2909
  * @example Hides the QR Code popup modal.
2898
2910
  * os.hideQRCode();
2899
2911
  *
2900
- * @dochash actions/barcodes
2912
+ * @dochash actions/os/barcodes
2901
2913
  * @docname os.hideQRCode
2902
2914
  * @docgroup 10-qr-code
2903
2915
  */
@@ -2917,7 +2929,7 @@ export function createDefaultLibrary(context) {
2917
2929
  * @example Open the Barcode scanner for the front-facing camera.
2918
2930
  * os.openBarcodeScanner("front");
2919
2931
  *
2920
- * @dochash actions/barcodes
2932
+ * @dochash actions/os/barcodes
2921
2933
  * @docname os.openBarcodeScanner
2922
2934
  * @docgroup 10-barcode-scanner
2923
2935
  */
@@ -2931,7 +2943,7 @@ export function createDefaultLibrary(context) {
2931
2943
  * @example Close the Barcode scanner.
2932
2944
  * os.closeBarcodeScanner();
2933
2945
  *
2934
- * @dochash actions/barcodes
2946
+ * @dochash actions/os/barcodes
2935
2947
  * @docname os.closeBarcodeScanner
2936
2948
  * @docgroup 10-barcode-scanner
2937
2949
  */
@@ -2952,7 +2964,7 @@ export function createDefaultLibrary(context) {
2952
2964
  * @example Show a UPC Barcode that contains the data "123456".
2953
2965
  * os.showBarcode("123456", 'upc');
2954
2966
  *
2955
- * @dochash actions/barcodes
2967
+ * @dochash actions/os/barcodes
2956
2968
  * @docname os.showBarcode
2957
2969
  * @docgroup 10-barcode
2958
2970
  * @docorder 0
@@ -2967,7 +2979,7 @@ export function createDefaultLibrary(context) {
2967
2979
  * @example Hides the Barcode popup modal.
2968
2980
  * os.hideBarcode();
2969
2981
  *
2970
- * @dochash actions/barcodes
2982
+ * @dochash actions/os/barcodes
2971
2983
  * @doctitle Barcode Actions
2972
2984
  * @docsidebar Barcodes
2973
2985
  * @docdescription Actions for scanning and displaying QR Codes and Barcodes.
@@ -2996,7 +3008,7 @@ export function createDefaultLibrary(context) {
2996
3008
  * cameraType: 'front'
2997
3009
  * });
2998
3010
  *
2999
- * @dochash actions/image-classification
3011
+ * @dochash actions/os/image-classification
3000
3012
  * @doctitle Image Classification Actions
3001
3013
  * @docsidebar Image Classification
3002
3014
  * @docdescription Actions for classifying images using AI.
@@ -3018,7 +3030,7 @@ export function createDefaultLibrary(context) {
3018
3030
  * @example Close the image classifier.
3019
3031
  * await os.closeImageClassifier();
3020
3032
  *
3021
- * @dochash actions/image-classification
3033
+ * @dochash actions/os/image-classification
3022
3034
  * @docname os.closeImageClassifier
3023
3035
  * @docgroup 10-image-classifier
3024
3036
  */
@@ -3042,7 +3054,7 @@ export function createDefaultLibrary(context) {
3042
3054
  * cameraType: "front"
3043
3055
  * });
3044
3056
  *
3045
- * @dochash actions/camera
3057
+ * @dochash actions/os/camera
3046
3058
  * @doctitle Camera Actions
3047
3059
  * @docsidebar Camera
3048
3060
  * @docdescription Actions for taking photos.
@@ -3078,7 +3090,7 @@ export function createDefaultLibrary(context) {
3078
3090
  * takePhotoAfterSeconds: 3
3079
3091
  * });
3080
3092
  *
3081
- * @dochash actions/camera
3093
+ * @dochash actions/os/camera
3082
3094
  * @doctitle Camera Actions
3083
3095
  * @docsidebar Camera
3084
3096
  * @docdescription Actions for taking photos.
@@ -3095,7 +3107,7 @@ export function createDefaultLibrary(context) {
3095
3107
  * @example Close the photo camera
3096
3108
  * await os.closePhotoCamera();
3097
3109
  *
3098
- * @dochash actions/camera
3110
+ * @dochash actions/os/camera
3099
3111
  * @docname os.closePhotoCamera
3100
3112
  */
3101
3113
  function closePhotoCamera() {
@@ -3113,7 +3125,7 @@ export function createDefaultLibrary(context) {
3113
3125
  * @example Load the "fun" inst.
3114
3126
  * os.loadInst("fun");
3115
3127
  *
3116
- * @dochash actions/os
3128
+ * @dochash actions/os/spaces
3117
3129
  * @docname os.loadInst
3118
3130
  * @docgroup 10-load-inst
3119
3131
  */
@@ -3129,7 +3141,7 @@ export function createDefaultLibrary(context) {
3129
3141
  * @example Unload the "fun" inst.
3130
3142
  * os.unloadInst("fun");
3131
3143
  *
3132
- * @dochash actions/os
3144
+ * @dochash actions/os/spaces
3133
3145
  * @docname os.unloadInst
3134
3146
  * @docgroup 10-load-inst
3135
3147
  */
@@ -3165,7 +3177,7 @@ export function createDefaultLibrary(context) {
3165
3177
  * }
3166
3178
  * }`);
3167
3179
  *
3168
- * @dochash actions/files
3180
+ * @dochash actions/os/files
3169
3181
  * @docname os.importAUX
3170
3182
  * @docgroup 10-upload
3171
3183
  */
@@ -3204,7 +3216,7 @@ export function createDefaultLibrary(context) {
3204
3216
  * @example Parse the list of bots in an @onFileUpload
3205
3217
  * let bots = os.parseBotsFromData(that.file.data);
3206
3218
  *
3207
- * @dochash actions/files
3219
+ * @dochash actions/os/files
3208
3220
  * @docname os.parseBotsFromData
3209
3221
  * @docgroup 10-download
3210
3222
  */
@@ -3305,7 +3317,7 @@ export function createDefaultLibrary(context) {
3305
3317
  * let clone = create(thisBot);
3306
3318
  * os.replaceDragBot(clone);
3307
3319
  *
3308
- * @dochash actions/portals
3320
+ * @dochash actions/os/portals
3309
3321
  * @docname os.replaceDragBot
3310
3322
  */
3311
3323
  function replaceDragBot(bot) {
@@ -3322,7 +3334,7 @@ export function createDefaultLibrary(context) {
3322
3334
  * os.toast("In the dimension!");
3323
3335
  * }
3324
3336
  *
3325
- * @dochash actions/portals
3337
+ * @dochash actions/os/portals
3326
3338
  * @docname os.isInDimension
3327
3339
  * @docgroup 10-config-values
3328
3340
  */
@@ -3339,7 +3351,7 @@ export function createDefaultLibrary(context) {
3339
3351
  * const dimension = os.getCurrentDimension();
3340
3352
  * os.toast(dimension);
3341
3353
  *
3342
- * @dochash actions/portals
3354
+ * @dochash actions/os/portals
3343
3355
  * @doctitle Portal Actions
3344
3356
  * @docsidebar Portals
3345
3357
  * @docdescription Actions for working with portals.
@@ -3364,7 +3376,7 @@ export function createDefaultLibrary(context) {
3364
3376
  * const inst = os.getCurrentInst();
3365
3377
  * os.toast(inst);
3366
3378
  *
3367
- * @dochash actions/portals
3379
+ * @dochash actions/os/portals
3368
3380
  * @docname os.getCurrentInst
3369
3381
  * @docgroup 10-config-values
3370
3382
  */
@@ -3391,7 +3403,7 @@ export function createDefaultLibrary(context) {
3391
3403
  * const dimension = os.getMiniPortalDimension();
3392
3404
  * os.toast(dimension);
3393
3405
  *
3394
- * @dochash actions/portals
3406
+ * @dochash actions/os/portals
3395
3407
  * @docname os.getMiniPortalDimension
3396
3408
  * @docgroup 10-config-values
3397
3409
  */
@@ -3417,7 +3429,7 @@ export function createDefaultLibrary(context) {
3417
3429
  * const dimension = os.getMenuDimension();
3418
3430
  * os.toast(dimension);
3419
3431
  *
3420
- * @dochash actions/portals
3432
+ * @dochash actions/os/portals
3421
3433
  * @docname os.getMenuDimension
3422
3434
  * @docgroup 10-config-values
3423
3435
  */
@@ -3446,7 +3458,7 @@ export function createDefaultLibrary(context) {
3446
3458
  * @example Get the dimension that is currently showing in the #miniGridPortal.
3447
3459
  * const dimension = os.getPortalDimension('miniGrid');
3448
3460
  *
3449
- * @dochash actions/portals
3461
+ * @dochash actions/os/portals
3450
3462
  * @docname os.getPortalDimension
3451
3463
  * @docgroup 10-config-values
3452
3464
  */
@@ -3479,7 +3491,7 @@ export function createDefaultLibrary(context) {
3479
3491
  * os.toast("Player cannot access the fun dimension");
3480
3492
  * }
3481
3493
  *
3482
- * @dochash actions/portals
3494
+ * @dochash actions/os/portals
3483
3495
  * @docname os.getDimensionalDepth
3484
3496
  * @docgroup 10-config-values
3485
3497
  */
@@ -3521,7 +3533,7 @@ export function createDefaultLibrary(context) {
3521
3533
  * title: 'Enter a custom color'
3522
3534
  * });
3523
3535
  *
3524
- * @dochash actions/portals
3536
+ * @dochash actions/os/portals
3525
3537
  * @docname os.showInputForTag
3526
3538
  * @docgroup 10-showInput
3527
3539
  */
@@ -3690,7 +3702,7 @@ export function createDefaultLibrary(context) {
3690
3702
  * });
3691
3703
  * os.toast(selectedItem);
3692
3704
  *
3693
- * @dochash actions/portals
3705
+ * @dochash actions/os/portals
3694
3706
  * @docname os.showInput
3695
3707
  * @docgroup 10-showInput
3696
3708
  */
@@ -3724,7 +3736,7 @@ export function createDefaultLibrary(context) {
3724
3736
  *
3725
3737
  * os.toast('Confirmed: ' + (confirmed ? 'Yes' : 'No'));
3726
3738
  *
3727
- * @dochash actions/portals
3739
+ * @dochash actions/os/portals
3728
3740
  * @docname os.showConfirm
3729
3741
  * @docgroup 10-showInput
3730
3742
  */
@@ -3743,7 +3755,7 @@ export function createDefaultLibrary(context) {
3743
3755
  * @example Load the abc dimension.
3744
3756
  * os.goToDimension("abc");
3745
3757
  *
3746
- * @dochash actions/portals
3758
+ * @dochash actions/os/portals
3747
3759
  * @docname os.goToDimension
3748
3760
  * @docgroup 10-go-to
3749
3761
  */
@@ -3759,7 +3771,7 @@ export function createDefaultLibrary(context) {
3759
3771
  * @example Send the player to https://example.com.
3760
3772
  * os.goToURL("https://example.com");
3761
3773
  *
3762
- * @dochash actions/portals
3774
+ * @dochash actions/os/portals
3763
3775
  * @docname os.goToURL
3764
3776
  * @docgroup 10-go-to
3765
3777
  */
@@ -3775,7 +3787,7 @@ export function createDefaultLibrary(context) {
3775
3787
  * @example Open https://example.com in a new tab.
3776
3788
  * os.openURL("https://example.com");
3777
3789
  *
3778
- * @dochash actions/portals
3790
+ * @dochash actions/os/portals
3779
3791
  * @docname os.openURL
3780
3792
  * @docgroup 10-go-to
3781
3793
  */
@@ -3790,7 +3802,7 @@ export function createDefaultLibrary(context) {
3790
3802
  * @example Open the developer console.
3791
3803
  * os.openDevConsole();
3792
3804
  *
3793
- * @dochash actions/os
3805
+ * @dochash actions/os/system
3794
3806
  * @docname os.openDevConsole
3795
3807
  * @docgroup 12-dev
3796
3808
  */
@@ -3808,7 +3820,7 @@ export function createDefaultLibrary(context) {
3808
3820
  * @example Play a MP3 file from another website.
3809
3821
  * os.playSound("https://www.testsounds.com/track06.mp3");
3810
3822
  *
3811
- * @dochash actions/audio
3823
+ * @dochash actions/os/audio
3812
3824
  * @doctitle Audio Actions
3813
3825
  * @docsidebar Audio
3814
3826
  * @docdescription Actions for working with audio and sound files.
@@ -3830,7 +3842,7 @@ export function createDefaultLibrary(context) {
3830
3842
  * @example Pre-load a MP3 file from another website.
3831
3843
  * os.bufferSound("https://www.testsounds.com/track06.mp3");
3832
3844
  *
3833
- * @dochash actions/audio
3845
+ * @dochash actions/os/audio
3834
3846
  * @docname os.bufferSound
3835
3847
  * @docgroup 10-sound
3836
3848
  */
@@ -3848,7 +3860,7 @@ export function createDefaultLibrary(context) {
3848
3860
  * const id = await os.playSound("https://www.testsounds.com/track06.mp3");
3849
3861
  * os.cancelSound(id);
3850
3862
  *
3851
- * @dochash actions/audio
3863
+ * @dochash actions/os/audio
3852
3864
  * @docname os.cancelSound
3853
3865
  * @docgroup 10-sound
3854
3866
  */
@@ -3871,7 +3883,7 @@ export function createDefaultLibrary(context) {
3871
3883
  * os.toast("bob is in the miniGridPortal!");
3872
3884
  * }
3873
3885
  *
3874
- * @dochash actions/portals
3886
+ * @dochash actions/os/portals
3875
3887
  * @docname os.hasBotInMiniPortal
3876
3888
  * @docgroup 10-config-values
3877
3889
  */
@@ -3900,7 +3912,7 @@ export function createDefaultLibrary(context) {
3900
3912
  * text: 'abcdefghijklmnopqrstuvwxyz'
3901
3913
  * });
3902
3914
  *
3903
- * @dochash actions/os
3915
+ * @dochash actions/os/input
3904
3916
  * @docname os.share
3905
3917
  */
3906
3918
  function share(options) {
@@ -3935,7 +3947,7 @@ export function createDefaultLibrary(context) {
3935
3947
  * duration: 5
3936
3948
  * });
3937
3949
  *
3938
- * @dochash actions/portals
3950
+ * @dochash actions/os/portals
3939
3951
  * @docname os.closeCircleWipe
3940
3952
  * @docgroup 10-circle-wipe
3941
3953
  */
@@ -3974,7 +3986,7 @@ export function createDefaultLibrary(context) {
3974
3986
  * duration: 5
3975
3987
  * });
3976
3988
  *
3977
- * @dochash actions/portals
3989
+ * @dochash actions/os/portals
3978
3990
  * @docname os.openCircleWipe
3979
3991
  * @docgroup 10-circle-wipe
3980
3992
  */
@@ -4034,7 +4046,7 @@ export function createDefaultLibrary(context) {
4034
4046
  * distance: 1
4035
4047
  * }, "face");
4036
4048
  *
4037
- * @dochash actions/portals
4049
+ * @dochash actions/os/portals
4038
4050
  * @docname os.addDropSnap
4039
4051
  */
4040
4052
  function addDropSnap(...targets) {
@@ -4074,7 +4086,7 @@ export function createDefaultLibrary(context) {
4074
4086
  * distance: 1
4075
4087
  * }, "face");
4076
4088
  *
4077
- * @dochash actions/portals
4089
+ * @dochash actions/os/portals
4078
4090
  * @docname os.addBotDropSnap
4079
4091
  */
4080
4092
  function addBotDropSnap(bot, ...targets) {
@@ -4133,7 +4145,7 @@ export function createDefaultLibrary(context) {
4133
4145
  * showGrid: true
4134
4146
  * });
4135
4147
  *
4136
- * @dochash actions/portals
4148
+ * @dochash actions/os/portals
4137
4149
  * @docname os.addDropGrid
4138
4150
  */
4139
4151
  function addDropGrid(...targets) {
@@ -4193,7 +4205,7 @@ export function createDefaultLibrary(context) {
4193
4205
  * showGrid: true
4194
4206
  * });
4195
4207
  *
4196
- * @dochash actions/portals
4208
+ * @dochash actions/os/portals
4197
4209
  * @docname os.addBotDropGrid
4198
4210
  */
4199
4211
  function addBotDropGrid(bot, ...targets) {
@@ -4223,7 +4235,7 @@ export function createDefaultLibrary(context) {
4223
4235
  * @example Enable custom dragging for the current drag operation
4224
4236
  * os.enableCustomDragging();
4225
4237
  *
4226
- * @dochash actions/portals
4238
+ * @dochash actions/os/portals
4227
4239
  * @docname os.enableCustomDragging
4228
4240
  */
4229
4241
  function enableCustomDragging() {
@@ -4237,7 +4249,7 @@ export function createDefaultLibrary(context) {
4237
4249
  * @example Log "Hello, World!" to the browser developer console.
4238
4250
  * os.log("Hello, World!");
4239
4251
  *
4240
- * @dochash actions/os
4252
+ * @dochash actions/os/system
4241
4253
  * @docname os.log
4242
4254
  */
4243
4255
  function log(...args) {
@@ -4257,7 +4269,10 @@ export function createDefaultLibrary(context) {
4257
4269
  * os.toast(location.errorMessage);
4258
4270
  * }
4259
4271
  *
4260
- * @dochash actions/os
4272
+ * @dochash actions/os/geolocation
4273
+ * @doctitle Geolocation Actions
4274
+ * @docsidebar Geolocation
4275
+ * @docdescription Actions for working with the device's geolocation.
4261
4276
  * @docname os.getGeolocation
4262
4277
  * @docgroup 10-geolocation
4263
4278
  */
@@ -4289,7 +4304,7 @@ export function createDefaultLibrary(context) {
4289
4304
  * name: 'Triangle'
4290
4305
  * });
4291
4306
  *
4292
- * @dochash actions/app
4307
+ * @dochash actions/os/app
4293
4308
  * @docname os.registerTagPrefix
4294
4309
  */
4295
4310
  function registerPrefix(prefix, options) {
@@ -4360,7 +4375,7 @@ export function createDefaultLibrary(context) {
4360
4375
  * <input onInput={ (e) => { tags.label = e.target.value } }>
4361
4376
  * );
4362
4377
  *
4363
- * @dochash actions/app
4378
+ * @dochash actions/os/app
4364
4379
  * @doctitle App Actions
4365
4380
  * @docsidebar App
4366
4381
  * @docdescription Actions for working with custom apps.
@@ -4379,7 +4394,7 @@ export function createDefaultLibrary(context) {
4379
4394
  * @example Unregister an app
4380
4395
  * await os.unregisterApp('myApp');
4381
4396
  *
4382
- * @dochash actions/app
4397
+ * @dochash actions/os/app
4383
4398
  * @docname os.unregisterApp
4384
4399
  */
4385
4400
  function unregisterApp(appId) {
@@ -4415,7 +4430,7 @@ export function createDefaultLibrary(context) {
4415
4430
  * <input type="range" min="0" max="100" onInput={ (e) => { tags.label = e.target.value } } />
4416
4431
  * );
4417
4432
  *
4418
- * @dochash actions/app
4433
+ * @dochash actions/os/app
4419
4434
  * @docname os.compileApp
4420
4435
  */
4421
4436
  function setAppContent(appId, content) {
@@ -4431,7 +4446,7 @@ export function createDefaultLibrary(context) {
4431
4446
  * const builtinTags = os.listBuiltinTags();
4432
4447
  * os.toast(builtinTags);
4433
4448
  *
4434
- * @dochash actions/app
4449
+ * @dochash actions/os/app
4435
4450
  * @docname os.listBuiltinTags
4436
4451
  */
4437
4452
  function listBuiltinTags() {
@@ -4445,7 +4460,10 @@ export function createDefaultLibrary(context) {
4445
4460
  * @example Show the "report inst" dialog.
4446
4461
  * await os.reportInst();
4447
4462
  *
4448
- * @dochash actions/os
4463
+ * @dochash actions/os/moderation
4464
+ * @doctitle Moderation Actions
4465
+ * @docsidebar Moderation
4466
+ * @docdescription Actions for working with moderation features.
4449
4467
  * @docname os.reportInst
4450
4468
  */
4451
4469
  function reportInst() {
@@ -4470,7 +4488,7 @@ export function createDefaultLibrary(context) {
4470
4488
  * await os.requestAuthBot();
4471
4489
  * os.toast("Logged in!");
4472
4490
  *
4473
- * @dochash actions/records
4491
+ * @dochash actions/os/records
4474
4492
  * @doctitle Records Actions
4475
4493
  * @docsidebar Records
4476
4494
  * @docdescription Records are a way to store permenent data in CasualOS.
@@ -4503,7 +4521,7 @@ export function createDefaultLibrary(context) {
4503
4521
  * os.toast("Not logged in.");
4504
4522
  * }
4505
4523
  *
4506
- * @dochash actions/records
4524
+ * @dochash actions/os/records
4507
4525
  * @doctitle Records Actions
4508
4526
  * @docsidebar Records
4509
4527
  * @docdescription Records are a way to store permenent data in CasualOS.
@@ -4559,7 +4577,7 @@ export function createDefaultLibrary(context) {
4559
4577
  * os.toast('Failed ' + result.errorMessage);
4560
4578
  * }
4561
4579
  *
4562
- * @dochash actions/records
4580
+ * @dochash actions/os/records
4563
4581
  * @docgroup 01-records
4564
4582
  * @docname os.getPublicRecordKey
4565
4583
  */
@@ -4577,7 +4595,7 @@ export function createDefaultLibrary(context) {
4577
4595
  *
4578
4596
  * @param name the name of the record.
4579
4597
  *
4580
- * @dochash actions/records
4598
+ * @dochash actions/os/records
4581
4599
  * @docgroup 01-records
4582
4600
  * @docname os.getSubjectlessPublicRecordKey
4583
4601
  */
@@ -4596,7 +4614,7 @@ export function createDefaultLibrary(context) {
4596
4614
  * @param permission the permission that should be added.
4597
4615
  * @param options the options for the operation.
4598
4616
  *
4599
- * @dochash actions/records
4617
+ * @dochash actions/os/records
4600
4618
  * @docgroup 01-records
4601
4619
  * @docname os.grantRecordMarkerPermission
4602
4620
  */
@@ -4615,7 +4633,7 @@ export function createDefaultLibrary(context) {
4615
4633
  * @param permission the permission that should be removed.
4616
4634
  * @param options the options for the operation.
4617
4635
  *
4618
- * @dochash actions/records
4636
+ * @dochash actions/os/records
4619
4637
  * @docgroup 01-records
4620
4638
  * @docname os.revokeRecordMarkerPermission
4621
4639
  */
@@ -4634,7 +4652,7 @@ export function createDefaultLibrary(context) {
4634
4652
  * @param recordName the name of the record.
4635
4653
  * @param options the options for the operation.
4636
4654
  *
4637
- * @dochash actions/records
4655
+ * @dochash actions/os/records
4638
4656
  * @docgroup 01-records
4639
4657
  * @docname os.grantInstAdminPermission
4640
4658
  */
@@ -4654,7 +4672,7 @@ export function createDefaultLibrary(context) {
4654
4672
  * @param expireTimeMs the time that the role grant expires. If `null`, then the role will not expire.
4655
4673
  * @param options the options for the operation.
4656
4674
  *
4657
- * @dochash actions/records
4675
+ * @dochash actions/os/records
4658
4676
  * @docgroup 01-records
4659
4677
  * @docname os.grantUserRole
4660
4678
  */
@@ -4673,7 +4691,7 @@ export function createDefaultLibrary(context) {
4673
4691
  * @param userId the ID of the user.
4674
4692
  * @param options the options for the operation.
4675
4693
  *
4676
- * @dochash actions/records
4694
+ * @dochash actions/os/records
4677
4695
  * @docgroup 01-records
4678
4696
  * @docname os.revokeUserRole
4679
4697
  */
@@ -4693,7 +4711,7 @@ export function createDefaultLibrary(context) {
4693
4711
  * @param expireTimeMs the time that the role grant expires. If null, then the role will not expire.
4694
4712
  * @param options the options for the operation.
4695
4713
  *
4696
- * @dochash actions/records
4714
+ * @dochash actions/os/records
4697
4715
  * @docgroup 01-records
4698
4716
  * @docname os.grantInstRole
4699
4717
  */
@@ -4712,7 +4730,7 @@ export function createDefaultLibrary(context) {
4712
4730
  * @param inst the inst that the role should be revoked from.
4713
4731
  * @param options the options for the operation.
4714
4732
  *
4715
- * @dochash actions/records
4733
+ * @dochash actions/os/records
4716
4734
  * @docgroup 01-records
4717
4735
  * @docname os.revokeInstRole
4718
4736
  */
@@ -4732,7 +4750,7 @@ export function createDefaultLibrary(context) {
4732
4750
  * const isRecordKey = os.isRecordKey(tags.myRecordKey);
4733
4751
  * os.toast(tags.myRecordKey ' is ' + (isRecordKey ? 'a' : 'not a') + ' record key.');
4734
4752
  *
4735
- * @dochash actions/records
4753
+ * @dochash actions/os/records
4736
4754
  * @docgroup 01-records
4737
4755
  * @docname os.isRecordKey
4738
4756
  */
@@ -4765,7 +4783,7 @@ export function createDefaultLibrary(context) {
4765
4783
  * os.toast("Failed " + result.errorMessage);
4766
4784
  * }
4767
4785
  *
4768
- * @dochash actions/records
4786
+ * @dochash actions/os/records
4769
4787
  * @docgroup 01-records
4770
4788
  * @docname os.recordData
4771
4789
  */
@@ -4786,7 +4804,7 @@ export function createDefaultLibrary(context) {
4786
4804
  * If you need to store data larger than 300KB, you can use {@link os.recordFile}.
4787
4805
  * @param endpointOrOptions the options that should be used to record the data.
4788
4806
  *
4789
- * @dochash actions/records
4807
+ * @dochash actions/os/records
4790
4808
  * @docgroup 01-records
4791
4809
  * @docname os.recordManualApprovalData
4792
4810
  */
@@ -4842,7 +4860,7 @@ export function createDefaultLibrary(context) {
4842
4860
  * os.toast("Failed " + result.errorMessage);
4843
4861
  * }
4844
4862
  *
4845
- * @dochash actions/records
4863
+ * @dochash actions/os/records
4846
4864
  * @docgroup 01-records
4847
4865
  * @docname os.getData
4848
4866
  */
@@ -4860,7 +4878,7 @@ export function createDefaultLibrary(context) {
4860
4878
  * @param endpoint the HTTP Endpoint of the records website that the data should be recorded to.
4861
4879
  * If omitted, then the preconfigured records endpoint will be used. Note that when using a custom endpoint, the record key must be a valid record key for that endpoint.
4862
4880
  *
4863
- * @dochash actions/records
4881
+ * @dochash actions/os/records
4864
4882
  * @docgroup 01-records
4865
4883
  * @docname os.getManualApprovalData
4866
4884
  */
@@ -4927,7 +4945,7 @@ export function createDefaultLibrary(context) {
4927
4945
  * }
4928
4946
  * }
4929
4947
  *
4930
- * @dochash actions/records
4948
+ * @dochash actions/os/records
4931
4949
  * @docgroup 01-records
4932
4950
  * @docname os.listData
4933
4951
  */
@@ -4965,7 +4983,7 @@ export function createDefaultLibrary(context) {
4965
4983
  * os.toast("Failed " + result.errorMessage);
4966
4984
  * }
4967
4985
  *
4968
- * @dochash actions/records
4986
+ * @dochash actions/os/records
4969
4987
  * @docgroup 01-records
4970
4988
  * @docname os.eraseData
4971
4989
  */
@@ -4982,7 +5000,7 @@ export function createDefaultLibrary(context) {
4982
5000
  * @param endpoint the HTTP Endpoint of the records website that the data should be recorded to.
4983
5001
  * If omitted, then the preconfigured records endpoint will be used. Note that when using a custom endpoint, the record key must be a valid record key for that endpoint.
4984
5002
  *
4985
- * @dochash actions/records
5003
+ * @dochash actions/os/records
4986
5004
  * @docgroup 01-records
4987
5005
  * @docname os.eraseManualApprovalData
4988
5006
  */
@@ -5092,7 +5110,7 @@ export function createDefaultLibrary(context) {
5092
5110
  * os.toast("Failed " + result.errorMessage);
5093
5111
  * }
5094
5112
  *
5095
- * @dochash actions/records
5113
+ * @dochash actions/os/records
5096
5114
  * @docgroup 01-records
5097
5115
  * @docname os.recordFile
5098
5116
  */
@@ -5153,7 +5171,7 @@ export function createDefaultLibrary(context) {
5153
5171
  * // Download the file later
5154
5172
  * const fileData = await os.getFile(tags.uploadUrl);
5155
5173
  *
5156
- * @dochash actions/records
5174
+ * @dochash actions/os/records
5157
5175
  * @docgroup 01-records
5158
5176
  * @docname os.getFile
5159
5177
  */
@@ -5197,7 +5215,7 @@ export function createDefaultLibrary(context) {
5197
5215
  * let fileUrl = 'ENTER_FILE_URL_HERE';
5198
5216
  * const fileData = await os.getFile(fileUrl);
5199
5217
  *
5200
- * @dochash actions/records
5218
+ * @dochash actions/os/records
5201
5219
  * @docgroup 01-records
5202
5220
  * @docname os.getPublicFile
5203
5221
  */
@@ -5226,7 +5244,7 @@ export function createDefaultLibrary(context) {
5226
5244
  * const fileUrl = 'ENTER_FILE_URL_HERE';
5227
5245
  * const result = await os.getPrivateFile(fileUrl);
5228
5246
  *
5229
- * @dochash actions/records
5247
+ * @dochash actions/os/records
5230
5248
  * @docgroup 01-records
5231
5249
  * @docname os.getPrivateFile
5232
5250
  */
@@ -5277,7 +5295,7 @@ export function createDefaultLibrary(context) {
5277
5295
  * os.toast("Failed " + result.errorMessage);
5278
5296
  * }
5279
5297
  *
5280
- * @dochash actions/records
5298
+ * @dochash actions/os/records
5281
5299
  * @docgroup 01-records
5282
5300
  * @docname os.eraseFile
5283
5301
  */
@@ -5321,7 +5339,7 @@ export function createDefaultLibrary(context) {
5321
5339
  * @example Record that a click event happened
5322
5340
  * await os.recordEvent(myRecordKey, 'click');
5323
5341
  *
5324
- * @dochash actions/records
5342
+ * @dochash actions/os/records
5325
5343
  * @docgroup 01-records
5326
5344
  * @docname os.recordEvent
5327
5345
  */
@@ -5364,7 +5382,7 @@ export function createDefaultLibrary(context) {
5364
5382
  * os.toast('Failed to get count ' + result.errorMessage);
5365
5383
  * }
5366
5384
  *
5367
- * @dochash actions/records
5385
+ * @dochash actions/os/records
5368
5386
  * @docgroup 01-records
5369
5387
  * @docname os.countEvents
5370
5388
  */
@@ -5408,7 +5426,7 @@ export function createDefaultLibrary(context) {
5408
5426
  * os.toast('Failed to get studios ' + result.errorMessage);
5409
5427
  * }
5410
5428
  *
5411
- * @dochash actions/records
5429
+ * @dochash actions/os/records
5412
5430
  * @docgroup 01-records
5413
5431
  * @docname os.listUserStudios
5414
5432
  */
@@ -5442,7 +5460,7 @@ export function createDefaultLibrary(context) {
5442
5460
  * });
5443
5461
  * os.toast(address);
5444
5462
  *
5445
- * @dochash actions/os
5463
+ * @dochash actions/os/geolocation
5446
5464
  * @docname os.convertGeolocationToWhat3Words
5447
5465
  * @docgroup 10-geolocation
5448
5466
  */
@@ -5468,7 +5486,7 @@ export function createDefaultLibrary(context) {
5468
5486
  * const result = await os.raycastFromCamera("grid", new Vector2(-1, 0));
5469
5487
  * os.toast('Found Bots: ' + result.botIntersections.map(b => b.id).join(', '));
5470
5488
  *
5471
- * @dochash actions/portals
5489
+ * @dochash actions/os/portals
5472
5490
  * @docname os.raycastFromCamera
5473
5491
  * @docgroup 10-raycast
5474
5492
  */
@@ -5493,7 +5511,7 @@ export function createDefaultLibrary(context) {
5493
5511
  * const result = await os.raycast("grid", os.getPointerPosition("mouse"), os.getPointerDirection("mouse"));
5494
5512
  * os.toast('Found Bots: ' + result.botIntersections.map(b => b.id).join(', '));
5495
5513
  *
5496
- * @dochash actions/portals
5514
+ * @dochash actions/os/portals
5497
5515
  * @docname os.raycast
5498
5516
  * @docgroup 10-raycast
5499
5517
  */
@@ -5528,7 +5546,7 @@ export function createDefaultLibrary(context) {
5528
5546
  * const ray = await os.raycastFromCamera("grid", new Vector2(-1, 0));
5529
5547
  * os.toast('Calculated ray: ' + ray);
5530
5548
  *
5531
- * @dochash actions/portals
5549
+ * @dochash actions/os/portals
5532
5550
  * @docname os.calculateRayFromCamera
5533
5551
  * @docgroup 10-raycast
5534
5552
  */
@@ -5546,7 +5564,7 @@ export function createDefaultLibrary(context) {
5546
5564
  * await os.bufferFormAddressGLTF('https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/Fox/glTF/Fox.gltf');
5547
5565
  * os.toast("Buffered!");
5548
5566
  *
5549
- * @dochash actions/animations
5567
+ * @dochash actions/os/animations
5550
5568
  * @docname os.bufferFormAddressGLTF
5551
5569
  */
5552
5570
  function bufferFormAddressGLTF(address) {
@@ -5587,7 +5605,7 @@ export function createDefaultLibrary(context) {
5587
5605
  * timeScale: 0.5
5588
5606
  * });
5589
5607
  *
5590
- * @dochash actions/animations
5608
+ * @dochash actions/os/animations
5591
5609
  * @doctitle Animation Actions
5592
5610
  * @docsidebar Animations
5593
5611
  * @docdescription Actions for playing animations on bots.
@@ -5626,7 +5644,7 @@ export function createDefaultLibrary(context) {
5626
5644
  * stopTime: os.localTime + 5000
5627
5645
  * });
5628
5646
  *
5629
- * @dochash actions/animations
5647
+ * @dochash actions/os/animations
5630
5648
  * @docname os.stopFormAnimation
5631
5649
  * @docgroup 10-animations
5632
5650
  * @docorder 1
@@ -5651,7 +5669,7 @@ export function createDefaultLibrary(context) {
5651
5669
  * @example Get the list of animations for a specific address
5652
5670
  * const animations = await os.listFormAnimations('https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/Fox/glTF/Fox.gltf');
5653
5671
  *
5654
- * @dochash actions/animations
5672
+ * @dochash actions/os/animations
5655
5673
  * @docname os.listFormAnimations
5656
5674
  * @docgroup 10-animations
5657
5675
  * @docorder 2
@@ -5718,7 +5736,10 @@ export function createDefaultLibrary(context) {
5718
5736
  * const numberOfRemotes = await os.remoteCount('test');
5719
5737
  * os.toast("Number of Remotes: " + numberOfRemotes);
5720
5738
  *
5721
- * @dochash actions/os
5739
+ * @dochash actions/os/remotes
5740
+ * @doctitle Remote Actions
5741
+ * @docsidebar Remotes
5742
+ * @docdescription Actions for getting information about other places or devices (remotes).
5722
5743
  * @docname os.remoteCount
5723
5744
  * @docgroup 10-remotes
5724
5745
  */
@@ -5735,7 +5756,7 @@ export function createDefaultLibrary(context) {
5735
5756
  * const numberOfDevices = await os.totalRemoteCount();
5736
5757
  * os.toast("Number of Devices: " + numberOfDevices);
5737
5758
  *
5738
- * @dochash actions/os
5759
+ * @dochash actions/os/remotes
5739
5760
  * @docname os.totalRemoteCount
5740
5761
  * @docgroup 10-remotes
5741
5762
  */
@@ -5753,7 +5774,7 @@ export function createDefaultLibrary(context) {
5753
5774
  * const remotes = await os.remotes();
5754
5775
  * os.toast("Remotes " + remotes.join(','));
5755
5776
  *
5756
- * @dochash actions/os
5777
+ * @dochash actions/os/remotes
5757
5778
  * @docname os.remotes
5758
5779
  * @docgroup 10-remotes
5759
5780
  */
@@ -5770,7 +5791,7 @@ export function createDefaultLibrary(context) {
5770
5791
  * @example Get a list of updates to shared space
5771
5792
  * const updates = await os.listInstUpdates();
5772
5793
  *
5773
- * @dochash actions/os
5794
+ * @dochash actions/os/spaces
5774
5795
  * @docname os.listInstUpdates
5775
5796
  * @docgroup 10-updates
5776
5797
  */
@@ -5814,7 +5835,7 @@ export function createDefaultLibrary(context) {
5814
5835
  * }
5815
5836
  * console.log('Deltas: ', deltas);
5816
5837
  *
5817
- * @dochash actions/os
5838
+ * @dochash actions/os/spaces
5818
5839
  * @docname os.getInstStateFromUpdates
5819
5840
  * @docgroup 10-updates
5820
5841
  */
@@ -5842,7 +5863,7 @@ export function createDefaultLibrary(context) {
5842
5863
  * const update = await os.createInitializationUpdate(getBots(inDimension('home')));
5843
5864
  * tags.savedUpdate = update;
5844
5865
  *
5845
- * @dochash actions/os
5866
+ * @dochash actions/os/spaces
5846
5867
  * @docname os.createInitializationUpdate
5847
5868
  * @docgroup 10-updates
5848
5869
  */
@@ -5864,7 +5885,7 @@ export function createDefaultLibrary(context) {
5864
5885
  * @example Apply an update that was saved to a tag
5865
5886
  * await os.applyUpdatesToInst([ tags.savedUpdate ]);
5866
5887
  *
5867
- * @dochash actions/os
5888
+ * @dochash actions/os/spaces
5868
5889
  * @docname os.applyUpdatesToInst
5869
5890
  * @docgroup 10-updates
5870
5891
  */
@@ -5899,7 +5920,7 @@ export function createDefaultLibrary(context) {
5899
5920
  * os.toast("Restored!");
5900
5921
  * }
5901
5922
  *
5902
- * @dochash actions/os
5923
+ * @dochash actions/os/spaces
5903
5924
  * @docname os.getCurrentInstUpdate
5904
5925
  * @docgroup 10-updates
5905
5926
  */
@@ -5917,6 +5938,10 @@ export function createDefaultLibrary(context) {
5917
5938
  *
5918
5939
  * @example Merge a list of updates
5919
5940
  * const merged = os.mergeInstUpdates(updates);
5941
+ *
5942
+ * @dochash actions/os/spaces
5943
+ * @docname os.mergeInstUpdates
5944
+ * @docgroup 10-updates
5920
5945
  */
5921
5946
  function mergeInstUpdates(updates) {
5922
5947
  return calcMergeInstUpdates(updates);
@@ -5955,7 +5980,7 @@ export function createDefaultLibrary(context) {
5955
5980
  * // it is being sent to another remote.
5956
5981
  * remote(toastAction, otherRemoteId);
5957
5982
  *
5958
- * @dochash actions/event
5983
+ * @dochash actions/os/event
5959
5984
  * @docgroup 01-event-actions
5960
5985
  * @docname remote
5961
5986
  */
@@ -6002,7 +6027,7 @@ export function createDefaultLibrary(context) {
6002
6027
  * // that.name === "custom" and that.that === "Hello"
6003
6028
  * sendRemoteData(otherRemotes, "custom", "Hello");
6004
6029
  *
6005
- * @dochash actions/event
6030
+ * @dochash actions/os/event
6006
6031
  * @docgroup 01-event-actions
6007
6032
  * @docname sendRemoteData
6008
6033
  */
@@ -6208,7 +6233,7 @@ export function createDefaultLibrary(context) {
6208
6233
  * await os.sleep(2000);
6209
6234
  * os.toast("Hammer Time!");
6210
6235
  *
6211
- * @dochash actions/os
6236
+ * @dochash actions/os/system
6212
6237
  * @docname os.sleep
6213
6238
  */
6214
6239
  function sleep(time) {
@@ -6642,7 +6667,7 @@ export function createDefaultLibrary(context) {
6642
6667
  * }
6643
6668
  * });
6644
6669
  *
6645
- * @dochash actions/event
6670
+ * @dochash actions/os/event
6646
6671
  * @docgroup 01-event-actions
6647
6672
  * @docname action.perform
6648
6673
  */
@@ -6703,7 +6728,7 @@ export function createDefaultLibrary(context) {
6703
6728
  * const toastAction = os.toast("my message");
6704
6729
  * action.reject(toastAction);
6705
6730
  *
6706
- * @dochash actions/event
6731
+ * @dochash actions/os/event
6707
6732
  * @docgroup 01-event-actions
6708
6733
  * @docname action.reject
6709
6734
  */
@@ -6927,7 +6952,7 @@ export function createDefaultLibrary(context) {
6927
6952
  * await os.sleep(10000);
6928
6953
  * await os.endAudioRecording();
6929
6954
  *
6930
- * @dochash actions/audio
6955
+ * @dochash actions/os/audio
6931
6956
  * @docname os.beginAudioRecording
6932
6957
  * @docgroup 11-audio-recording
6933
6958
  */
@@ -6950,7 +6975,7 @@ export function createDefaultLibrary(context) {
6950
6975
  *
6951
6976
  * os.download(data);
6952
6977
  *
6953
- * @dochash actions/audio
6978
+ * @dochash actions/os/audio
6954
6979
  * @docname os.endAudioRecording
6955
6980
  * @docgroup 11-audio-recording
6956
6981
  */
@@ -7046,7 +7071,10 @@ export function createDefaultLibrary(context) {
7046
7071
  * @example Close the meet.
7047
7072
  * os.meetCommand('hangup')
7048
7073
  *
7049
- * @dochash actions/os
7074
+ * @dochash actions/os/meets
7075
+ * @doctitle Meet Actions
7076
+ * @docsidebar Meets
7077
+ * @docdescription Actions that are able to control the meetPortal.
7050
7078
  * @docname os.meetCommand
7051
7079
  * @docgroup 12-meet
7052
7080
  */
@@ -7067,7 +7095,7 @@ export function createDefaultLibrary(context) {
7067
7095
  * @example Get a list of available breakout rooms.
7068
7096
  * const rooms = await os.meetFunction('listBreakoutRooms');
7069
7097
  *
7070
- * @dochash actions/os
7098
+ * @dochash actions/os/meets
7071
7099
  * @docname os.meetFunction
7072
7100
  * @docgroup 12-meet
7073
7101
  */
@@ -9489,7 +9517,7 @@ export function createDefaultLibrary(context) {
9489
9517
  * @example Send a hello super shout to all the loaded instances.
9490
9518
  * superShout("hello");
9491
9519
  *
9492
- * @dochash actions/event
9520
+ * @dochash actions/os/event
9493
9521
  * @docgroup 01-event-actions
9494
9522
  * @docname superShout
9495
9523
  */
@@ -9516,7 +9544,7 @@ export function createDefaultLibrary(context) {
9516
9544
  * @example Priority shout with a color
9517
9545
  * priorityShout(['myTest', 'mySecondTest'], "blue");
9518
9546
  *
9519
- * @dochash actions/event
9547
+ * @dochash actions/os/event
9520
9548
  * @docgroup 01-event-actions
9521
9549
  * @docname priorityShout
9522
9550
  */
@@ -9555,7 +9583,7 @@ export function createDefaultLibrary(context) {
9555
9583
  * @example Send a @hello event with your name
9556
9584
  * shout("hello", "Bob");
9557
9585
  *
9558
- * @dochash actions/event
9586
+ * @dochash actions/os/event
9559
9587
  * @doctitle Event Actions
9560
9588
  * @docsidebar Events
9561
9589
  * @docdescription Event actions are used to send events to bots.
@@ -9586,7 +9614,7 @@ export function createDefaultLibrary(context) {
9586
9614
  * @example Send a @setColor event to ourself
9587
9615
  * whisper(this, "setColor", "red");
9588
9616
  *
9589
- * @dochash actions/event
9617
+ * @dochash actions/os/event
9590
9618
  * @docgroup 01-event-actions
9591
9619
  * @docname whisper
9592
9620
  */
@@ -9615,7 +9643,7 @@ export function createDefaultLibrary(context) {
9615
9643
  * os.toast("You are in the sheet!");
9616
9644
  * }
9617
9645
  *
9618
- * @dochash actions/portals
9646
+ * @dochash actions/os/portals
9619
9647
  * @docname os.inSheet
9620
9648
  * @docgroup 10-config-values
9621
9649
  */
@@ -9633,7 +9661,7 @@ export function createDefaultLibrary(context) {
9633
9661
  * @example Get the position of the camera in the miniGridPortal.
9634
9662
  * const position = os.getCameraPosition("mini");
9635
9663
  *
9636
- * @dochash actions/portals
9664
+ * @dochash actions/os/portals
9637
9665
  * @docname os.getCameraPosition
9638
9666
  * @docgroup 10-positions
9639
9667
  */
@@ -9655,7 +9683,7 @@ export function createDefaultLibrary(context) {
9655
9683
  * @example Get the rotation of the player in the miniGridPortal.
9656
9684
  * const rotation = os.getCameraRotation("mini");
9657
9685
  *
9658
- * @dochash actions/portals
9686
+ * @dochash actions/os/portals
9659
9687
  * @docname os.getCameraRotation
9660
9688
  * @docgroup 10-positions
9661
9689
  */
@@ -9687,7 +9715,7 @@ export function createDefaultLibrary(context) {
9687
9715
  * @example Get the focus point of the player in the miniGridPortal.
9688
9716
  * const focusPoint = os.getFocusPoint("mini");
9689
9717
  *
9690
- * @dochash actions/portals
9718
+ * @dochash actions/os/portals
9691
9719
  * @docname os.getFocusPoint
9692
9720
  * @docgroup 10-positions
9693
9721
  */
@@ -9708,7 +9736,7 @@ export function createDefaultLibrary(context) {
9708
9736
  * @example Get the position of the left pointer.
9709
9737
  * const position = os.getPointerPosition("left");
9710
9738
  *
9711
- * @dochash actions/portals
9739
+ * @dochash actions/os/portals
9712
9740
  * @docname os.getPointerPosition
9713
9741
  * @docgroup 10-positions
9714
9742
  */
@@ -9729,7 +9757,7 @@ export function createDefaultLibrary(context) {
9729
9757
  * @example Get the rotation of the left pointer.
9730
9758
  * const rotation = os.getPointerRotation("left");
9731
9759
  *
9732
- * @dochash actions/portals
9760
+ * @dochash actions/os/portals
9733
9761
  * @docname os.getPointerRotation
9734
9762
  * @docgroup 10-positions
9735
9763
  */
@@ -9766,7 +9794,7 @@ export function createDefaultLibrary(context) {
9766
9794
  * const direction = os.getPointerDirection();
9767
9795
  * const groundPosition = math.intersectPlane(position, direction);
9768
9796
  *
9769
- * @dochash actions/portals
9797
+ * @dochash actions/os/portals
9770
9798
  * @docname os.getPointerDirection
9771
9799
  * @docgroup 10-positions
9772
9800
  */
@@ -9816,7 +9844,7 @@ export function createDefaultLibrary(context) {
9816
9844
  * os.toast("Shift is down!");
9817
9845
  * }
9818
9846
  *
9819
- * @dochash actions/portals
9847
+ * @dochash actions/os/portals
9820
9848
  * @docname os.getInputState
9821
9849
  * @docgroup 10-input
9822
9850
  */
@@ -9834,7 +9862,7 @@ export function createDefaultLibrary(context) {
9834
9862
  * const state = os.getInputList();
9835
9863
  * os.toast(state);
9836
9864
  *
9837
- * @dochash actions/portals
9865
+ * @dochash actions/os/portals
9838
9866
  * @docname os.getInputList
9839
9867
  * @docgroup 10-input
9840
9868
  */
@@ -9867,7 +9895,10 @@ export function createDefaultLibrary(context) {
9867
9895
  * console.error('Could not get permission for microphone and/or camera:', e);
9868
9896
  * }
9869
9897
  *
9870
- * @dochash actions/os
9898
+ * @dochash actions/os/media
9899
+ * @doctitle Media Actions
9900
+ * @docsidebar Media
9901
+ * @docdescription Actions that are used to manage media permissions.
9871
9902
  * @docname os.getMediaPermission
9872
9903
  */
9873
9904
  function getMediaPermission(options) {
@@ -9887,7 +9918,7 @@ export function createDefaultLibrary(context) {
9887
9918
  * masks.label = await os.getAverageFrameRate();
9888
9919
  * }, 1000);
9889
9920
  *
9890
- * @dochash actions/os
9921
+ * @dochash actions/os/portals
9891
9922
  * @docname os.getAverageFrameRate
9892
9923
  */
9893
9924
  function getAverageFrameRate() {
@@ -9932,7 +9963,7 @@ export function createDefaultLibrary(context) {
9932
9963
  * os.toast("Failed to join the room: " + result.errorMessage);
9933
9964
  * }
9934
9965
  *
9935
- * @dochash actions/rooms
9966
+ * @dochash actions/os/rooms
9936
9967
  * @doctitle Room Actions
9937
9968
  * @docsidebar Rooms
9938
9969
  * @docdescription Room actions are actions that make it easy to create your own custom multimedia chat rooms.
@@ -9959,7 +9990,7 @@ export function createDefaultLibrary(context) {
9959
9990
  * os.toast("Failed to leave the room: " + result.errorMessage);
9960
9991
  * }
9961
9992
  *
9962
- * @dochash actions/rooms
9993
+ * @dochash actions/os/rooms
9963
9994
  * @docname os.leaveRoom
9964
9995
  */
9965
9996
  function leaveRoom(roomName, options) {
@@ -9996,7 +10027,7 @@ export function createDefaultLibrary(context) {
9996
10027
  * os.toast("Failed to mute microphone: " + result.errorMessage);
9997
10028
  * }
9998
10029
  *
9999
- * @dochash actions/rooms
10030
+ * @dochash actions/os/rooms
10000
10031
  * @docname os.setRoomOptions
10001
10032
  */
10002
10033
  function setRoomOptions(roomName, options) {
@@ -10017,7 +10048,7 @@ export function createDefaultLibrary(context) {
10017
10048
  * os.toast("Failed to get the options: " + result.errorMessage);
10018
10049
  * }
10019
10050
  *
10020
- * @dochash actions/rooms
10051
+ * @dochash actions/os/rooms
10021
10052
  * @docname os.getRoomOptions
10022
10053
  */
10023
10054
  function getRoomOptions(roomName) {
@@ -10042,7 +10073,7 @@ export function createDefaultLibrary(context) {
10042
10073
  * os.toast("Failed to get the options: " + result.errorMessage);
10043
10074
  * }
10044
10075
  *
10045
- * @dochash actions/rooms
10076
+ * @dochash actions/os/rooms
10046
10077
  * @docname os.getRoomTrackOptions
10047
10078
  */
10048
10079
  function getRoomTrackOptions(roomName, address) {
@@ -10079,7 +10110,7 @@ export function createDefaultLibrary(context) {
10079
10110
  * os.toast("Failed to set video quality on the track: " + result.errorMessage);
10080
10111
  * }
10081
10112
  *
10082
- * @dochash actions/rooms
10113
+ * @dochash actions/os/rooms
10083
10114
  * @docname os.setRoomTrackOptions
10084
10115
  */
10085
10116
  function setRoomTrackOptions(roomName, address, options) {
@@ -10103,7 +10134,7 @@ export function createDefaultLibrary(context) {
10103
10134
  * os.toast("Failed to get the options: " + result.errorMessage);
10104
10135
  * }
10105
10136
  *
10106
- * @dochash actions/rooms
10137
+ * @dochash actions/os/rooms
10107
10138
  * @docname os.getRoomRemoteOptions
10108
10139
  */
10109
10140
  function getRoomRemoteOptions(roomName, remoteId) {