stim 1.20.2 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/README.md +88 -8
  2. package/dist/acquire-artifact-CD4lbiWE.mjs +153 -0
  3. package/dist/act-DHAw2A2S.mjs +2667 -0
  4. package/dist/activity-BzVfHSrY.mjs +1376 -0
  5. package/dist/{agent-device-usage-output-Dzgv6lgR.mjs → agent-device-usage-output-zh1vhbLp.mjs} +21 -65
  6. package/dist/{android-HqP1_vB_.mjs → android-BEJ8Jpl7.mjs} +2 -2
  7. package/dist/{android-DCKZrNvV.mjs → android-BLgbNqox.mjs} +128 -78
  8. package/dist/{android-Dlzxshgp.mjs → android-CV_GCELZ.mjs} +5 -5
  9. package/dist/{android-Mz_Inn3w.mjs → android-DUYkNF4u.mjs} +184 -102
  10. package/dist/{android-cas-Bl-cLJBk.mjs → android-cas-Ct5b1xCK.mjs} +7 -6
  11. package/dist/android-cas-compiler.mjs +2 -2
  12. package/dist/android-project-BCAAmMwz.mjs +12 -0
  13. package/dist/api.d.mts +740 -8
  14. package/dist/api.mjs +585 -1
  15. package/dist/{artifact-HSwkIWEQ.mjs → artifact-B8T3S5gi.mjs} +223 -201
  16. package/dist/{artifact-D3czlUvT.mjs → artifact-DAuZ-FNU.mjs} +158 -148
  17. package/dist/{browser-web-CA-F1GQo.mjs → browser-web-QQzVjz3O.mjs} +26 -24
  18. package/dist/budget-Bs6SxxzO.mjs +9154 -0
  19. package/dist/{build-DYDbfkk5.mjs → build-CoPzQRNw.mjs} +144 -96
  20. package/dist/build-cache-DmyR9Zzc.mjs +602 -0
  21. package/dist/build-plan-CaFskB7_.mjs +188 -0
  22. package/dist/{cache-manifest-XH-fvDUj.mjs → cache-manifest-DkkqguoK.mjs} +2 -2
  23. package/dist/cache-manifest.mjs +1 -1
  24. package/dist/{ccache-zdKiYQ3E.mjs → ccache-BJRZ9pG3.mjs} +10 -9
  25. package/dist/{cdp-Dq_ypAlJ.mjs → cdp-CWmIUMbw.mjs} +18 -5
  26. package/dist/{chrome-BnzZMqsR.mjs → chrome-B6tfCta1.mjs} +7 -4
  27. package/dist/{cli-CLP3diBm.mjs → cli-0DYf8QhQ.mjs} +20 -20
  28. package/dist/cli.mjs +1 -1
  29. package/dist/client-B7QVOlCr.d.mts +253 -0
  30. package/dist/client-UXD70ZbM.mjs +1406 -0
  31. package/dist/collector-run.d.mts +4 -40
  32. package/dist/collector-run.mjs +9 -8
  33. package/dist/{command-output-BTy8hZ0F.mjs → command-output-B1UrjZHL.mjs} +1 -1
  34. package/dist/config-CYcBF478.mjs +949 -0
  35. package/dist/{created-devices-Dzd5C2LF.mjs → created-devices-CqeBlrEn.mjs} +3 -3
  36. package/dist/{dependency-state-DG0p31-y.mjs → dependency-state-BbKQW83h.mjs} +20 -5
  37. package/dist/{detached-entry-B9C_zeQC.mjs → detached-entry-DFRyG1_o.mjs} +1 -1
  38. package/dist/{dev-client-DAWVIGBu.mjs → dev-client-UOeESKm6.mjs} +2 -2
  39. package/dist/device-DCxH7_By.mjs +1068 -0
  40. package/dist/{device-BECOiufl.mjs → device-ExJq8Ei7.mjs} +35 -35
  41. package/dist/{device-capacity-CBUAcRyQ.mjs → device-capacity-CMlqEcvw.mjs} +43 -13
  42. package/dist/device-host-worker.mjs +65 -61
  43. package/dist/{device-ios-COSi6oS1.mjs → device-ios-DRUeKaFV.mjs} +48 -45
  44. package/dist/{device-lease-run-Cw2M4z51.mjs → device-lease-run-C8raGFoP.mjs} +14 -26
  45. package/dist/{device-pool-Bf-pOhSw.mjs → device-pool-DMRpVX9a.mjs} +5 -5
  46. package/dist/doctor-BLHCYxzi.mjs +2 -0
  47. package/dist/{doctor-kfMBnUw6.mjs → doctor-DTvaDOda.mjs} +281 -317
  48. package/dist/{doctor-CB8oZKCk.mjs → doctor-Dhqebm0q.mjs} +183 -91
  49. package/dist/doctor-fingerprint.mjs +19 -0
  50. package/dist/{doctor-watchman-BRyV2adA.mjs → doctor-watchman-Cv1F10Kj.mjs} +40 -21
  51. package/dist/{eas-build-JyfqyHfC.mjs → eas-build-BomfRnFT.mjs} +53 -20
  52. package/dist/{build-plan-B7SZsc2N.mjs → eas-fallback-DJwZpy0c.mjs} +26 -208
  53. package/dist/{watchman-CPQFZLXY.mjs → eas-session-ledger-op6A54yi.mjs} +229 -11
  54. package/dist/{error-diagnostics-BR677IDM.mjs → error-diagnostics-Bf0rZvG9.mjs} +172 -82
  55. package/dist/exec-H20xSg2T.d.mts +65 -0
  56. package/dist/exec-_UbtCQcG.mjs +750 -0
  57. package/dist/gc-C-WwL0yi.mjs +3 -0
  58. package/dist/{gc-qWOMdnER.mjs → gc-_-dCXdyL.mjs} +584 -796
  59. package/dist/git-C3iTsJaZ.mjs +73 -0
  60. package/dist/{guide-G9cAbVAc.mjs → guide-Yqwt2bd6.mjs} +941 -269
  61. package/dist/{hosted-android-C3MHGld1.mjs → hosted-android-Bw-honsd.mjs} +8 -6
  62. package/dist/{hosted-client-ZEKpS9vw.mjs → hosted-client-DB_gBPfY.mjs} +34 -19
  63. package/dist/{hosted-ios-l-o3iM9J.mjs → hosted-ios-CUvOf4Vr.mjs} +1 -1
  64. package/dist/{hosted-logs-EzQM7-3Z.mjs → hosted-logs-DL_P5AdN.mjs} +77 -43
  65. package/dist/{hosted-macos-BACVAVqE.mjs → hosted-macos-QI141yKk.mjs} +21 -17
  66. package/dist/{hosted-native-A4s1QPXe.mjs → hosted-native-Ksyjgzq-.mjs} +30 -21
  67. package/dist/idle-BVeRGroT.d.mts +24 -0
  68. package/dist/{idle-shutdown-DtxhPTKe.mjs → idle-shutdown-DaKmZi0z.mjs} +11 -10
  69. package/dist/{ios-BwVCF7oA.mjs → ios-CQ68hG9s.mjs} +8 -8
  70. package/dist/{ios-RkW4pnQf.mjs → ios-CpByZy12.mjs} +140 -80
  71. package/dist/{ios-device-B5veSDDQ.mjs → ios-device-CXGP1bsD.mjs} +1 -1
  72. package/dist/{ios-device-D7pi2Sca.mjs → ios-device-CwFMehUS.mjs} +51 -26
  73. package/dist/{ios-project-K9hY_Jab.mjs → ios-project-WuwwBdvW.mjs} +13 -13
  74. package/dist/{ios-nOLJGVdy.mjs → ios-qNJt4dFm.mjs} +1 -1
  75. package/dist/ios-signing-DTTIChGs.mjs +489 -0
  76. package/dist/{ios-state-CBLe1xYw.mjs → ios-state-DvFX-K_l.mjs} +1 -1
  77. package/dist/{ios-Ce7bc7br.mjs → ios-ubFsBzwq.mjs} +129 -86
  78. package/dist/{js-swap-Bb3nsS07.mjs → js-swap-Cc1dttps.mjs} +53 -26
  79. package/dist/{launch-F4sOqAhB.mjs → launch-CD1yVc7U.mjs} +91 -90
  80. package/dist/{launch-C3qJ6Agb.mjs → launch-Zq2mOSDy.mjs} +82 -541
  81. package/dist/logs-BS00Anxf.mjs +352 -0
  82. package/dist/logs-CMm05HxN.mjs +255 -0
  83. package/dist/{macos-D7uDvO-z.mjs → macos-B65--pPd.mjs} +1 -1
  84. package/dist/{macos-Ch5VJmcS.mjs → macos-C-0qJ6zq.mjs} +225 -212
  85. package/dist/macos-run.mjs +1 -1
  86. package/dist/maintenance-run.mjs +122 -247
  87. package/dist/{metro-DnCEjCxs.mjs → metro-DEXpIhHC.mjs} +67 -12
  88. package/dist/{metro-gateway-CX9Xlkq2.mjs → metro-gateway-BMJNlj3E.mjs} +20 -12
  89. package/dist/{named-ports-4WopRPg-.mjs → named-ports-BWTzt6mu.mjs} +8 -63
  90. package/dist/native-android-JACyjTZs.mjs +844 -0
  91. package/dist/{native-gradle-inputs-BsLRrl7u.mjs → native-gradle-inputs-Bep9JcSF.mjs} +128 -140
  92. package/dist/native-inputs-TRTTTRxt.mjs +91 -0
  93. package/dist/native-run-DY_RLx3C.mjs +277 -0
  94. package/dist/{native-runtime-k8dTIrbK.mjs → native-runtime-Dg1Q7tfF.mjs} +9 -8
  95. package/dist/{native-xcode-inputs-CykopJdM.mjs → native-xcode-inputs-CB2iQeWq.mjs} +27 -18
  96. package/dist/{native-xcode-ios-Bbf30Gm0.mjs → native-xcode-ios-CXX39F7o.mjs} +96 -47
  97. package/dist/{ndjson-GOnbyvso.mjs → ndjson-CgE_o3Dl.mjs} +3 -3
  98. package/dist/offload-worker.d.mts +1 -46
  99. package/dist/offload-worker.mjs +197 -66
  100. package/dist/{ownership-DCtw_2IA.mjs → ownership-DEmM5vhh.mjs} +3 -3
  101. package/dist/{page-DRHy329N.mjs → page-CPaHeYqj.mjs} +7 -4
  102. package/dist/paths-BsJMoPP2.mjs +12 -0
  103. package/dist/paths-DQtTgsBf.mjs +42 -0
  104. package/dist/{placement-log-MOfPVgaM.mjs → placement-log-BqGbTa61.mjs} +5 -5
  105. package/dist/{plan-placement-V0TdzYXp.mjs → plan-placement-Bwj-IjY1.mjs} +6 -6
  106. package/dist/{ports-DdSUicVo.mjs → ports-D-MmCTdv.mjs} +3 -3
  107. package/dist/prebuild-uD_ipCxF.mjs +449 -0
  108. package/dist/{project-_phNIJfs.mjs → project-BZNjmW_8.mjs} +65 -37
  109. package/dist/{pull-request-CQ8sPbZa.mjs → pull-request-Lfetn8Kr.mjs} +2 -2
  110. package/dist/pull-request-zjCSAryH.d.mts +120 -0
  111. package/dist/pull-requests.d.mts +1 -119
  112. package/dist/pull-requests.mjs +1 -1
  113. package/dist/{react-native-android-CM1XRDwv.mjs → react-native-android-DuzH0cn3.mjs} +74 -48
  114. package/dist/{gradle-DSrXb6lG.mjs → react-native-build-rhk4smwQ.mjs} +292 -15
  115. package/dist/react-native-doctor-CQpuIMso.mjs +234 -0
  116. package/dist/{react-native-ios-Dhq_eiYQ.mjs → react-native-ios-Bhq1rJeV.mjs} +46 -28
  117. package/dist/{recordings-D0d5aQt0.mjs → recordings-DYteQSu4.mjs} +12 -9
  118. package/dist/{reload-C8JhxjSh.mjs → reload-CmTRFJaX.mjs} +93 -47
  119. package/dist/reload-DzjSl5P_.mjs +2 -0
  120. package/dist/{remote-BiR6aYjy.mjs → remote-ByYkXdGD.mjs} +15 -10
  121. package/dist/result-DNiS-tTP.mjs +434 -0
  122. package/dist/{run-BtPgpKks.mjs → run-D23HmJMs.mjs} +4 -5
  123. package/dist/selection-CSl9i5qU.mjs +619 -0
  124. package/dist/{server-bare-R2m_gsH8.mjs → server-bare-CxTrvDg8.mjs} +3 -4
  125. package/dist/{server-command-CTtCkmcQ.mjs → server-command-CtzloH3v.mjs} +14 -7
  126. package/dist/server-expo-C-90EhcG.mjs +2 -0
  127. package/dist/{server-expo-DsguMGUF.mjs → server-expo-DT_F_uVI.mjs} +50 -9
  128. package/dist/{settings-B717odTD.mjs → settings-CsJDEXgK.mjs} +234 -24
  129. package/dist/{settings-vk3mJGSm.d.mts → settings-DkdmlelE.d.mts} +6 -4
  130. package/dist/settings-T1gtc3bf.mjs +114 -0
  131. package/dist/settings-write-HyVZ8eQ8.mjs +359 -0
  132. package/dist/settings.schema.json +163 -16
  133. package/dist/{simslim-CCr3rE-A.mjs → simslim-Cgk17SXV.mjs} +14 -12
  134. package/dist/{slot-launch-DPt0m9Nd.mjs → slot-launch-DF8VfT64.mjs} +15 -20
  135. package/dist/{spawn-entry-Dcb7sDUz.mjs → spawn-entry-jw19m8Nl.mjs} +0 -1
  136. package/dist/stage-BIS0ydsV.mjs +183 -0
  137. package/dist/{start-BWqzODpb.mjs → start-7lpH7hmN.mjs} +63 -44
  138. package/dist/{start-TXeMmmO2.mjs → start-RChynRDp.mjs} +1 -1
  139. package/dist/{state-D1Icyjlu.mjs → state-C4ZtUisW.mjs} +40 -13
  140. package/dist/{state-CG_OFoaA.mjs → state-XMziexv2.mjs} +3 -2
  141. package/dist/{stats-BoY5sEPU.mjs → stats-53T7OTb9.mjs} +7 -13
  142. package/dist/stats-report-BFfMpWWF.mjs +16 -0
  143. package/dist/{status-WgFbkRzj.mjs → status-BL7jVyAB.mjs} +535 -447
  144. package/dist/status-CSi6tlRq.mjs +2 -0
  145. package/dist/{status-BTA7kKiQ.mjs → status-DqEUSSxs.mjs} +6 -4
  146. package/dist/{status-watch-C23ILtf9.mjs → status-watch-GDCfqpTE.mjs} +187 -22
  147. package/dist/status-worker.d.mts +1 -0
  148. package/dist/status-worker.mjs +19 -0
  149. package/dist/stim-desktop-C12we7lz.mjs +112 -0
  150. package/dist/{stop-DR6VoDIk.mjs → stop-Bk_1qiV6.mjs} +2 -2
  151. package/dist/{stop-BNmBMi1F.mjs → stop-CPzlM1L-.mjs} +138 -98
  152. package/dist/{stop-DPEhunlw.mjs → stop-D7h6jAXQ.mjs} +11 -10
  153. package/dist/supervisor-run.d.mts +8 -17
  154. package/dist/supervisor-run.mjs +63 -27
  155. package/dist/{support-DMTqj3Hm.mjs → support-67vraa1Q.mjs} +18 -11
  156. package/dist/{support-CwjbFs9H.mjs → support-Dlu37g6H.mjs} +12 -12
  157. package/dist/{swiftpm-macos-DRNVJWlb.mjs → swiftpm-macos-p8WZbxKU.mjs} +35 -24
  158. package/dist/toolchain-DhKwp9iI.mjs +2 -0
  159. package/dist/toolchain-Hp9sCpK4.mjs +873 -0
  160. package/dist/{trigger-CigAYjeL.mjs → trigger-BAahxUPq.mjs} +20 -5
  161. package/dist/trigger-Bf3uDcpv.mjs +2 -0
  162. package/dist/{warm-progress-BuY-Fvfn.mjs → warm-progress-BHX5r0Ei.mjs} +250 -156
  163. package/dist/{web-BDBMxDpx.mjs → web-CJmIj6AI.mjs} +18 -13
  164. package/dist/web-DknQETPs.mjs +2 -0
  165. package/dist/web-run.mjs +11 -12
  166. package/dist/windows-report.d.mts +1 -0
  167. package/dist/windows-report.mjs +18 -0
  168. package/dist/windows-report.ps1 +43 -0
  169. package/dist/workspace-process-lock-1_1OoVW5.mjs +57 -0
  170. package/dist/{workspace-state-DJt_MMvf.mjs → workspace-state-Cjuigeeu.mjs} +62 -58
  171. package/dist/{workspaces-C36s2jb9.mjs → workspaces-BccMFmGQ.mjs} +1188 -1079
  172. package/dist/worktree-CK2MpJW5.mjs +2 -0
  173. package/dist/{worktree-CgvJYJ-Q.mjs → worktree-DQ6Zi2Mv.mjs} +304 -53
  174. package/dist/xcode-Zlx3qjEs.mjs +896 -0
  175. package/package.json +7 -5
  176. package/shim/android-optimizations.gradle +7 -5
  177. package/dist/activity-BSV745Kz.mjs +0 -629
  178. package/dist/api-qvOzWyfO.mjs +0 -154
  179. package/dist/api-run.mjs +0 -294
  180. package/dist/app-install-BIKtMfPq.mjs +0 -896
  181. package/dist/artifact-lifecycle-DzPpBYvK.mjs +0 -30
  182. package/dist/budget-f7516Zk0.mjs +0 -4106
  183. package/dist/build-facts-DcLv2HSd.d.mts +0 -111
  184. package/dist/cancellation-C_22VQTH.mjs +0 -24
  185. package/dist/client-qQAaXSUs.mjs +0 -1771
  186. package/dist/config-BYDxlMY3.mjs +0 -562
  187. package/dist/device-DuiPJQSn.mjs +0 -290
  188. package/dist/device-lease-BX1sJQ2E.mjs +0 -1224
  189. package/dist/device-remote-xRT0Vmo9.mjs +0 -1272
  190. package/dist/eas-session-ledger-Cm0Gwq2F.mjs +0 -207
  191. package/dist/exec-DqKo9GKJ.mjs +0 -268
  192. package/dist/git-DDfFzkMm.mjs +0 -45
  193. package/dist/launch-verify-B6Q8hZP-.mjs +0 -428
  194. package/dist/logs-BGrEUaEs.mjs +0 -383
  195. package/dist/miss-reason-mKzZ4VvN.mjs +0 -238
  196. package/dist/native-android-D5qc3-_v.mjs +0 -226
  197. package/dist/ndjson-Du3j0AQ9.d.mts +0 -17
  198. package/dist/plan-C4TjdPsR.mjs +0 -260
  199. package/dist/prebuild-DYbucPXy.mjs +0 -212
  200. package/dist/preview-78a9kR_-.mjs +0 -1011
  201. package/dist/react-native-build-CtCccJtb.mjs +0 -239
  202. package/dist/react-native-doctor-CfRnFfjs.mjs +0 -78
  203. package/dist/remote-cache-OyOyVIS3.mjs +0 -526
  204. package/dist/result-CaJg5Iat.mjs +0 -186
  205. package/dist/server-expo-Bigriskl.mjs +0 -2
  206. package/dist/settings-BORNaaCO.mjs +0 -402
  207. package/dist/spawn-claims-DVS5RkMS.mjs +0 -72
  208. package/dist/stage-KNTQopqv.mjs +0 -157
  209. package/dist/stim-desktop-BzBN2Em2.mjs +0 -63
  210. package/dist/tailnet-Dh-qiYzG.mjs +0 -265
  211. package/dist/toolchain-BFkAcstd.mjs +0 -2
  212. package/dist/toolchain-DxSsNssu.mjs +0 -1657
  213. package/dist/trigger-9_USgmxz.mjs +0 -2
  214. package/dist/web-Dq-i3wzJ.mjs +0 -2
  215. package/dist/worktree-DpLdCHga.mjs +0 -2
  216. package/dist/{api-run.d.mts → doctor-fingerprint.d.mts} +0 -0
  217. package/dist/{errors-DzkMYh8Q.mjs → errors-ccaPc4ox.mjs} +2 -2
@@ -1,9 +1,9 @@
1
- import { h as shortUdid, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-BTy8hZ0F.mjs";
2
- import { E as pickDevClientScheme, O as schemesFromInfoPlist } from "./app-install-BIKtMfPq.mjs";
3
- import { n as ensureWorkspaceStorageSafely } from "./native-runtime-k8dTIrbK.mjs";
4
- import { t as devClientScheme } from "./dev-client-DAWVIGBu.mjs";
5
- import { f as podAction, h as resolveDeviceType, i as deviceLabel, m as resolveConfiguration, n as buildLogFile, s as iosConfigurationSetting, t as appNameFromPath, u as isReleaseConfiguration, v as resolveRuntime } from "./support-CwjbFs9H.mjs";
6
- import { a as lastBuildRecord, i as iosFacts, n as cacheDescription, s as writeLastBuild } from "./ios-project-K9hY_Jab.mjs";
7
- import { n as registerIos, r as runIosOperation, t as iosCommand } from "./ios-Ce7bc7br.mjs";
8
- import { a as collectorEntry, o as replaceCollector } from "./launch-C3qJ6Agb.mjs";
1
+ import { h as shortUdid, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-B1UrjZHL.mjs";
2
+ import { jn as schemesFromInfoPlist, kn as pickDevClientScheme } from "./budget-Bs6SxxzO.mjs";
3
+ import { f as podAction, h as resolveDeviceType, i as deviceLabel, m as resolveConfiguration, n as buildLogFile, s as iosConfigurationSetting, t as appNameFromPath, u as isReleaseConfiguration, v as resolveRuntime } from "./support-Dlu37g6H.mjs";
4
+ import { n as ensureWorkspaceStorageSafely } from "./native-runtime-Dg1Q7tfF.mjs";
5
+ import { t as devClientScheme } from "./dev-client-UOeESKm6.mjs";
6
+ import { a as lastBuildRecord, i as iosFacts, n as cacheDescription, s as writeLastBuild } from "./ios-project-WuwwBdvW.mjs";
7
+ import { n as registerIos, r as runIosOperation, t as iosCommand } from "./ios-ubFsBzwq.mjs";
8
+ import { a as collectorEntry, o as replaceCollector } from "./launch-Zq2mOSDy.mjs";
9
9
  export { appNameFromPath, buildLogFile, cacheDescription, collectorEntry, iosCommand as default, devClientScheme, deviceLabel, ensureWorkspaceStorageSafely, formatDuration, iosConfigurationSetting, iosFacts, isReleaseConfiguration, lastBuildRecord, phaseLine, pickDevClientScheme, podAction, registerIos, replaceCollector, resolveConfiguration, resolveDeviceType, resolveRuntime, runIosOperation, schemesFromInfoPlist, shortHash, shortUdid, writeLastBuild };
@@ -1,14 +1,14 @@
1
- import { N as formatBytes, _ as loadConfig$1 } from "./config-BYDxlMY3.mjs";
2
- import { t as getExecutor } from "./exec-DqKo9GKJ.mjs";
1
+ import { t as getExecutor } from "./exec-_UbtCQcG.mjs";
2
+ import { P as formatBytes, _ as loadConfig$1 } from "./config-CYcBF478.mjs";
3
3
  import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
4
- import { n as settingDefault, t as STIM_DESKTOP_OPEN_OPTIONS } from "./stim-desktop-BzBN2Em2.mjs";
5
- import { it as isStimOwnedSim } from "./android-Mz_Inn3w.mjs";
6
- import { r as recordCreatedDevice, t as forgetCreatedDevice } from "./created-devices-Dzd5C2LF.mjs";
4
+ import { r as recordCreatedDevice, t as forgetCreatedDevice } from "./created-devices-CqeBlrEn.mjs";
5
+ import { ct as isStimOwnedSim } from "./android-DUYkNF4u.mjs";
6
+ import { i as stimDesktopInstalledAsync, n as settingDefault, t as STIM_DESKTOP_OPEN_OPTIONS } from "./stim-desktop-C12we7lz.mjs";
7
+ import { createHash } from "node:crypto";
7
8
  import { closeSync, existsSync, lstatSync, mkdtempSync, openSync, readSync, readdirSync, rmSync, writeFileSync } from "node:fs";
9
+ import { tmpdir, totalmem } from "node:os";
8
10
  import { dirname, isAbsolute, join, resolve } from "node:path";
9
11
  import { IOS_SIMULATOR_APPS, isJsonObject, settingDefinition } from "@stim-cli/core/state";
10
- import { createHash } from "node:crypto";
11
- import { tmpdir, totalmem } from "node:os";
12
12
  //#region src/engine/installed-artifact.ts
13
13
  const READ_CHUNK_BYTES = 1048576;
14
14
  const DEVICE_PATH_TIMEOUT_MS = 3e4;
@@ -89,11 +89,11 @@ function hashBundle(dir) {
89
89
  };
90
90
  return walk(dir, "") ? digest.digest("hex") : null;
91
91
  }
92
- function deviceHoldsApk({ serial, packageName, apkPath }, { exec = null } = {}) {
92
+ async function deviceHoldsApk({ serial, packageName, apkPath }, { exec = null } = {}) {
93
93
  const e = exec || getExecutor();
94
94
  let path;
95
95
  try {
96
- path = parseInstalledApkPath(e.runFile("adb", [
96
+ path = parseInstalledApkPath(await e.runFileAsync("adb", [
97
97
  "-s",
98
98
  serial,
99
99
  "shell",
@@ -107,7 +107,7 @@ function deviceHoldsApk({ serial, packageName, apkPath }, { exec = null } = {})
107
107
  if (!path) return false;
108
108
  let installed;
109
109
  try {
110
- installed = parseDeviceSha256(e.runFile("adb", [
110
+ installed = parseDeviceSha256(await e.runFileAsync("adb", [
111
111
  "-s",
112
112
  serial,
113
113
  "shell",
@@ -120,11 +120,11 @@ function deviceHoldsApk({ serial, packageName, apkPath }, { exec = null } = {})
120
120
  if (!installed) return false;
121
121
  return artifactsMatch(hashFile(apkPath), installed);
122
122
  }
123
- function deviceHoldsBundle({ udid, bundleId, appPath }, { exec = null } = {}) {
123
+ async function deviceHoldsBundle({ udid, bundleId, appPath }, { exec = null } = {}) {
124
124
  const e = exec || getExecutor();
125
125
  let container;
126
126
  try {
127
- container = parseAppContainerPath(e.runFile("xcrun", [
127
+ container = parseAppContainerPath(await e.runFileAsync("xcrun", [
128
128
  "simctl",
129
129
  "get_app_container",
130
130
  udid,
@@ -254,7 +254,40 @@ function readMemoryCulprits(exec = getExecutor(), platform = process.platform, t
254
254
  ], { timeoutMs: 5e3 });
255
255
  for (const line of listed?.split("\n") ?? []) {
256
256
  const match = /^\s*(\d+)\s+(.*)$/.exec(line);
257
- if (match) commandLines.set(Number(match[1]), match[2]);
257
+ const command = match?.[2];
258
+ if (command !== void 0) commandLines.set(Number(match?.[1]), command);
259
+ }
260
+ }
261
+ return findMemoryCulprits(processes, totalBytes, commandLines);
262
+ }
263
+ async function readMemoryCulpritsAsync(exec = getExecutor(), platform = process.platform, totalBytes = totalmem()) {
264
+ if (platform !== "darwin") return null;
265
+ const output = await exec.runFileQuietAsync("/usr/bin/top", [
266
+ "-l",
267
+ "1",
268
+ "-o",
269
+ "mem",
270
+ "-n",
271
+ String(TOP_ROWS),
272
+ "-stats",
273
+ "pid,mem,command"
274
+ ], { timeoutMs: 1e4 });
275
+ if (output === null) return null;
276
+ const processes = parseTopMemory(output);
277
+ const java = processes.filter((entry) => entry.name === "java").map((entry) => entry.pid);
278
+ const commandLines = /* @__PURE__ */ new Map();
279
+ if (java.length) {
280
+ const listed = await exec.runFileQuietAsync("/bin/ps", [
281
+ "-ww",
282
+ "-o",
283
+ "pid=,command=",
284
+ "-p",
285
+ java.join(",")
286
+ ], { timeoutMs: 5e3 });
287
+ for (const line of listed?.split("\n") ?? []) {
288
+ const match = /^\s*(\d+)\s+(.*)$/.exec(line);
289
+ const command = match?.[2];
290
+ if (command !== void 0) commandLines.set(Number(match?.[1]), command);
258
291
  }
259
292
  }
260
293
  return findMemoryCulprits(processes, totalBytes, commandLines);
@@ -270,19 +303,27 @@ function memoryCulpritFindings(culprits) {
270
303
  }
271
304
  //#endregion
272
305
  //#region src/host-memory.ts
306
+ function pressureValue(value) {
307
+ switch (value.trim()) {
308
+ case "1": return "normal";
309
+ case "2": return "warning";
310
+ case "4": return "critical";
311
+ default: return null;
312
+ }
313
+ }
273
314
  function readHostMemoryPressure(exec = getExecutor(), platform = process.platform) {
274
315
  if (platform !== "darwin") return null;
275
316
  try {
276
- switch (exec.runFile("/usr/sbin/sysctl", ["-n", "kern.memorystatus_vm_pressure_level"], { timeoutMs: 2e3 }).trim()) {
277
- case "1": return "normal";
278
- case "2": return "warning";
279
- case "4": return "critical";
280
- default: return null;
281
- }
317
+ return pressureValue(exec.runFile("/usr/sbin/sysctl", ["-n", "kern.memorystatus_vm_pressure_level"], { timeoutMs: 2e3 }));
282
318
  } catch {
283
319
  return null;
284
320
  }
285
321
  }
322
+ async function readHostMemoryPressureAsync(exec = getExecutor(), platform = process.platform) {
323
+ if (platform !== "darwin") return null;
324
+ const value = await exec.runFileQuietAsync("/usr/sbin/sysctl", ["-n", "kern.memorystatus_vm_pressure_level"], { timeoutMs: 2e3 });
325
+ return value === null ? null : pressureValue(value);
326
+ }
286
327
  function memoryCulpritsUnder(pressure, exec = getExecutor()) {
287
328
  return pressure === "warning" || pressure === "critical" ? readMemoryCulprits(exec) : null;
288
329
  }
@@ -303,15 +344,19 @@ function parseIosSimulatorApp(value, source = "iosSimulatorApp in machine config
303
344
  Object.assign(error, { code: "STIM_BAD_ARG" });
304
345
  throw error;
305
346
  }
306
- function configuredIosSimulatorViewer(override) {
347
+ function configuredIosSimulatorViewer(override, env) {
307
348
  const configured = loadConfig$1()?.iosSimulatorApp;
308
349
  const chosen = override ?? (configured === void 0 ? void 0 : parseIosSimulatorApp(configured));
309
- return { open: (udid) => openSimulator(chosen ?? settingDefault(settingDefinition("iosSimulatorApp")).value, udid) };
350
+ return { open: async (udid) => {
351
+ if (chosen) return openSimulator(chosen, udid);
352
+ const installed = await stimDesktopInstalledAsync(process.platform, env);
353
+ return openSimulator(settingDefault(settingDefinition("iosSimulatorApp"), () => installed).value, udid);
354
+ } };
310
355
  }
311
- function openSimulator(app, udid) {
356
+ async function openSimulator(app, udid) {
312
357
  const exec = getExecutor();
313
358
  if (app === "stim-desktop") {
314
- exec.runFileQuiet("open", [
359
+ await exec.runFileQuietAsync("open", [
315
360
  "-g",
316
361
  "-a",
317
362
  "Stim",
@@ -320,21 +365,21 @@ function openSimulator(app, udid) {
320
365
  return;
321
366
  }
322
367
  if (app === "siniulator") {
323
- exec.runFileQuiet("open", [
368
+ await exec.runFileQuietAsync("open", [
324
369
  "-a",
325
370
  "Siniulator",
326
371
  `siniulator://open?udid=${udid}`
327
372
  ], OPEN_OPTIONS);
328
373
  return;
329
374
  }
330
- const simctlPath = exec.runFileQuiet("xcrun", ["--find", "simctl"], OPEN_OPTIONS);
375
+ const simctlPath = await exec.runFileQuietAsync("xcrun", ["--find", "simctl"], OPEN_OPTIONS);
331
376
  const deviceHubApp = simctlPath ? resolve(dirname(simctlPath), "..", "..", "..", "Applications", "DeviceHub.app") : null;
332
377
  const args = deviceHubApp && existsSync(deviceHubApp) ? [
333
378
  "-a",
334
379
  deviceHubApp,
335
380
  `devices://device/open?id=${udid}`
336
381
  ] : ["-a", "Simulator"];
337
- exec.runFileQuiet("open", args, OPEN_OPTIONS);
382
+ await exec.runFileQuietAsync("open", args, OPEN_OPTIONS);
338
383
  }
339
384
  //#endregion
340
385
  //#region src/devices/ios.ts
@@ -398,19 +443,29 @@ function createIosSimSnapshot() {
398
443
  let cached = null;
399
444
  return {
400
445
  read() {
401
- cached ??= listAllIosSims({ includeUnavailable: true });
402
- return cached;
446
+ const entry = cached ??= {};
447
+ entry.value ??= listAllIosSims({ includeUnavailable: true });
448
+ return entry.value;
449
+ },
450
+ async readAsync() {
451
+ const entry = cached ??= {};
452
+ if (entry.value) return entry.value;
453
+ entry.pending ??= listAllIosSimsAsync({ includeUnavailable: true }).then((value) => entry.value = value).catch((error) => {
454
+ entry.pending = void 0;
455
+ throw error;
456
+ });
457
+ return entry.pending;
403
458
  },
404
459
  invalidate() {
405
460
  cached = null;
406
461
  }
407
462
  };
408
463
  }
409
- async function listAllIosSimsAsync({ timeoutMs = 3e4 } = {}) {
464
+ async function listAllIosSimsAsync({ timeoutMs = 3e4, includeUnavailable = false } = {}) {
410
465
  return parseSimctlList(await getExecutor().runFileAsync("xcrun", SIMCTL_LIST_ARGS, {
411
466
  timeoutMs,
412
467
  killSignal: "SIGKILL"
413
- }));
468
+ }), { includeUnavailable });
414
469
  }
415
470
  function parseRuntimeVersion(runtimeId) {
416
471
  const m = runtimeId.match(/iOS-(\d+)(?:-(\d+))?$/);
@@ -479,9 +534,9 @@ async function awaitBootCommand(args, attemptMs, onLine) {
479
534
  const detail = lines.length ? `: ${lines.join(" | ")}` : "";
480
535
  throw new Error(`${command} failed with exit code ${result.code ?? "unknown"}${detail}`);
481
536
  }
482
- async function bootIosSim(udid, { timeoutMs = IOS_BOOT_TIMEOUT_MS, attemptMs = BOOTSTATUS_ATTEMPT_MS, simulatorApp, openViewer = true, label = udid, out = () => {} } = {}) {
537
+ async function bootIosSim(udid, { timeoutMs = IOS_BOOT_TIMEOUT_MS, attemptMs = BOOTSTATUS_ATTEMPT_MS, simulatorApp, env, openViewer = true, label = udid, out = () => {} } = {}) {
483
538
  const exec = getExecutor();
484
- const viewer = configuredIosSimulatorViewer(simulatorApp);
539
+ const viewer = configuredIosSimulatorViewer(simulatorApp, env);
485
540
  const started = Date.now();
486
541
  const deadline = started + timeoutMs;
487
542
  let worst = null;
@@ -544,7 +599,7 @@ async function bootIosSim(udid, { timeoutMs = IOS_BOOT_TIMEOUT_MS, attemptMs = B
544
599
  }
545
600
  let state;
546
601
  try {
547
- state = listAllIosSims({ timeoutMs: BOOT_STATE_LIST_TIMEOUT_MS }).find((s) => s.udid === udid)?.state ?? null;
602
+ state = (await listAllIosSimsAsync({ timeoutMs: BOOT_STATE_LIST_TIMEOUT_MS })).find((s) => s.udid === udid)?.state ?? null;
548
603
  } catch {
549
604
  state = void 0;
550
605
  }
@@ -558,25 +613,29 @@ async function bootIosSim(udid, { timeoutMs = IOS_BOOT_TIMEOUT_MS, attemptMs = B
558
613
  } finally {
559
614
  clearInterval(monitor);
560
615
  }
561
- if (openViewer) viewer.open(udid);
616
+ if (openViewer) await viewer.open(udid);
562
617
  }
563
- function shutdownIosSim(udid) {
564
- getExecutor().runFileQuiet("xcrun", [
618
+ async function shutdownIosSim(udid) {
619
+ await getExecutor().runFileQuietAsync("xcrun", [
565
620
  "simctl",
566
621
  "shutdown",
567
622
  udid
568
623
  ], SIMCTL_OPTIONS);
569
624
  }
570
- function listIosDeviceTypes() {
571
- const out = getExecutor().runFile("xcrun", [
572
- "simctl",
573
- "list",
574
- "devicetypes",
575
- "--json"
576
- ], {
577
- timeoutMs: 3e4,
578
- killSignal: "SIGKILL"
579
- });
625
+ const LIST_DEVICE_TYPES_ARGS = [
626
+ "simctl",
627
+ "list",
628
+ "devicetypes",
629
+ "--json"
630
+ ];
631
+ const LIST_DEVICE_TYPES_OPTIONS = {
632
+ timeoutMs: 3e4,
633
+ killSignal: "SIGKILL"
634
+ };
635
+ async function listIosDeviceTypesAsync() {
636
+ return parseIosDeviceTypes(await getExecutor().runFileAsync("xcrun", LIST_DEVICE_TYPES_ARGS, LIST_DEVICE_TYPES_OPTIONS));
637
+ }
638
+ function parseIosDeviceTypes(out) {
580
639
  const data = JSON.parse(out);
581
640
  return isJsonObject(data) ? deviceTypesOf(data.devicetypes) : [];
582
641
  }
@@ -652,9 +711,9 @@ function ownedSimName(label, model = {
652
711
  function parkedSimName(udid, model) {
653
712
  return fitSimName(PARKED_SIM_LABEL, model, ` ${udid.replace(/-/g, "").slice(0, 4).toLowerCase()}`, true);
654
713
  }
655
- function resolveIosCreation({ deviceType, runtime } = {}) {
656
- const deviceTypes = listIosDeviceTypes();
657
- const runtimes = listIosRuntimes();
714
+ async function resolveIosCreation({ deviceType, runtime } = {}) {
715
+ const deviceTypes = await listIosDeviceTypesAsync();
716
+ const runtimes = await listIosRuntimesAsync();
658
717
  const pick = pickDefaultIosCreation(deviceTypes, runtimes, {
659
718
  deviceType,
660
719
  runtime
@@ -667,15 +726,16 @@ function resolveIosCreation({ deviceType, runtime } = {}) {
667
726
  runtime: runtimes.find((r) => r.identifier === pick.runtimeId)?.version ?? null
668
727
  };
669
728
  }
670
- function createOwnedIosSim(label, { deviceType, runtime, suffix = "" } = {}, choice = resolveIosCreation({
671
- deviceType,
672
- runtime
673
- })) {
729
+ async function createOwnedIosSim(label, { deviceType, runtime, suffix = "" } = {}, choice) {
730
+ choice ??= await resolveIosCreation({
731
+ deviceType,
732
+ runtime
733
+ });
674
734
  const name = ownedSimName(label, {
675
735
  model: choice.deviceType,
676
736
  runtime: choice.runtime
677
737
  }, suffix);
678
- const udid = getExecutor().runFile("xcrun", [
738
+ const udid = (await getExecutor().runFileAsync("xcrun", [
679
739
  "simctl",
680
740
  "create",
681
741
  name,
@@ -684,7 +744,7 @@ function createOwnedIosSim(label, { deviceType, runtime, suffix = "" } = {}, cho
684
744
  ], {
685
745
  timeoutMs: SIMCTL_CREATE_TIMEOUT_MS,
686
746
  killSignal: "SIGKILL"
687
- }).trim();
747
+ })).trim();
688
748
  recordCreatedDevice("ios", udid);
689
749
  return {
690
750
  udid,
@@ -693,23 +753,23 @@ function createOwnedIosSim(label, { deviceType, runtime, suffix = "" } = {}, cho
693
753
  runtime: choice.runtime
694
754
  };
695
755
  }
696
- function renameIosSim(udid, name) {
697
- getExecutor().runFile("xcrun", [
756
+ async function renameIosSim(udid, name) {
757
+ await getExecutor().runFileAsync("xcrun", [
698
758
  "simctl",
699
759
  "rename",
700
760
  udid,
701
761
  name
702
762
  ], SIMCTL_OPTIONS);
703
763
  }
704
- function eraseIosSim(udid) {
705
- getExecutor().runFile("xcrun", [
764
+ async function eraseIosSim(udid) {
765
+ await getExecutor().runFileAsync("xcrun", [
706
766
  "simctl",
707
767
  "erase",
708
768
  udid
709
769
  ], SIMCTL_OPTIONS);
710
770
  }
711
- function resetIosPrivacy(udid) {
712
- getExecutor().runFile("xcrun", [
771
+ async function resetIosPrivacy(udid) {
772
+ await getExecutor().runFileAsync("xcrun", [
713
773
  "simctl",
714
774
  "privacy",
715
775
  udid,
@@ -717,8 +777,8 @@ function resetIosPrivacy(udid) {
717
777
  "all"
718
778
  ], SIMCTL_OPTIONS);
719
779
  }
720
- function resetIosKeychain(udid) {
721
- getExecutor().runFile("xcrun", [
780
+ async function resetIosKeychain(udid) {
781
+ await getExecutor().runFileAsync("xcrun", [
722
782
  "simctl",
723
783
  "keychain",
724
784
  udid,
@@ -731,9 +791,9 @@ const CLEARED_CONTAINER_DIRS = [
731
791
  "tmp",
732
792
  "SystemData"
733
793
  ];
734
- function clearIosAppData(udid, bundleId, { defaultsPlist = null } = {}) {
794
+ async function clearIosAppData(udid, bundleId, { defaultsPlist = null } = {}) {
735
795
  const exec = getExecutor();
736
- if (defaultsPlist) exec.runFile("xcrun", [
796
+ if (defaultsPlist) await exec.runFileAsync("xcrun", [
737
797
  "simctl",
738
798
  "spawn",
739
799
  udid,
@@ -746,7 +806,7 @@ function clearIosAppData(udid, bundleId, { defaultsPlist = null } = {}) {
746
806
  input: defaultsPlist
747
807
  });
748
808
  else try {
749
- exec.runFile("xcrun", [
809
+ await exec.runFileAsync("xcrun", [
750
810
  "simctl",
751
811
  "spawn",
752
812
  udid,
@@ -757,7 +817,7 @@ function clearIosAppData(udid, bundleId, { defaultsPlist = null } = {}) {
757
817
  } catch (error) {
758
818
  if (!/Domain .* not found/.test(String(error?.message))) throw error;
759
819
  }
760
- const output = exec.runFile("xcrun", [
820
+ const output = await exec.runFileAsync("xcrun", [
761
821
  "simctl",
762
822
  "get_app_container",
763
823
  udid,
@@ -785,8 +845,8 @@ function clearIosAppData(udid, bundleId, { defaultsPlist = null } = {}) {
785
845
  });
786
846
  }
787
847
  }
788
- function uninstallIosApp(udid, bundleId) {
789
- getExecutor().runFile("xcrun", [
848
+ async function uninstallIosApp(udid, bundleId) {
849
+ await getExecutor().runFileAsync("xcrun", [
790
850
  "simctl",
791
851
  "uninstall",
792
852
  udid,
@@ -806,17 +866,17 @@ function parseUserApps(jsonOutput) {
806
866
  return userApps;
807
867
  }
808
868
  const LISTAPPS_TIMEOUT_MS = 6e4;
809
- function listUserApps(udid) {
869
+ async function listUserApps(udid) {
810
870
  const exec = getExecutor();
811
871
  const dir = mkdtempSync(join(tmpdir(), "stim-listapps-"));
812
872
  const plist = join(dir, "apps.plist");
813
873
  try {
814
- writeFileSync(plist, exec.runFile("xcrun", [
874
+ writeFileSync(plist, await exec.runFileAsync("xcrun", [
815
875
  "simctl",
816
876
  "listapps",
817
877
  udid
818
878
  ], { timeoutMs: LISTAPPS_TIMEOUT_MS }));
819
- return parseUserApps(exec.runFile("plutil", [
879
+ return parseUserApps(await exec.runFileAsync("plutil", [
820
880
  "-convert",
821
881
  "json",
822
882
  "-o",
@@ -836,11 +896,11 @@ function resolveOwnedIosSim(udid, listed = listAllIosSims()) {
836
896
  if (!isStimOwnedSim(sim)) return { notOwned: sim.name };
837
897
  return { sim };
838
898
  }
839
- function deleteIosSim(udid) {
840
- const result = resolveOwnedIosSim(udid);
899
+ async function deleteIosSim(udid) {
900
+ const result = resolveOwnedIosSim(udid, await listAllIosSimsAsync());
841
901
  if (result.missing) return;
842
902
  if (result.notOwned) throw new Error(`Refusing to delete simulator "${result.notOwned}" (${udid}): not a Stim-owned sim; Stim has no record of creating it.`);
843
- getExecutor().runFile("xcrun", [
903
+ await getExecutor().runFileAsync("xcrun", [
844
904
  "simctl",
845
905
  "delete",
846
906
  udid
@@ -848,14 +908,14 @@ function deleteIosSim(udid) {
848
908
  forgetCreatedDevice("ios", udid);
849
909
  }
850
910
  const PARKED_DELETE_TIMEOUT_MS = 3e4;
851
- function deleteParkedIosSim(udid) {
852
- const sim = listAllIosSims({
911
+ async function deleteParkedIosSim(udid) {
912
+ const sim = (await listAllIosSimsAsync({
853
913
  includeUnavailable: true,
854
914
  timeoutMs: PARKED_DELETE_TIMEOUT_MS
855
- }).find((entry) => entry.udid === udid);
915
+ })).find((entry) => entry.udid === udid);
856
916
  if (!sim) return;
857
917
  if (!isStimOwnedSim(sim)) throw new Error(`Simulator ${udid} is now named "${sim.name}" and is not Stim-owned; refusing to delete it.`);
858
- getExecutor().runFile("xcrun", [
918
+ await getExecutor().runFileAsync("xcrun", [
859
919
  "simctl",
860
920
  "delete",
861
921
  udid
@@ -889,4 +949,4 @@ function parseIosRuntimes(out) {
889
949
  }] : []);
890
950
  }
891
951
  //#endregion
892
- export { configuredIosSimulatorViewer as A, resetIosKeychain as C, sanitizeDeviceLabel as D, resolveOwnedIosSim as E, memoryCulpritAdvice as F, memoryCulpritFindings as I, readMemoryCulprits as L, hostMemoryPressureAdvice as M, memoryCulpritsUnder as N, shutdownIosSim as O, readHostMemoryPressure as P, deviceHoldsApk as R, renameIosSim as S, resolveIosCreation as T, ownedSimName as _, createOwnedIosSim as a, parseSimctlList as b, eraseIosSim as c, listAllIosSims as d, listAllIosSimsAsync as f, listUserApps as g, listIosRuntimesAsync as h, createIosSimSnapshot as i, parseIosSimulatorApp as j, uninstallIosApp as k, iosRuntimeMatches as l, listIosRuntimes as m, bootIosSim as n, deleteIosSim as o, listIosDeviceTypes as p, clearIosAppData as r, deleteParkedIosSim as s, IOS_BOOT_TIMEOUT_MS as t, iosSimulatorFailureAdvice as u, parkedSimName as v, resetIosPrivacy as w, pickDefaultIosCreation as x, parseRuntimeVersion as y, deviceHoldsBundle as z };
952
+ export { configuredIosSimulatorViewer as A, deviceHoldsBundle as B, resetIosKeychain as C, sanitizeDeviceLabel as D, resolveOwnedIosSim as E, readHostMemoryPressureAsync as F, memoryCulpritAdvice as I, memoryCulpritFindings as L, hostMemoryPressureAdvice as M, memoryCulpritsUnder as N, shutdownIosSim as O, readHostMemoryPressure as P, readMemoryCulpritsAsync as R, renameIosSim as S, resolveIosCreation as T, ownedSimName as _, createOwnedIosSim as a, parseSimctlList as b, eraseIosSim as c, listAllIosSims as d, listAllIosSimsAsync as f, listUserApps as g, listIosRuntimesAsync as h, createIosSimSnapshot as i, parseIosSimulatorApp as j, uninstallIosApp as k, iosRuntimeMatches as l, listIosRuntimes as m, bootIosSim as n, deleteIosSim as o, listIosDeviceTypesAsync as p, clearIosAppData as r, deleteParkedIosSim as s, IOS_BOOT_TIMEOUT_MS as t, iosSimulatorFailureAdvice as u, parkedSimName as v, resetIosPrivacy as w, pickDefaultIosCreation as x, parseRuntimeVersion as y, deviceHoldsApk as z };
@@ -1,4 +1,4 @@
1
- import { t as getExecutor } from "./exec-DqKo9GKJ.mjs";
1
+ import { t as getExecutor } from "./exec-_UbtCQcG.mjs";
2
2
  //#region src/collector/ios-device.ts
3
3
  const CONSOLE_ENV = { OS_ACTIVITY_DT_MODE: "enable" };
4
4
  const DEV_MENU_LAUNCH_ARGS = [