stim 1.30.0 → 1.32.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 (144) hide show
  1. package/dist/{acquire-artifact-CrZ4rEbI.mjs → acquire-artifact-CI9fIokp.mjs} +1 -1
  2. package/dist/{act-BaKjDWGw.mjs → act-BfChMxcU.mjs} +71 -22
  3. package/dist/{activity-BTaUf0tc.mjs → activity-yjH7Q3zn.mjs} +4 -4
  4. package/dist/{agent-device-usage-output-DYBpO17K.mjs → agent-device-usage-output-DO412bsG.mjs} +4 -4
  5. package/dist/{android-BWqdDK6R.mjs → android-BNm5A40S.mjs} +41 -39
  6. package/dist/{android-BEQUDpOg.mjs → android-BeeC15Ve.mjs} +1 -1
  7. package/dist/{android-BCYLwmH6.mjs → android-D56S_GX3.mjs} +5 -5
  8. package/dist/{android-DdKG6lyD.mjs → android-DsEj2CCs.mjs} +27 -6
  9. package/dist/{android-cas-BH6K12__.mjs → android-cas-CbumHXIq.mjs} +4 -4
  10. package/dist/api.mjs +26 -26
  11. package/dist/{apk-signed-tail-B8kw4a8K.mjs → apk-signed-tail-B9Usseps.mjs} +2 -2
  12. package/dist/{artifact-M6W2l-xh.mjs → artifact-C8Nvp07y.mjs} +12 -12
  13. package/dist/{artifact-DTHXcmQ3.mjs → artifact-k1x9Jrn0.mjs} +12 -12
  14. package/dist/{auto-placement-CZaWDmcY.mjs → auto-placement--nfdQ9rp.mjs} +10 -10
  15. package/dist/{browser-web-JQ7lFej3.mjs → browser-web-6RDAeH0z.mjs} +11 -11
  16. package/dist/{build-C2ZWoCmg.mjs → build-VXX_dtl5.mjs} +22 -22
  17. package/dist/{build-cache-DlC3owap.mjs → build-cache-BsKim4V7.mjs} +4 -4
  18. package/dist/{build-plan-J3iRR3gI.mjs → build-plan-BK34X2iY.mjs} +6 -6
  19. package/dist/{cache-manifest-evF_zJ9U.mjs → cache-manifest-CfiEny4T.mjs} +1 -1
  20. package/dist/cache-manifest.mjs +1 -1
  21. package/dist/{ccache-B8gY50-h.mjs → ccache-BrwGIxmV.mjs} +15 -15
  22. package/dist/{cli-xRPXJPtA.mjs → cli-Jc7obreB.mjs} +18 -18
  23. package/dist/cli.mjs +1 -1
  24. package/dist/{client-DrHykA24.mjs → client-lDmA-5jx.mjs} +4 -4
  25. package/dist/collector-run.mjs +4 -4
  26. package/dist/{command-output-BBW8eWPL.mjs → command-output-CfPW1bKP.mjs} +1 -1
  27. package/dist/{config-AbUjIBOQ.mjs → config-D5qNWJEP.mjs} +2 -2
  28. package/dist/{dependencies-vUh9mp5z.mjs → dependencies-DkZ8681S.mjs} +37 -37
  29. package/dist/{dependency-state-CPKAKCZ8.mjs → dependency-state-DZVln1P9.mjs} +1 -1
  30. package/dist/{dev-client-CASgAOu7.mjs → dev-client-eDZy6RoX.mjs} +2 -2
  31. package/dist/{device-CsIdRXfm.mjs → device-CTozKhU0.mjs} +11 -11
  32. package/dist/{device-ChnO7bR9.mjs → device-CeIikWac.mjs} +12 -12
  33. package/dist/{device-android-CcdQqQWg.mjs → device-android-zgD9We85.mjs} +20 -14
  34. package/dist/{device-capacity-C5C_jOQd.mjs → device-capacity-Bki6B-7h.mjs} +173 -74
  35. package/dist/device-host-worker.mjs +19 -15
  36. package/dist/{device-ios-DbmtPIiw.mjs → device-ios-TE5ejeXx.mjs} +8 -8
  37. package/dist/{device-lease-run-Do6zYA7y.mjs → device-lease-run-DeNGjJZM.mjs} +4 -4
  38. package/dist/{device-pool-CpoYiCGO.mjs → device-pool-mjyUYaau.mjs} +3 -3
  39. package/dist/{device-provision-B5Ms94qY.mjs → device-provision-j_B7G0e6.mjs} +8 -8
  40. package/dist/{doctor-CJSB5q-s.mjs → doctor-BlrcoQ7B.mjs} +36 -25
  41. package/dist/{doctor-CpfbYh3Q.mjs → doctor-CNZuvTSe.mjs} +1 -1
  42. package/dist/doctor-fingerprint.mjs +1 -1
  43. package/dist/{doctor-CLE4AZEI.mjs → doctor-sSLtn-j1.mjs} +15 -15
  44. package/dist/{doctor-watchman-D1IyMle9.mjs → doctor-watchman-CCuboyj1.mjs} +4 -4
  45. package/dist/{eas-build-DIDOHw2P.mjs → eas-build-CaG-Sfs9.mjs} +2 -2
  46. package/dist/{eas-fallback-DVS9oBSc.mjs → eas-fallback-BpX1lpco.mjs} +4 -4
  47. package/dist/{eas-session-ledger-CW3l-inB.mjs → eas-session-ledger-B-nTfdfk.mjs} +19 -6
  48. package/dist/{error-diagnostics-XJ9eWdtq.mjs → error-diagnostics-q56Im4D8.mjs} +8 -8
  49. package/dist/{gc-BVIcxCxE.mjs → gc-By2Kc-Ek.mjs} +2 -2
  50. package/dist/{gc-Co7PE36D.mjs → gc-Dv6nb9nf.mjs} +17 -17
  51. package/dist/{guide-DkepBgHT.mjs → guide-CwpsGWTJ.mjs} +141 -39
  52. package/dist/{hosted-android-Du7NxufJ.mjs → hosted-android-c5nPJA6S.mjs} +3 -3
  53. package/dist/{hosted-client-Cect92SZ.mjs → hosted-client-Hs-fD4L3.mjs} +36 -12
  54. package/dist/{hosted-logs-Opcjv1Lr.mjs → hosted-logs-BteXG8rm.mjs} +16 -10
  55. package/dist/{hosted-logs-sync-wsI7N1Hv.mjs → hosted-logs-sync-B8bjLEMs.mjs} +5 -5
  56. package/dist/{hosted-macos-BP9Kucat.mjs → hosted-macos-B4byscei.mjs} +5 -5
  57. package/dist/{hosted-native-DmdLSmvu.mjs → hosted-native-Bh9IJ_t5.mjs} +7 -7
  58. package/dist/{idle-shutdown-BcMN_cLm.mjs → idle-shutdown-BaeCo4ps.mjs} +6 -6
  59. package/dist/{ios-CXnoVO_z.mjs → ios-CdAV4-1E.mjs} +4 -4
  60. package/dist/{ios-BFkBHuRT.mjs → ios-D1XKSITX.mjs} +8 -8
  61. package/dist/{ios-CG0IsLtt.mjs → ios-D3oK9-O4.mjs} +32 -31
  62. package/dist/{ios-device-ClSfuu-_.mjs → ios-device-D7Gi3e1I.mjs} +1 -1
  63. package/dist/{ios-project-BM9TbTE7.mjs → ios-project-DDQlX_jX.mjs} +7 -7
  64. package/dist/{ios-state-Ce_dystM.mjs → ios-state-BEIJRJ7P.mjs} +1 -1
  65. package/dist/{js-swap-9Rx-5Nqz.mjs → js-swap-C8N5DXHl.mjs} +4 -4
  66. package/dist/{launch-DvJV1Mx4.mjs → launch-DxpvL6il.mjs} +19 -19
  67. package/dist/{lightened-23pqe7LS.mjs → lightened-Df6II_XI.mjs} +4 -4
  68. package/dist/{logs-DJgZlf2K.mjs → logs-CuWJWF88.mjs} +7 -7
  69. package/dist/{logs-Pkeh3wZk.mjs → logs-zv3ge7c6.mjs} +5 -5
  70. package/dist/{macos-DPvPQadc.mjs → macos-C6U-4Iip.mjs} +19 -19
  71. package/dist/{macos-Du07NsOB.mjs → macos-CbRZheLw.mjs} +1 -1
  72. package/dist/macos-run.mjs +1 -1
  73. package/dist/maintenance-run.mjs +5 -5
  74. package/dist/{metro-BMQHczcf.mjs → metro-mKHEMO-a.mjs} +2 -2
  75. package/dist/{metro-request-BtF7ox53.mjs → metro-request-DODHNXCN.mjs} +8 -2
  76. package/dist/{named-ports-DcktE2Pw.mjs → named-ports-B0hCk2v-.mjs} +2 -2
  77. package/dist/{native-android-CBOM1_gB.mjs → native-android-9dVFqvTT.mjs} +16 -16
  78. package/dist/{native-gradle-artifact-inputs-D_iAfPuS.mjs → native-gradle-artifact-inputs-BlY97pt8.mjs} +3 -3
  79. package/dist/{native-runtime-D4cTwU0Z.mjs → native-runtime-DQfxW5Au.mjs} +6 -6
  80. package/dist/{native-xcode-inputs-BF-ogSnG.mjs → native-xcode-inputs-tDuUvSU8.mjs} +2 -2
  81. package/dist/{native-xcode-ios-DwJBfMP6.mjs → native-xcode-ios-CG-PD-7g.mjs} +15 -15
  82. package/dist/offload-worker.mjs +19 -19
  83. package/dist/{ownership-Dtz9G5Gl.mjs → ownership-CCfiBfOP.mjs} +2 -2
  84. package/dist/{phone-reverses-CvhhkGMH.mjs → phone-reverses-CnNwdz9A.mjs} +4 -4
  85. package/dist/{placement-log-CRR_TE1r.mjs → placement-log-CRL0IY-k.mjs} +1 -1
  86. package/dist/{plan-placement-CdLc-pTb.mjs → plan-placement-2imvnlWP.mjs} +6 -6
  87. package/dist/{ports-g4N_cfyg.mjs → ports-CKktj5lV.mjs} +3 -3
  88. package/dist/{prebuild-DBJMhwSS.mjs → prebuild-CyNrUWgV.mjs} +9 -9
  89. package/dist/{project-DPQjnpcI.mjs → project-Crtcbfl0.mjs} +15 -15
  90. package/dist/{react-native-android-idMWOwkX.mjs → react-native-android-Cabe2YER.mjs} +22 -22
  91. package/dist/{react-native-build-BSoh4HkH.mjs → react-native-build-DhWBUV_H.mjs} +7 -7
  92. package/dist/{react-native-doctor-CYibY8-4.mjs → react-native-doctor-D-twmBon.mjs} +5 -5
  93. package/dist/{react-native-ios-13KIIOOy.mjs → react-native-ios-u_ley41B.mjs} +14 -14
  94. package/dist/{recordings-CHMaF73C.mjs → recordings-BWnIlhZH.mjs} +1 -1
  95. package/dist/{reload-BUQI3dSu.mjs → reload-D2TpUlns.mjs} +14 -14
  96. package/dist/{reload-B9DZOjcV.mjs → reload-f9hvEHE9.mjs} +1 -1
  97. package/dist/{remote-C-RGHhAP.mjs → remote-BsBAjlD2.mjs} +8 -8
  98. package/dist/{result-W4HCum4A.mjs → result-EOsWV6sp.mjs} +16 -16
  99. package/dist/{run-BQAmrohh.mjs → run-2CHAJ9Oj.mjs} +1 -1
  100. package/dist/{selection-PCMT97XD.mjs → selection-C4ZQz_ER.mjs} +3 -3
  101. package/dist/{server-bare-CEQdB_F4.mjs → server-bare-CFyVFZXJ.mjs} +1 -1
  102. package/dist/{server-command-oqi3TDy7.mjs → server-command-BMyKtnjH.mjs} +4 -4
  103. package/dist/{server-expo-C1K07shx.mjs → server-expo-BLxcN2x2.mjs} +2 -2
  104. package/dist/server-expo-DwR3eD-a.mjs +2 -0
  105. package/dist/{settings-D776ygML.mjs → settings-C6UTYW2K.mjs} +1 -1
  106. package/dist/{settings-CKlMOmhj.mjs → settings-jeS0WmUF.mjs} +2 -2
  107. package/dist/{settings-payload-CE-NZ6Lq.mjs → settings-payload-CrX933Xi.mjs} +4 -4
  108. package/dist/{settings-write-D7Xwa_-M.mjs → settings-write-DMcT23Kl.mjs} +5 -5
  109. package/dist/settings.schema.json +47 -5
  110. package/dist/{simslim-CbpHERcv.mjs → simslim-93xmPh-d.mjs} +1 -1
  111. package/dist/{slot-launch-CeIK1iUI.mjs → slot-launch-CSpQcFZw.mjs} +6 -6
  112. package/dist/{stage-Blqe6bWb.mjs → stage-Cf9uSM1a.mjs} +1 -1
  113. package/dist/{start-B7J5a9nS.mjs → start-CLN_r9EG.mjs} +10 -10
  114. package/dist/{start-CvP2pJjc.mjs → start-CquYgzVf.mjs} +1 -1
  115. package/dist/{state-D5ZxwCGJ.mjs → state-CM_HvvkS.mjs} +2 -2
  116. package/dist/{state-C2AUjjhg.mjs → state-CiflgxTP.mjs} +1 -1
  117. package/dist/{stats-Uo7l8OAk.mjs → stats-BVEZuSlg.mjs} +4 -4
  118. package/dist/{status-CqJI1TgG.mjs → status-Bhdy07v0.mjs} +1 -1
  119. package/dist/{status-_rWXFSO7.mjs → status-D0ruTmPl.mjs} +26 -25
  120. package/dist/{status-CK7ZoEhV.mjs → status-GQ-JqvRi.mjs} +1 -1
  121. package/dist/{status-watch-CnSyXUmj.mjs → status-watch-DSu_hhg6.mjs} +4 -4
  122. package/dist/status-worker.mjs +1 -1
  123. package/dist/{stim-desktop-CYXLFpFS.mjs → stim-desktop-1XxET4S8.mjs} +1 -1
  124. package/dist/{stop-CMVfaA-6.mjs → stop-B616ZyTv.mjs} +4 -4
  125. package/dist/{stop-Bogo9oO2.mjs → stop-RZqER_Ww.mjs} +2 -2
  126. package/dist/{stop-CnF9ixYe.mjs → stop-W4DK8qZq.mjs} +15 -15
  127. package/dist/supervisor-run.mjs +134 -42
  128. package/dist/{support-DUevTPur.mjs → support-NxnD8QXd.mjs} +9 -9
  129. package/dist/{support-BGqpYMV8.mjs → support-S_5nkkzs.mjs} +4 -4
  130. package/dist/{swiftpm-artifact-inputs-BcJk6-3u.mjs → swiftpm-artifact-inputs-yp8D5LE4.mjs} +1 -1
  131. package/dist/{swiftpm-macos-DBrmoocG.mjs → swiftpm-macos-Gtq9bNQb.mjs} +8 -8
  132. package/dist/{toolchain-Cw9VVHOY.mjs → toolchain-B2bN8jEo.mjs} +1 -1
  133. package/dist/{toolchain-DLdoyxIt.mjs → toolchain-Bnm8vUCV.mjs} +4 -4
  134. package/dist/{warm-progress-DQ2wQZKp.mjs → warm-progress-_aTMvkIH.mjs} +3 -3
  135. package/dist/{web-g9U7L1sR.mjs → web-BdWG8b5_.mjs} +8 -8
  136. package/dist/web-DwuluWJt.mjs +2 -0
  137. package/dist/web-run.mjs +4 -4
  138. package/dist/{workspace-state-DGwkPXwq.mjs → workspace-state-3bF4TB8P.mjs} +2 -2
  139. package/dist/{workspaces-7_RWoi6c.mjs → workspaces-C59v9bpD.mjs} +19 -15
  140. package/dist/{worktree-qKJ3x07S.mjs → worktree-CinoSsGy.mjs} +24 -24
  141. package/dist/{worktree-DEet9H3p.mjs → worktree-K9F50fD_.mjs} +1 -1
  142. package/package.json +7 -7
  143. package/dist/server-expo-BUFAq2In.mjs +0 -2
  144. package/dist/web-CI_qCRPw.mjs +0 -2
@@ -1,17 +1,17 @@
1
1
  import { D as ownership_claim_exports, S as process_identity_exports, c as throwIfCancelled, l as WorkspaceProcessCleanupError, s as cancelledError, t as getExecutor, u as withWorkspaceProcessLock } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1 } from "./workspace-state-DGwkPXwq.mjs";
3
- import { p as getProject } from "./config-AbUjIBOQ.mjs";
4
- import { l as phaseLine } from "./command-output-BBW8eWPL.mjs";
5
- import { N as metroPortSetting, a as SETTING_SHAPE_REMEDY, ct as webSettings } from "./settings-D776ygML.mjs";
6
- import { b as isPackageResolvable, v as detectIsExpo } from "./project-DPQjnpcI.mjs";
7
- import { d as resolveProjectMetro } from "./metro-BMQHczcf.mjs";
2
+ import { E as workspaceDir, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1 } from "./workspace-state-3bF4TB8P.mjs";
3
+ import { m as getProject } from "./config-D5qNWJEP.mjs";
4
+ import { l as phaseLine } from "./command-output-CfPW1bKP.mjs";
5
+ import { N as metroPortSetting, a as SETTING_SHAPE_REMEDY, ct as webSettings } from "./settings-C6UTYW2K.mjs";
6
+ import { b as isPackageResolvable, v as detectIsExpo } from "./project-Crtcbfl0.mjs";
7
+ import { d as resolveProjectMetro } from "./metro-mKHEMO-a.mjs";
8
8
  import { c as readNdjsonGenerations$1 } from "./ndjson-CrjIsGzw.mjs";
9
- import { Wt as readMetroRecords } from "./ccache-B8gY50-h.mjs";
10
- import { f as webLogFile, m as webSupervisorLogFile, o as readWebRecord, s as updateWebRecord } from "./state-D5ZxwCGJ.mjs";
11
- import { ft as teardownBrowserHeld, x as resolveSupervisorTarget } from "./workspaces-7_RWoi6c.mjs";
12
- import { i as reserveBrowserPort, n as getNamedPort } from "./named-ports-DcktE2Pw.mjs";
9
+ import { Wt as readMetroRecords } from "./ccache-BrwGIxmV.mjs";
10
+ import { f as webLogFile, m as webSupervisorLogFile, o as readWebRecord, s as updateWebRecord } from "./state-CM_HvvkS.mjs";
11
+ import { ft as teardownBrowserHeld, x as resolveSupervisorTarget } from "./workspaces-C59v9bpD.mjs";
12
+ import { i as reserveBrowserPort, n as getNamedPort } from "./named-ports-B0hCk2v-.mjs";
13
13
  import { n as sendToOwnedPage, t as liveWebRecord } from "./page-CQJlcj3x.mjs";
14
- import { o as resolveWorkspaceMetroPort } from "./start-B7J5a9nS.mjs";
14
+ import { o as resolveWorkspaceMetroPort } from "./start-CLN_r9EG.mjs";
15
15
  import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
16
16
  import { n as windowsLauncherArgs } from "./detached-entry-BPlSaCwC.mjs";
17
17
  import { a as findChrome, t as CHROME_INSTALL_REMEDY } from "./chrome-DyDWurWG.mjs";
@@ -1,28 +1,28 @@
1
1
  import { c as throwIfCancelled, s as cancelledError, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir, a as recordWorkspaceUseAsync, k as workspaceLogsDir } from "./workspace-state-DGwkPXwq.mjs";
3
- import { E as upsertProject, O as withConfigLockAsync, p as getProject, u as getConcurrencyLimits } from "./config-AbUjIBOQ.mjs";
4
- import { l as phaseLine } from "./command-output-BBW8eWPL.mjs";
5
- import { J as resolveCacheProviderConfig, Z as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY } from "./settings-D776ygML.mjs";
6
- import { f as projectRegistry, v as detectIsExpo } from "./project-DPQjnpcI.mjs";
7
- import { s as workspaceShareURL } from "./stim-desktop-CYXLFpFS.mjs";
8
- import { A as hostSystemImageArch } from "./android-DdKG6lyD.mjs";
2
+ import { E as workspaceDir, a as recordWorkspaceUseAsync, k as workspaceLogsDir } from "./workspace-state-3bF4TB8P.mjs";
3
+ import { D as upsertProject, k as withConfigLockAsync, m as getProject, u as getConcurrencyLimits } from "./config-D5qNWJEP.mjs";
4
+ import { l as phaseLine } from "./command-output-CfPW1bKP.mjs";
5
+ import { J as resolveCacheProviderConfig, Z as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY } from "./settings-C6UTYW2K.mjs";
6
+ import { f as projectRegistry, v as detectIsExpo } from "./project-Crtcbfl0.mjs";
7
+ import { s as workspaceShareURL } from "./stim-desktop-1XxET4S8.mjs";
8
+ import { j as hostSystemImageArch } from "./android-DsEj2CCs.mjs";
9
9
  import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
10
- import { An as checkEasAuth, Rn as resolveRemote, zn as uploadRemote } from "./ccache-B8gY50-h.mjs";
11
- import { $ as tapBuildLog, Q as startBuildProgress, St as acquireBuildSlot, Tt as releaseBuildSlot, X as recordFinishedBuild, ct as recordRunStats, it as readRunEstimates, lt as statsProjectKey, rt as createRunRecorder } from "./workspaces-7_RWoi6c.mjs";
12
- import { H as readBundleId, ct as withNativeBuildRun, st as runCancellationSignal } from "./toolchain-DLdoyxIt.mjs";
13
- import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-BTaUf0tc.mjs";
14
- import { T as storedAppId, x as providerUploadOutcome } from "./build-cache-DlC3owap.mjs";
15
- import { m as listIosRuntimes } from "./ios-CXnoVO_z.mjs";
10
+ import { An as checkEasAuth, Rn as resolveRemote, zn as uploadRemote } from "./ccache-BrwGIxmV.mjs";
11
+ import { $ as tapBuildLog, Q as startBuildProgress, St as acquireBuildSlot, Tt as releaseBuildSlot, X as recordFinishedBuild, ct as recordRunStats, it as readRunEstimates, lt as statsProjectKey, rt as createRunRecorder } from "./workspaces-C59v9bpD.mjs";
12
+ import { H as readBundleId, ct as withNativeBuildRun, st as runCancellationSignal } from "./toolchain-Bnm8vUCV.mjs";
13
+ import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-yjH7Q3zn.mjs";
14
+ import { T as storedAppId, x as providerUploadOutcome } from "./build-cache-BsKim4V7.mjs";
15
+ import { m as listIosRuntimes } from "./ios-CdAV4-1E.mjs";
16
16
  import { d as optimizationBuildProfile, l as artifactCachePolicy } from "./errors-DHm_U5gv.mjs";
17
- import { S as setRemoteLogSink } from "./client-DrHykA24.mjs";
18
- import { d as resolveBuildPlacement } from "./selection-PCMT97XD.mjs";
19
- import { c as iosProjectPathError, g as resolveIosBuildSetup, m as resolveConfiguration, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-DUevTPur.mjs";
20
- import { f as settleFingerprintCheck } from "./prebuild-DBJMhwSS.mjs";
21
- import { n as ensureWorkspaceStorageSafely } from "./native-runtime-D4cTwU0Z.mjs";
22
- import { t as acquireAndroidArtifact } from "./artifact-M6W2l-xh.mjs";
23
- import { a as persistLastBuild, l as resolveAndroidBuildPlan, n as finishAndroidUpload } from "./result-W4HCum4A.mjs";
24
- import { o as lastBuildRecord } from "./ios-project-BM9TbTE7.mjs";
25
- import { t as acquireIosArtifact } from "./artifact-DTHXcmQ3.mjs";
17
+ import { S as setRemoteLogSink } from "./client-lDmA-5jx.mjs";
18
+ import { d as resolveBuildPlacement } from "./selection-C4ZQz_ER.mjs";
19
+ import { c as iosProjectPathError, g as resolveIosBuildSetup, m as resolveConfiguration, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-NxnD8QXd.mjs";
20
+ import { f as settleFingerprintCheck } from "./prebuild-CyNrUWgV.mjs";
21
+ import { n as ensureWorkspaceStorageSafely } from "./native-runtime-DQfxW5Au.mjs";
22
+ import { t as acquireAndroidArtifact } from "./artifact-C8Nvp07y.mjs";
23
+ import { a as persistLastBuild, l as resolveAndroidBuildPlan, n as finishAndroidUpload } from "./result-EOsWV6sp.mjs";
24
+ import { o as lastBuildRecord } from "./ios-project-DDQlX_jX.mjs";
25
+ import { t as acquireIosArtifact } from "./artifact-k1x9Jrn0.mjs";
26
26
  import { constants, promises } from "node:fs";
27
27
  import { basename, join } from "node:path";
28
28
  import { hostSimulatorArch } from "@stim-cli/core";
@@ -1,9 +1,9 @@
1
1
  import { c as throwIfCancelled, t as getExecutor, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
2
- import { y as sharedBuildCache } from "./workspace-state-DGwkPXwq.mjs";
2
+ import { y as sharedBuildCache } from "./workspace-state-3bF4TB8P.mjs";
3
3
  import { a as killOnAbort, c as gitQuiet, o as git, r as childEnvironment, s as gitAsync } from "./operation-exec-Dp4FuIGR.mjs";
4
- import { m as defaultAndroidLayout } from "./settings-D776ygML.mjs";
5
- import { r as register } from "./cache-manifest-evF_zJ9U.mjs";
6
- import { r as writeSignedTail, t as computeSignedTail } from "./apk-signed-tail-B8kw4a8K.mjs";
4
+ import { m as defaultAndroidLayout } from "./settings-C6UTYW2K.mjs";
5
+ import { r as register } from "./cache-manifest-CfiEny4T.mjs";
6
+ import { r as writeSignedTail, t as computeSignedTail } from "./apk-signed-tail-B9Usseps.mjs";
7
7
  import { createHash } from "node:crypto";
8
8
  import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
9
9
  import { join } from "node:path";
@@ -1,10 +1,10 @@
1
1
  import { T as trackReportResource } from "./exec-aULwtNly.mjs";
2
- import { i as formatDuration, l as phaseLine, m as shortHash, u as plural } from "./command-output-BBW8eWPL.mjs";
3
- import { an as makeTemporaryDirectory, sn as removeTemporaryEntryAsync } from "./settings-D776ygML.mjs";
4
- import { jn as easAuthNote } from "./ccache-B8gY50-h.mjs";
5
- import { at as readStats, q as estimateBuild } from "./workspaces-7_RWoi6c.mjs";
6
- import { s as entryDir, t as artifactIn } from "./build-cache-DlC3owap.mjs";
7
- import { l as predictBuildMiss, o as staleNativeDirRefusal } from "./prebuild-DBJMhwSS.mjs";
2
+ import { i as formatDuration, l as phaseLine, m as shortHash, u as plural } from "./command-output-CfPW1bKP.mjs";
3
+ import { an as makeTemporaryDirectory, sn as removeTemporaryEntryAsync } from "./settings-C6UTYW2K.mjs";
4
+ import { jn as easAuthNote } from "./ccache-BrwGIxmV.mjs";
5
+ import { at as readStats, q as estimateBuild } from "./workspaces-C59v9bpD.mjs";
6
+ import { s as entryDir, t as artifactIn } from "./build-cache-BsKim4V7.mjs";
7
+ import { l as predictBuildMiss, o as staleNativeDirRefusal } from "./prebuild-CyNrUWgV.mjs";
8
8
  import chalk from "chalk";
9
9
  import { PROVIDER_LOAD_TIMEOUT_ENV, PROVIDER_LOAD_TIMEOUT_MS, buildResolveTimeoutMs, resolveTieredBuild, timeoutFromEnv } from "@stim-cli/cache";
10
10
  //#region src/commands/build-plan.ts
@@ -1,4 +1,4 @@
1
- import { d as getConfigDir } from "./config-AbUjIBOQ.mjs";
1
+ import { d as getConfigDir } from "./config-D5qNWJEP.mjs";
2
2
  import { cacheDirRefusal, readCacheManifest, updateCacheManifest } from "@stim-cli/core";
3
3
  import { join, resolve } from "path";
4
4
  import { existsSync } from "fs";
@@ -1,2 +1,2 @@
1
- import { a as unregister, i as registeredCaches, n as readManifest, r as register, t as manifestPath } from "./cache-manifest-evF_zJ9U.mjs";
1
+ import { a as unregister, i as registeredCaches, n as readManifest, r as register, t as manifestPath } from "./cache-manifest-CfiEny4T.mjs";
2
2
  export { manifestPath, readManifest, register, registeredCaches, unregister };
@@ -1,24 +1,24 @@
1
1
  import { D as ownership_claim_exports, E as debugLog, S as process_identity_exports, b as operationState, c as throwIfCancelled, d as workspaceProcessLockError, l as WorkspaceProcessCleanupError, n as isTimeoutError, o as cancellableSleep, s as cancelledError, t as getExecutor, u as withWorkspaceProcessLock, y as isTermination } from "./exec-aULwtNly.mjs";
2
- import { D as workspaceId$1, E as workspaceDir, M as withDirLock$1, b as sharedCcache$1, d as writeWorkspaceState, j as workspaceStateFile$1, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1, t as clearWorkspaceStateKey, y as sharedBuildCache } from "./workspace-state-DGwkPXwq.mjs";
3
- import { F as isOnMountedVolume, G as projectDeviceSlots, H as deviceSlotPlatforms, L as measuredDirectorySizeAsync, M as directorySize, N as directorySizeAsync, O as withConfigLockAsync$1, P as formatBytes, R as volumeRootFor, _ as loadConfig$1, a as clearDevice, d as getConfigDir, o as clearSupervisor, p as getProject } from "./config-AbUjIBOQ.mjs";
2
+ import { D as workspaceId$1, E as workspaceDir, M as withDirLock$1, b as sharedCcache$1, d as writeWorkspaceState, j as workspaceStateFile$1, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1, t as clearWorkspaceStateKey, y as sharedBuildCache } from "./workspace-state-3bF4TB8P.mjs";
3
+ import { F as formatBytes, I as isOnMountedVolume, K as projectDeviceSlots, N as directorySize, P as directorySizeAsync, R as measuredDirectorySizeAsync, U as deviceSlotPlatforms, a as clearDevice, d as getConfigDir, k as withConfigLockAsync$1, m as getProject, o as clearSupervisor, v as loadConfig$1, z as volumeRootFor } from "./config-D5qNWJEP.mjs";
4
4
  import { n as stripAnsi } from "./process-output-Fpl8PYi8.mjs";
5
- import { a as formatElapsed, l as phaseLine, o as formatLongDuration, s as isAppLaunchError, u as plural } from "./command-output-BBW8eWPL.mjs";
5
+ import { a as formatElapsed, l as phaseLine, o as formatLongDuration, s as isAppLaunchError, u as plural } from "./command-output-CfPW1bKP.mjs";
6
6
  import { a as killOnAbort, n as runOperationFileQuiet, r as childEnvironment, t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
7
- import { Z as resolveProjectSettingsAsync, d as androidLayoutSetting, ft as planMetroReach, m as defaultAndroidLayout } from "./settings-D776ygML.mjs";
8
- import { C as resolvePackageJson, M as readMetroTunnel, N as readPidFile, P as readRemoteSession, i as findProjectRoot$1, j as clearWorkspaceSupervisor, k as clearRemoteSession, s as ownedDeviceLabel, v as detectIsExpo } from "./project-DPQjnpcI.mjs";
9
- import { G as ownedAvdSerialResolverAsync, I as listAvdsAsync, J as parseAvdSystemImage, L as listInstalledSystemImages, V as ownedAvdDirectory, d as androidToolPath, dt as isStimOwnedSim, m as avdIniPaths, mt as dropParked, o as androidHome, q as parseAvdDeviceProfile, ut as isStimOwnedAvd, v as avdStorageRoots, yt as readParked } from "./android-DdKG6lyD.mjs";
10
- import { a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, h as isMetroRunning, r as killMetroTreeAsync, u as processCwds } from "./metro-BMQHczcf.mjs";
7
+ import { Z as resolveProjectSettingsAsync, d as androidLayoutSetting, ft as planMetroReach, m as defaultAndroidLayout } from "./settings-C6UTYW2K.mjs";
8
+ import { C as resolvePackageJson, M as readMetroTunnel, N as readPidFile, P as readRemoteSession, i as findProjectRoot$1, j as clearWorkspaceSupervisor, k as clearRemoteSession, s as ownedDeviceLabel, v as detectIsExpo } from "./project-Crtcbfl0.mjs";
9
+ import { R as listAvdsAsync, U as ownedAvdDirectory, X as parseAvdSystemImage, Y as parseAvdDeviceProfile, d as androidToolPath, ft as isStimOwnedAvd, gt as dropParked, m as avdIniPaths, o as androidHome, pt as isStimOwnedSim, q as ownedAvdSerialResolverAsync, xt as readParked, y as avdStorageRoots, z as listInstalledSystemImages } from "./android-DsEj2CCs.mjs";
10
+ import { a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, h as isMetroRunning, r as killMetroTreeAsync, u as processCwds } from "./metro-mKHEMO-a.mjs";
11
11
  import { c as readNdjsonGenerations$1, i as createNdjsonWriter, r as createNdjsonTail } from "./ndjson-CrjIsGzw.mjs";
12
- import { T as formatSpace, a as removeEasSessionClaim, d as parseWatchRoots, f as parseWatchmanClients, i as recordEasSessionClaim, l as parseSubscriberNames, n as easMachineStateRoot$1, o as removeEasSessionClaimAsync, p as parseWatchmanPid, r as readEasSessionLedger$1, s as compareStimVersions, t as assertEasMachineRootWritable, u as parseTriggerCount, w as environmentState, y as capacity } from "./eas-session-ledger-CW3l-inB.mjs";
13
- import { i as registeredCaches, r as register } from "./cache-manifest-evF_zJ9U.mjs";
14
- import { At as mapLimited, B as workspaceBuildInProgress, Dt as createGcResults, Et as GC_OUTPUT, F as collectOwnedDeviceActivityAsync, L as idleShutdownCandidates, Mt as sizeConcurrency, N as collectIdleDevicesAsync, _t as teardownParkedIosSim, bt as measureDu, dt as eraseParkedIosSim, gt as teardownParkedAvd, ht as teardownOwnedIosSim, i as clearWorkspaceOutputs, l as keptByLock, o as collectWorkspaceOutputs, pt as teardownOwnedAvd, ut as eraseParkedAvd, v as withIdleWorkspace, vt as probePublicHttp, wt as listBuildSlots, x as resolveSupervisorTarget, xt as writeUsageCache, yt as canonical$1, z as shutDownIdleDevices } from "./workspaces-7_RWoi6c.mjs";
12
+ import { T as formatSpace, a as removeEasSessionClaim, d as parseWatchRoots, f as parseWatchmanClients, i as recordEasSessionClaim, l as parseSubscriberNames, n as easMachineStateRoot$1, o as removeEasSessionClaimAsync, p as parseWatchmanPid, r as readEasSessionLedger$1, s as compareStimVersions, t as assertEasMachineRootWritable, u as parseTriggerCount, w as environmentState, y as capacity } from "./eas-session-ledger-B-nTfdfk.mjs";
13
+ import { i as registeredCaches, r as register } from "./cache-manifest-CfiEny4T.mjs";
14
+ import { At as mapLimited, B as workspaceBuildInProgress, Dt as createGcResults, Et as GC_OUTPUT, F as collectOwnedDeviceActivityAsync, L as idleShutdownCandidates, Mt as sizeConcurrency, N as collectIdleDevicesAsync, _t as teardownParkedIosSim, bt as measureDu, dt as eraseParkedIosSim, gt as teardownParkedAvd, ht as teardownOwnedIosSim, i as clearWorkspaceOutputs, l as keptByLock, o as collectWorkspaceOutputs, pt as teardownOwnedAvd, ut as eraseParkedAvd, v as withIdleWorkspace, vt as probePublicHttp, wt as listBuildSlots, x as resolveSupervisorTarget, xt as writeUsageCache, yt as canonical$1, z as shutDownIdleDevices } from "./workspaces-C59v9bpD.mjs";
15
15
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
16
- import { it as nativeRunWaitNotice, st as runCancellationSignal, ut as claimForEmptying } from "./toolchain-DLdoyxIt.mjs";
17
- import { N as listBuildLocks, b as leaseIsExpired, g as workspaceActivity, o as envDir, p as readHostProcessTableAsync, x as listLeaseFiles } from "./activity-BTaUf0tc.mjs";
18
- import { l as expoConfigContents } from "./build-cache-DlC3owap.mjs";
19
- import { G as deviceHoldsBundle, O as sanitizeDeviceLabel, W as deviceHoldsApk, b as parseSimctlList, f as listAllIosSimsAsync, g as listUserApps, j as uninstallIosApp, p as listIosDeviceTypesAsync, u as iosSimulatorFailureAdvice, y as parseRuntimeVersion } from "./ios-CXnoVO_z.mjs";
16
+ import { it as nativeRunWaitNotice, st as runCancellationSignal, ut as claimForEmptying } from "./toolchain-Bnm8vUCV.mjs";
17
+ import { N as listBuildLocks, b as leaseIsExpired, g as workspaceActivity, o as envDir, p as readHostProcessTableAsync, x as listLeaseFiles } from "./activity-yjH7Q3zn.mjs";
18
+ import { l as expoConfigContents } from "./build-cache-BsKim4V7.mjs";
19
+ import { G as deviceHoldsBundle, O as sanitizeDeviceLabel, W as deviceHoldsApk, b as parseSimctlList, f as listAllIosSimsAsync, g as listUserApps, j as uninstallIosApp, p as listIosDeviceTypesAsync, u as iosSimulatorFailureAdvice, y as parseRuntimeVersion } from "./ios-CdAV4-1E.mjs";
20
20
  import { n as supervisorError } from "./errors-DHm_U5gv.mjs";
21
- import { c as findBinUpward, n as expoBinFromPackage, r as expoBinPath, s as expoTelemetryEnv } from "./server-expo-C1K07shx.mjs";
21
+ import { c as findBinUpward, n as expoBinFromPackage, r as expoBinPath, s as expoTelemetryEnv } from "./server-expo-BLxcN2x2.mjs";
22
22
  import { t as DEV_MENU_LAUNCH_ARGS } from "./ios-device-CiBA-er9.mjs";
23
23
  import { t as resolveMaintenanceSettings } from "./settings-D9LtQaUw.mjs";
24
24
  import { createRequire } from "node:module";
@@ -1,27 +1,27 @@
1
1
  import { E as debugLog } from "./exec-aULwtNly.mjs";
2
- import { y as refuseRelativeStimPaths } from "./config-AbUjIBOQ.mjs";
2
+ import { b as refuseRelativeStimPaths } from "./config-D5qNWJEP.mjs";
3
3
  import { readFileSync } from "node:fs";
4
4
  import { runId, trace } from "@stim-cli/core/state";
5
5
  import { Command } from "commander";
6
6
  //#region bin/cli.ts
7
7
  const commands = /* @__PURE__ */ new Map([
8
- ["doctor", () => import("./doctor-CpfbYh3Q.mjs")],
9
- ["worktree", () => import("./worktree-DEet9H3p.mjs")],
10
- ["start", () => import("./start-CvP2pJjc.mjs")],
11
- ["ports", () => import("./ports-g4N_cfyg.mjs")],
12
- ["stop", () => import("./stop-Bogo9oO2.mjs")],
13
- ["ios", () => import("./ios-BFkBHuRT.mjs")],
14
- ["android", () => import("./android-BCYLwmH6.mjs")],
15
- ["web", () => import("./web-CI_qCRPw.mjs")],
16
- ["macos", () => import("./macos-Du07NsOB.mjs")],
17
- ["reload", () => import("./reload-B9DZOjcV.mjs")],
18
- ["device", () => import("./device-ChnO7bR9.mjs")],
19
- ["logs", () => import("./logs-DJgZlf2K.mjs")],
20
- ["settings", () => import("./settings-CKlMOmhj.mjs")],
21
- ["status", () => import("./status-CqJI1TgG.mjs")],
22
- ["stats", () => import("./stats-Uo7l8OAk.mjs")],
23
- ["gc", () => import("./gc-BVIcxCxE.mjs")],
24
- ["guide", () => import("./guide-DkepBgHT.mjs")]
8
+ ["doctor", () => import("./doctor-CNZuvTSe.mjs")],
9
+ ["worktree", () => import("./worktree-K9F50fD_.mjs")],
10
+ ["start", () => import("./start-CquYgzVf.mjs")],
11
+ ["ports", () => import("./ports-CKktj5lV.mjs")],
12
+ ["stop", () => import("./stop-RZqER_Ww.mjs")],
13
+ ["ios", () => import("./ios-D1XKSITX.mjs")],
14
+ ["android", () => import("./android-D56S_GX3.mjs")],
15
+ ["web", () => import("./web-DwuluWJt.mjs")],
16
+ ["macos", () => import("./macos-CbRZheLw.mjs")],
17
+ ["reload", () => import("./reload-f9hvEHE9.mjs")],
18
+ ["device", () => import("./device-CeIikWac.mjs")],
19
+ ["logs", () => import("./logs-CuWJWF88.mjs")],
20
+ ["settings", () => import("./settings-jeS0WmUF.mjs")],
21
+ ["status", () => import("./status-Bhdy07v0.mjs")],
22
+ ["stats", () => import("./stats-BVEZuSlg.mjs")],
23
+ ["gc", () => import("./gc-By2Kc-Ek.mjs")],
24
+ ["guide", () => import("./guide-CwpsGWTJ.mjs")]
25
25
  ]);
26
26
  const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
27
27
  const program = new Command();
package/dist/cli.mjs CHANGED
@@ -4,6 +4,6 @@ const encode = (version) => version.split(".", 3).reduce((sum, part) => sum * 1e
4
4
  if (encode(process.versions.node) < encode("22.12.0")) {
5
5
  process.stderr.write(`STIM_NODE_UNSUPPORTED: Stim needs Node 22.12.0 or later; this is Node ${process.versions.node} at ${process.execPath}. To run Stim where a project pins an older Node, see https://stim.appandflow.com/docs/requirements#older-node-pins\n`);
6
6
  process.exitCode = 1;
7
- } else import("./cli-xRPXJPtA.mjs");
7
+ } else import("./cli-Jc7obreB.mjs");
8
8
  //#endregion
9
9
  export {};
@@ -1,11 +1,11 @@
1
1
  import { C as reportSignal, E as debugLog, b as operationState, c as throwIfCancelled, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { _ as loadConfig$1, ct as sayHello, nt as openAuthenticated, st as resolveEndpoint } from "./config-AbUjIBOQ.mjs";
2
+ import { ct as resolveEndpoint, lt as sayHello, rt as openAuthenticated, v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
3
3
  import { o as git, s as gitAsync } from "./operation-exec-Dp4FuIGR.mjs";
4
- import { G as planCacheEmptying, R as maintenanceLogger, n as CCACHE_UNAVAILABLE, t as CCACHE_NOT_RUN, ur as discoverCaches, z as emptyCaches } from "./ccache-B8gY50-h.mjs";
4
+ import { G as planCacheEmptying, R as maintenanceLogger, n as CCACHE_UNAVAILABLE, t as CCACHE_NOT_RUN, ur as discoverCaches, z as emptyCaches } from "./ccache-BrwGIxmV.mjs";
5
5
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
6
- import { A as COMPILATION_CACHE_NOT_RUN, D as readRubyVersion, S as workerToolchain, b as toolchainNotes, c as iosToolchainAsync, j as COMPILATION_CACHE_UNAVAILABLE, o as cocoapodsDifference, st as runCancellationSignal, y as toolchainMismatches } from "./toolchain-DLdoyxIt.mjs";
6
+ import { A as COMPILATION_CACHE_NOT_RUN, D as readRubyVersion, S as workerToolchain, b as toolchainNotes, c as iosToolchainAsync, j as COMPILATION_CACHE_UNAVAILABLE, o as cocoapodsDifference, st as runCancellationSignal, y as toolchainMismatches } from "./toolchain-Bnm8vUCV.mjs";
7
7
  import { t as resolveMaintenanceSettings } from "./settings-D9LtQaUw.mjs";
8
- import { f as workerFailureReason, m as pairedMachines, o as namedBuildMachine, t as OffloadRefusal } from "./selection-PCMT97XD.mjs";
8
+ import { f as workerFailureReason, m as pairedMachines, o as namedBuildMachine, t as OffloadRefusal } from "./selection-C4ZQz_ER.mjs";
9
9
  import { n as fingerprintNativeInputs, r as manifestDigest } from "./native-inputs-TRTTTRxt.mjs";
10
10
  import { a as sourceManifest, i as nativeTransferManifest, n as gitVisiblePaths, r as nativeFileDigest, t as checkNativeTransferMembership } from "./native-source-D1AzWiuP.mjs";
11
11
  import { createHash, webcrypto } from "node:crypto";
@@ -1,11 +1,11 @@
1
1
  import { S as process_identity_exports } from "./exec-aULwtNly.mjs";
2
- import { k as workspaceLogsDir } from "./workspace-state-DGwkPXwq.mjs";
3
- import { V as deviceSlotKey, q as validateDeviceSlot } from "./config-AbUjIBOQ.mjs";
2
+ import { k as workspaceLogsDir } from "./workspace-state-3bF4TB8P.mjs";
3
+ import { H as deviceSlotKey, J as validateDeviceSlot } from "./config-D5qNWJEP.mjs";
4
4
  import { t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
5
- import { c as watchAppPid, i as parseLogcatLine, o as startAndroidLogcat, s as waitForAppPid, t as androidClockOffset } from "./android-BEQUDpOg.mjs";
5
+ import { c as watchAppPid, i as parseLogcatLine, o as startAndroidLogcat, s as waitForAppPid, t as androidClockOffset } from "./android-BeeC15Ve.mjs";
6
6
  import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
7
7
  import { a as startIosDeviceConsole, i as parseDeviceConsoleLine } from "./ios-device-CiBA-er9.mjs";
8
- import { a as unregisterCollector, i as registerCollector, r as readCollectors, t as collectorProcessTitle } from "./ownership-Dtz9G5Gl.mjs";
8
+ import { a as unregisterCollector, i as registerCollector, r as readCollectors, t as collectorProcessTitle } from "./ownership-CCfiBfOP.mjs";
9
9
  import { n as parseLogStreamLine, r as startIosLogStream, t as appNameFromBundleId } from "./ios-CsRVik64.mjs";
10
10
  import { existsSync } from "node:fs";
11
11
  import { isAbsolute, join, resolve } from "node:path";
@@ -1,5 +1,5 @@
1
1
  import { n as stripAnsi } from "./process-output-Fpl8PYi8.mjs";
2
- import { t as NO_PROJECT_REFUSAL } from "./project-DPQjnpcI.mjs";
2
+ import { t as NO_PROJECT_REFUSAL } from "./project-Crtcbfl0.mjs";
3
3
  import { quotedPath as quotedPath$1 } from "@stim-cli/core";
4
4
  import chalk from "chalk";
5
5
  //#region src/diagnostics/launch-error-preview.ts
@@ -2,7 +2,7 @@ import { C as reportSignal, D as ownership_claim_exports, S as process_identity_
2
2
  import { t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
3
3
  import { join } from "node:path";
4
4
  import { ambientEnv, configDir, ensurePrivateDir } from "@stim-cli/core";
5
- import { DEFAULT_SERVER_PORT, allMetroPorts, cannotHost, clientIdentity, configCorruptRepair, endpoint, endpoint as endpoint$1, findEnclosingWorktreeRoot, findPeer, findPeer as findPeer$1, getConcurrencyLimits, getConfigPath, getConfigPath as getConfigPath$1, getProject, getProjectSettings, getRepoSettings, isJsonObject, isPathPrefix as isPathPrefix$1, loadConfig, loadConfig as loadConfig$1, machineEndpoint, parseMachine, parseMachine as parseMachine$1, validateAutomaticPool, withConfigLock, withConfigLock as withConfigLock$1, withConfigLockAsync, withConfigLockAsync as withConfigLockAsync$1 } from "@stim-cli/core/state";
5
+ import { DEFAULT_SERVER_PORT, allMetroPorts, cannotHost, clientIdentity, configCorruptRepair, endpoint, endpoint as endpoint$1, findEnclosingWorktreeRoot, findPeer, findPeer as findPeer$1, getConcurrencyLimits, getConfigPath, getConfigPath as getConfigPath$1, getPlatformDeviceLimits, getProject, getProjectSettings, getRepoSettings, isJsonObject, isPathPrefix as isPathPrefix$1, loadConfig, loadConfig as loadConfig$1, machineEndpoint, parseMachine, parseMachine as parseMachine$1, validateAutomaticPool, withConfigLock, withConfigLock as withConfigLock$1, withConfigLockAsync, withConfigLockAsync as withConfigLockAsync$1 } from "@stim-cli/core/state";
6
6
  import { dirname as dirname$1, isAbsolute as isAbsolute$1, join as join$1, normalize, parse, sep as sep$1 } from "path";
7
7
  import { request } from "node:http";
8
8
  import { request as request$1 } from "node:https";
@@ -1379,4 +1379,4 @@ function allConsolePortsAndSerials({ isMounted = isOnMountedVolume } = {}) {
1379
1379
  return result;
1380
1380
  }
1381
1381
  //#endregion
1382
- export { endpoint$1 as $, writeConfigSettingAsync as A, deviceSlotFileKey as B, saveConfig as C, withConfigLock$1 as D, upsertProject as E, isOnMountedVolume as F, projectDeviceSlots as G, deviceSlotPlatforms as H, listMountedVolumes as I, SERVER_OUTDATED as J, removeSlotDevice as K, measuredDirectorySizeAsync as L, directorySize as M, directorySizeAsync as N, withConfigLockAsync$1 as O, formatBytes as P, doctorIo as Q, volumeRootFor as R, removeProject as S, setSupervisor as T, parseDeviceSlotKey as U, deviceSlotKey as V, parseDeviceSlotOption as W, diagnoseOutcome as X, diagnoseConnectFailure as Y, diagnoseTailscale as Z, loadConfig$1 as _, clearDevice as a, reachMachine as at, releaseAndroidConsolePort as b, ensureConfig as c, sayHello as ct, getConfigDir as d, diagnoseLocalUnreachable as dt, findPeer$1 as et, getConfigPath$1 as f, diagnosisFinding as ft, isPathPrefix$1 as g, getRepoSettings as h, readHostPermissions as ht, clearAndroidBootPending as i, parseMachine$1 as it, acquireAvdClaim as j, writeConfigSetting as k, findEnclosingWorktreeRoot as l, setupRemedy as lt, getProjectSettings as m, unconfirmedKeyFinding as mt, allMetroPorts as n, openAuthenticated as nt, clearSupervisor as o, realIo as ot, getProject as p, notOnTailnetDiagnosis as pt, validateDeviceSlot as q, claimMetroPort as r, outdatedServer as rt, configCorruptRepair as s, resolveEndpoint as st, allConsolePortsAndSerials as t, keyConfirmer as tt, getConcurrencyLimits as u, tailscaleStatusAsync as ut, recordIosSchemeApprovals as v, setDevice as w, releaseMetroPort as x, refuseRelativeStimPaths as y, assignSlotDevice as z };
1382
+ export { doctorIo as $, writeConfigSetting as A, assignSlotDevice as B, removeProject as C, upsertProject as D, setSupervisor as E, formatBytes as F, parseDeviceSlotOption as G, deviceSlotKey as H, isOnMountedVolume as I, validateDeviceSlot as J, projectDeviceSlots as K, listMountedVolumes as L, acquireAvdClaim as M, directorySize as N, withConfigLock$1 as O, directorySizeAsync as P, diagnoseTailscale as Q, measuredDirectorySizeAsync as R, releaseMetroPort as S, setDevice as T, deviceSlotPlatforms as U, deviceSlotFileKey as V, parseDeviceSlotKey as W, diagnoseConnectFailure as X, SERVER_OUTDATED as Y, diagnoseOutcome as Z, isPathPrefix$1 as _, clearDevice as a, parseMachine$1 as at, refuseRelativeStimPaths as b, ensureConfig as c, resolveEndpoint as ct, getConfigDir as d, tailscaleStatusAsync as dt, endpoint$1 as et, getConfigPath$1 as f, diagnoseLocalUnreachable as ft, getRepoSettings as g, readHostPermissions as gt, getProjectSettings as h, unconfirmedKeyFinding as ht, clearAndroidBootPending as i, outdatedServer as it, writeConfigSettingAsync as j, withConfigLockAsync$1 as k, findEnclosingWorktreeRoot as l, sayHello as lt, getProject as m, notOnTailnetDiagnosis as mt, allMetroPorts as n, keyConfirmer as nt, clearSupervisor as o, reachMachine as ot, getPlatformDeviceLimits as p, diagnosisFinding as pt, removeSlotDevice as q, claimMetroPort as r, openAuthenticated as rt, configCorruptRepair as s, realIo as st, allConsolePortsAndSerials as t, findPeer$1 as tt, getConcurrencyLimits as u, setupRemedy as ut, loadConfig$1 as v, saveConfig as w, releaseAndroidConsolePort as x, recordIosSchemeApprovals as y, volumeRootFor as z };
@@ -1,44 +1,44 @@
1
1
  import { o as cancellableSleep, t as getExecutor, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
2
- import { f as writeWorkspaceStateAsync, k as workspaceLogsDir, r as readWorkspaceState } from "./workspace-state-DGwkPXwq.mjs";
3
- import { B as deviceSlotFileKey, E as upsertProject, O as withConfigLockAsync, V as deviceSlotKey, p as getProject, u as getConcurrencyLimits, v as recordIosSchemeApprovals } from "./config-AbUjIBOQ.mjs";
4
- import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-BBW8eWPL.mjs";
5
- import { J as resolveCacheProviderConfig, Q as resolveSettings, St as gitCommonDirAsync, Vt as repoRootAsync, an as makeTemporaryDirectory, at as settingsLayers, dt as detectProviders, nt as settingOriginScope, on as removeTemporaryEntry } from "./settings-D776ygML.mjs";
6
- import { L as workspaceDevServerMode, f as projectRegistry, i as findProjectRoot, v as detectIsExpo, z as writeWorkspaceLaunchAsync } from "./project-DPQjnpcI.mjs";
7
- import { o as workspaceLinks } from "./stim-desktop-CYXLFpFS.mjs";
8
- import { c as pidExists, d as resolveProjectMetro, f as signalProcessTree } from "./metro-BMQHczcf.mjs";
2
+ import { f as writeWorkspaceStateAsync, k as workspaceLogsDir, r as readWorkspaceState } from "./workspace-state-3bF4TB8P.mjs";
3
+ import { D as upsertProject, H as deviceSlotKey, V as deviceSlotFileKey, k as withConfigLockAsync, m as getProject, u as getConcurrencyLimits, y as recordIosSchemeApprovals } from "./config-D5qNWJEP.mjs";
4
+ import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-CfPW1bKP.mjs";
5
+ import { J as resolveCacheProviderConfig, Q as resolveSettings, St as gitCommonDirAsync, Vt as repoRootAsync, an as makeTemporaryDirectory, at as settingsLayers, dt as detectProviders, nt as settingOriginScope, on as removeTemporaryEntry } from "./settings-C6UTYW2K.mjs";
6
+ import { L as workspaceDevServerMode, f as projectRegistry, i as findProjectRoot, v as detectIsExpo, z as writeWorkspaceLaunchAsync } from "./project-Crtcbfl0.mjs";
7
+ import { o as workspaceLinks } from "./stim-desktop-1XxET4S8.mjs";
8
+ import { c as pidExists, d as resolveProjectMetro, f as signalProcessTree } from "./metro-mKHEMO-a.mjs";
9
9
  import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
10
- import { An as checkEasAuth, At as ensureRemoteBootOwned, Bt as RELEASE_VERIFY_WAIT_MS, Cn as gateMetroOrigin, Dt as bundleEntryPoint, Gt as unattributedLaunchLines, Ht as isBundleProof, It as LAUNCH_BUNDLING, Jt as verifyLaunch, Kt as unverifiedLaunchLines, Ln as resolveEasCliBin, Lt as LAUNCH_FATAL, Nn as loadProjectProvider, Nt as remoteIosDeps, Pt as resolveRemoteContext, Rn as resolveRemote, Rt as LAUNCH_UNVERIFIED, Sn as readRemoteSimulatorArch, Ut as readCollectorRecords, Wt as readMetroRecords, Yt as verifyReleaseLaunch, an as devClientUrl, c as budgetGate, dn as installIosApp, en as IOS_DEV_MENU_OFF_DEFAULTS_PLIST, fn as iosAppProcess, gn as restartedAppNote, hn as launchIosApp, in as clearOtherUserApps, kt as ensureMetroReachable, zn as uploadRemote } from "./ccache-B8gY50-h.mjs";
11
- import { St as acquireBuildSlot, Tt as releaseBuildSlot, ct as recordRunStats, it as readRunEstimates, ot as recordCapacityRefusal } from "./workspaces-7_RWoi6c.mjs";
12
- import { E as readPodState, H as readBundleId, T as podsAreStale, U as resolveScheme, V as readBundleExecutable, c as iosToolchainAsync, k as runPodInstall } from "./toolchain-DLdoyxIt.mjs";
13
- import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-BTaUf0tc.mjs";
14
- import { A as untrackedNativeFiles, C as resolveBuild, c as evictBuild, m as fingerprintProject, w as storeBuild } from "./build-cache-DlC3owap.mjs";
15
- import { d as listAllIosSims, h as listIosRuntimesAsync, r as clearIosAppData } from "./ios-CXnoVO_z.mjs";
16
- import { n as readHostedIos, o as writeHostedIosAsync } from "./ios-state-Ce_dystM.mjs";
17
- import { n as hostedMetroPortProbe } from "./hosted-native-DmdLSmvu.mjs";
18
- import { i as prepareHostedIos, r as placeHostedIos } from "./phone-reverses-CvhhkGMH.mjs";
19
- import { n as verifyCollectorOwnership } from "./ownership-Dtz9G5Gl.mjs";
20
- import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-CeIK1iUI.mjs";
21
- import { a as discoverXcodeProject, r as buildIos } from "./react-native-build-BSoh4HkH.mjs";
22
- import { c as startDevServer, g as detectBundleId } from "./start-B7J5a9nS.mjs";
10
+ import { An as checkEasAuth, At as ensureRemoteBootOwned, Bt as RELEASE_VERIFY_WAIT_MS, Cn as gateMetroOrigin, Dt as bundleEntryPoint, Gt as unattributedLaunchLines, Ht as isBundleProof, It as LAUNCH_BUNDLING, Jt as verifyLaunch, Kt as unverifiedLaunchLines, Ln as resolveEasCliBin, Lt as LAUNCH_FATAL, Nn as loadProjectProvider, Nt as remoteIosDeps, Pt as resolveRemoteContext, Rn as resolveRemote, Rt as LAUNCH_UNVERIFIED, Sn as readRemoteSimulatorArch, Ut as readCollectorRecords, Wt as readMetroRecords, Yt as verifyReleaseLaunch, an as devClientUrl, c as budgetGate, dn as installIosApp, en as IOS_DEV_MENU_OFF_DEFAULTS_PLIST, fn as iosAppProcess, gn as restartedAppNote, hn as launchIosApp, in as clearOtherUserApps, kt as ensureMetroReachable, zn as uploadRemote } from "./ccache-BrwGIxmV.mjs";
11
+ import { St as acquireBuildSlot, Tt as releaseBuildSlot, ct as recordRunStats, it as readRunEstimates, ot as recordCapacityRefusal } from "./workspaces-C59v9bpD.mjs";
12
+ import { E as readPodState, H as readBundleId, T as podsAreStale, U as resolveScheme, V as readBundleExecutable, c as iosToolchainAsync, k as runPodInstall } from "./toolchain-Bnm8vUCV.mjs";
13
+ import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-yjH7Q3zn.mjs";
14
+ import { A as untrackedNativeFiles, C as resolveBuild, c as evictBuild, m as fingerprintProject, w as storeBuild } from "./build-cache-BsKim4V7.mjs";
15
+ import { d as listAllIosSims, h as listIosRuntimesAsync, r as clearIosAppData } from "./ios-CdAV4-1E.mjs";
16
+ import { n as readHostedIos, o as writeHostedIosAsync } from "./ios-state-BEIJRJ7P.mjs";
17
+ import { n as hostedMetroPortProbe } from "./hosted-native-Bh9IJ_t5.mjs";
18
+ import { i as prepareHostedIos, r as placeHostedIos } from "./phone-reverses-CnNwdz9A.mjs";
19
+ import { n as verifyCollectorOwnership } from "./ownership-CCfiBfOP.mjs";
20
+ import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-CSpQcFZw.mjs";
21
+ import { a as discoverXcodeProject, r as buildIos } from "./react-native-build-DhWBUV_H.mjs";
22
+ import { c as startDevServer, g as detectBundleId } from "./start-CLN_r9EG.mjs";
23
23
  import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
24
- import { a as acquireRunLease, c as lostRefusal, d as runLease, s as lostLine, t as DEBUG_VERIFY_STEP_MS, u as releaseLeaseOnAbort } from "./device-lease-run-Do6zYA7y.mjs";
25
- import { r as checkDeviceCapacity } from "./device-capacity-C5C_jOQd.mjs";
26
- import { n as clearIosAdoptionPending } from "./device-ios-DbmtPIiw.mjs";
27
- import { i as deviceLabel, o as deviceShortName, t as appNameFromPath } from "./support-DUevTPur.mjs";
24
+ import { a as acquireRunLease, c as lostRefusal, d as runLease, s as lostLine, t as DEBUG_VERIFY_STEP_MS, u as releaseLeaseOnAbort } from "./device-lease-run-DeNGjJZM.mjs";
25
+ import { r as checkDeviceCapacity } from "./device-capacity-Bki6B-7h.mjs";
26
+ import { n as clearIosAdoptionPending } from "./device-ios-TE5ejeXx.mjs";
27
+ import { i as deviceLabel, o as deviceShortName, t as appNameFromPath } from "./support-NxnD8QXd.mjs";
28
28
  import { a as sealAppForDevice, r as gateProfileForDevice } from "./ios-signing-BJzvDPfU.mjs";
29
- import { a as resolveEasDevelopmentBuild } from "./eas-build-DIDOHw2P.mjs";
30
- import { c as isWirelessIosDevice, i as iosDeviceProcess, l as listIosDevices, n as installIosDeviceApp, p as verifyIosDeviceReleaseLaunch, r as iosDeviceBounds, t as awaitIosDeviceLaunch, u as localNetworkPending } from "./ios-device-ClSfuu-_.mjs";
31
- import { a as captureNativeCrashes, c as simulatorConsolePaths, i as bundleBindFailure, n as IOS_CRASH_REPORT_RETRY, s as printNativeCrashReport, t as errorDiagnostics } from "./error-diagnostics-XJ9eWdtq.mjs";
32
- import { t as followHostedLaunchLogs } from "./hosted-logs-sync-wsI7N1Hv.mjs";
33
- import { a as runPrebuild, d as memoizedFingerprint, n as planPrebuildAsync } from "./prebuild-DBJMhwSS.mjs";
34
- import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-D4cTwU0Z.mjs";
35
- import { n as devClientTakesDevMenuParams, r as hasDevClient, t as devClientScheme } from "./dev-client-CASgAOu7.mjs";
36
- import { t as automaticDevicePlacement } from "./auto-placement-CZaWDmcY.mjs";
37
- import { t as checkEasFallback } from "./eas-fallback-DVS9oBSc.mjs";
38
- import { i as warmMetro, n as ensureBooted, r as ensureOwnedDevice } from "./device-CsIdRXfm.mjs";
39
- import { t as selectFromPool } from "./device-pool-CpoYiCGO.mjs";
40
- import { s as reportIosResult } from "./ios-project-BM9TbTE7.mjs";
41
- import { i as swapJsBundle } from "./js-swap-9Rx-5Nqz.mjs";
29
+ import { a as resolveEasDevelopmentBuild } from "./eas-build-CaG-Sfs9.mjs";
30
+ import { c as isWirelessIosDevice, i as iosDeviceProcess, l as listIosDevices, n as installIosDeviceApp, p as verifyIosDeviceReleaseLaunch, r as iosDeviceBounds, t as awaitIosDeviceLaunch, u as localNetworkPending } from "./ios-device-D7Gi3e1I.mjs";
31
+ import { a as captureNativeCrashes, c as simulatorConsolePaths, i as bundleBindFailure, n as IOS_CRASH_REPORT_RETRY, s as printNativeCrashReport, t as errorDiagnostics } from "./error-diagnostics-q56Im4D8.mjs";
32
+ import { t as followHostedLaunchLogs } from "./hosted-logs-sync-B8bjLEMs.mjs";
33
+ import { a as runPrebuild, d as memoizedFingerprint, n as planPrebuildAsync } from "./prebuild-CyNrUWgV.mjs";
34
+ import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-DQfxW5Au.mjs";
35
+ import { n as devClientTakesDevMenuParams, r as hasDevClient, t as devClientScheme } from "./dev-client-eDZy6RoX.mjs";
36
+ import { t as automaticDevicePlacement } from "./auto-placement--nfdQ9rp.mjs";
37
+ import { t as checkEasFallback } from "./eas-fallback-BpX1lpco.mjs";
38
+ import { i as warmMetro, n as ensureBooted, r as ensureOwnedDevice } from "./device-CTozKhU0.mjs";
39
+ import { t as selectFromPool } from "./device-pool-mjyUYaau.mjs";
40
+ import { s as reportIosResult } from "./ios-project-DDQlX_jX.mjs";
41
+ import { i as swapJsBundle } from "./js-swap-C8N5DXHl.mjs";
42
42
  import { mkdirSync, openSync, writeFileSync } from "node:fs";
43
43
  import { networkInterfaces } from "node:os";
44
44
  import { basename, join } from "node:path";
@@ -1,5 +1,5 @@
1
1
  import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { Bt as repoRoot } from "./settings-D776ygML.mjs";
2
+ import { Bt as repoRoot } from "./settings-C6UTYW2K.mjs";
3
3
  import { createHash, randomUUID } from "node:crypto";
4
4
  import { existsSync } from "node:fs";
5
5
  import { dirname, join, relative } from "node:path";
@@ -1,5 +1,5 @@
1
- import { C as resolvePackageJson, b as isPackageResolvable } from "./project-DPQjnpcI.mjs";
2
- import { bn as readBundleSchemes, yn as pickDevClientScheme } from "./ccache-B8gY50-h.mjs";
1
+ import { C as resolvePackageJson, b as isPackageResolvable } from "./project-Crtcbfl0.mjs";
2
+ import { bn as readBundleSchemes, yn as pickDevClientScheme } from "./ccache-BrwGIxmV.mjs";
3
3
  import { dirname, join } from "node:path";
4
4
  import { isJsonObject, readJsonObject } from "@stim-cli/core/state";
5
5
  //#region src/commands/dev-client.ts
@@ -1,14 +1,14 @@
1
- import { H as deviceSlotPlatforms } from "./config-AbUjIBOQ.mjs";
2
- import { s as ownedDeviceLabel } from "./project-DPQjnpcI.mjs";
3
- import { b as configureNewOwnedAvd } from "./android-DdKG6lyD.mjs";
4
- import { c as pidExists } from "./metro-BMQHczcf.mjs";
5
- import { pt as teardownOwnedAvd } from "./workspaces-7_RWoi6c.mjs";
6
- import { h as tailLines } from "./activity-BTaUf0tc.mjs";
7
- import "./ios-CXnoVO_z.mjs";
8
- import { t as clearDeviceIdleShutdown } from "./idle-shutdown-BcMN_cLm.mjs";
9
- import { i as ensureOwnedIosDevice, r as ensureIosBooted } from "./device-ios-DbmtPIiw.mjs";
10
- import { t as reconcileSimSlim } from "./simslim-CbpHERcv.mjs";
11
- import { n as ensureAndroidBooted, r as ensureOwnedAndroidDevice, t as ANDROID_BOOT_TIMEOUT_MS } from "./device-android-CcdQqQWg.mjs";
1
+ import { U as deviceSlotPlatforms } from "./config-D5qNWJEP.mjs";
2
+ import { s as ownedDeviceLabel } from "./project-Crtcbfl0.mjs";
3
+ import { x as configureNewOwnedAvd } from "./android-DsEj2CCs.mjs";
4
+ import { c as pidExists } from "./metro-mKHEMO-a.mjs";
5
+ import { pt as teardownOwnedAvd } from "./workspaces-C59v9bpD.mjs";
6
+ import { h as tailLines } from "./activity-yjH7Q3zn.mjs";
7
+ import "./ios-CdAV4-1E.mjs";
8
+ import { t as clearDeviceIdleShutdown } from "./idle-shutdown-BaeCo4ps.mjs";
9
+ import { i as ensureOwnedIosDevice, r as ensureIosBooted } from "./device-ios-TE5ejeXx.mjs";
10
+ import { t as reconcileSimSlim } from "./simslim-93xmPh-d.mjs";
11
+ import { n as ensureAndroidBooted, r as ensureOwnedAndroidDevice, t as ANDROID_BOOT_TIMEOUT_MS } from "./device-android-zgD9We85.mjs";
12
12
  import { existsSync } from "node:fs";
13
13
  import { dirname, join, resolve, sep } from "node:path";
14
14
  import { rotatedLogPath } from "@stim-cli/core";
@@ -1,16 +1,16 @@
1
1
  import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { r as readWorkspaceState$1 } from "./workspace-state-DGwkPXwq.mjs";
3
- import { G as projectDeviceSlots, H as deviceSlotPlatforms, V as deviceSlotKey, W as parseDeviceSlotOption, p as getProject } from "./config-AbUjIBOQ.mjs";
4
- import { r as clockTime } from "./command-output-BBW8eWPL.mjs";
5
- import { I as readWorkspaceLaunches, P as readRemoteSession, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL } from "./project-DPQjnpcI.mjs";
6
- import { M as listAdbDevicesAsync, T as emulatorProbeSession, Y as physicalDeviceModel, Z as probeEmulatorSerial, c as androidPoolNoCandidatesRefusal, d as androidToolPath, k as getAvdNameForSerialAsync, nt as resolveOwnedAvdSerialAsync, rt as resolvePhysicalDevice, s as androidPoolCandidates, u as androidToolCwd } from "./android-DdKG6lyD.mjs";
7
- import { En as runProcessOperation } from "./ccache-B8gY50-h.mjs";
8
- import { C as parseLeaseDuration, D as releaseWorkspaceLeases, j as takeLease, y as fileLeaseIo } from "./activity-BTaUf0tc.mjs";
9
- import { D as resolveOwnedIosSim, f as listAllIosSimsAsync } from "./ios-CXnoVO_z.mjs";
10
- import { l as parseDeviceWait, p as waitForDevice } from "./device-lease-run-Do6zYA7y.mjs";
11
- import { n as runProvision } from "./device-provision-B5Ms94qY.mjs";
12
- import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, l as listIosDevices, o as iosPoolNoCandidatesRefusal } from "./ios-device-ClSfuu-_.mjs";
13
- import { t as selectFromPool } from "./device-pool-CpoYiCGO.mjs";
2
+ import { r as readWorkspaceState$1 } from "./workspace-state-3bF4TB8P.mjs";
3
+ import { G as parseDeviceSlotOption, H as deviceSlotKey, K as projectDeviceSlots, U as deviceSlotPlatforms, m as getProject } from "./config-D5qNWJEP.mjs";
4
+ import { r as clockTime } from "./command-output-CfPW1bKP.mjs";
5
+ import { I as readWorkspaceLaunches, P as readRemoteSession, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL } from "./project-Crtcbfl0.mjs";
6
+ import { $ as probeEmulatorSerial, A as getAvdNameForSerialAsync, E as emulatorProbeSession, P as listAdbDevicesAsync, Z as physicalDeviceModel, at as resolvePhysicalDevice, c as androidPoolNoCandidatesRefusal, d as androidToolPath, it as resolveOwnedAvdSerialAsync, s as androidPoolCandidates, u as androidToolCwd } from "./android-DsEj2CCs.mjs";
7
+ import { En as runProcessOperation } from "./ccache-BrwGIxmV.mjs";
8
+ import { C as parseLeaseDuration, D as releaseWorkspaceLeases, j as takeLease, y as fileLeaseIo } from "./activity-yjH7Q3zn.mjs";
9
+ import { D as resolveOwnedIosSim, f as listAllIosSimsAsync } from "./ios-CdAV4-1E.mjs";
10
+ import { l as parseDeviceWait, p as waitForDevice } from "./device-lease-run-DeNGjJZM.mjs";
11
+ import { n as runProvision } from "./device-provision-j_B7G0e6.mjs";
12
+ import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, l as listIosDevices, o as iosPoolNoCandidatesRefusal } from "./ios-device-D7Gi3e1I.mjs";
13
+ import { t as selectFromPool } from "./device-pool-mjyUYaau.mjs";
14
14
  import { hostedNativeRecords } from "@stim-cli/core/state";
15
15
  import chalk from "chalk";
16
16
  //#region src/commands/device-tools.ts
@@ -1,12 +1,12 @@
1
1
  import { D as ownership_claim_exports, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { D as withConfigLock, G as projectDeviceSlots, H as deviceSlotPlatforms, O as withConfigLockAsync, _ as loadConfig, a as clearDevice, b as releaseAndroidConsolePort, i as clearAndroidBootPending, j as acquireAvdClaim, t as allConsolePortsAndSerials, w as setDevice } from "./config-AbUjIBOQ.mjs";
3
- import { l as phaseLine } from "./command-output-BBW8eWPL.mjs";
4
- import { l as androidDataPartitionSizeGbSetting, o as androidAvdConfigSetting } from "./settings-D776ygML.mjs";
5
- import { B as ownedAvdDeviceProfile, H as ownedAvdMatchesConfiguration, I as listAvdsAsync, K as ownedAvdSystemImage, L as listInstalledSystemImages, M as listAdbDevicesAsync, U as ownedAvdName, X as pickDefaultSystemImage, _ as avdPoolConfiguration, ct as waitForBoot, gt as isLegacyDeletionClaim, k as getAvdNameForSerialAsync, n as OWNED_AVD_CONFIG_DEFAULTS, nt as resolveOwnedAvdSerialAsync, p as assertOwnedAvdStoppedAsync, pt as adoptParked, t as DEFAULT_AVD_DEVICE_PROFILE, vt as parkedMaxSetting, x as createOwnedAvd, y as bootAndroidEmulator, yt as readParked, z as nextConsolePort } from "./android-DdKG6lyD.mjs";
6
- import { c as pidExists } from "./metro-BMQHczcf.mjs";
7
- import { gt as teardownParkedAvd, pt as teardownOwnedAvd } from "./workspaces-7_RWoi6c.mjs";
8
- import { B as reportMemoryCulprits, L as memoryCulpritsUnderAsync, R as readHostMemoryPressure, V as memoryCulpritAdvice, f as listAllIosSimsAsync } from "./ios-CXnoVO_z.mjs";
9
- import { g as withDeviceBootAdmission, n as DeviceAdmissionRefusal, o as countLiveOwnedDevicesFrom } from "./device-capacity-C5C_jOQd.mjs";
2
+ import { K as projectDeviceSlots, M as acquireAvdClaim, O as withConfigLock, T as setDevice, U as deviceSlotPlatforms, a as clearDevice, i as clearAndroidBootPending, k as withConfigLockAsync, t as allConsolePortsAndSerials, v as loadConfig, x as releaseAndroidConsolePort } from "./config-D5qNWJEP.mjs";
3
+ import { l as phaseLine } from "./command-output-CfPW1bKP.mjs";
4
+ import { l as androidDataPartitionSizeGbSetting, o as androidAvdConfigSetting } from "./settings-C6UTYW2K.mjs";
5
+ import { A as getAvdNameForSerialAsync, G as ownedAvdName, H as ownedAvdDeviceProfile, J as ownedAvdSystemImage, P as listAdbDevicesAsync, Q as pickDefaultSystemImage, R as listAvdsAsync, S as createOwnedAvd, V as nextConsolePort, W as ownedAvdMatchesConfiguration, _ as avdPoolConfiguration, b as bootAndroidEmulator, bt as parkedMaxSetting, ht as adoptParked, it as resolveOwnedAvdSerialAsync, n as OWNED_AVD_CONFIG_DEFAULTS, p as assertOwnedAvdStoppedAsync, t as DEFAULT_AVD_DEVICE_PROFILE, ut as waitForBoot, vt as isLegacyDeletionClaim, xt as readParked, z as listInstalledSystemImages } from "./android-DsEj2CCs.mjs";
6
+ import { c as pidExists } from "./metro-mKHEMO-a.mjs";
7
+ import { gt as teardownParkedAvd, pt as teardownOwnedAvd } from "./workspaces-C59v9bpD.mjs";
8
+ import { B as reportMemoryCulprits, L as memoryCulpritsUnderAsync, R as readHostMemoryPressure, V as memoryCulpritAdvice, f as listAllIosSimsAsync } from "./ios-CdAV4-1E.mjs";
9
+ import { _ as withDeviceBootAdmission, n as DeviceAdmissionRefusal, s as countLiveOwnedDevicesFrom } from "./device-capacity-Bki6B-7h.mjs";
10
10
  import { claimRemoveCommand, clearClaimChild, markClaimChildPending, processGroupAlive, releaseClaim, setClaimChild } from "@stim-cli/core/ownership-claim";
11
11
  import { randomUUID } from "node:crypto";
12
12
  import { existsSync } from "node:fs";
@@ -65,8 +65,14 @@ async function prepareOwnedAvd({ projectPath, slot, label, previousAvdName, syst
65
65
  throw new Error(`AVD ${current?.avdName ?? avdName} ${state} by another concurrent Stim run. Retry after that run finishes so the recorded device is resolved safely.`);
66
66
  }
67
67
  };
68
+ const releaseReservation = () => withConfigLockAsync(() => {
69
+ if (!isDeepStrictEqual(currentRecord(), reservation)) return;
70
+ if (previous) setDevice(projectPath, "android", previous, slot);
71
+ else clearDevice(projectPath, "android", slot, avdName);
72
+ });
68
73
  let prepared;
69
74
  let child;
75
+ let spawnAttempted = false;
70
76
  const creationRunning = () => child?.pid !== void 0 && processGroupAlive(child.pid);
71
77
  let configurationFailure;
72
78
  try {
@@ -75,6 +81,7 @@ async function prepareOwnedAvd({ projectPath, slot, label, previousAvdName, syst
75
81
  systemImage,
76
82
  deviceProfile,
77
83
  spawn: (...args) => {
84
+ spawnAttempted = true;
78
85
  markClaimChildPending(claim);
79
86
  child = getExecutor().spawn(...args);
80
87
  if (child.pid !== void 0) {
@@ -98,7 +105,10 @@ async function prepareOwnedAvd({ projectPath, slot, label, previousAvdName, syst
98
105
  };
99
106
  } catch (error) {
100
107
  const message = String(error?.message || error);
101
- if (!message.includes("already exists")) throw error;
108
+ if (!message.includes("already exists")) {
109
+ if (!spawnAttempted) await releaseReservation();
110
+ throw error;
111
+ }
102
112
  try {
103
113
  if (!(await listAvdsAsync()).includes(avdName)) throw new AvdRecoveryError(`AVD ${avdName} already exists on disk but is not listed by the emulator. ${message}`, "Run `npx stim gc` to inspect orphaned owned AVDs, then `npx stim gc --delete` to reclaim those safe to delete. Retry `stim android` after cleanup; keep any AVD that GC cannot verify.", error);
104
114
  await withConfigLockAsync(assertReservation);
@@ -116,11 +126,7 @@ async function prepareOwnedAvd({ projectPath, slot, label, previousAvdName, syst
116
126
  } : {}
117
127
  };
118
128
  } catch (recoveryError) {
119
- await withConfigLockAsync(() => {
120
- if (!isDeepStrictEqual(currentRecord(), reservation)) return;
121
- if (previous) setDevice(projectPath, "android", previous, slot);
122
- else clearDevice(projectPath, "android", slot, avdName);
123
- });
129
+ await releaseReservation();
124
130
  if (recoveryError instanceof AvdRecoveryError) throw recoveryError;
125
131
  throw new AvdRecoveryError(`Could not recover owned AVD ${avdName}: ${String(recoveryError?.message || recoveryError)}`, "Inspect `npx stim status` and `adb devices`. Wait for any other Stim run using this AVD to finish, then retry `stim android`. Keep the AVD and its process locks while its state is unverified.", recoveryError);
126
132
  }