stim 1.32.0 → 1.33.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 (169) hide show
  1. package/dist/{acquire-artifact-CI9fIokp.mjs → acquire-artifact-DTh_LxrE.mjs} +2 -2
  2. package/dist/{act-BfChMxcU.mjs → act-Cur4YKtK.mjs} +22 -22
  3. package/dist/{activity-yjH7Q3zn.mjs → activity-C8kBq9w0.mjs} +6 -6
  4. package/dist/{agent-device-usage-output-DO412bsG.mjs → agent-device-usage-output-BTRaK_up.mjs} +5 -5
  5. package/dist/{android-BeeC15Ve.mjs → android-B2DSKg-A.mjs} +2 -2
  6. package/dist/{android-BNm5A40S.mjs → android-BL-QqHjc.mjs} +87 -53
  7. package/dist/{android-D56S_GX3.mjs → android-D5mCdVl2.mjs} +5 -5
  8. package/dist/{android-DsEj2CCs.mjs → android-Iq0M2t2d.mjs} +27 -15
  9. package/dist/{android-cas-CbumHXIq.mjs → android-cas-Dhcjkys1.mjs} +4 -4
  10. package/dist/android-cas-compiler.mjs +1 -1
  11. package/dist/android-image-DFk26aY6.mjs +254 -0
  12. package/dist/{android-project-CCEQyYJK.d.mts → android-project-BDlPnfmL.d.mts} +1 -1
  13. package/dist/api.d.mts +2 -1
  14. package/dist/api.mjs +28 -28
  15. package/dist/{apk-signed-tail-B9Usseps.mjs → apk-signed-tail-CPpA-3vu.mjs} +2 -2
  16. package/dist/{artifact-C8Nvp07y.mjs → artifact-BMjubIP2.mjs} +13 -13
  17. package/dist/{artifact-k1x9Jrn0.mjs → artifact-BufzdGbT.mjs} +34 -21
  18. package/dist/{artifact-platform-BO2Uvk_A.mjs → artifact-platform-DqCWUieN.mjs} +1 -1
  19. package/dist/{auto-placement--nfdQ9rp.mjs → auto-placement-D7P98glJ.mjs} +11 -9
  20. package/dist/{browser-web-6RDAeH0z.mjs → browser-web-C74et-Nv.mjs} +15 -15
  21. package/dist/{build-VXX_dtl5.mjs → build-DFBGWOTc.mjs} +23 -23
  22. package/dist/{build-cache-BsKim4V7.mjs → build-cache-Cqj4FGnX.mjs} +20 -8
  23. package/dist/{build-plan-BK34X2iY.mjs → build-plan-T3Hi24ax.mjs} +7 -7
  24. package/dist/{cache-manifest-CfiEny4T.mjs → cache-manifest-8JX9S1QJ.mjs} +1 -1
  25. package/dist/cache-manifest.mjs +1 -1
  26. package/dist/{ccache-BrwGIxmV.mjs → ccache-BXtzEL6M.mjs} +34 -24
  27. package/dist/{cdp-C3svvXiE.mjs → cdp-C216kOAn.mjs} +1 -1
  28. package/dist/{chrome-DyDWurWG.mjs → chrome-C8sC5tdl.mjs} +1 -1
  29. package/dist/{cli-Jc7obreB.mjs → cli-B2YSjc9s.mjs} +20 -20
  30. package/dist/cli.mjs +1 -1
  31. package/dist/{client-lDmA-5jx.mjs → client-0_Mnfz0a.mjs} +29 -9
  32. package/dist/collector-run.mjs +7 -7
  33. package/dist/{command-output-CfPW1bKP.mjs → command-output-DWI9tGPU.mjs} +1 -1
  34. package/dist/{config-D5qNWJEP.mjs → config-BW0fAtoK.mjs} +256 -246
  35. package/dist/{dependencies-DkZ8681S.mjs → dependencies-CgvBZbXD.mjs} +39 -39
  36. package/dist/{dependency-state-DZVln1P9.mjs → dependency-state-mL5g4H6K.mjs} +2 -2
  37. package/dist/{detached-entry-BPlSaCwC.mjs → detached-entry-tfrgGVWb.mjs} +1 -1
  38. package/dist/{dev-client-eDZy6RoX.mjs → dev-client-ChsHwgrn.mjs} +2 -2
  39. package/dist/{device-CeIikWac.mjs → device-B0htCt2u.mjs} +13 -13
  40. package/dist/{device-CTozKhU0.mjs → device-DOehZpyx.mjs} +11 -11
  41. package/dist/{device-android-zgD9We85.mjs → device-android-B8TQP5AX.mjs} +10 -10
  42. package/dist/{device-capacity-Bki6B-7h.mjs → device-capacity-BAkETfIl.mjs} +9 -9
  43. package/dist/device-host-worker.mjs +58 -17
  44. package/dist/{device-ios-TE5ejeXx.mjs → device-ios-DFaYFdar.mjs} +9 -9
  45. package/dist/{device-lease-run-DeNGjJZM.mjs → device-lease-run-DpiCnRbZ.mjs} +5 -5
  46. package/dist/{device-pool-mjyUYaau.mjs → device-pool-DP4sCeCC.mjs} +3 -3
  47. package/dist/{device-provision-j_B7G0e6.mjs → device-provision-CnNOIxCF.mjs} +10 -10
  48. package/dist/{doctor-sSLtn-j1.mjs → doctor-9GrW5YSP.mjs} +30 -17
  49. package/dist/{doctor-CNZuvTSe.mjs → doctor-C6Xn96RS.mjs} +1 -1
  50. package/dist/{doctor-fingerprint-o7ZI9YLn.mjs → doctor-fingerprint-DqWvIhMb.mjs} +1 -1
  51. package/dist/doctor-fingerprint.mjs +1 -1
  52. package/dist/{doctor-BlrcoQ7B.mjs → doctor-nRLBoajo.mjs} +54 -25
  53. package/dist/{doctor-watchman-CCuboyj1.mjs → doctor-watchman-CDhpC3Oh.mjs} +5 -5
  54. package/dist/{eas-build-CaG-Sfs9.mjs → eas-build-CpJ4h9tG.mjs} +4 -4
  55. package/dist/{eas-fallback-BpX1lpco.mjs → eas-fallback-B3z5nL1g.mjs} +6 -6
  56. package/dist/{eas-session-ledger-B-nTfdfk.mjs → eas-session-ledger-Bspy-VJQ.mjs} +6 -6
  57. package/dist/{error-diagnostics-q56Im4D8.mjs → error-diagnostics-DoLGklYX.mjs} +10 -10
  58. package/dist/{exec-aULwtNly.mjs → exec-CGuDzt40.mjs} +103 -103
  59. package/dist/{gc-By2Kc-Ek.mjs → gc-BWoOp9q7.mjs} +2 -2
  60. package/dist/{gc-Dv6nb9nf.mjs → gc-DolXpMSB.mjs} +25 -54
  61. package/dist/{guide-CwpsGWTJ.mjs → guide-CmZB0GtP.mjs} +139 -44
  62. package/dist/{hosted-android-c5nPJA6S.mjs → hosted-android-ByG-ICuh.mjs} +4 -4
  63. package/dist/{hosted-client-Hs-fD4L3.mjs → hosted-client-D19Lv0tg.mjs} +6 -5
  64. package/dist/{hosted-logs-BteXG8rm.mjs → hosted-logs-D7anR6Dk.mjs} +7 -7
  65. package/dist/{hosted-logs-sync-B8bjLEMs.mjs → hosted-logs-sync-D182b1eJ.mjs} +5 -5
  66. package/dist/{hosted-macos-B4byscei.mjs → hosted-macos-D0DDQxvl.mjs} +6 -6
  67. package/dist/{hosted-native-Bh9IJ_t5.mjs → hosted-native-BzXIy97W.mjs} +14 -10
  68. package/dist/{idle-shutdown-BaeCo4ps.mjs → idle-shutdown-6i8CHoNq.mjs} +6 -6
  69. package/dist/{ios-D1XKSITX.mjs → ios-AdhPKXO3.mjs} +8 -8
  70. package/dist/{ios-CdAV4-1E.mjs → ios-BdZdNsAj.mjs} +6 -6
  71. package/dist/{ios-CsRVik64.mjs → ios-Qam0bT9n.mjs} +1 -1
  72. package/dist/{ios-D3oK9-O4.mjs → ios-dbXzjTxx.mjs} +28 -28
  73. package/dist/{ios-device-CiBA-er9.mjs → ios-device-DLdEDWJj.mjs} +1 -1
  74. package/dist/{ios-device-D7Gi3e1I.mjs → ios-device-DXbHZfFe.mjs} +3 -3
  75. package/dist/{ios-project-DDQlX_jX.mjs → ios-project-BzfLigfh.mjs} +7 -7
  76. package/dist/{ios-signing-BJzvDPfU.mjs → ios-signing-D-tSX1iF.mjs} +2 -2
  77. package/dist/{ios-state-BEIJRJ7P.mjs → ios-state-CWsBysyN.mjs} +1 -1
  78. package/dist/{js-swap-C8N5DXHl.mjs → js-swap-EDVOJmqx.mjs} +6 -6
  79. package/dist/{launch-DxpvL6il.mjs → launch-CKHpthsw.mjs} +20 -20
  80. package/dist/{lightened-Df6II_XI.mjs → lightened-Cv4ToJRX.mjs} +5 -5
  81. package/dist/{logs-zv3ge7c6.mjs → logs-DCQ3_tGS.mjs} +6 -6
  82. package/dist/{logs-CuWJWF88.mjs → logs-IagR9dWI.mjs} +7 -7
  83. package/dist/{macos-C6U-4Iip.mjs → macos-Ch7vuM-G.mjs} +22 -22
  84. package/dist/{macos-CbRZheLw.mjs → macos-pc0aVVbN.mjs} +1 -1
  85. package/dist/macos-run.mjs +1 -1
  86. package/dist/maintenance-run.mjs +6 -6
  87. package/dist/{metro-mKHEMO-a.mjs → metro-B5PVz0Wv.mjs} +4 -4
  88. package/dist/{metro-request-DODHNXCN.mjs → metro-request-2LmFpC1z.mjs} +2 -2
  89. package/dist/{named-ports-B0hCk2v-.mjs → named-ports-CA0nB9Yw.mjs} +3 -3
  90. package/dist/{native-android-9dVFqvTT.mjs → native-android-B3CEDq4R.mjs} +29 -19
  91. package/dist/{native-gradle-artifact-inputs-BlY97pt8.mjs → native-gradle-artifact-inputs-BLnO2hHR.mjs} +5 -5
  92. package/dist/{native-runtime-DQfxW5Au.mjs → native-runtime-e1OU8gEN.mjs} +6 -6
  93. package/dist/{native-source-D1AzWiuP.mjs → native-source-ChAGj7R1.mjs} +1 -1
  94. package/dist/{native-xcode-inputs-tDuUvSU8.mjs → native-xcode-inputs-DL3ETb8s.mjs} +3 -3
  95. package/dist/{native-xcode-ios-CG-PD-7g.mjs → native-xcode-ios-D4e8k2Jy.mjs} +17 -17
  96. package/dist/offload-worker.d.mts +3 -1
  97. package/dist/offload-worker.mjs +37 -23
  98. package/dist/{operation-exec-Dp4FuIGR.mjs → operation-exec-DKlBcKAL.mjs} +1 -1
  99. package/dist/{ownership-CCfiBfOP.mjs → ownership-hC7xvvxF.mjs} +3 -3
  100. package/dist/{page-CQJlcj3x.mjs → page-Dj8IqvGM.mjs} +2 -2
  101. package/dist/{phone-reverses-CnNwdz9A.mjs → phone-reverses-rvyxW1Fl.mjs} +4 -4
  102. package/dist/{placement-log-CRL0IY-k.mjs → placement-log-nnGnu8mo.mjs} +1 -1
  103. package/dist/{plan-placement-2imvnlWP.mjs → plan-placement-D3JD-T-K.mjs} +6 -6
  104. package/dist/{ports-CKktj5lV.mjs → ports-CZJJfJ8Q.mjs} +3 -3
  105. package/dist/{prebuild-CyNrUWgV.mjs → prebuild-Bhs7TTcz.mjs} +12 -12
  106. package/dist/{project-Crtcbfl0.mjs → project-DWEXiBA9.mjs} +16 -16
  107. package/dist/{pull-request-BzLmzAIQ.mjs → pull-request-BpMTNkMB.mjs} +2 -2
  108. package/dist/pull-requests.mjs +1 -1
  109. package/dist/{react-native-android-Cabe2YER.mjs → react-native-android-C6Y270GS.mjs} +37 -33
  110. package/dist/{react-native-build-DhWBUV_H.mjs → react-native-build-DaPfzf_e.mjs} +10 -10
  111. package/dist/{react-native-doctor-D-twmBon.mjs → react-native-doctor-DGMPxkPS.mjs} +6 -6
  112. package/dist/{react-native-ios-u_ley41B.mjs → react-native-ios-dX48_92n.mjs} +21 -17
  113. package/dist/{recordings-BWnIlhZH.mjs → recordings-AKZfsW2W.mjs} +1 -1
  114. package/dist/{registration-BwCe64PH.mjs → registration-DKjJGQ6p.mjs} +1 -1
  115. package/dist/{reload-f9hvEHE9.mjs → reload-BGwblBJ9.mjs} +1 -1
  116. package/dist/{reload-D2TpUlns.mjs → reload-DsOByDfy.mjs} +17 -17
  117. package/dist/{remote-BsBAjlD2.mjs → remote-D0uJZ76R.mjs} +9 -9
  118. package/dist/{result-EOsWV6sp.mjs → result-DuimMZKJ.mjs} +24 -20
  119. package/dist/{run-2CHAJ9Oj.mjs → run-N-BbRxnC.mjs} +2 -2
  120. package/dist/{selection-C4ZQz_ER.mjs → selection-xS50Mt0V.mjs} +5 -4
  121. package/dist/{server-bare-CFyVFZXJ.mjs → server-bare-BTlICuaX.mjs} +2 -2
  122. package/dist/{server-command-BMyKtnjH.mjs → server-command-BC0EgMfY.mjs} +5 -5
  123. package/dist/{server-expo-BLxcN2x2.mjs → server-expo-15RjL0ir.mjs} +3 -3
  124. package/dist/server-expo-gYIypb0-.mjs +2 -0
  125. package/dist/{settings-C6UTYW2K.mjs → settings-B5IBDfTx.mjs} +4 -4
  126. package/dist/{settings-jeS0WmUF.mjs → settings-CuP55ieT.mjs} +2 -2
  127. package/dist/{settings-payload-CrX933Xi.mjs → settings-payload-BIGGQ3or.mjs} +5 -5
  128. package/dist/{settings-write-DMcT23Kl.mjs → settings-write-D85j8mej.mjs} +6 -6
  129. package/dist/settings.schema.json +38 -0
  130. package/dist/{simslim-93xmPh-d.mjs → simslim-DKdJx0LL.mjs} +2 -2
  131. package/dist/{slot-launch-CSpQcFZw.mjs → slot-launch-D4oREwhx.mjs} +6 -6
  132. package/dist/{stage-Cf9uSM1a.mjs → stage-DKC6tDXu.mjs} +2 -2
  133. package/dist/{start-CLN_r9EG.mjs → start-BsEV4S-s.mjs} +12 -12
  134. package/dist/{start-CquYgzVf.mjs → start-DfPSLc__.mjs} +1 -1
  135. package/dist/{state-CM_HvvkS.mjs → state-CtmYTRWm.mjs} +4 -4
  136. package/dist/{state-CiflgxTP.mjs → state-DSOUqO-o.mjs} +2 -2
  137. package/dist/{stats-BVEZuSlg.mjs → stats-ByEUblPr.mjs} +5 -5
  138. package/dist/{stats-report-B86Cv7Uc.mjs → stats-report-BVRCqwWA.mjs} +1 -1
  139. package/dist/{status-D0ruTmPl.mjs → status-C6hLlDqW.mjs} +37 -28
  140. package/dist/{status-GQ-JqvRi.mjs → status-DTFhDnd1.mjs} +1 -1
  141. package/dist/{status-Bhdy07v0.mjs → status-FP1MH9qn.mjs} +1 -1
  142. package/dist/{status-watch-DSu_hhg6.mjs → status-watch-D8s823CZ.mjs} +5 -5
  143. package/dist/status-worker.mjs +1 -1
  144. package/dist/{stim-desktop-1XxET4S8.mjs → stim-desktop-_WTria-r.mjs} +2 -2
  145. package/dist/{stop-RZqER_Ww.mjs → stop-5LKfVv-0.mjs} +2 -2
  146. package/dist/{stop-W4DK8qZq.mjs → stop-BVI2-L7s.mjs} +16 -16
  147. package/dist/{stop-B616ZyTv.mjs → stop-CpTy6bod.mjs} +5 -5
  148. package/dist/supervisor-run.mjs +16 -16
  149. package/dist/{support-S_5nkkzs.mjs → support-CqyWfZZI.mjs} +18 -8
  150. package/dist/{support-NxnD8QXd.mjs → support-D8OH0z98.mjs} +9 -9
  151. package/dist/{swiftpm-artifact-inputs-yp8D5LE4.mjs → swiftpm-artifact-inputs-uq5oV7xR.mjs} +4 -4
  152. package/dist/{swiftpm-macos-Gtq9bNQb.mjs → swiftpm-macos-BuhqYB3n.mjs} +11 -11
  153. package/dist/{toolchain-B2bN8jEo.mjs → toolchain-D_jotUG7.mjs} +1 -1
  154. package/dist/{toolchain-Bnm8vUCV.mjs → toolchain-s5ZmG42Z.mjs} +25 -14
  155. package/dist/{trigger-CfnOfpDd.mjs → trigger-BtB4kbe0.mjs} +2 -2
  156. package/dist/trigger-D8B7QR0q.mjs +2 -0
  157. package/dist/{warm-progress-_aTMvkIH.mjs → warm-progress-q11Vdvhh.mjs} +6 -6
  158. package/dist/{web-BdWG8b5_.mjs → web-DwYCTFdh.mjs} +9 -9
  159. package/dist/web-cCfM8kwV.mjs +2 -0
  160. package/dist/web-run.mjs +8 -8
  161. package/dist/windows-report.mjs +1 -1
  162. package/dist/{workspace-state-3bF4TB8P.mjs → workspace-state-BdZ-QgmB.mjs} +3 -3
  163. package/dist/{workspaces-C59v9bpD.mjs → workspaces-B3ahAHZc.mjs} +14 -14
  164. package/dist/{worktree-CinoSsGy.mjs → worktree-BhsML6GV.mjs} +77 -31
  165. package/dist/{worktree-K9F50fD_.mjs → worktree-CrjsPIs2.mjs} +1 -1
  166. package/package.json +7 -7
  167. package/dist/server-expo-DwR3eD-a.mjs +0 -2
  168. package/dist/trigger-DBZ-GBrl.mjs +0 -2
  169. package/dist/web-DwuluWJt.mjs +0 -2
@@ -1,12 +1,12 @@
1
- import { l as WorkspaceProcessCleanupError } from "./exec-aULwtNly.mjs";
2
- import { U as deviceSlotPlatforms } from "./config-D5qNWJEP.mjs";
3
- import { l as phaseLine } from "./command-output-CfPW1bKP.mjs";
4
- import { B as publicUrlSetting, G as remoteIosSetting, L as parseIosRemote, W as remoteEasFallbackSetting, ot as tunnelModeSetting } from "./settings-C6UTYW2K.mjs";
5
- import "./ccache-BrwGIxmV.mjs";
6
- import { st as runCancellationSignal } from "./toolchain-Bnm8vUCV.mjs";
7
- import { b as resolveSimulatorAppFlag } from "./support-NxnD8QXd.mjs";
8
- import { n as devicePlacementRecord } from "./placement-log-CRL0IY-k.mjs";
9
- import { n as devicePlacementLine } from "./auto-placement--nfdQ9rp.mjs";
1
+ import { f as WorkspaceProcessCleanupError } from "./exec-CGuDzt40.mjs";
2
+ import { l as phaseLine } from "./command-output-DWI9tGPU.mjs";
3
+ import { ft as deviceSlotPlatforms } from "./config-BW0fAtoK.mjs";
4
+ import { B as publicUrlSetting, G as remoteIosSetting, L as parseIosRemote, W as remoteEasFallbackSetting, ot as tunnelModeSetting } from "./settings-B5IBDfTx.mjs";
5
+ import "./ccache-BXtzEL6M.mjs";
6
+ import { st as runCancellationSignal } from "./toolchain-s5ZmG42Z.mjs";
7
+ import { b as resolveSimulatorAppFlag } from "./support-D8OH0z98.mjs";
8
+ import { n as devicePlacementRecord } from "./placement-log-nnGnu8mo.mjs";
9
+ import { n as devicePlacementLine } from "./auto-placement-D7P98glJ.mjs";
10
10
  import chalk from "chalk";
11
11
  //#region src/commands/ios/remote.ts
12
12
  function deviceRemoteConflict(remote, physical) {
@@ -1,20 +1,21 @@
1
- import { w as workspaceAgentDeviceDir } from "./workspace-state-3bF4TB8P.mjs";
2
- import { U as deviceSlotPlatforms, m as getProject } from "./config-D5qNWJEP.mjs";
3
- import { i as formatDuration, l as phaseLine } from "./command-output-CfPW1bKP.mjs";
4
- import { J as resolveCacheProviderConfig, L as parseIosRemote, U as remoteAndroidSetting, _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, at as settingsLayers, d as androidLayoutSetting, et as settingFile, f as androidLayoutSettingError, nt as settingOriginScope, p as cacheProviderSettingError, q as resolveAndroidLayout, rt as settingShapeErrors, s as androidAvdConfigSettingError, st as unknownSettingKeys, u as androidDataPartitionSizeGbSettingError } from "./settings-C6UTYW2K.mjs";
5
- import { v as detectIsExpo } from "./project-Crtcbfl0.mjs";
6
- import { a as workspaceLinkLine } from "./stim-desktop-1XxET4S8.mjs";
7
- import { H as ownedAvdDeviceProfile, I as listAvdDeviceProfilesAsync, J as ownedAvdSystemImage, Q as pickDefaultSystemImage, bt as parkedMaxSetting, et as profileNeedsFoldFeature, j as hostSystemImageArch, l as androidSystemImageAbi, st as systemImageSupportsFold, t as DEFAULT_AVD_DEVICE_PROFILE, z as listInstalledSystemImages } from "./android-DsEj2CCs.mjs";
8
- import { Mn as isEasAuthFailureText, On as UPLOAD_TIMEOUT_MS, jn as easAuthNote, kn as cacheLevel, n as CCACHE_UNAVAILABLE, r as ccacheActivityLine } from "./ccache-BrwGIxmV.mjs";
9
- import { X as recordFinishedBuild } from "./workspaces-C59v9bpD.mjs";
1
+ import { w as workspaceAgentDeviceDir } from "./workspace-state-BdZ-QgmB.mjs";
2
+ import { i as formatDuration, l as phaseLine } from "./command-output-DWI9tGPU.mjs";
3
+ import { ft as deviceSlotPlatforms, m as getProject } from "./config-BW0fAtoK.mjs";
4
+ import { J as resolveCacheProviderConfig, L as parseIosRemote, U as remoteAndroidSetting, _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, at as settingsLayers, d as androidLayoutSetting, et as settingFile, f as androidLayoutSettingError, nt as settingOriginScope, p as cacheProviderSettingError, q as resolveAndroidLayout, rt as settingShapeErrors, s as androidAvdConfigSettingError, st as unknownSettingKeys, u as androidDataPartitionSizeGbSettingError } from "./settings-B5IBDfTx.mjs";
5
+ import { v as detectIsExpo } from "./project-DWEXiBA9.mjs";
6
+ import { a as workspaceLinkLine } from "./stim-desktop-_WTria-r.mjs";
7
+ import { H as ownedAvdDeviceProfile, I as listAvdDeviceProfilesAsync, J as ownedAvdSystemImage, Q as pickDefaultSystemImage, bt as parkedMaxSetting, et as profileNeedsFoldFeature, j as hostSystemImageArch, l as androidSystemImageAbi, st as systemImageSupportsFold, t as DEFAULT_AVD_DEVICE_PROFILE, z as listInstalledSystemImages } from "./android-Iq0M2t2d.mjs";
8
+ import { Mn as isEasAuthFailureText, On as UPLOAD_TIMEOUT_MS, jn as easAuthNote, kn as cacheLevel, n as CCACHE_UNAVAILABLE, r as ccacheActivityLine } from "./ccache-BXtzEL6M.mjs";
9
+ import { X as recordFinishedBuild } from "./workspaces-B3ahAHZc.mjs";
10
10
  import { d as optimizationBuildProfile, l as artifactCachePolicy, p as resolveOptimizations, u as compilerCacheFallbackMessage } from "./errors-DHm_U5gv.mjs";
11
- import { n as buildPlacementCandidates } from "./client-lDmA-5jx.mjs";
12
- import { c as readProductFlavors, s as productFlavorRefusal } from "./react-native-build-DhWBUV_H.mjs";
13
- import { l as parseDeviceWait } from "./device-lease-run-DeNGjJZM.mjs";
14
- import { t as DEFAULT_DEVICE_SLOT_WAIT_MS } from "./device-capacity-Bki6B-7h.mjs";
15
- import { n as resolveAndroidCas, r as resolveAndroidCompilerCache } from "./android-cas-CbumHXIq.mjs";
16
- import { r as isPhysicalDeviceRequest } from "./native-runtime-DQfxW5Au.mjs";
17
- import { C as remoteAvdFlagRefusal, D as systemImageRefusal, E as resolveVariant, T as resolveSystemImage, a as PLATFORM, m as deviceProfileRefusal, v as foldableImageRefusal, w as resolveDeviceProfile, y as isReleaseVariant } from "./support-S_5nkkzs.mjs";
11
+ import { n as buildPlacementCandidates } from "./client-0_Mnfz0a.mjs";
12
+ import { c as readProductFlavors, s as productFlavorRefusal } from "./react-native-build-DaPfzf_e.mjs";
13
+ import { l as parseDeviceWait } from "./device-lease-run-DpiCnRbZ.mjs";
14
+ import { t as DEFAULT_DEVICE_SLOT_WAIT_MS } from "./device-capacity-BAkETfIl.mjs";
15
+ import { t as androidImageInstallPolicy } from "./android-image-DFk26aY6.mjs";
16
+ import { n as resolveAndroidCas, r as resolveAndroidCompilerCache } from "./android-cas-Dhcjkys1.mjs";
17
+ import { r as isPhysicalDeviceRequest } from "./native-runtime-e1OU8gEN.mjs";
18
+ import { C as remoteAvdFlagRefusal, D as systemImageRefusal, E as resolveVariant, T as resolveSystemImage, a as PLATFORM, m as deviceProfileRefusal, v as foldableImageRefusal, w as resolveDeviceProfile, y as isReleaseVariant } from "./support-CqyWfZZI.mjs";
18
19
  import { buildDiagnostics } from "@stim-cli/core/state";
19
20
  import chalk from "chalk";
20
21
  //#region src/commands/android/plan.ts
@@ -178,7 +179,8 @@ async function resolveAndroidRunPlan({ settings, settingsContext, env, slot, sig
178
179
  systemImage,
179
180
  deviceProfile,
180
181
  physical,
181
- remoteBackend
182
+ remoteBackend,
183
+ installImages: androidImageInstallPolicy(settings)
182
184
  }, {
183
185
  listSystemImages,
184
186
  listDeviceProfiles,
@@ -222,7 +224,7 @@ async function resolveAndroidRunPlan({ settings, settingsContext, env, slot, sig
222
224
  }
223
225
  };
224
226
  }
225
- async function androidDeviceSelectorRefusal({ signal, settingsContext, slot, systemImageFlag, deviceProfileFlag, systemImage, deviceProfile, physical, remoteBackend }, { listSystemImages = listInstalledSystemImages, listDeviceProfiles = listAvdDeviceProfilesAsync, supportsFold = systemImageSupportsFold, ownedAvd = slotOwnedAvd } = {}) {
227
+ async function androidDeviceSelectorRefusal({ signal, settingsContext, slot, systemImageFlag, deviceProfileFlag, systemImage, deviceProfile, physical, remoteBackend, installImages }, { listSystemImages = listInstalledSystemImages, listDeviceProfiles = listAvdDeviceProfilesAsync, supportsFold = systemImageSupportsFold, ownedAvd = slotOwnedAvd } = {}) {
226
228
  const root = settingsContext.projectPath;
227
229
  const settingsLayersForOrigin = settingsLayers(settingsContext);
228
230
  const imageRefusal = systemImageRefusal({
@@ -232,7 +234,8 @@ async function androidDeviceSelectorRefusal({ signal, settingsContext, slot, sys
232
234
  origin: settingOriginScope(settingsLayersForOrigin, "android.systemImage"),
233
235
  physical,
234
236
  remoteBackend,
235
- listImages: listSystemImages
237
+ listImages: listSystemImages,
238
+ installImages
236
239
  });
237
240
  if (imageRefusal) return fail(imageRefusal.code, imageRefusal.message, imageRefusal.remedy);
238
241
  const profileRefusal = await deviceProfileRefusal({
@@ -256,7 +259,8 @@ async function androidDeviceSelectorRefusal({ signal, settingsContext, slot, sys
256
259
  const existing = ownedAvd(root, slot);
257
260
  const profile = deviceProfile ?? existing?.deviceProfile ?? DEFAULT_AVD_DEVICE_PROFILE;
258
261
  const image = () => flagImage ?? existing?.systemImage ?? systemImage ?? pickDefaultSystemImage(listSystemImages())?.pkg ?? null;
259
- const checked = profileNeedsFoldFeature(profile) ? image() : null;
262
+ const wanted = profileNeedsFoldFeature(profile) ? image() : null;
263
+ const checked = wanted !== null && listSystemImages().some((each) => each.pkg === wanted) ? wanted : null;
260
264
  const foldRefusal = checked !== null && foldableImageRefusal({
261
265
  profile,
262
266
  image: checked,
@@ -1,5 +1,5 @@
1
- import { D as ownership_claim_exports, S as process_identity_exports, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { a as macosRuntimeClaim, i as macosProcess, r as macosLogFile, s as updateMacosRecord } from "./state-CiflgxTP.mjs";
1
+ import { D as ownership_claim_exports, T as process_identity_exports, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { a as macosRuntimeClaim, i as macosProcess, r as macosLogFile, s as updateMacosRecord } from "./state-DSOUqO-o.mjs";
3
3
  import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
4
4
  import { LOG_ROTATE_BYTES } from "@stim-cli/core";
5
5
  import { readMacosRecord } from "@stim-cli/core/state";
@@ -1,7 +1,7 @@
1
- import { C as reportSignal, b as operationState } from "./exec-aULwtNly.mjs";
2
- import { M as withDirLock$1 } from "./workspace-state-3bF4TB8P.mjs";
3
- import { Q as diagnoseTailscale, Z as diagnoseOutcome, at as parseMachine$1, d as getConfigDir, dt as tailscaleStatusAsync, et as endpoint$1, ft as diagnoseLocalUnreachable, gt as readHostPermissions, ht as unconfirmedKeyFinding, it as outdatedServer, mt as notOnTailnetDiagnosis, ot as reachMachine, pt as diagnosisFinding, st as realIo, tt as findPeer$1, ut as setupRemedy, v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
4
- import { s as cocoapodsInstall } from "./toolchain-Bnm8vUCV.mjs";
1
+ import { C as operationState, r as reportSignal } from "./exec-CGuDzt40.mjs";
2
+ import { M as withDirLock$1 } from "./workspace-state-BdZ-QgmB.mjs";
3
+ import { $ as unconfirmedKeyFinding, F as diagnoseOutcome, G as realIo, H as outdatedServer, I as diagnoseTailscale, J as setupRemedy, Q as notOnTailnetDiagnosis, R as endpoint$1, U as parseMachine$1, W as reachMachine, X as diagnoseLocalUnreachable, Y as tailscaleStatusAsync, Z as diagnosisFinding, d as getConfigDir, et as readHostPermissions, v as loadConfig$1, z as findPeer$1 } from "./config-BW0fAtoK.mjs";
4
+ import { s as cocoapodsInstall } from "./toolchain-s5ZmG42Z.mjs";
5
5
  import { releaseClaim, tryAcquireClaim } from "@stim-cli/core/ownership-claim";
6
6
  import { mkdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
7
7
  import { hostname } from "node:os";
@@ -392,6 +392,7 @@ const PROBLEM_TITLES = {
392
392
  platform: "cannot build this platform"
393
393
  };
394
394
  const NOTE_TITLES = {
395
+ jdk: "builds Android with its own JDK",
395
396
  ndk: "downloads this project's NDK on its first Android build",
396
397
  "build-tools": "downloads this project's Android build-tools on its first Android build",
397
398
  "compile-sdk": "downloads this project's Android compile platform on its first Android build"
@@ -1,5 +1,5 @@
1
- import { O as __commonJSMin, k as __require, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { X as resolveProjectSettings } from "./settings-C6UTYW2K.mjs";
1
+ import { O as __commonJSMin, k as __require, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { X as resolveProjectSettings } from "./settings-B5IBDfTx.mjs";
3
3
  import { c as registerMetroStore, f as resolveMetroSharedCache, n as supervisorError, r as appendCacheStore, s as metroStoreRoot } from "./errors-DHm_U5gv.mjs";
4
4
  import { createRequire } from "node:module";
5
5
  import { isAbsolute, join, relative, sep } from "node:path";
@@ -1,9 +1,9 @@
1
- import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { n as METRO_COMMAND_PORT } from "./settings-C6UTYW2K.mjs";
3
- import { T as MODE_COMMAND } from "./project-Crtcbfl0.mjs";
4
- import { f as signalProcessTree } from "./metro-mKHEMO-a.mjs";
1
+ import { t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { n as METRO_COMMAND_PORT } from "./settings-B5IBDfTx.mjs";
3
+ import { T as MODE_COMMAND } from "./project-DWEXiBA9.mjs";
4
+ import { f as signalProcessTree } from "./metro-B5PVz0Wv.mjs";
5
5
  import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
6
- import { g as projectNodeLine, p as recordFromLine, v as withProjectNode, y as superviseChildServer } from "./server-expo-BLxcN2x2.mjs";
6
+ import { g as projectNodeLine, p as recordFromLine, v as withProjectNode, y as superviseChildServer } from "./server-expo-15RjL0ir.mjs";
7
7
  import { join } from "node:path";
8
8
  import { LOG_ROTATE_BYTES } from "@stim-cli/core";
9
9
  //#region src/supervisor/server-command.ts
@@ -1,7 +1,7 @@
1
- import { o as cancellableSleep, t as getExecutor } from "./exec-aULwtNly.mjs";
1
+ import { l as cancellableSleep, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
2
  import { n as stripAnsi, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
3
- import { X as resolveProjectSettings } from "./settings-C6UTYW2K.mjs";
4
- import { C as resolvePackageJson } from "./project-Crtcbfl0.mjs";
3
+ import { X as resolveProjectSettings } from "./settings-B5IBDfTx.mjs";
4
+ import { C as resolvePackageJson } from "./project-DWEXiBA9.mjs";
5
5
  import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
6
6
  import { a as expoMetroStoreEnv, c as registerMetroStore, f as resolveMetroSharedCache, i as expoMetroConfigPath, n as supervisorError, o as metroStoreConfirmedRoot, s as metroStoreRoot } from "./errors-DHm_U5gv.mjs";
7
7
  import { accessSync, constants, existsSync, readFileSync } from "node:fs";
@@ -0,0 +1,2 @@
1
+ import { m as startExpoServer } from "./server-expo-15RjL0ir.mjs";
2
+ export { startExpoServer };
@@ -1,15 +1,15 @@
1
- import { D as ownership_claim_exports, c as throwIfCancelled, l as WorkspaceProcessCleanupError, n as isTimeoutError, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { d as getConfigDir, f as getConfigPath$1, g as getRepoSettings, h as getProjectSettings, v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
3
- import { c as gitQuiet, l as gitQuietAsync, n as runOperationFileQuiet, o as git, r as childEnvironment, s as gitAsync, t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
1
+ import { D as ownership_claim_exports, d as throwIfCancelled, f as WorkspaceProcessCleanupError, n as isTimeoutError, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { d as getConfigDir, f as getConfigPath$1, g as getRepoSettings, h as getProjectSettings, v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
3
+ import { c as gitQuiet, l as gitQuietAsync, n as runOperationFileQuiet, o as git, r as childEnvironment, s as gitAsync, t as runOperationFile } from "./operation-exec-DKlBcKAL.mjs";
4
4
  import { accessSync, chmodSync, constants, existsSync, lstatSync, mkdirSync, mkdtempSync, readdirSync, realpathSync, rmSync, statSync } from "node:fs";
5
5
  import { tmpdir } from "node:os";
6
6
  import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
7
7
  import { ambientEnv, buildCacheRoot, compiledHelper, configDir } from "@stim-cli/core";
8
8
  import { REMOTE_DEVICE_BACKENDS, REPLACED_SETTINGS, SETTINGS, SETTING_GROUPS, TUNNEL_MODES, WEB_VIEWPORTS, acceptsShape, coerceSettingText, expectedShape, isLayeredSetting, isPathPrefix, placementWord, replacementAdvice, settingDefinition, settingValueError, trashRoot } from "@stim-cli/core/state";
9
9
  import { basename as basename$1, dirname as dirname$1, isAbsolute as isAbsolute$1, join as join$1, normalize, relative as relative$1, resolve as resolve$1, sep as sep$1 } from "path";
10
+ import { existsSync as existsSync$1, lstatSync as lstatSync$1, readFileSync as readFileSync$1, readdirSync as readdirSync$1, realpathSync as realpathSync$1, statSync as statSync$1 } from "fs";
10
11
  import { fileURLToPath } from "node:url";
11
12
  import { captureProcessIdentity } from "@stim-cli/core/process-identity";
12
- import { existsSync as existsSync$1, lstatSync as lstatSync$1, readFileSync as readFileSync$1, readdirSync as readdirSync$1, realpathSync as realpathSync$1, statSync as statSync$1 } from "fs";
13
13
  import { chmod, lstat, mkdir, mkdtemp, readdir, realpath, rename, rm, rmdir, utimes, writeFile } from "node:fs/promises";
14
14
  //#region src/temporary.ts
15
15
  function existingPath(path) {
@@ -1,5 +1,5 @@
1
- import { c as readSettingsPayload, l as settingEntry, o as layerFile, s as readSettingsContext, t as SettingsRefusal } from "./settings-payload-CrX933Xi.mjs";
2
- import { i as unsetReplacedSetting, n as readScope, r as requireSetting, t as mutateSetting } from "./settings-write-DMcT23Kl.mjs";
1
+ import { c as readSettingsPayload, l as settingEntry, o as layerFile, s as readSettingsContext, t as SettingsRefusal } from "./settings-payload-BIGGQ3or.mjs";
2
+ import { i as unsetReplacedSetting, n as readScope, r as requireSetting, t as mutateSetting } from "./settings-write-D85j8mej.mjs";
3
3
  import { REPLACED_SETTINGS, SETTING_SCOPES } from "@stim-cli/core/state";
4
4
  import chalk from "chalk";
5
5
  //#region src/commands/settings.ts
@@ -1,8 +1,8 @@
1
- import { f as getConfigPath$1, g as getRepoSettings, h as getProjectSettings, v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
2
- import { a as killOnAbort, i as gitPath } from "./operation-exec-Dp4FuIGR.mjs";
3
- import { K as removedMachineSettings, V as readCommittedSettings, st as unknownSettingKeys } from "./settings-C6UTYW2K.mjs";
4
- import { r as findCommandWorkspaceAsync } from "./project-Crtcbfl0.mjs";
5
- import { i as stimDesktopInstalledAsync, n as settingDefault, r as stimDesktopInstalled } from "./stim-desktop-1XxET4S8.mjs";
1
+ import { f as getConfigPath$1, g as getRepoSettings, h as getProjectSettings, v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
2
+ import { a as killOnAbort, i as gitPath } from "./operation-exec-DKlBcKAL.mjs";
3
+ import { K as removedMachineSettings, V as readCommittedSettings, st as unknownSettingKeys } from "./settings-B5IBDfTx.mjs";
4
+ import { r as findCommandWorkspaceAsync } from "./project-DWEXiBA9.mjs";
5
+ import { i as stimDesktopInstalledAsync, n as settingDefault, r as stimDesktopInstalled } from "./stim-desktop-_WTria-r.mjs";
6
6
  import { join } from "node:path";
7
7
  import { SETTINGS, SETTING_SCOPES, coerceSettingText, isJsonObject, replacementAdvice, settingDefinition, settingValueError } from "@stim-cli/core/state";
8
8
  //#region src/workspace/settings-payload.ts
@@ -1,9 +1,9 @@
1
- import { u as withWorkspaceProcessLock } from "./exec-aULwtNly.mjs";
2
- import { f as getConfigPath$1, j as writeConfigSettingAsync, k as withConfigLockAsync$1 } from "./config-D5qNWJEP.mjs";
3
- import { t as NO_PROJECT_REFUSAL } from "./project-Crtcbfl0.mjs";
4
- import { i as stimDesktopInstalledAsync } from "./stim-desktop-1XxET4S8.mjs";
5
- import { n as recordingLayers, t as deleteTurnedOffRecordings } from "./recordings-BWnIlhZH.mjs";
6
- import { d as unknownEntries, l as settingEntry, o as layerFile, r as committedDirectory, s as readSettingsContext, t as SettingsRefusal, u as settingExample } from "./settings-payload-CrX933Xi.mjs";
1
+ import { p as withWorkspaceProcessLock } from "./exec-CGuDzt40.mjs";
2
+ import { f as getConfigPath$1, j as writeConfigSettingAsync, k as withConfigLockAsync$1 } from "./config-BW0fAtoK.mjs";
3
+ import { t as NO_PROJECT_REFUSAL } from "./project-DWEXiBA9.mjs";
4
+ import { i as stimDesktopInstalledAsync } from "./stim-desktop-_WTria-r.mjs";
5
+ import { n as recordingLayers, t as deleteTurnedOffRecordings } from "./recordings-AKZfsW2W.mjs";
6
+ import { d as unknownEntries, l as settingEntry, o as layerFile, r as committedDirectory, s as readSettingsContext, t as SettingsRefusal, u as settingExample } from "./settings-payload-BIGGQ3or.mjs";
7
7
  import { existsSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
8
8
  import { join } from "node:path";
9
9
  import { configDir } from "@stim-cli/core";
@@ -409,6 +409,25 @@
409
409
  ]
410
410
  }
411
411
  },
412
+ "installImages": {
413
+ "description": "Whether Stim installs a missing system image with sdkmanager before creating an owned AVD",
414
+ "type": "string",
415
+ "enum": [
416
+ "auto",
417
+ "never"
418
+ ],
419
+ "default": "auto",
420
+ "x-stim": {
421
+ "key": "android.installImages",
422
+ "kind": "choice",
423
+ "scopes": [
424
+ "machine",
425
+ "workspace",
426
+ "repo",
427
+ "committed"
428
+ ]
429
+ }
430
+ },
412
431
  "deviceProfile": {
413
432
  "description": "avdmanager hardware profile id for new owned AVDs",
414
433
  "type": "string",
@@ -1413,6 +1432,25 @@
1413
1432
  ]
1414
1433
  }
1415
1434
  },
1435
+ "installImages": {
1436
+ "description": "Whether Stim installs a missing system image with sdkmanager before creating an owned AVD",
1437
+ "type": "string",
1438
+ "enum": [
1439
+ "auto",
1440
+ "never"
1441
+ ],
1442
+ "default": "auto",
1443
+ "x-stim": {
1444
+ "key": "android.installImages",
1445
+ "kind": "choice",
1446
+ "scopes": [
1447
+ "machine",
1448
+ "workspace",
1449
+ "repo",
1450
+ "committed"
1451
+ ]
1452
+ }
1453
+ },
1416
1454
  "deviceProfile": {
1417
1455
  "description": "avdmanager hardware profile id for new owned AVDs",
1418
1456
  "type": "string",
@@ -1,6 +1,6 @@
1
- import { D as ownership_claim_exports, S as process_identity_exports, b as operationState, t as getExecutor, y as isTermination } from "./exec-aULwtNly.mjs";
2
- import { d as getConfigDir } from "./config-D5qNWJEP.mjs";
1
+ import { C as operationState, D as ownership_claim_exports, S as isTermination, T as process_identity_exports, t as getExecutor } from "./exec-CGuDzt40.mjs";
3
2
  import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
3
+ import { d as getConfigDir } from "./config-BW0fAtoK.mjs";
4
4
  import { join } from "node:path";
5
5
  //#region src/engine/simslim.ts
6
6
  async function reconcileSimSlim(options) {
@@ -1,9 +1,9 @@
1
- import { r as readWorkspaceState$1 } from "./workspace-state-3bF4TB8P.mjs";
2
- import { K as projectDeviceSlots, W as parseDeviceSlotKey, m as getProject } from "./config-D5qNWJEP.mjs";
3
- import { A as getAvdNameForSerialAsync, P as listAdbDevicesAsync } from "./android-DsEj2CCs.mjs";
4
- import { on as deviceShellArg } from "./ccache-BrwGIxmV.mjs";
5
- import { y as fileLeaseIo } from "./activity-yjH7Q3zn.mjs";
6
- import { f as listAllIosSimsAsync } from "./ios-CdAV4-1E.mjs";
1
+ import { r as readWorkspaceState$1 } from "./workspace-state-BdZ-QgmB.mjs";
2
+ import { ht as projectDeviceSlots, m as getProject, pt as parseDeviceSlotKey } from "./config-BW0fAtoK.mjs";
3
+ import { A as getAvdNameForSerialAsync, P as listAdbDevicesAsync } from "./android-Iq0M2t2d.mjs";
4
+ import { on as deviceShellArg } from "./ccache-BXtzEL6M.mjs";
5
+ import { y as fileLeaseIo } from "./activity-C8kBq9w0.mjs";
6
+ import { f as listAllIosSimsAsync } from "./ios-BdZdNsAj.mjs";
7
7
  import { hostedNativeRecords } from "@stim-cli/core/state";
8
8
  //#region src/engine/slot-launch.ts
9
9
  function launchSlotScope(root, slot = "default") {
@@ -1,5 +1,5 @@
1
- import { c as throwIfCancelled, t as getExecutor, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
2
- import { st as runCancellationSignal } from "./toolchain-Bnm8vUCV.mjs";
1
+ import { d as throwIfCancelled, t as getExecutor, w as withDrainingCancellation } from "./exec-CGuDzt40.mjs";
2
+ import { st as runCancellationSignal } from "./toolchain-s5ZmG42Z.mjs";
3
3
  import { existsSync, lstatSync, promises, readdirSync, realpathSync, statSync } from "node:fs";
4
4
  import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
5
5
  import { validMacosResourceDestination } from "@stim-cli/core";
@@ -1,17 +1,17 @@
1
- import { D as ownership_claim_exports, S as process_identity_exports, a as waitForGroupExit, c as throwIfCancelled, d as workspaceProcessLockError, l as WorkspaceProcessCleanupError, o as cancellableSleep, r as groupExitBudgetMs, t as getExecutor, u as withWorkspaceProcessLock, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
2
- import { S as supervisorLogFile, _ as ensureWorkspaceStorage, i as recordWorkspaceUse, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, n as clearWorkspaceStateKeys, r as readWorkspaceState$1, s as updateWorkspaceStateAsync, w as workspaceAgentDeviceDir } from "./workspace-state-3bF4TB8P.mjs";
3
- import { D as upsertProject, S as releaseMetroPort, k as withConfigLockAsync$1, m as getProject } from "./config-D5qNWJEP.mjs";
4
- import { _ as stepTimer, l as phaseLine } from "./command-output-CfPW1bKP.mjs";
5
- import { A as metroCommandSetting, B as publicUrlSetting, G as remoteIosSetting, I as ngrokUrlSetting, J as resolveCacheProviderConfig, M as metroIdleStopMinutesSetting, N as metroPortSetting, P as metroTunnelSettingError, U as remoteAndroidSetting, Y as resolveIosProjectDir, Z as resolveProjectSettingsAsync, _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, dt as detectProviders, ft as planMetroReach, h as deviceIdleShutdownMinutesSetting, j as metroCommandSettingError, m as defaultAndroidLayout, ot as tunnelModeSetting, p as cacheProviderSettingError, q as resolveAndroidLayout, rt as settingShapeErrors, st as unknownSettingKeys, ut as PUBLIC_METRO_ENV } from "./settings-C6UTYW2K.mjs";
6
- import { E as MODE_EXPO, M as readMetroTunnel, O as clearManagedMetroTunnel, S as readAppJson, T as MODE_COMMAND, c as projectProblem, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL, v as detectIsExpo, w as MODE_BARE, x as readAppConfigText } from "./project-Crtcbfl0.mjs";
7
- import { a as workspaceLinkLine, o as workspaceLinks } from "./stim-desktop-1XxET4S8.mjs";
8
- import { _ as PORT_INSPECTION_REMEDY, a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, f as signalProcessTree, g as reserveMetroPort, h as isMetroRunning, m as createPortProbe, u as processCwds, v as PortInspectionError } from "./metro-mKHEMO-a.mjs";
1
+ import { D as ownership_claim_exports, T as process_identity_exports, c as waitForGroupExit, d as throwIfCancelled, f as WorkspaceProcessCleanupError, l as cancellableSleep, m as workspaceProcessLockError, o as groupExitBudgetMs, p as withWorkspaceProcessLock, t as getExecutor, w as withDrainingCancellation } from "./exec-CGuDzt40.mjs";
2
+ import { S as supervisorLogFile, _ as ensureWorkspaceStorage, i as recordWorkspaceUse, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, n as clearWorkspaceStateKeys, r as readWorkspaceState$1, s as updateWorkspaceStateAsync, w as workspaceAgentDeviceDir } from "./workspace-state-BdZ-QgmB.mjs";
3
+ import { _ as stepTimer, l as phaseLine } from "./command-output-DWI9tGPU.mjs";
4
+ import { D as upsertProject, S as releaseMetroPort, k as withConfigLockAsync$1, m as getProject } from "./config-BW0fAtoK.mjs";
5
+ import { A as metroCommandSetting, B as publicUrlSetting, G as remoteIosSetting, I as ngrokUrlSetting, J as resolveCacheProviderConfig, M as metroIdleStopMinutesSetting, N as metroPortSetting, P as metroTunnelSettingError, U as remoteAndroidSetting, Y as resolveIosProjectDir, Z as resolveProjectSettingsAsync, _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, dt as detectProviders, ft as planMetroReach, h as deviceIdleShutdownMinutesSetting, j as metroCommandSettingError, m as defaultAndroidLayout, ot as tunnelModeSetting, p as cacheProviderSettingError, q as resolveAndroidLayout, rt as settingShapeErrors, st as unknownSettingKeys, ut as PUBLIC_METRO_ENV } from "./settings-B5IBDfTx.mjs";
6
+ import { E as MODE_EXPO, M as readMetroTunnel, O as clearManagedMetroTunnel, S as readAppJson, T as MODE_COMMAND, c as projectProblem, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL, v as detectIsExpo, w as MODE_BARE, x as readAppConfigText } from "./project-DWEXiBA9.mjs";
7
+ import { a as workspaceLinkLine, o as workspaceLinks } from "./stim-desktop-_WTria-r.mjs";
8
+ import { _ as PORT_INSPECTION_REMEDY, a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, f as signalProcessTree, g as reserveMetroPort, h as isMetroRunning, m as createPortProbe, u as processCwds, v as PortInspectionError } from "./metro-B5PVz0Wv.mjs";
9
9
  import { a as levelRank } from "./ndjson-CrjIsGzw.mjs";
10
- import { En as runProcessOperation, In as readProjectConfig, Vn as remoteCliInvocation, b as stopOwnedMetroForReset, c as budgetGate, wn as exitAfterFlush } from "./ccache-BrwGIxmV.mjs";
11
- import { C as stopTunnel, D as withManagedTunnelLock, S as startTunnelSequence, T as withManagedRemoteWorktreeLock, w as terminateChild, x as resolveSupervisorTarget } from "./workspaces-C59v9bpD.mjs";
12
- import { i as restoreLightenedDependencies } from "./lightened-Df6II_XI.mjs";
10
+ import { En as runProcessOperation, In as readProjectConfig, Vn as remoteCliInvocation, b as stopOwnedMetroForReset, c as budgetGate, wn as exitAfterFlush } from "./ccache-BXtzEL6M.mjs";
11
+ import { C as stopTunnel, D as withManagedTunnelLock, S as startTunnelSequence, T as withManagedRemoteWorktreeLock, w as terminateChild, x as resolveSupervisorTarget } from "./workspaces-B3ahAHZc.mjs";
12
+ import { i as restoreLightenedDependencies } from "./lightened-Cv4ToJRX.mjs";
13
13
  import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
14
- import { n as windowsLauncherArgs } from "./detached-entry-BPlSaCwC.mjs";
14
+ import { n as windowsLauncherArgs } from "./detached-entry-tfrgGVWb.mjs";
15
15
  import { appendFileSync, closeSync, mkdirSync, openSync, readFileSync } from "node:fs";
16
16
  import { dirname } from "node:path";
17
17
  import { ambientContext, ambientEnv } from "@stim-cli/core";
@@ -1,2 +1,2 @@
1
- import { a as registerStart, c as startDevServer, d as supervisorSignalable, f as tailLines, i as readLogTail, l as startFacts, n as liveSupervisor, o as resolveWorkspaceMetroPort, p as wantsExpoOwnTunnel, r as parseWait, s as startCommand, t as failureEvidence, u as supervisorEntry } from "./start-CLN_r9EG.mjs";
1
+ import { a as registerStart, c as startDevServer, d as supervisorSignalable, f as tailLines, i as readLogTail, l as startFacts, n as liveSupervisor, o as resolveWorkspaceMetroPort, p as wantsExpoOwnTunnel, r as parseWait, s as startCommand, t as failureEvidence, u as supervisorEntry } from "./start-BsEV4S-s.mjs";
2
2
  export { startCommand as default, failureEvidence, liveSupervisor, parseWait, readLogTail, registerStart, resolveWorkspaceMetroPort, startDevServer, startFacts, supervisorEntry, supervisorSignalable, tailLines, wantsExpoOwnTunnel };
@@ -1,7 +1,7 @@
1
- import { D as ownership_claim_exports, S as process_identity_exports, l as WorkspaceProcessCleanupError, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir, d as writeWorkspaceState, k as workspaceLogsDir$1, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-3bF4TB8P.mjs";
3
- import { t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
4
- import { c as pidExists } from "./metro-mKHEMO-a.mjs";
1
+ import { D as ownership_claim_exports, T as process_identity_exports, f as WorkspaceProcessCleanupError, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { E as workspaceDir, d as writeWorkspaceState, k as workspaceLogsDir$1, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-BdZ-QgmB.mjs";
3
+ import { t as runOperationFile } from "./operation-exec-DKlBcKAL.mjs";
4
+ import { c as pidExists } from "./metro-B5PVz0Wv.mjs";
5
5
  import { readFileSync, readlinkSync, rmSync } from "node:fs";
6
6
  import { hostname } from "node:os";
7
7
  import { join } from "node:path";
@@ -1,5 +1,5 @@
1
- import { S as process_identity_exports } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir, k as workspaceLogsDir$1, o as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-3bF4TB8P.mjs";
1
+ import { T as process_identity_exports } from "./exec-CGuDzt40.mjs";
2
+ import { E as workspaceDir, k as workspaceLogsDir$1, o as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-BdZ-QgmB.mjs";
3
3
  import { existsSync } from "node:fs";
4
4
  import { join } from "node:path";
5
5
  import { readMacosRecord } from "@stim-cli/core/state";
@@ -1,8 +1,8 @@
1
- import { F as formatBytes } from "./config-D5qNWJEP.mjs";
2
- import { o as formatLongDuration } from "./command-output-CfPW1bKP.mjs";
3
- import { i as findProjectRoot$1 } from "./project-Crtcbfl0.mjs";
4
- import { i as getSwiftpmCacheUsage, n as swiftpmCacheLines, r as getAgentDeviceUsage, t as agentDeviceLines } from "./agent-device-usage-output-DO412bsG.mjs";
5
- import { t as readProjectStats } from "./stats-report-B86Cv7Uc.mjs";
1
+ import { o as formatLongDuration } from "./command-output-DWI9tGPU.mjs";
2
+ import { rt as formatBytes } from "./config-BW0fAtoK.mjs";
3
+ import { i as findProjectRoot$1 } from "./project-DWEXiBA9.mjs";
4
+ import { i as getSwiftpmCacheUsage, n as swiftpmCacheLines, r as getAgentDeviceUsage, t as agentDeviceLines } from "./agent-device-usage-output-BTRaK_up.mjs";
5
+ import { t as readProjectStats } from "./stats-report-BVRCqwWA.mjs";
6
6
  import { archivedUsage, readArchives } from "@stim-cli/core/state";
7
7
  import chalk from "chalk";
8
8
  //#region src/commands/stats.ts
@@ -1,4 +1,4 @@
1
- import { i as gitPath } from "./operation-exec-Dp4FuIGR.mjs";
1
+ import { i as gitPath } from "./operation-exec-DKlBcKAL.mjs";
2
2
  import { readStatsReport, statsProjectKey } from "@stim-cli/core/state";
3
3
  //#region src/engine/stats-report.ts
4
4
  /** The stats report for the project at `root`, keyed like the run recorders; Git runs with `env` and dies when `signal` aborts. */
@@ -1,34 +1,34 @@
1
- import { S as process_identity_exports, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { O as workspaceLogErrorIndex, k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-3bF4TB8P.mjs";
3
- import { F as formatBytes, H as deviceSlotKey, K as projectDeviceSlots, W as parseDeviceSlotKey, d as getConfigDir, p as getPlatformDeviceLimits, u as getConcurrencyLimits, v as loadConfig$1, z as volumeRootFor } from "./config-D5qNWJEP.mjs";
4
- import { a as formatElapsed, i as formatDuration, r as clockTime, u as plural } from "./command-output-CfPW1bKP.mjs";
5
- import { s as gitAsync } from "./operation-exec-Dp4FuIGR.mjs";
6
- import { Bt as repoRoot, Ct as gitCommonDirOnDisk, Ot as linkedWorktreesOnDisk, Q as resolveSettings, lt as workspaceHiddenSetting, xt as gitCommonDir } from "./settings-C6UTYW2K.mjs";
7
- import { I as readWorkspaceLaunches, M as readMetroTunnel, P as readRemoteSession, S as readAppJson, a as findServerWorkspace, l as projectShortcut, u as detectPlatforms, v as detectIsExpo, y as detectTutorial } from "./project-Crtcbfl0.mjs";
8
- import { H as ownedAvdDeviceProfile, K as ownedAvdSerialResolver, N as listAdbDevices, P as listAdbDevicesAsync, bt as parkedMaxSetting, mt as POOL_SETTING_REMEDY, xt as readParked } from "./android-DsEj2CCs.mjs";
9
- import { c as pidExists, d as resolveProjectMetro, h as isMetroRunning, i as listeningPids, l as processCwd, o as listeningPidsByPort, u as processCwds } from "./metro-mKHEMO-a.mjs";
1
+ import { T as process_identity_exports, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { O as workspaceLogErrorIndex, k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-BdZ-QgmB.mjs";
3
+ import { a as formatElapsed, i as formatDuration, r as clockTime, u as plural } from "./command-output-DWI9tGPU.mjs";
4
+ import { at as isOnMountedVolume, ct as volumeRootFor, d as getConfigDir, dt as deviceSlotKey, ht as projectDeviceSlots, it as isAbsentPath, ot as listMountedVolumes, p as getPlatformDeviceLimits, pt as parseDeviceSlotKey, rt as formatBytes, u as getConcurrencyLimits, v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
5
+ import { s as gitAsync } from "./operation-exec-DKlBcKAL.mjs";
6
+ import { Bt as repoRoot, Ct as gitCommonDirOnDisk, Ot as linkedWorktreesOnDisk, Q as resolveSettings, lt as workspaceHiddenSetting, xt as gitCommonDir } from "./settings-B5IBDfTx.mjs";
7
+ import { I as readWorkspaceLaunches, M as readMetroTunnel, P as readRemoteSession, S as readAppJson, a as findServerWorkspace, l as projectShortcut, u as detectPlatforms, v as detectIsExpo, y as detectTutorial } from "./project-DWEXiBA9.mjs";
8
+ import { H as ownedAvdDeviceProfile, K as ownedAvdSerialResolver, N as listAdbDevices, P as listAdbDevicesAsync, bt as parkedMaxSetting, mt as POOL_SETTING_REMEDY, xt as readParked } from "./android-Iq0M2t2d.mjs";
9
+ import { c as pidExists, d as resolveProjectMetro, h as isMetroRunning, i as listeningPids, l as processCwd, o as listeningPidsByPort, u as processCwds } from "./metro-B5PVz0Wv.mjs";
10
10
  import { o as parseNdjsonLine } from "./ndjson-CrjIsGzw.mjs";
11
- import { E as metroLastStop, S as describeMetroLastStop, cn as hasMetroReverse, cr as attributeMachineUsage, lr as readFootprints, p as machineNumber } from "./ccache-BrwGIxmV.mjs";
12
- import { a as readWebPage, o as readWebRecord, u as webFacts } from "./state-CM_HvvkS.mjs";
13
- import { A as poolLine, C as diskLine, D as loadLine, E as gitSummaryText, F as tightVolumes, I as unprovisionedWorktrees, L as withWebFacts, M as remoteDeviceState, N as slotUsageLines, O as metroReverseTargets, P as statusActivity, S as deviceLeaseStates, _ as addReverseMissingIssue, b as capacityLoad, g as activityLabel, j as remoteDeviceLine, k as parseDfFree, r as readEasSessionLedger$1, v as applyMachineMemory, w as environmentState, x as deviceLeaseLines, y as capacity } from "./eas-session-ledger-B-nTfdfk.mjs";
14
- import { Ct as buildSlotUsage, G as buildStatusLine, J as parseActiveBuild, K as bundlingActivity, U as activeBuildState, V as ACTIVE_BUILD_KEY, W as buildReport, at as readStats$1, lt as statsProjectKey$1, x as resolveSupervisorTarget } from "./workspaces-C59v9bpD.mjs";
15
- import { a as createDeviceProcessTables, b as leaseIsExpired, h as tailLines, m as readWebActivity, r as createActivityReader, w as parseWorkspaceLeases, x as listLeaseFiles } from "./activity-yjH7Q3zn.mjs";
16
- import { b as parseSimctlList, f as listAllIosSimsAsync } from "./ios-CdAV4-1E.mjs";
17
- import { p as probeHostedSession } from "./hosted-client-Hs-fD4L3.mjs";
18
- import "./hosted-macos-B4byscei.mjs";
19
- import { i as readSupervisorState } from "./stop-W4DK8qZq.mjs";
20
- import { l as applyStatusMeasures, n as workspacePhase, s as mergeState, u as createStatusMeasurer } from "./warm-progress-_aTMvkIH.mjs";
21
- import { r as workspaceRecordingEnabled } from "./recordings-BWnIlhZH.mjs";
22
- import { n as maintenanceLines, r as maintenanceStatus } from "./status-GQ-JqvRi.mjs";
23
- import { c as deviceSlotUsages } from "./device-capacity-Bki6B-7h.mjs";
24
- import { d as readIosDevices, s as isReachable } from "./ios-device-D7Gi3e1I.mjs";
25
- import { t as triggerMaintenance } from "./trigger-CfnOfpDd.mjs";
26
- import { a as createRefreshScheduler, c as watchStatusSources, n as WATCH_LIGHT_INTERVAL_MS, o as watchChangeKey, r as WATCH_MACHINE_INTERVAL_MS, s as watchPayload, t as WATCH_FALLBACK_MS } from "./status-watch-DSu_hhg6.mjs";
11
+ import { E as metroLastStop, S as describeMetroLastStop, cn as hasMetroReverse, cr as attributeMachineUsage, lr as readFootprints, p as machineNumber } from "./ccache-BXtzEL6M.mjs";
12
+ import { a as readWebPage, o as readWebRecord, u as webFacts } from "./state-CtmYTRWm.mjs";
13
+ import { A as poolLine, C as diskLine, D as loadLine, E as gitSummaryText, F as tightVolumes, I as unprovisionedWorktrees, L as withWebFacts, M as remoteDeviceState, N as slotUsageLines, O as metroReverseTargets, P as statusActivity, S as deviceLeaseStates, _ as addReverseMissingIssue, b as capacityLoad, g as activityLabel, j as remoteDeviceLine, k as parseDfFree, r as readEasSessionLedger$1, v as applyMachineMemory, w as environmentState, x as deviceLeaseLines, y as capacity } from "./eas-session-ledger-Bspy-VJQ.mjs";
14
+ import { Ct as buildSlotUsage, G as buildStatusLine, J as parseActiveBuild, K as bundlingActivity, U as activeBuildState, V as ACTIVE_BUILD_KEY, W as buildReport, at as readStats$1, lt as statsProjectKey$1, x as resolveSupervisorTarget } from "./workspaces-B3ahAHZc.mjs";
15
+ import { a as createDeviceProcessTables, b as leaseIsExpired, h as tailLines, m as readWebActivity, r as createActivityReader, w as parseWorkspaceLeases, x as listLeaseFiles } from "./activity-C8kBq9w0.mjs";
16
+ import { b as parseSimctlList, f as listAllIosSimsAsync } from "./ios-BdZdNsAj.mjs";
17
+ import { m as probeHostedSession } from "./hosted-client-D19Lv0tg.mjs";
18
+ import "./hosted-macos-D0DDQxvl.mjs";
19
+ import { i as readSupervisorState } from "./stop-BVI2-L7s.mjs";
20
+ import { l as applyStatusMeasures, n as workspacePhase, s as mergeState, u as createStatusMeasurer } from "./warm-progress-q11Vdvhh.mjs";
21
+ import { r as workspaceRecordingEnabled } from "./recordings-AKZfsW2W.mjs";
22
+ import { n as maintenanceLines, r as maintenanceStatus } from "./status-DTFhDnd1.mjs";
23
+ import { c as deviceSlotUsages } from "./device-capacity-BAkETfIl.mjs";
24
+ import { d as readIosDevices, s as isReachable } from "./ios-device-DXbHZfFe.mjs";
25
+ import { t as triggerMaintenance } from "./trigger-BtB4kbe0.mjs";
26
+ import { a as createRefreshScheduler, c as watchStatusSources, n as WATCH_LIGHT_INTERVAL_MS, o as watchChangeKey, r as WATCH_MACHINE_INTERVAL_MS, s as watchPayload, t as WATCH_FALLBACK_MS } from "./status-watch-D8s823CZ.mjs";
27
27
  import { t as watchStdoutReader } from "./stdout-reader-C8yjre1x.mjs";
28
28
  import { createHash, randomUUID } from "node:crypto";
29
29
  import { mkdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
30
30
  import { join, posix, resolve } from "node:path";
31
- import { rotatedLogPath } from "@stim-cli/core";
31
+ import { quotedPath, rotatedLogPath } from "@stim-cli/core";
32
32
  import { DEVICE_RECLAIM_REASON, ERROR_SOURCES, archiveRoot, archivedUsage, bundleMarkerPlatform, countErrorEntries, gitMergeCacheDir, hostedAndroidPlacements, hostedAndroidRecords, hostedAndroidStatus, hostedIosPlacements, hostedIosRecords, hostedIosStatus, linkReplacedArchives, loadPerCore, logFiles, macosAppState, maxLoadPerCore, parseHostedAndroidPlacement, parseHostedIosPlacement, queryLogs, readArchives, readBuildDetail, readBuildHistory, readDeviceIdleShutdowns, readDevicePlacement, readIdleStop, readLastBuilds, readMacosRecord, recordMatches, sortByTs, unreadableHostedAndroid, unreadableHostedIos, withDerivedFacts, withGitChip, withStateReadCache } from "@stim-cli/core/state";
33
33
  import { basename as basename$1, dirname as dirname$1, join as join$1 } from "path";
34
34
  import chalk from "chalk";
@@ -899,6 +899,7 @@ async function readStatusFacts(probes, gitScope, cwd) {
899
899
  await gitRead;
900
900
  const history = readStats$1().record?.history;
901
901
  const states = [];
902
+ let mountedVolumes;
902
903
  const labelOnlyRoots = [];
903
904
  const launchesByState = [];
904
905
  const easLedger = readEasSessionLedger$1();
@@ -989,7 +990,13 @@ async function readStatusFacts(probes, gitScope, cwd) {
989
990
  if (macosFacts.warning) state.warnings.push(macosFacts.warning);
990
991
  state.live ||= macos.state === "running" || macos.state === "orphaned" || macos.build.state === "running";
991
992
  }
992
- Object.assign(state, builds, workspacePhase(state.live, saved, { now: leaseNow }), {
993
+ const missing = isAbsentPath(path) && isOnMountedVolume(path, mountedVolumes ??= listMountedVolumes());
994
+ const phase = workspacePhase(state.live, saved, { now: leaseNow });
995
+ Object.assign(state, builds, missing && phase.phase !== "live" ? {
996
+ phase: "idle",
997
+ phaseSince: null
998
+ } : phase, {
999
+ ...missing ? { pathMissing: true } : {},
993
1000
  platforms: (() => {
994
1001
  const context = {
995
1002
  projectPath: path,
@@ -1434,7 +1441,8 @@ function androidStatusLines(record, slotLabel) {
1434
1441
  function formatGb(mb) {
1435
1442
  return `${(mb / 1024).toFixed(1)} GB`;
1436
1443
  }
1437
- function phaseMarker({ phase, live, warmStep }) {
1444
+ function phaseMarker({ phase, live, warmStep, pathMissing }) {
1445
+ if (pathMissing) return chalk.yellow(" [folder missing]");
1438
1446
  if (phase === "warming") return chalk.cyan(` [warming: ${warmStep}]`);
1439
1447
  if (phase === "ready") return chalk.green(" [ready]");
1440
1448
  return live ? "" : chalk.dim(" [idle]");
@@ -1558,6 +1566,7 @@ function renderStatus({ archived, archivedUsage: usage, projects, states, labelO
1558
1566
  for (const device of state.physicalDevices ?? []) out.push(` ${physicalDeviceLine(device, leaseNow)}`);
1559
1567
  for (const remote of state.remoteDevices ?? []) out.push(` ${remoteDeviceLine(remote)}`);
1560
1568
  for (const w of state.warnings) out.push(chalk.yellow(` ! ${w}`));
1569
+ if (state.pathMissing) out.push(chalk.yellow(` ! the folder is gone; run \`stim worktree remove ${quotedPath(path)}\` or \`stim gc --delete\` to remove the entry`));
1561
1570
  for (const note of state.issues.filter((issue) => issue.severity === "info")) out.push(chalk.dim(` - ${note.message}`));
1562
1571
  }
1563
1572
  for (const pool of pools) {
@@ -1,4 +1,4 @@
1
- import { F as formatBytes } from "./config-D5qNWJEP.mjs";
1
+ import { rt as formatBytes } from "./config-BW0fAtoK.mjs";
2
2
  import { t as resolveMaintenanceSettings } from "./settings-D9LtQaUw.mjs";
3
3
  import { claimRemoveCommand, readClaimSet } from "@stim-cli/core/ownership-claim";
4
4
  import { maintenanceRunClaims, readMaintenanceState } from "@stim-cli/core/state";
@@ -1,2 +1,2 @@
1
- import { n as runStatusWatch, r as statusCommand, t as readVolumes } from "./status-D0ruTmPl.mjs";
1
+ import { n as runStatusWatch, r as statusCommand, t as readVolumes } from "./status-C6hLlDqW.mjs";
2
2
  export { statusCommand as default, readVolumes, runStatusWatch };
@@ -1,8 +1,8 @@
1
- import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { d as androidToolPath } from "./android-DsEj2CCs.mjs";
3
- import { c as pidExists } from "./metro-mKHEMO-a.mjs";
4
- import { n as easMachineStateRoot } from "./eas-session-ledger-B-nTfdfk.mjs";
5
- import { b as parseSimctlList } from "./ios-CdAV4-1E.mjs";
1
+ import { t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { d as androidToolPath } from "./android-Iq0M2t2d.mjs";
3
+ import { c as pidExists } from "./metro-B5PVz0Wv.mjs";
4
+ import { n as easMachineStateRoot } from "./eas-session-ledger-Bspy-VJQ.mjs";
5
+ import { b as parseSimctlList } from "./ios-BdZdNsAj.mjs";
6
6
  import { existsSync, readdirSync, statSync, watch } from "node:fs";
7
7
  import { basename, dirname, join } from "node:path";
8
8
  //#region src/status-watch.ts
@@ -1,4 +1,4 @@
1
- import { n as runStatusWatch } from "./status-D0ruTmPl.mjs";
1
+ import { n as runStatusWatch } from "./status-C6hLlDqW.mjs";
2
2
  import { parentPort, workerData } from "node:worker_threads";
3
3
  //#region src/status-worker.ts
4
4
  const STOP_EXIT_MS = 500;
@@ -1,5 +1,5 @@
1
- import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { c as ensureConfig, w as saveConfig } from "./config-D5qNWJEP.mjs";
1
+ import { t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { c as ensureConfig, w as saveConfig } from "./config-BW0fAtoK.mjs";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { workspaceId } from "@stim-cli/core";
5
5
  import { readHomeIdentity, withConfigLockAsync } from "@stim-cli/core/state";
@@ -1,3 +1,3 @@
1
- import { x as resolveSupervisorTarget } from "./workspaces-C59v9bpD.mjs";
2
- import { a as resolveCollectorTargets, c as stopWorkspaceNow, i as readSupervisorState, n as clearSupervisorState, o as runStop, r as readCollectorState, s as stopCommand, t as clearCollectorState } from "./stop-W4DK8qZq.mjs";
1
+ import { x as resolveSupervisorTarget } from "./workspaces-B3ahAHZc.mjs";
2
+ import { a as resolveCollectorTargets, c as stopWorkspaceNow, i as readSupervisorState, n as clearSupervisorState, o as runStop, r as readCollectorState, s as stopCommand, t as clearCollectorState } from "./stop-BVI2-L7s.mjs";
3
3
  export { clearCollectorState, clearSupervisorState, stopCommand as default, readCollectorState, readSupervisorState, resolveCollectorTargets, resolveSupervisorTarget, runStop, stopWorkspaceNow };