stim 1.29.0 → 1.31.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 (146) hide show
  1. package/dist/{acquire-artifact-C2DKfenN.mjs → acquire-artifact-P84h3ssa.mjs} +1 -1
  2. package/dist/{act-CrTcskiE.mjs → act-lcOIEy32.mjs} +18 -18
  3. package/dist/{activity-BR5oHSO5.mjs → activity-Dw4N_RFe.mjs} +4 -4
  4. package/dist/{agent-device-usage-output-W0x4SoC7.mjs → agent-device-usage-output-Boie2yB-.mjs} +4 -4
  5. package/dist/{android-CLU_MMnb.mjs → android-BeeC15Ve.mjs} +1 -1
  6. package/dist/{android-l616dRP1.mjs → android-DhiWSOFU.mjs} +47 -43
  7. package/dist/{android-BHKgeOuq.mjs → android-DsEj2CCs.mjs} +65 -35
  8. package/dist/{android-BPmCmyAy.mjs → android-aIuJZoDu.mjs} +5 -5
  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-B-wKoF_8.mjs → apk-signed-tail-B9Usseps.mjs} +2 -2
  12. package/dist/{artifact-Dm9ScLrh.mjs → artifact-Cr34-Yyy.mjs} +12 -12
  13. package/dist/{artifact-DHuFYfhD.mjs → artifact-ta3xA0c4.mjs} +12 -12
  14. package/dist/{auto-placement-C8sJsyMN.mjs → auto-placement-DtTRG0rk.mjs} +12 -12
  15. package/dist/{browser-web-_tQTbQUs.mjs → browser-web-DuULNZrS.mjs} +11 -11
  16. package/dist/{build-DtCU9Kim.mjs → build-BpFFbdXD.mjs} +22 -22
  17. package/dist/{build-cache-BGwTsIEa.mjs → build-cache-BsKim4V7.mjs} +4 -4
  18. package/dist/{build-plan-CWyjMPKo.mjs → build-plan-DH1rT11x.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-DsDkdP72.mjs → ccache-DVDO2ocE.mjs} +16 -16
  22. package/dist/{cli-3fjOg-Oc.mjs → cli-C0jjwTuM.mjs} +18 -18
  23. package/dist/cli.mjs +1 -1
  24. package/dist/{client-BTUH8TF1.mjs → client-DhJOvSvh.mjs} +4 -4
  25. package/dist/collector-run.mjs +4 -4
  26. package/dist/{command-output-DjCsmzLZ.mjs → command-output-VrXd6qPX.mjs} +1 -1
  27. package/dist/{config-AbUjIBOQ.mjs → config-D5qNWJEP.mjs} +2 -2
  28. package/dist/{dependencies-CHNqX6Pr.mjs → dependencies-DIU-5rnG.mjs} +38 -37
  29. package/dist/{dependency-state-CPKAKCZ8.mjs → dependency-state-DZVln1P9.mjs} +1 -1
  30. package/dist/{dev-client-CROrxj1x.mjs → dev-client-DeAg0fso.mjs} +2 -2
  31. package/dist/device-C2WsPgFt.mjs +761 -0
  32. package/dist/device-DuNLOlR6.mjs +175 -0
  33. package/dist/{device-Bmm5qjM-.mjs → device-android-BjhH0Ru3.mjs} +39 -200
  34. package/dist/{device-capacity-B2ChA-bz.mjs → device-capacity-Du5wBTNJ.mjs} +175 -76
  35. package/dist/device-host-worker.mjs +49 -36
  36. package/dist/{device-ios-CYzivd31.mjs → device-ios-CUYUhSYO.mjs} +27 -17
  37. package/dist/{device-lease-run-qRq_2W2V.mjs → device-lease-run-CHXQEn-7.mjs} +4 -4
  38. package/dist/{device-pool-CrmiE4_x.mjs → device-pool-kUHO7MHO.mjs} +3 -3
  39. package/dist/{device-provision-CK2XiEp1.mjs → device-provision-e7bKS7lx.mjs} +8 -8
  40. package/dist/{doctor-BO_kaFWX.mjs → doctor-B6kIVgU9.mjs} +1 -1
  41. package/dist/{doctor-Cp4-HN1f.mjs → doctor-BGcsAgAV.mjs} +15 -15
  42. package/dist/doctor-fingerprint.mjs +1 -1
  43. package/dist/{doctor-Dr3C1iXV.mjs → doctor-hva3sd9f.mjs} +37 -26
  44. package/dist/{doctor-watchman-CJr2aXXv.mjs → doctor-watchman-DJY550yz.mjs} +4 -4
  45. package/dist/{eas-build-D-9HmGZS.mjs → eas-build-CBFgseh1.mjs} +2 -2
  46. package/dist/{eas-fallback-Cemt2GVL.mjs → eas-fallback-DFXdz4d6.mjs} +4 -4
  47. package/dist/{eas-session-ledger-B0KLZx5m.mjs → eas-session-ledger-aFBLTZr2.mjs} +19 -6
  48. package/dist/{error-diagnostics-CV_1RoEH.mjs → error-diagnostics-CCsq_3uG.mjs} +8 -8
  49. package/dist/{gc-CKHqL4aS.mjs → gc-B0K4d_PL.mjs} +17 -17
  50. package/dist/{gc-DjXwQXHK.mjs → gc-DASUa3Z_.mjs} +2 -2
  51. package/dist/{guide-CeRlWVsS.mjs → guide-Civo5-zV.mjs} +178 -28
  52. package/dist/{hosted-android-DI_vvv7U.mjs → hosted-android-CH1Sm4wo.mjs} +3 -3
  53. package/dist/{hosted-client-CgoxdU9j.mjs → hosted-client-5ur3YpxY.mjs} +36 -12
  54. package/dist/{hosted-logs-C-4INmkn.mjs → hosted-logs-BYg4yeti.mjs} +6 -6
  55. package/dist/{hosted-logs-sync-Bf5s02fi.mjs → hosted-logs-sync-BPe8xnMu.mjs} +7 -11
  56. package/dist/{hosted-macos-Doh85YUM.mjs → hosted-macos-BagT0Gn3.mjs} +5 -5
  57. package/dist/{hosted-native-DvZENAL-.mjs → hosted-native-kaR4nUHk.mjs} +9 -8
  58. package/dist/{idle-shutdown-BM37gMfU.mjs → idle-shutdown-BWHQ7mQG.mjs} +6 -6
  59. package/dist/{ios-CNDH6fNF.mjs → ios-BKR-Dq46.mjs} +8 -8
  60. package/dist/{ios-CoMCWfub.mjs → ios-CdAV4-1E.mjs} +4 -4
  61. package/dist/{ios-UM_dManb.mjs → ios-DUL68MI5.mjs} +33 -32
  62. package/dist/{ios-device-L1-pota_.mjs → ios-device-Dz8gFZ0K.mjs} +1 -1
  63. package/dist/{ios-project-DJYptOCh.mjs → ios-project-Br1tVYWX.mjs} +7 -7
  64. package/dist/{ios-state-Ce_dystM.mjs → ios-state-BEIJRJ7P.mjs} +1 -1
  65. package/dist/{js-swap-BthE4kZC.mjs → js-swap-BfG8XpyS.mjs} +4 -4
  66. package/dist/{launch-D798aSm8.mjs → launch-CrGndh8T.mjs} +19 -19
  67. package/dist/{lightened-vSxkstg6.mjs → lightened-DZ9Ip0T3.mjs} +4 -4
  68. package/dist/{logs-CilPftm3.mjs → logs-C-hfMsxK.mjs} +7 -6
  69. package/dist/{logs-BND8MiBq.mjs → logs-DpIKWT3A.mjs} +7 -7
  70. package/dist/{macos-BOQrKYeJ.mjs → macos-DNmKwfDy.mjs} +1 -1
  71. package/dist/{macos-CxUi9xcE.mjs → macos-DZ9ZSolN.mjs} +19 -19
  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-RDhyx85c.mjs} +1 -1
  76. package/dist/{named-ports-DcktE2Pw.mjs → named-ports-B0hCk2v-.mjs} +2 -2
  77. package/dist/{native-android-BkhrCjdX.mjs → native-android-DExhFqR6.mjs} +16 -16
  78. package/dist/{native-gradle-artifact-inputs-Cw4P6Gyr.mjs → native-gradle-artifact-inputs-Bcmbdc23.mjs} +3 -3
  79. package/dist/{native-runtime-DyH2gkXK.mjs → native-runtime-D4qgnjK_.mjs} +6 -6
  80. package/dist/{native-xcode-inputs-DV8jr3kJ.mjs → native-xcode-inputs-EWma1lXh.mjs} +2 -2
  81. package/dist/{native-xcode-ios-DdpPG2iT.mjs → native-xcode-ios-Y6rzmWTc.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-DZRad8HT.mjs → phone-reverses-Drj5QQCh.mjs} +4 -4
  85. package/dist/{placement-log-CoN6xrjY.mjs → placement-log-CFT8SnlS.mjs} +1 -1
  86. package/dist/{plan-placement-7sHuqR-r.mjs → plan-placement-DhKCH_wF.mjs} +6 -6
  87. package/dist/{ports-VQSAPZhl.mjs → ports-BNtJ5DCj.mjs} +3 -3
  88. package/dist/{prebuild-Bqp0LFGN.mjs → prebuild-D0hvmO4j.mjs} +9 -9
  89. package/dist/{project-D1n0K4yg.mjs → project-DCLkDM8C.mjs} +15 -15
  90. package/dist/{react-native-android-FQ-yX3Mv.mjs → react-native-android-Dp7vctEA.mjs} +24 -24
  91. package/dist/{react-native-build-D58bIqV9.mjs → react-native-build-vK2lFYfN.mjs} +7 -7
  92. package/dist/{react-native-doctor-AkUH2aca.mjs → react-native-doctor-BtWzwZHU.mjs} +9 -8
  93. package/dist/{react-native-ios-Dmsv8j7T.mjs → react-native-ios-DW1Ax3Yv.mjs} +16 -15
  94. package/dist/{recordings-CHMaF73C.mjs → recordings-BWnIlhZH.mjs} +1 -1
  95. package/dist/{reload-BV0nD-k9.mjs → reload-B-d7-CsI.mjs} +14 -14
  96. package/dist/{reload-CDKEzzaf.mjs → reload-BS_ntVV_.mjs} +1 -1
  97. package/dist/{remote-C8xyslUa.mjs → remote-DScVlaMz.mjs} +8 -8
  98. package/dist/{result-9fqcJ90W.mjs → result-Epkl6gyG.mjs} +16 -16
  99. package/dist/{run-BQAmrohh.mjs → run-2CHAJ9Oj.mjs} +1 -1
  100. package/dist/{selection-D1ZDzHFX.mjs → selection-C95m--1_.mjs} +3 -3
  101. package/dist/{server-bare-CEQdB_F4.mjs → server-bare-CFyVFZXJ.mjs} +1 -1
  102. package/dist/{server-command-RlS-Kl4a.mjs → server-command-B1gDRJB2.mjs} +4 -4
  103. package/dist/{server-expo-bB1VV2k-.mjs → server-expo-CP4dURQp.mjs} +2 -2
  104. package/dist/server-expo-D3k9mvP8.mjs +2 -0
  105. package/dist/{settings-D776ygML.mjs → settings-C6UTYW2K.mjs} +1 -1
  106. package/dist/{settings-BcVCcAT5.mjs → settings-CjTRNCi3.mjs} +2 -2
  107. package/dist/{settings-payload-_aatELz2.mjs → settings-payload-zf5EnCTg.mjs} +4 -4
  108. package/dist/{settings-write-CkTVGQ4O.mjs → settings-write-Fe0K6BeC.mjs} +5 -5
  109. package/dist/settings.schema.json +45 -3
  110. package/dist/{simslim-CbpHERcv.mjs → simslim-93xmPh-d.mjs} +1 -1
  111. package/dist/{slot-launch-Dbgfh8gc.mjs → slot-launch-B4MHzVX2.mjs} +6 -6
  112. package/dist/{stage-BuHuRj1y.mjs → stage-DDrnM0CY.mjs} +1 -1
  113. package/dist/{start-Cr-c3Xhq.mjs → start-BXl5tkv8.mjs} +1 -1
  114. package/dist/{start-Dlv4XXTP.mjs → start-LSwIFlBv.mjs} +10 -10
  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-D5c-uIBp.mjs → stats-EgpYD536.mjs} +4 -4
  118. package/dist/{status-D6PBK6_-.mjs → status-BLDvhatv.mjs} +26 -25
  119. package/dist/{status-DbQv--Yb.mjs → status-DBMD7ZQT.mjs} +1 -1
  120. package/dist/{status-CK7ZoEhV.mjs → status-GQ-JqvRi.mjs} +1 -1
  121. package/dist/{status-watch-okrpea4i.mjs → status-watch-BwG4lJ1q.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-CHtAiv79.mjs → stop-4SAV_RR8.mjs} +2 -2
  125. package/dist/{stop-uRQ-zYcl.mjs → stop-BfNhzvXO.mjs} +4 -4
  126. package/dist/{stop-p9uSKuGE.mjs → stop-WyrZQuX6.mjs} +15 -15
  127. package/dist/supervisor-run.mjs +13 -13
  128. package/dist/{support-PFyTkrnr.mjs → support-Cffz6_Ft.mjs} +15 -11
  129. package/dist/{support-BMpQIug0.mjs → support-Cs24xRQa.mjs} +9 -9
  130. package/dist/{swiftpm-artifact-inputs-Cddq6jN2.mjs → swiftpm-artifact-inputs-yp8D5LE4.mjs} +1 -1
  131. package/dist/{swiftpm-macos-BSj9iZlI.mjs → swiftpm-macos-D0CzQtpp.mjs} +8 -8
  132. package/dist/toolchain-BEra9AIX.mjs +2 -0
  133. package/dist/{toolchain-CLGnEUgT.mjs → toolchain-CGdgD4x4.mjs} +19 -11
  134. package/dist/{warm-progress--KkkBBaq.mjs → warm-progress-_aTMvkIH.mjs} +3 -3
  135. package/dist/{web-xlVssjQf.mjs → web-BE89ONcc.mjs} +8 -8
  136. package/dist/web-DQPxvFVD.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-CvSYD_78.mjs → workspaces-BNEyJ1B_.mjs} +15 -12
  140. package/dist/{worktree-CaQBf6kh.mjs → worktree-BTrii9e_.mjs} +24 -24
  141. package/dist/{worktree-DTOIohFe.mjs → worktree-DB3Ypdj6.mjs} +1 -1
  142. package/package.json +7 -7
  143. package/dist/device-BvpasThQ.mjs +0 -297
  144. package/dist/server-expo-BVV9qy31.mjs +0 -2
  145. package/dist/toolchain-B-mzR9Rh.mjs +0 -2
  146. package/dist/web-BxSo493O.mjs +0 -2
@@ -1,16 +1,16 @@
1
1
  import { D as ownership_claim_exports, c as throwIfCancelled, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir } from "./workspace-state-DGwkPXwq.mjs";
3
- import { _ as stepTimer, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-DjCsmzLZ.mjs";
4
- import { Dn as RESOLVE_TIMEOUT_MS, Mn as isEasAuthFailureText, jn as easAuthNote, n as CCACHE_UNAVAILABLE, r as ccacheActivityLine, t as CCACHE_NOT_RUN } from "./ccache-DsDkdP72.mjs";
5
- import { Q as cancelledFailure, ot as runCancellationSignal } from "./toolchain-CLGnEUgT.mjs";
6
- import { b as providerDownloadPath, y as prepareProviderDownloadDir } from "./build-cache-BGwTsIEa.mjs";
7
- import { c as offloadPlacement, i as closeOffload, l as placementLoad, n as buildPlacementCandidates, o as offloadBuild, r as chooseBuildMachine, u as remotePhaseText } from "./client-BTUH8TF1.mjs";
8
- import { a as missingPackageManagerRemedy, i as fingerprintMismatchRemedy, l as requireLocalBuild, n as automaticBuild, o as namedBuildMachine, t as OffloadRefusal } from "./selection-D1ZDzHFX.mjs";
9
- import { f as formatDiagnostic } from "./react-native-build-D58bIqV9.mjs";
10
- import { u as skippedMissReason } from "./prebuild-Bqp0LFGN.mjs";
11
- import { t as buildPlacementRecord } from "./placement-log-CoN6xrjY.mjs";
12
- import { n as settleArtifactUploads, t as acquireArtifact } from "./acquire-artifact-C2DKfenN.mjs";
13
- import { a as PLATFORM, h as displayPath } from "./support-PFyTkrnr.mjs";
2
+ import { E as workspaceDir } from "./workspace-state-3bF4TB8P.mjs";
3
+ import { _ as stepTimer, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-VrXd6qPX.mjs";
4
+ import { Dn as RESOLVE_TIMEOUT_MS, Mn as isEasAuthFailureText, jn as easAuthNote, n as CCACHE_UNAVAILABLE, r as ccacheActivityLine, t as CCACHE_NOT_RUN } from "./ccache-DVDO2ocE.mjs";
5
+ import { $ as cancelledFailure, st as runCancellationSignal } from "./toolchain-CGdgD4x4.mjs";
6
+ import { b as providerDownloadPath, y as prepareProviderDownloadDir } from "./build-cache-BsKim4V7.mjs";
7
+ import { c as offloadPlacement, i as closeOffload, l as placementLoad, n as buildPlacementCandidates, o as offloadBuild, r as chooseBuildMachine, u as remotePhaseText } from "./client-DhJOvSvh.mjs";
8
+ import { a as missingPackageManagerRemedy, i as fingerprintMismatchRemedy, l as requireLocalBuild, n as automaticBuild, o as namedBuildMachine, t as OffloadRefusal } from "./selection-C95m--1_.mjs";
9
+ import { f as formatDiagnostic } from "./react-native-build-vK2lFYfN.mjs";
10
+ import { u as skippedMissReason } from "./prebuild-D0hvmO4j.mjs";
11
+ import { t as buildPlacementRecord } from "./placement-log-CFT8SnlS.mjs";
12
+ import { n as settleArtifactUploads, t as acquireArtifact } from "./acquire-artifact-P84h3ssa.mjs";
13
+ import { a as PLATFORM, h as displayPath } from "./support-Cffz6_Ft.mjs";
14
14
  import { t as AndroidRecipeRefusal } from "./android-project-BCAAmMwz.mjs";
15
15
  import { rmSync } from "node:fs";
16
16
  import { join } from "node:path";
@@ -1,11 +1,11 @@
1
- import { _ as loadConfig$1, p as getProject } from "./config-AbUjIBOQ.mjs";
2
- import { m as peekBudget } from "./ccache-DsDkdP72.mjs";
3
- import { z as readHostMemoryPressureAsync } from "./ios-CoMCWfub.mjs";
4
- import { _ as hostingMachines, o as namedBuildMachine, u as resolveBuildMachine } from "./selection-D1ZDzHFX.mjs";
5
- import { c as call, l as connectHost, m as requireHostedAppMode } from "./hosted-client-CgoxdU9j.mjs";
6
- import { c as writeHostedNativeAsync, r as readHostedNative } from "./ios-state-Ce_dystM.mjs";
7
- import { i as prepareHostedNative } from "./hosted-native-DvZENAL-.mjs";
8
- import { t as DEFAULT_DEVICE_SLOT_WAIT_MS, u as peekDeviceSlots } from "./device-capacity-B2ChA-bz.mjs";
1
+ import { m as getProject, v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
2
+ import { m as peekBudget } from "./ccache-DVDO2ocE.mjs";
3
+ import { z as readHostMemoryPressureAsync } from "./ios-CdAV4-1E.mjs";
4
+ import { _ as hostingMachines, o as namedBuildMachine, u as resolveBuildMachine } from "./selection-C95m--1_.mjs";
5
+ import { c as call, l as connectHost, m as requireHostedAppMode } from "./hosted-client-5ur3YpxY.mjs";
6
+ import { c as writeHostedNativeAsync, r as readHostedNative } from "./ios-state-BEIJRJ7P.mjs";
7
+ import { i as prepareHostedNative } from "./hosted-native-kaR4nUHk.mjs";
8
+ import { d as peekDeviceSlots, t as DEFAULT_DEVICE_SLOT_WAIT_MS } from "./device-capacity-Du5wBTNJ.mjs";
9
9
  import { ambientEnv } from "@stim-cli/core";
10
10
  import { automaticMachineEnabled, isJsonObject, machineCapacity, mayRunHere, parseHostedChoice, parseHostedNativeOffer, prefersRemote } from "@stim-cli/core/state";
11
11
  import { setTimeout } from "node:timers/promises";
@@ -43,12 +43,12 @@ function decideDevicePlacement(inputs) {
43
43
  }
44
44
  const { platform, placement = "auto", here, offers, buildMachine, noWait, eas } = inputs;
45
45
  const remoteFirst = prefersRemote(placement);
46
- const { count, max, queued } = here.devices;
46
+ const { count, max, queued, limit } = here.devices;
47
47
  const room = max === 0 || count !== null && count < max;
48
48
  const localEnabled = here.localEnabled !== false && mayRunHere(placement);
49
49
  const cannotTake = !localEnabled || !room || queued > 0;
50
50
  const atCapacity = count !== null && (!room || queued > 0);
51
- const usage = max > 0 ? `${count} of ${max} devices in use` : `${count} devices in use, no device cap`;
51
+ const usage = max > 0 ? `${count} of ${max} devices in use${limit ? ` (${limit})` : ""}` : `${count} devices in use, no device cap`;
52
52
  const localReason = !mayRunHere(placement) ? "remote-only never runs here" : !localEnabled ? "local is disabled in remote.devicePoolDisabled" : count === null ? "cannot tell how many devices run here; local boot admission decides" : cannotTake ? `${usage}${queued ? `, ${queued} runs queued ahead` : ""}` : here.budgetRefusal ?? (here.memoryPressure !== "normal" ? `host memory pressure ${here.memoryPressure ?? "unknown"} here` : `load ${here.loadPerCore.toFixed(1)}/core here, ${usage}`);
53
53
  let hostsFull = false;
54
54
  const nowhere = (code, reason, skipped = [], waiting = "") => {
@@ -99,7 +99,7 @@ function decideDevicePlacement(inputs) {
99
99
  const { offer } = probe;
100
100
  if (offer.declined !== null) [code, reason] = ["declined", `declined: ${offer.declined}`];
101
101
  else if (offer.platform !== platform || !offer.choice) [code, reason] = ["no-matching-device", `no matching ${platform} device choice`];
102
- else if (offer.resources.memoryPressure !== "normal") [code, reason] = ["memory", "host memory pressure unknown or elevated"];
102
+ else if (offer.resources.memoryPressure !== "normal") [code, reason] = ["memory", offer.resources.memoryPressure === null ? "host memory pressure could not be read" : `host memory pressure is ${offer.resources.memoryPressure}`];
103
103
  else if (offer.capacity.available === 0) [code, reason] = ["no-capacity", "no hosted device capacity available"];
104
104
  else if (offer.resources.loadPerCore !== null && offer.resources.loadPerCore >= ceiling(offer)) [code, reason] = ["load", `saturated: load ${offer.resources.loadPerCore.toFixed(1)}/core there, at or above ${ceiling(offer)}/core`];
105
105
  else if (placement === "auto" && !cannotTake && offer.resources.loadPerCore === null) [code, reason] = ["load", "host load unknown while this machine has room"];
@@ -268,7 +268,7 @@ async function automaticDevicePlacement({ root, slot, platform, placement = "aut
268
268
  max: 0,
269
269
  queued: 0,
270
270
  localLive: false
271
- } : peek();
271
+ } : await peek();
272
272
  if (devices.localLive && placement === "remote-only") throw Object.assign(/* @__PURE__ */ new Error(`This workspace's ${platform} device for slot ${slot} runs on this machine, and remote-only never runs here.`), {
273
273
  code: "STIM_HOSTING_REFUSED",
274
274
  remedy: "Run stim stop, then retry."
@@ -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-DjCsmzLZ.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-D1n0K4yg.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-VrXd6qPX.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-DCLkDM8C.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-DsDkdP72.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-CvSYD_78.mjs";
12
- import { i as reserveBrowserPort, n as getNamedPort } from "./named-ports-DcktE2Pw.mjs";
9
+ import { Wt as readMetroRecords } from "./ccache-DVDO2ocE.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-BNEyJ1B_.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-Dlv4XXTP.mjs";
14
+ import { o as resolveWorkspaceMetroPort } from "./start-LSwIFlBv.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-DjCsmzLZ.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-D1n0K4yg.mjs";
7
- import { s as workspaceShareURL } from "./stim-desktop-CYXLFpFS.mjs";
8
- import { k as hostSystemImageArch } from "./android-BHKgeOuq.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-VrXd6qPX.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-DCLkDM8C.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-DsDkdP72.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-CvSYD_78.mjs";
12
- import { V as readBundleId, ot as runCancellationSignal, st as withNativeBuildRun } from "./toolchain-CLGnEUgT.mjs";
13
- import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-BR5oHSO5.mjs";
14
- import { T as storedAppId, x as providerUploadOutcome } from "./build-cache-BGwTsIEa.mjs";
15
- import { m as listIosRuntimes } from "./ios-CoMCWfub.mjs";
10
+ import { An as checkEasAuth, Rn as resolveRemote, zn as uploadRemote } from "./ccache-DVDO2ocE.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-BNEyJ1B_.mjs";
12
+ import { H as readBundleId, ct as withNativeBuildRun, st as runCancellationSignal } from "./toolchain-CGdgD4x4.mjs";
13
+ import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-Dw4N_RFe.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-BTUH8TF1.mjs";
18
- import { d as resolveBuildPlacement } from "./selection-D1ZDzHFX.mjs";
19
- import { c as iosProjectPathError, g as resolveIosBuildSetup, m as resolveConfiguration, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-BMpQIug0.mjs";
20
- import { f as settleFingerprintCheck } from "./prebuild-Bqp0LFGN.mjs";
21
- import { n as ensureWorkspaceStorageSafely } from "./native-runtime-DyH2gkXK.mjs";
22
- import { t as acquireAndroidArtifact } from "./artifact-DHuFYfhD.mjs";
23
- import { a as persistLastBuild, l as resolveAndroidBuildPlan, n as finishAndroidUpload } from "./result-9fqcJ90W.mjs";
24
- import { o as lastBuildRecord } from "./ios-project-DJYptOCh.mjs";
25
- import { t as acquireIosArtifact } from "./artifact-Dm9ScLrh.mjs";
17
+ import { S as setRemoteLogSink } from "./client-DhJOvSvh.mjs";
18
+ import { d as resolveBuildPlacement } from "./selection-C95m--1_.mjs";
19
+ import { c as iosProjectPathError, g as resolveIosBuildSetup, m as resolveConfiguration, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-Cs24xRQa.mjs";
20
+ import { f as settleFingerprintCheck } from "./prebuild-D0hvmO4j.mjs";
21
+ import { n as ensureWorkspaceStorageSafely } from "./native-runtime-D4qgnjK_.mjs";
22
+ import { t as acquireAndroidArtifact } from "./artifact-ta3xA0c4.mjs";
23
+ import { a as persistLastBuild, l as resolveAndroidBuildPlan, n as finishAndroidUpload } from "./result-Epkl6gyG.mjs";
24
+ import { o as lastBuildRecord } from "./ios-project-Br1tVYWX.mjs";
25
+ import { t as acquireIosArtifact } from "./artifact-Cr34-Yyy.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-B-wKoF_8.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-DjCsmzLZ.mjs";
3
- import { an as makeTemporaryDirectory, sn as removeTemporaryEntryAsync } from "./settings-D776ygML.mjs";
4
- import { jn as easAuthNote } from "./ccache-DsDkdP72.mjs";
5
- import { at as readStats, q as estimateBuild } from "./workspaces-CvSYD_78.mjs";
6
- import { s as entryDir, t as artifactIn } from "./build-cache-BGwTsIEa.mjs";
7
- import { l as predictBuildMiss, o as staleNativeDirRefusal } from "./prebuild-Bqp0LFGN.mjs";
2
+ import { i as formatDuration, l as phaseLine, m as shortHash, u as plural } from "./command-output-VrXd6qPX.mjs";
3
+ import { an as makeTemporaryDirectory, sn as removeTemporaryEntryAsync } from "./settings-C6UTYW2K.mjs";
4
+ import { jn as easAuthNote } from "./ccache-DVDO2ocE.mjs";
5
+ import { at as readStats, q as estimateBuild } from "./workspaces-BNEyJ1B_.mjs";
6
+ import { s as entryDir, t as artifactIn } from "./build-cache-BsKim4V7.mjs";
7
+ import { l as predictBuildMiss, o as staleNativeDirRefusal } from "./prebuild-D0hvmO4j.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-DjCsmzLZ.mjs";
5
+ import { a as formatElapsed, l as phaseLine, o as formatLongDuration, s as isAppLaunchError, u as plural } from "./command-output-VrXd6qPX.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-D1n0K4yg.mjs";
9
- import { F as listAvdsAsync, G as ownedAvdSerialResolverAsync, I as listInstalledSystemImages, J as parseAvdSystemImage, 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-BHKgeOuq.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-DCLkDM8C.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-B0KLZx5m.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-CvSYD_78.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-aFBLTZr2.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-BNEyJ1B_.mjs";
15
15
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
16
- import { lt as claimForEmptying, ot as runCancellationSignal, rt as nativeRunWaitNotice } from "./toolchain-CLGnEUgT.mjs";
17
- import { N as listBuildLocks, b as leaseIsExpired, g as workspaceActivity, o as envDir, p as readHostProcessTableAsync, x as listLeaseFiles } from "./activity-BR5oHSO5.mjs";
18
- import { l as expoConfigContents } from "./build-cache-BGwTsIEa.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-CoMCWfub.mjs";
16
+ import { it as nativeRunWaitNotice, st as runCancellationSignal, ut as claimForEmptying } from "./toolchain-CGdgD4x4.mjs";
17
+ import { N as listBuildLocks, b as leaseIsExpired, g as workspaceActivity, o as envDir, p as readHostProcessTableAsync, x as listLeaseFiles } from "./activity-Dw4N_RFe.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-bB1VV2k-.mjs";
21
+ import { c as findBinUpward, n as expoBinFromPackage, r as expoBinPath, s as expoTelemetryEnv } from "./server-expo-CP4dURQp.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";
@@ -4277,7 +4277,7 @@ function remoteDeviceDeps(ctx) {
4277
4277
  let createdSession = null;
4278
4278
  const easEnv = easExecOptions(ctx.root);
4279
4279
  return {
4280
- checkCapacity: () => null,
4280
+ checkCapacity: async () => null,
4281
4281
  ensureDevice: async () => ({
4282
4282
  deviceName: ctx.backend === "proxy" ? "remote device (your daemon)" : "EAS Simulator",
4283
4283
  owned: true,
@@ -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-BO_kaFWX.mjs")],
9
- ["worktree", () => import("./worktree-DTOIohFe.mjs")],
10
- ["start", () => import("./start-Cr-c3Xhq.mjs")],
11
- ["ports", () => import("./ports-VQSAPZhl.mjs")],
12
- ["stop", () => import("./stop-CHtAiv79.mjs")],
13
- ["ios", () => import("./ios-CNDH6fNF.mjs")],
14
- ["android", () => import("./android-BPmCmyAy.mjs")],
15
- ["web", () => import("./web-BxSo493O.mjs")],
16
- ["macos", () => import("./macos-BOQrKYeJ.mjs")],
17
- ["reload", () => import("./reload-CDKEzzaf.mjs")],
18
- ["device", () => import("./device-BvpasThQ.mjs")],
19
- ["logs", () => import("./logs-BND8MiBq.mjs")],
20
- ["settings", () => import("./settings-BcVCcAT5.mjs")],
21
- ["status", () => import("./status-DbQv--Yb.mjs")],
22
- ["stats", () => import("./stats-D5c-uIBp.mjs")],
23
- ["gc", () => import("./gc-DjXwQXHK.mjs")],
24
- ["guide", () => import("./guide-CeRlWVsS.mjs")]
8
+ ["doctor", () => import("./doctor-B6kIVgU9.mjs")],
9
+ ["worktree", () => import("./worktree-DB3Ypdj6.mjs")],
10
+ ["start", () => import("./start-BXl5tkv8.mjs")],
11
+ ["ports", () => import("./ports-BNtJ5DCj.mjs")],
12
+ ["stop", () => import("./stop-4SAV_RR8.mjs")],
13
+ ["ios", () => import("./ios-BKR-Dq46.mjs")],
14
+ ["android", () => import("./android-aIuJZoDu.mjs")],
15
+ ["web", () => import("./web-DQPxvFVD.mjs")],
16
+ ["macos", () => import("./macos-DNmKwfDy.mjs")],
17
+ ["reload", () => import("./reload-BS_ntVV_.mjs")],
18
+ ["device", () => import("./device-C2WsPgFt.mjs")],
19
+ ["logs", () => import("./logs-DpIKWT3A.mjs")],
20
+ ["settings", () => import("./settings-CjTRNCi3.mjs")],
21
+ ["status", () => import("./status-DBMD7ZQT.mjs")],
22
+ ["stats", () => import("./stats-EgpYD536.mjs")],
23
+ ["gc", () => import("./gc-DASUa3Z_.mjs")],
24
+ ["guide", () => import("./guide-Civo5-zV.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-3fjOg-Oc.mjs");
7
+ } else import("./cli-C0jjwTuM.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-DsDkdP72.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-DVDO2ocE.mjs";
5
5
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
6
- import { A as COMPILATION_CACHE_UNAVAILABLE, E as readRubyVersion, a as cocoapodsDifference, k as COMPILATION_CACHE_NOT_RUN, ot as runCancellationSignal, s as iosToolchainAsync, v as toolchainMismatches, x as workerToolchain, y as toolchainNotes } from "./toolchain-CLGnEUgT.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-CGdgD4x4.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-D1ZDzHFX.mjs";
8
+ import { f as workerFailureReason, m as pairedMachines, o as namedBuildMachine, t as OffloadRefusal } from "./selection-C95m--1_.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-CLU_MMnb.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-D1n0K4yg.mjs";
2
+ import { t as NO_PROJECT_REFUSAL } from "./project-DCLkDM8C.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-DjCsmzLZ.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-D1n0K4yg.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-VrXd6qPX.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-DCLkDM8C.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-DsDkdP72.mjs";
11
- import { St as acquireBuildSlot, Tt as releaseBuildSlot, ct as recordRunStats, it as readRunEstimates, ot as recordCapacityRefusal } from "./workspaces-CvSYD_78.mjs";
12
- import { B as readBundleExecutable, H as resolveScheme, O as runPodInstall, T as readPodState, V as readBundleId, w as podsAreStale } from "./toolchain-CLGnEUgT.mjs";
13
- import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-BR5oHSO5.mjs";
14
- import { A as untrackedNativeFiles, C as resolveBuild, c as evictBuild, m as fingerprintProject, w as storeBuild } from "./build-cache-BGwTsIEa.mjs";
15
- import { d as listAllIosSims, h as listIosRuntimesAsync, r as clearIosAppData } from "./ios-CoMCWfub.mjs";
16
- import { n as readHostedIos, o as writeHostedIosAsync } from "./ios-state-Ce_dystM.mjs";
17
- import { n as hostedMetroPortProbe } from "./hosted-native-DvZENAL-.mjs";
18
- import { i as prepareHostedIos, r as placeHostedIos } from "./phone-reverses-DZRad8HT.mjs";
19
- import { n as verifyCollectorOwnership } from "./ownership-Dtz9G5Gl.mjs";
20
- import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-Dbgfh8gc.mjs";
21
- import { a as discoverXcodeProject, r as buildIos } from "./react-native-build-D58bIqV9.mjs";
22
- import { c as startDevServer, g as detectBundleId } from "./start-Dlv4XXTP.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-DVDO2ocE.mjs";
11
+ import { St as acquireBuildSlot, Tt as releaseBuildSlot, ct as recordRunStats, it as readRunEstimates, ot as recordCapacityRefusal } from "./workspaces-BNEyJ1B_.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-CGdgD4x4.mjs";
13
+ import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-Dw4N_RFe.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-kaR4nUHk.mjs";
18
+ import { i as prepareHostedIos, r as placeHostedIos } from "./phone-reverses-Drj5QQCh.mjs";
19
+ import { n as verifyCollectorOwnership } from "./ownership-CCfiBfOP.mjs";
20
+ import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-B4MHzVX2.mjs";
21
+ import { a as discoverXcodeProject, r as buildIos } from "./react-native-build-vK2lFYfN.mjs";
22
+ import { c as startDevServer, g as detectBundleId } from "./start-LSwIFlBv.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-qRq_2W2V.mjs";
25
- import { r as checkDeviceCapacity } from "./device-capacity-B2ChA-bz.mjs";
26
- import { n as clearIosAdoptionPending } from "./device-ios-CYzivd31.mjs";
27
- import { i as deviceLabel, o as deviceShortName, t as appNameFromPath } from "./support-BMpQIug0.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-CHXQEn-7.mjs";
25
+ import { r as checkDeviceCapacity } from "./device-capacity-Du5wBTNJ.mjs";
26
+ import { n as clearIosAdoptionPending } from "./device-ios-CUYUhSYO.mjs";
27
+ import { i as deviceLabel, o as deviceShortName, t as appNameFromPath } from "./support-Cs24xRQa.mjs";
28
28
  import { a as sealAppForDevice, r as gateProfileForDevice } from "./ios-signing-BJzvDPfU.mjs";
29
- import { a as resolveEasDevelopmentBuild } from "./eas-build-D-9HmGZS.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-L1-pota_.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-CV_1RoEH.mjs";
32
- import { t as followHostedLaunchLogs } from "./hosted-logs-sync-Bf5s02fi.mjs";
33
- import { a as runPrebuild, d as memoizedFingerprint, n as planPrebuildAsync } from "./prebuild-Bqp0LFGN.mjs";
34
- import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-DyH2gkXK.mjs";
35
- import { n as devClientTakesDevMenuParams, r as hasDevClient, t as devClientScheme } from "./dev-client-CROrxj1x.mjs";
36
- import { t as automaticDevicePlacement } from "./auto-placement-C8sJsyMN.mjs";
37
- import { t as checkEasFallback } from "./eas-fallback-Cemt2GVL.mjs";
38
- import { n as ensureBooted, o as warmMetro, r as ensureOwnedDevice } from "./device-Bmm5qjM-.mjs";
39
- import { t as selectFromPool } from "./device-pool-CrmiE4_x.mjs";
40
- import { s as reportIosResult } from "./ios-project-DJYptOCh.mjs";
41
- import { i as swapJsBundle } from "./js-swap-BthE4kZC.mjs";
29
+ import { a as resolveEasDevelopmentBuild } from "./eas-build-CBFgseh1.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-Dz8gFZ0K.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-CCsq_3uG.mjs";
32
+ import { t as followHostedLaunchLogs } from "./hosted-logs-sync-BPe8xnMu.mjs";
33
+ import { a as runPrebuild, d as memoizedFingerprint, n as planPrebuildAsync } from "./prebuild-D0hvmO4j.mjs";
34
+ import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-D4qgnjK_.mjs";
35
+ import { n as devClientTakesDevMenuParams, r as hasDevClient, t as devClientScheme } from "./dev-client-DeAg0fso.mjs";
36
+ import { t as automaticDevicePlacement } from "./auto-placement-DtTRG0rk.mjs";
37
+ import { t as checkEasFallback } from "./eas-fallback-DFXdz4d6.mjs";
38
+ import { i as warmMetro, n as ensureBooted, r as ensureOwnedDevice } from "./device-DuNLOlR6.mjs";
39
+ import { t as selectFromPool } from "./device-pool-kUHO7MHO.mjs";
40
+ import { s as reportIosResult } from "./ios-project-Br1tVYWX.mjs";
41
+ import { i as swapJsBundle } from "./js-swap-BfG8XpyS.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";
@@ -1084,6 +1084,7 @@ const DEFAULT_DEPS = {
1084
1084
  readPodState,
1085
1085
  podsAreStale,
1086
1086
  runPodInstall,
1087
+ iosToolchain: iosToolchainAsync,
1087
1088
  buildIos,
1088
1089
  discoverXcodeProject,
1089
1090
  resolveScheme,
@@ -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-D1n0K4yg.mjs";
2
- import { bn as readBundleSchemes, yn as pickDevClientScheme } from "./ccache-DsDkdP72.mjs";
1
+ import { C as resolvePackageJson, b as isPackageResolvable } from "./project-DCLkDM8C.mjs";
2
+ import { bn as readBundleSchemes, yn as pickDevClientScheme } from "./ccache-DVDO2ocE.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