stim 1.27.0 → 1.28.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 (137) hide show
  1. package/dist/{acquire-artifact-BKN2Yuhg.mjs → acquire-artifact-CKByBnTD.mjs} +1 -1
  2. package/dist/{act-ROviTF_t.mjs → act-8iswyfRa.mjs} +36 -18
  3. package/dist/{activity-Cd-ysFes.mjs → activity-DRMg4_mD.mjs} +3 -3
  4. package/dist/{agent-device-usage-output-C5nCKWp9.mjs → agent-device-usage-output-tE90fDdo.mjs} +3 -3
  5. package/dist/{android-Cd6w7_qw.mjs → android-CHmSU4B4.mjs} +40 -37
  6. package/dist/{android-DriNoAVy.mjs → android-CsPs-7Mg.mjs} +3 -3
  7. package/dist/{android-Deb9X3_Y.mjs → android-D577ApKG.mjs} +1 -1
  8. package/dist/{android--HBgpvpW.mjs → android-YWCbmkVK.mjs} +5 -5
  9. package/dist/{android-cas-D5e6ecUg.mjs → android-cas-_aDifWW0.mjs} +2 -2
  10. package/dist/api.d.mts +1 -1
  11. package/dist/api.mjs +24 -24
  12. package/dist/{apk-signed-tail-BHQHx3Rm.mjs → apk-signed-tail-CQbwM0qO.mjs} +2 -2
  13. package/dist/{artifact-faemIZv5.mjs → artifact-DYtHjxsn.mjs} +12 -12
  14. package/dist/{artifact-0AGJYB9O.mjs → artifact-bFkfD3vf.mjs} +12 -12
  15. package/dist/{auto-placement-z-H5pJza.mjs → auto-placement-BVqs8AJi.mjs} +7 -7
  16. package/dist/{browser-web-slD8AvLp.mjs → browser-web-BUaLcafY.mjs} +10 -10
  17. package/dist/{build-hS0QyFlQ.mjs → build-cQURy_KW.mjs} +20 -20
  18. package/dist/{build-cache-gBJ-WKzA.mjs → build-cache-CZULpXVl.mjs} +3 -3
  19. package/dist/{build-plan-CBqYbzYM.mjs → build-plan-CxoYfxsc.mjs} +6 -6
  20. package/dist/{ccache-BWTze1Ls.mjs → ccache-Bm_A1xX9.mjs} +15 -14
  21. package/dist/{cli-ftXDLto1.mjs → cli-CpbaLDa7.mjs} +17 -17
  22. package/dist/cli.mjs +1 -1
  23. package/dist/{client-xsdxrhWA.mjs → client-YxCer6ab.mjs} +39 -6
  24. package/dist/collector-run.mjs +3 -3
  25. package/dist/{command-output-Dj-WT4BP.mjs → command-output-C8R1KIvi.mjs} +1 -1
  26. package/dist/{dependencies-BGokZ-Ng.mjs → dependencies-DKeMzwXY.mjs} +35 -35
  27. package/dist/{dependency-state-C3OtgG94.mjs → dependency-state-CojA2o0t.mjs} +1 -1
  28. package/dist/{dev-client-BMca82xo.mjs → dev-client-D-BW5uiq.mjs} +2 -2
  29. package/dist/{device-tM41-TUq.mjs → device-CgXfbcz5.mjs} +11 -11
  30. package/dist/{device-capacity-6LP7QsaA.mjs → device-capacity-Cd8lMSn3.mjs} +85 -17
  31. package/dist/{device-BJm0irrq.mjs → device-eeK95Lir.mjs} +13 -13
  32. package/dist/device-host-worker.mjs +13 -11
  33. package/dist/{device-ios-534c14fz.mjs → device-ios-Cc9ulihb.mjs} +7 -7
  34. package/dist/{device-lease-run-DwsGfjUN.mjs → device-lease-run-Mtzp4THX.mjs} +3 -3
  35. package/dist/{device-pool-BnQqvs6o.mjs → device-pool-eRz6DtCg.mjs} +2 -2
  36. package/dist/{doctor-DyqE9n1J.mjs → doctor-Bz_ouYAW.mjs} +12 -12
  37. package/dist/{doctor-Dbx1ZpD2.mjs → doctor-C2QyhejJ.mjs} +1 -1
  38. package/dist/doctor-fingerprint.mjs +1 -1
  39. package/dist/{doctor-watchman-CxDbyrrt.mjs → doctor-watchman-BTW82PDC.mjs} +3 -3
  40. package/dist/{doctor-F-3VUUyN.mjs → doctor-xf7ht-5n.mjs} +17 -17
  41. package/dist/{eas-build-CjNSWmjo.mjs → eas-build-Dm6q68QY.mjs} +2 -2
  42. package/dist/{eas-fallback-9fqb46kW.mjs → eas-fallback-DajNpxf-.mjs} +3 -3
  43. package/dist/{eas-session-ledger-DrP4OuuM.mjs → eas-session-ledger-CBFo_Uo1.mjs} +35 -6
  44. package/dist/{error-diagnostics-snej9k4j.mjs → error-diagnostics-D1QfyJzQ.mjs} +7 -7
  45. package/dist/{gc-CGZ1Yg88.mjs → gc-DM5oMm-J.mjs} +17 -16
  46. package/dist/{gc-BRwAY3qT.mjs → gc-PLFwb0k4.mjs} +2 -2
  47. package/dist/{guide-_rfEh_zM.mjs → guide-C4I46XAk.mjs} +106 -42
  48. package/dist/{hosted-android-BMKzUNnY.mjs → hosted-android-DlaKLbW0.mjs} +5 -6
  49. package/dist/{hosted-client-D7Pk_Oo1.mjs → hosted-client-DDRm9hPJ.mjs} +43 -16
  50. package/dist/{hosted-logs-B1gqQuva.mjs → hosted-logs-bSebOKbz.mjs} +5 -5
  51. package/dist/{hosted-logs-sync-Dg3qrZmV.mjs → hosted-logs-sync-B0c53W_c.mjs} +5 -5
  52. package/dist/{hosted-macos-B9w4H8hc.mjs → hosted-macos-B7-8Pv4H.mjs} +5 -5
  53. package/dist/{hosted-native-CdgaiuyP.mjs → hosted-native-CDe33CSr.mjs} +11 -8
  54. package/dist/{idle-shutdown-Cbvo5KEh.mjs → idle-shutdown-CQ0QwU9J.mjs} +5 -5
  55. package/dist/{ios-E26qSpkb.mjs → ios-B1DYuOjh.mjs} +2 -2
  56. package/dist/{ios-Bk4mWbtS.mjs → ios-B1HvafEG.mjs} +8 -8
  57. package/dist/{ios-device-C_QkIf1Z.mjs → ios-device-B4elVFKi.mjs} +1 -1
  58. package/dist/{ios-project-D8Jcy_br.mjs → ios-project-CR4mZ7CH.mjs} +6 -6
  59. package/dist/{ios-state-BZ03NFgF.mjs → ios-state-BPHqMDdZ.mjs} +1 -1
  60. package/dist/{ios-B5HlVMhQ.mjs → ios-tg4tp3q1.mjs} +30 -28
  61. package/dist/{js-swap-Dg2a945i.mjs → js-swap-CVpSW1fn.mjs} +4 -4
  62. package/dist/{launch-CRyBeNsA.mjs → launch-DoySmhjz.mjs} +17 -17
  63. package/dist/{lightened-BCsdAGj_.mjs → lightened-DFAJgfIk.mjs} +4 -4
  64. package/dist/{logs-aJQb-RDg.mjs → logs-BGsW7iPe.mjs} +6 -6
  65. package/dist/{logs-CC_-ZzEE.mjs → logs-DI5ILkYB.mjs} +4 -4
  66. package/dist/{macos-DlCBhMw5.mjs → macos-Bo9st9Di.mjs} +18 -18
  67. package/dist/{macos-BGmTpnv9.mjs → macos-C12RMJQF.mjs} +1 -1
  68. package/dist/macos-run.mjs +1 -1
  69. package/dist/maintenance-run.mjs +4 -4
  70. package/dist/{metro-CvyD-xwe.mjs → metro-BnhXV2Mj.mjs} +1 -1
  71. package/dist/{metro-gateway-BnHdqMO_.mjs → metro-request-DXyKjVDF.mjs} +25 -46
  72. package/dist/{named-ports-BCyMWA6b.mjs → named-ports-Phoi2POD.mjs} +1 -1
  73. package/dist/{native-android-DlpxCyOP.mjs → native-android-vxgtLD7w.mjs} +14 -14
  74. package/dist/{native-gradle-artifact-inputs-C13qT7R_.mjs → native-gradle-artifact-inputs-BN96IVw8.mjs} +3 -3
  75. package/dist/{native-runtime-DqaIBO5w.mjs → native-runtime-DG4Rodzj.mjs} +6 -6
  76. package/dist/{native-xcode-inputs-B1W8SrxB.mjs → native-xcode-inputs-BKarCoKg.mjs} +2 -2
  77. package/dist/{native-xcode-ios-QPP0Rm68.mjs → native-xcode-ios-8A-efGa5.mjs} +14 -14
  78. package/dist/offload-worker.mjs +18 -18
  79. package/dist/{ownership-Bx-0cku-.mjs → ownership-DJCq48IJ.mjs} +2 -2
  80. package/dist/{phone-reverses-C9yAaKEv.mjs → phone-reverses-BzTa8g1F.mjs} +3 -3
  81. package/dist/{placement-log-BXUbiZM6.mjs → placement-log-Cvhta5ib.mjs} +1 -1
  82. package/dist/{plan-placement-UxnQjv5Z.mjs → plan-placement-WkZdccuN.mjs} +5 -5
  83. package/dist/{ports-uUrghqWN.mjs → ports-UV4mJgyC.mjs} +2 -2
  84. package/dist/{prebuild-BDpToDgR.mjs → prebuild-k8d_tqOq.mjs} +8 -8
  85. package/dist/{project-DYj-HVx6.mjs → project-Sui52ywT.mjs} +14 -14
  86. package/dist/{react-native-android-DDBccgJw.mjs → react-native-android-DANlGGQf.mjs} +21 -21
  87. package/dist/{react-native-build-DaK2IFyP.mjs → react-native-build-jUHnIfZ9.mjs} +6 -6
  88. package/dist/{react-native-doctor-B-Mw6DcR.mjs → react-native-doctor-DCWRjS7K.mjs} +5 -5
  89. package/dist/{react-native-ios-DjYwUF9U.mjs → react-native-ios-BwMsFMXi.mjs} +14 -14
  90. package/dist/{recordings-C20iUZfp.mjs → recordings-iy0mkm7b.mjs} +1 -1
  91. package/dist/{reload-DJBeF_rC.mjs → reload-Bj7QyuDy.mjs} +1 -1
  92. package/dist/{reload-fUdkH2_p.mjs → reload-c_uEyc_X.mjs} +13 -13
  93. package/dist/{remote-y6n99WMW.mjs → remote-DFlpAqdV.mjs} +8 -8
  94. package/dist/{result-CTqBw2Te.mjs → result-BIcXREyC.mjs} +14 -14
  95. package/dist/{run-DaCeNKRm.mjs → run-y2HwyNvg.mjs} +1 -1
  96. package/dist/{selection-Bs8phwhN.mjs → selection-CXgM_VK_.mjs} +2 -2
  97. package/dist/{server-bare-BOh-iZEj.mjs → server-bare-2N4vSRZG.mjs} +1 -1
  98. package/dist/{server-command-8CuA51Cv.mjs → server-command-qneHPcRI.mjs} +4 -4
  99. package/dist/{server-expo-ABQs2XFA.mjs → server-expo-Ccm9zB0o.mjs} +2 -2
  100. package/dist/server-expo-WulkyAwT.mjs +2 -0
  101. package/dist/{settings-BDVI8Ivc.mjs → settings-CY5JZlNN.mjs} +46 -2
  102. package/dist/{settings-CMHhQNwI.mjs → settings-Cfd_Q6ys.mjs} +2 -2
  103. package/dist/{settings-payload-cm60Zhib.mjs → settings-payload-DwQiEMCn.mjs} +2 -2
  104. package/dist/{settings-write-BdNRLlBn.mjs → settings-write-CJpjkeAd.mjs} +3 -3
  105. package/dist/{slot-launch-0l7RqSpr.mjs → slot-launch-BpmanOnk.mjs} +5 -5
  106. package/dist/{stage-F4cAfJGi.mjs → stage-CmugrSG5.mjs} +1 -1
  107. package/dist/{start-DcqnF9p8.mjs → start-CHH3zgIU.mjs} +1 -1
  108. package/dist/{start-DrPwER_2.mjs → start-DYLk6GXn.mjs} +8 -8
  109. package/dist/{state-BX1y5syV.mjs → state-B2QJbDwz.mjs} +2 -2
  110. package/dist/{state-CZxLyetD.mjs → state-BXC1Lfxw.mjs} +1 -1
  111. package/dist/{stats-GxuCbles.mjs → stats-DxKqhcGp.mjs} +3 -3
  112. package/dist/{status-BfnK9pUd.mjs → status-BHCkOZga.mjs} +46 -23
  113. package/dist/{status-Bj7ZYvvc.mjs → status-D_Ljc89p.mjs} +1 -1
  114. package/dist/{status-watch-BfabQn03.mjs → status-watch-BmsPqYSU.mjs} +17 -6
  115. package/dist/status-worker.mjs +1 -1
  116. package/dist/{stop-D-EAr25B.mjs → stop-D-dGE9gh.mjs} +14 -14
  117. package/dist/{stop-CH79S3IZ.mjs → stop-DQvE-P76.mjs} +9 -5
  118. package/dist/{stop-x1Yu3He4.mjs → stop-b2pouxAO.mjs} +2 -2
  119. package/dist/supervisor-run.mjs +232 -58
  120. package/dist/{support-CNg_YsOk.mjs → support-04IhBUTT.mjs} +4 -4
  121. package/dist/{support-Be0UeVZU.mjs → support-BtlJKjyQ.mjs} +11 -10
  122. package/dist/{swiftpm-artifact-inputs-uPqYvGBv.mjs → swiftpm-artifact-inputs-Cj2UpmPN.mjs} +1 -1
  123. package/dist/{swiftpm-macos-Ch4YjY_A.mjs → swiftpm-macos-BhF2stxY.mjs} +7 -7
  124. package/dist/{toolchain-CbCG6C5Z.mjs → toolchain-mLA_km-b.mjs} +4 -4
  125. package/dist/{toolchain-JYAOquPg.mjs → toolchain-qktiV8xc.mjs} +1 -1
  126. package/dist/{warm-progress-C0RsbngN.mjs → warm-progress-B0Vpuvpl.mjs} +3 -3
  127. package/dist/{web-Cq_AQ4DK.mjs → web-BYmK0TjL.mjs} +6 -6
  128. package/dist/web-CrVLVQZY.mjs +2 -0
  129. package/dist/web-run.mjs +4 -4
  130. package/dist/{workspace-state-BjqdjnJR.mjs → workspace-state-kIZrdlSg.mjs} +1 -1
  131. package/dist/{workspaces-DFbj07jp.mjs → workspaces-CmOcceDN.mjs} +105 -25
  132. package/dist/{worktree-COAJ3-OD.mjs → worktree-2dk5edza.mjs} +23 -44
  133. package/dist/worktree-nliAoHxB.mjs +2 -0
  134. package/package.json +7 -7
  135. package/dist/server-expo-Ba_Y21vB.mjs +0 -2
  136. package/dist/web-Je6abcpz.mjs +0 -2
  137. package/dist/worktree-JGUd_53L.mjs +0 -2
@@ -1,40 +1,40 @@
1
- import { a as recordWorkspaceUseAsync, k as workspaceLogsDir$1 } from "./workspace-state-BjqdjnJR.mjs";
1
+ import { a as recordWorkspaceUseAsync, k as workspaceLogsDir$1 } from "./workspace-state-kIZrdlSg.mjs";
2
2
  import { B as deviceSlotFileKey, W as parseDeviceSlotOption, q as validateDeviceSlot } from "./config-Cn94Jc0g.mjs";
3
- import { _ as stepTimer, g as stepClock, i as formatDuration, l as phaseLine } from "./command-output-Dj-WT4BP.mjs";
4
- import { B as publicUrlSetting, C as iosSigningIdentitySettingError, F as metroWarmupUrlSetting, N as metroPortSetting, S as iosSigningIdentitySetting, T as iosSigningIdentitySha1SettingError, a as SETTING_SHAPE_REMEDY, g as deviceReclaimIdleMinutesSetting, ot as tunnelModeSetting, v as iosLanHostSetting, w as iosSigningIdentitySha1Setting, y as iosLanHostSettingError, z as projectSettingsContextAsync } from "./settings-BDVI8Ivc.mjs";
5
- import { t as NO_PROJECT_REFUSAL } from "./project-DYj-HVx6.mjs";
6
- import { ft as POOL_SETTING_REMEDY, vt as parkedMaxSetting } from "./android-DriNoAVy.mjs";
7
- import { En as runProcessOperation, Et as binOnPath, Qt as DEFAULT_METRO_PORT, qn as ownedSessionName, wn as exitAfterFlush } from "./ccache-BWTze1Ls.mjs";
8
- import { J as runFailureRecord, X as tapBuildLog, Y as startBuildProgress, Z as thrownRunFailureRecord, et as createRunRecorder, ot as statsProjectKey$1, z as NO_BUILD_PROGRESS } from "./workspaces-DFbj07jp.mjs";
9
- import { Q as cancelledFailure, at as runCancellation, k as COMPILATION_CACHE_NOT_RUN, ot as runCancellationSignal, st as withNativeBuildRun } from "./toolchain-CbCG6C5Z.mjs";
10
- import { i as createIosSimSnapshot } from "./ios-E26qSpkb.mjs";
3
+ import { _ as stepTimer, g as stepClock, i as formatDuration, l as phaseLine } from "./command-output-C8R1KIvi.mjs";
4
+ import { B as publicUrlSetting, C as iosSigningIdentitySettingError, F as metroWarmupUrlSetting, N as metroPortSetting, S as iosSigningIdentitySetting, T as iosSigningIdentitySha1SettingError, a as SETTING_SHAPE_REMEDY, g as deviceReclaimIdleMinutesSetting, ot as tunnelModeSetting, v as iosLanHostSetting, w as iosSigningIdentitySha1Setting, y as iosLanHostSettingError, z as projectSettingsContextAsync } from "./settings-CY5JZlNN.mjs";
5
+ import { t as NO_PROJECT_REFUSAL } from "./project-Sui52ywT.mjs";
6
+ import { ft as POOL_SETTING_REMEDY, vt as parkedMaxSetting } from "./android-CsPs-7Mg.mjs";
7
+ import { En as runProcessOperation, Et as binOnPath, Qt as DEFAULT_METRO_PORT, qn as ownedSessionName, wn as exitAfterFlush } from "./ccache-Bm_A1xX9.mjs";
8
+ import { $ as tapBuildLog, H as NO_BUILD_PROGRESS, Q as startBuildProgress, Z as runFailureRecord, et as thrownRunFailureRecord, lt as statsProjectKey$1, rt as createRunRecorder } from "./workspaces-CmOcceDN.mjs";
9
+ import { Q as cancelledFailure, at as runCancellation, k as COMPILATION_CACHE_NOT_RUN, ot as runCancellationSignal, st as withNativeBuildRun } from "./toolchain-mLA_km-b.mjs";
10
+ import { i as createIosSimSnapshot } from "./ios-B1DYuOjh.mjs";
11
11
  import { d as optimizationBuildProfile, l as artifactCachePolicy } from "./errors-DHm_U5gv.mjs";
12
- import { S as setRemoteLogSink, d as simulatorRuntime } from "./client-xsdxrhWA.mjs";
13
- import { s as parseBuildMachineOption } from "./selection-Bs8phwhN.mjs";
14
- import { r as hostedMetroSettings } from "./metro-gateway-BnHdqMO_.mjs";
15
- import { i as writeDevicePlacementAsync } from "./ios-state-BZ03NFgF.mjs";
16
- import { t as devClientPortBusy } from "./hosted-native-CdgaiuyP.mjs";
17
- import { i as restoreLightenedDependencies, n as printLightenedFailure } from "./lightened-BCsdAGj_.mjs";
18
- import { f as waitFlagConflict, o as leaseExpiryText } from "./device-lease-run-DwsGfjUN.mjs";
19
- import { _ as resolveIosWait, a as deviceModelRefusal, b as resolveSimulatorAppFlag, c as iosProjectPathError, d as ownedSimFailure, g as resolveIosBuildSetup, h as resolveDeviceType, i as deviceLabel, m as resolveConfiguration, n as buildLogFile, r as createIosDeviceWaitRun, u as isReleaseConfiguration, v as resolveRuntime, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-Be0UeVZU.mjs";
20
- import { r as isEasBuildFailure } from "./eas-build-CjNSWmjo.mjs";
21
- import { i as launchOutcomeRecord, r as isPhysicalDeviceRequest, t as ensureDevServer } from "./native-runtime-DqaIBO5w.mjs";
22
- import "./dev-client-BMca82xo.mjs";
23
- import { t as didSetUpDevice } from "./device-tM41-TUq.mjs";
12
+ import { S as setRemoteLogSink, d as simulatorRuntime } from "./client-YxCer6ab.mjs";
13
+ import { s as parseBuildMachineOption } from "./selection-CXgM_VK_.mjs";
14
+ import { r as hostedMetroSettings } from "./metro-request-DXyKjVDF.mjs";
15
+ import { i as writeDevicePlacementAsync } from "./ios-state-BPHqMDdZ.mjs";
16
+ import { t as devClientPortBusy } from "./hosted-native-CDe33CSr.mjs";
17
+ import { i as restoreLightenedDependencies, n as printLightenedFailure } from "./lightened-DFAJgfIk.mjs";
18
+ import { f as waitFlagConflict, o as leaseExpiryText } from "./device-lease-run-Mtzp4THX.mjs";
19
+ import { _ as resolveIosWait, a as deviceModelRefusal, b as resolveSimulatorAppFlag, c as iosProjectPathError, d as ownedSimFailure, g as resolveIosBuildSetup, h as resolveDeviceType, i as deviceLabel, m as resolveConfiguration, n as buildLogFile, r as createIosDeviceWaitRun, u as isReleaseConfiguration, v as resolveRuntime, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-BtlJKjyQ.mjs";
20
+ import { r as isEasBuildFailure } from "./eas-build-Dm6q68QY.mjs";
21
+ import { i as launchOutcomeRecord, r as isPhysicalDeviceRequest, t as ensureDevServer } from "./native-runtime-DG4Rodzj.mjs";
22
+ import "./dev-client-D-BW5uiq.mjs";
23
+ import { t as didSetUpDevice } from "./device-CgXfbcz5.mjs";
24
24
  import { t as unsupportedPlan } from "./project-plan-BPwbLwQu.mjs";
25
- import { a as refusePlan, i as printPlan, n as planFlagRefusal } from "./build-plan-CBqYbzYM.mjs";
26
- import { a as iosLedgerDevice, c as writeLastBuild, o as lastBuildRecord, s as reportIosResult } from "./ios-project-D8Jcy_br.mjs";
27
- import { t as acquireIosArtifact } from "./artifact-faemIZv5.mjs";
28
- import { a as hostedIosSelectors, i as hostedIosMetroNote, n as connectIosTarget, o as iosPlacementBudget, r as deviceRemoteConflict, s as selectIosPlacement, t as connectIosBackend } from "./remote-y6n99WMW.mjs";
29
- import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, o as iosPoolNoCandidatesRefusal, r as iosDeviceBounds } from "./ios-device-C_QkIf1Z.mjs";
30
- import { i as lanOriginUrlFor, l as verifyIosMetroRun, n as chooseLanAddress, o as finishIosRun, t as DEFAULT_DEPS } from "./dependencies-BGokZ-Ng.mjs";
25
+ import { a as refusePlan, i as printPlan, n as planFlagRefusal } from "./build-plan-CxoYfxsc.mjs";
26
+ import { a as iosLedgerDevice, c as writeLastBuild, o as lastBuildRecord, s as reportIosResult } from "./ios-project-CR4mZ7CH.mjs";
27
+ import { t as acquireIosArtifact } from "./artifact-DYtHjxsn.mjs";
28
+ import { a as hostedIosSelectors, i as hostedIosMetroNote, n as connectIosTarget, o as iosPlacementBudget, r as deviceRemoteConflict, s as selectIosPlacement, t as connectIosBackend } from "./remote-DFlpAqdV.mjs";
29
+ import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, o as iosPoolNoCandidatesRefusal, r as iosDeviceBounds } from "./ios-device-B4elVFKi.mjs";
30
+ import { i as lanOriginUrlFor, l as verifyIosMetroRun, n as chooseLanAddress, o as finishIosRun, t as DEFAULT_DEPS } from "./dependencies-DKeMzwXY.mjs";
31
31
  import { join } from "node:path";
32
32
  import { workspaceId } from "@stim-cli/core";
33
33
  import { hostedIosStatus, parseMachine } from "@stim-cli/core/state";
34
34
  import chalk from "chalk";
35
35
  import { InvalidArgumentError } from "commander";
36
36
  //#region src/commands/ios/hosted.ts
37
- async function finishHostedIosRun({ target, d, artifact, root, slot, release, appMode, isExpo, metroCheck, metroPort, logsDir, fail, note, phase, enterPhase, enterActivity, selectors, projectBundleId, logWriter, ...report }) {
37
+ async function finishHostedIosRun({ target, operation, d, artifact, root, slot, release, appMode, isExpo, metroCheck, metroPort, logsDir, fail, note, phase, enterPhase, enterActivity, selectors, projectBundleId, logWriter, ...report }) {
38
38
  const bundleId = artifact.bundleId ?? (await d.readBundleId(artifact.path) || await projectBundleId());
39
39
  if (!bundleId) return fail({
40
40
  code: "STIM_INSTALL_FAILED",
@@ -102,6 +102,7 @@ async function finishHostedIosRun({ target, d, artifact, root, slot, release, ap
102
102
  let verification;
103
103
  try {
104
104
  verification = await verifyIosMetroRun({
105
+ operation,
105
106
  root,
106
107
  slot,
107
108
  appPath: artifact.path,
@@ -1147,6 +1148,7 @@ async function runIos(context, projectRoot, opts = {}, overrides = {}, progress
1147
1148
  };
1148
1149
  compilationCache = artifact.cache.compilation;
1149
1150
  if (hostedTarget) return await finishHostedIosRun({
1151
+ operation: context,
1150
1152
  output: context.output,
1151
1153
  target: hostedTarget,
1152
1154
  projectBundleId: integration.bundleId,
@@ -1,10 +1,10 @@
1
1
  import { _ as spawnDeclared, b as operationState, c as throwIfCancelled, t as getExecutor } from "./exec-aULwtNly.mjs";
2
2
  import { r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
3
3
  import { a as killOnAbort, t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
4
- import { $t as makeTemporaryDirectory, en as removeTemporaryEntry } from "./settings-BDVI8Ivc.mjs";
5
- import { Bn as bundleInvocation } from "./ccache-BWTze1Ls.mjs";
6
- import { G as tailLines, U as startBuildHeartbeat, j as HEARTBEAT_INTERVAL_MS } from "./toolchain-CbCG6C5Z.mjs";
7
- import { s as expoTelemetryEnv, t as cleanLine } from "./server-expo-ABQs2XFA.mjs";
4
+ import { an as makeTemporaryDirectory, on as removeTemporaryEntry } from "./settings-CY5JZlNN.mjs";
5
+ import { Bn as bundleInvocation } from "./ccache-Bm_A1xX9.mjs";
6
+ import { G as tailLines, U as startBuildHeartbeat, j as HEARTBEAT_INTERVAL_MS } from "./toolchain-mLA_km-b.mjs";
7
+ import { s as expoTelemetryEnv, t as cleanLine } from "./server-expo-Ccm9zB0o.mjs";
8
8
  import { randomUUID } from "node:crypto";
9
9
  import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync } from "node:fs";
10
10
  import { basename, join } from "node:path";
@@ -1,24 +1,24 @@
1
1
  import { x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
2
- import { k as workspaceLogsDir } from "./workspace-state-BjqdjnJR.mjs";
2
+ import { k as workspaceLogsDir } from "./workspace-state-kIZrdlSg.mjs";
3
3
  import { B as deviceSlotFileKey, C as saveConfig, E as upsertProject, H as deviceSlotPlatforms, O as withConfigLockAsync, P as formatBytes, V as deviceSlotKey, _ as loadConfig, w as setDevice } from "./config-Cn94Jc0g.mjs";
4
- import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-Dj-WT4BP.mjs";
5
- import { L as workspaceDevServerMode } from "./project-DYj-HVx6.mjs";
4
+ import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-C8R1KIvi.mjs";
5
+ import { L as workspaceDevServerMode } from "./project-Sui52ywT.mjs";
6
6
  import { o as workspaceLinks } from "./stim-desktop-CbWo21kb.mjs";
7
- import { i as androidDataFreeBytes, ot as trimAndroidCaches, tt as resetAdoptedAvd, u as androidToolCwd } from "./android-DriNoAVy.mjs";
8
- import { c as pidExists, f as signalProcessTree } from "./metro-CvyD-xwe.mjs";
9
- import { Bt as RELEASE_VERIFY_WAIT_MS, Gt as unattributedLaunchLines, It as LAUNCH_BUNDLING, Kt as unverifiedLaunchLines, Lt as LAUNCH_FATAL, Rt as LAUNCH_UNVERIFIED, Vt as VERIFY_TIMEOUT_MS, Zt as ADB_INSTALL_TIMEOUT_MS, gn as restartedAppNote, nn as androidDevClientUrl, tn as androidAppProcess, un as installConflictKind } from "./ccache-BWTze1Ls.mjs";
10
- import { ut as teardownOwnedAvd } from "./workspaces-DFbj07jp.mjs";
11
- import { x as providerUploadOutcome } from "./build-cache-gBJ-WKzA.mjs";
12
- import { t as recordPhoneReverse } from "./phone-reverses-C9yAaKEv.mjs";
13
- import { n as verifyCollectorOwnership, r as readCollectors } from "./ownership-Bx-0cku-.mjs";
14
- import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-0l7RqSpr.mjs";
7
+ import { i as androidDataFreeBytes, ot as trimAndroidCaches, tt as resetAdoptedAvd, u as androidToolCwd } from "./android-CsPs-7Mg.mjs";
8
+ import { c as pidExists, f as signalProcessTree } from "./metro-BnhXV2Mj.mjs";
9
+ import { Bt as RELEASE_VERIFY_WAIT_MS, Gt as unattributedLaunchLines, It as LAUNCH_BUNDLING, Kt as unverifiedLaunchLines, Lt as LAUNCH_FATAL, Rt as LAUNCH_UNVERIFIED, Vt as VERIFY_TIMEOUT_MS, Zt as ADB_INSTALL_TIMEOUT_MS, gn as restartedAppNote, nn as androidDevClientUrl, tn as androidAppProcess, un as installConflictKind } from "./ccache-Bm_A1xX9.mjs";
10
+ import { pt as teardownOwnedAvd } from "./workspaces-CmOcceDN.mjs";
11
+ import { x as providerUploadOutcome } from "./build-cache-CZULpXVl.mjs";
12
+ import { t as recordPhoneReverse } from "./phone-reverses-BzTa8g1F.mjs";
13
+ import { n as verifyCollectorOwnership, r as readCollectors } from "./ownership-DJCq48IJ.mjs";
14
+ import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-BpmanOnk.mjs";
15
15
  import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
16
- import { c as lostRefusal, s as lostLine, t as DEBUG_VERIFY_STEP_MS } from "./device-lease-run-DwsGfjUN.mjs";
17
- import { a as captureNativeCrashes, r as androidCrashClockOffset, s as printNativeCrashReport, t as errorDiagnostics } from "./error-diagnostics-snej9k4j.mjs";
18
- import { f as settleFingerprintCheck } from "./prebuild-BDpToDgR.mjs";
19
- import { i as launchOutcomeRecord } from "./native-runtime-DqaIBO5w.mjs";
20
- import { a as PLATFORM, b as noDeviceDiagnostic, h as displayPath, n as LAUNCH_FAILED, r as NO_DEVICE, t as INSTALL_FAILED } from "./support-CNg_YsOk.mjs";
21
- import { a as persistLastBuild, n as finishAndroidUpload, s as reportAndroidResult } from "./result-CTqBw2Te.mjs";
16
+ import { c as lostRefusal, s as lostLine, t as DEBUG_VERIFY_STEP_MS } from "./device-lease-run-Mtzp4THX.mjs";
17
+ import { a as captureNativeCrashes, r as androidCrashClockOffset, s as printNativeCrashReport, t as errorDiagnostics } from "./error-diagnostics-D1QfyJzQ.mjs";
18
+ import { f as settleFingerprintCheck } from "./prebuild-k8d_tqOq.mjs";
19
+ import { i as launchOutcomeRecord } from "./native-runtime-DG4Rodzj.mjs";
20
+ import { a as PLATFORM, b as noDeviceDiagnostic, h as displayPath, n as LAUNCH_FAILED, r as NO_DEVICE, t as INSTALL_FAILED } from "./support-04IhBUTT.mjs";
21
+ import { a as persistLastBuild, n as finishAndroidUpload, s as reportAndroidResult } from "./result-BIcXREyC.mjs";
22
22
  import { mkdirSync, openSync, statSync } from "node:fs";
23
23
  import { basename, join } from "node:path";
24
24
  import { ambientEnv } from "@stim-cli/core";
@@ -1,9 +1,9 @@
1
1
  import { l as WorkspaceProcessCleanupError } from "./exec-aULwtNly.mjs";
2
- import { c as withWorkspaceStateLock } from "./workspace-state-BjqdjnJR.mjs";
3
- import { l as phaseLine } from "./command-output-Dj-WT4BP.mjs";
4
- import { Nt as podsOutOfSync, Ot as listCarryableIgnoredEntries, Pt as readWorktreeExclude, Q as resolveSettings, Wt as warmWorktreePaths, _t as depsOutOfSync } from "./settings-BDVI8Ivc.mjs";
2
+ import { c as withWorkspaceStateLock } from "./workspace-state-kIZrdlSg.mjs";
3
+ import { l as phaseLine } from "./command-output-C8R1KIvi.mjs";
4
+ import { Jt as warmWorktreePaths, Lt as podsOutOfSync, Q as resolveSettings, Rt as readWorktreeExclude, kt as listCarryableIgnoredEntries, vt as depsOutOfSync } from "./settings-CY5JZlNN.mjs";
5
5
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
6
- import { h as warmWorktreeTarget } from "./worktree-COAJ3-OD.mjs";
6
+ import { m as warmWorktreeTarget } from "./worktree-2dk5edza.mjs";
7
7
  import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
8
8
  import { basename, dirname, join, relative } from "node:path";
9
9
  import { isJsonObject, readJsonObject, workspaceLightenedFile, workspaceMetadataFile } from "@stim-cli/core/state";
@@ -1,11 +1,11 @@
1
- import { k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-BjqdjnJR.mjs";
1
+ import { k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-kIZrdlSg.mjs";
2
2
  import { W as parseDeviceSlotOption, _ as loadConfig$1, g as isPathPrefix$1 } from "./config-Cn94Jc0g.mjs";
3
- import { f as refuseNoProject, v as launchErrorPreview } from "./command-output-Dj-WT4BP.mjs";
4
- import { n as findCommandWorkspace } from "./project-DYj-HVx6.mjs";
3
+ import { f as refuseNoProject, v as launchErrorPreview } from "./command-output-C8R1KIvi.mjs";
4
+ import { n as findCommandWorkspace } from "./project-Sui52ywT.mjs";
5
5
  import { n as SOURCES$1, t as LEVELS$1 } from "./ndjson-Dy2W4vRa.mjs";
6
- import { i as followAgentActions, n as openWorkspaceLogs } from "./logs-CC_-ZzEE.mjs";
7
- import { t as errorDiagnostics } from "./error-diagnostics-snej9k4j.mjs";
8
- import { n as followHostedLogs } from "./hosted-logs-sync-Dg3qrZmV.mjs";
6
+ import { i as followAgentActions, n as openWorkspaceLogs } from "./logs-DI5ILkYB.mjs";
7
+ import { t as errorDiagnostics } from "./error-diagnostics-D1QfyJzQ.mjs";
8
+ import { n as followHostedLogs } from "./hosted-logs-sync-B0c53W_c.mjs";
9
9
  import { t as watchStdoutReader } from "./stdout-reader-C8yjre1x.mjs";
10
10
  import { realpathSync } from "node:fs";
11
11
  import { relative, sep } from "node:path";
@@ -1,9 +1,9 @@
1
1
  import { S as process_identity_exports } from "./exec-aULwtNly.mjs";
2
- import { k as workspaceLogsDir$1 } from "./workspace-state-BjqdjnJR.mjs";
2
+ import { k as workspaceLogsDir$1 } from "./workspace-state-kIZrdlSg.mjs";
3
3
  import { G as projectDeviceSlots, _ as loadConfig$1 } from "./config-Cn94Jc0g.mjs";
4
- import { f as readAgentDeviceRecordsAsync, n as agentDeviceLiveness, o as envDir } from "./activity-Cd-ysFes.mjs";
5
- import { o as captureWorkspaceCrashes } from "./error-diagnostics-snej9k4j.mjs";
6
- import { n as followHostedLogs, r as syncHostedLogs } from "./hosted-logs-sync-Dg3qrZmV.mjs";
4
+ import { f as readAgentDeviceRecordsAsync, n as agentDeviceLiveness, o as envDir } from "./activity-DRMg4_mD.mjs";
5
+ import { o as captureWorkspaceCrashes } from "./error-diagnostics-D1QfyJzQ.mjs";
6
+ import { n as followHostedLogs, r as syncHostedLogs } from "./hosted-logs-sync-B0c53W_c.mjs";
7
7
  import { readdirSync, statSync, watch } from "node:fs";
8
8
  import { homedir } from "node:os";
9
9
  import { dirname, join, relative, resolve, sep } from "node:path";
@@ -1,24 +1,24 @@
1
1
  import { _ as spawnDeclared, c as throwIfCancelled, t as getExecutor, u as withWorkspaceProcessLock, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir, a as recordWorkspaceUseAsync, f as writeWorkspaceStateAsync, k as workspaceLogsDir$1, v as ensureWorkspaceStorageAsync, w as workspaceAgentDeviceDir } from "./workspace-state-BjqdjnJR.mjs";
2
+ import { E as workspaceDir, a as recordWorkspaceUseAsync, f as writeWorkspaceStateAsync, k as workspaceLogsDir$1, v as ensureWorkspaceStorageAsync, w as workspaceAgentDeviceDir } from "./workspace-state-kIZrdlSg.mjs";
3
3
  import { E as upsertProject, O as withConfigLockAsync$1, u as getConcurrencyLimits } from "./config-Cn94Jc0g.mjs";
4
- import { l as phaseLine } from "./command-output-Dj-WT4BP.mjs";
5
- import { Z as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY, it as settingValueAt, rt as settingShapeErrors } from "./settings-BDVI8Ivc.mjs";
6
- import { f as projectRegistry, i as findProjectRoot$1, s as ownedDeviceLabel } from "./project-DYj-HVx6.mjs";
7
- import { i as macosProcess, n as macosDir, o as requiredMacosRecord, r as macosLogFile } from "./state-CZxLyetD.mjs";
4
+ import { l as phaseLine } from "./command-output-C8R1KIvi.mjs";
5
+ import { Z as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY, it as settingValueAt, rt as settingShapeErrors } from "./settings-CY5JZlNN.mjs";
6
+ import { f as projectRegistry, i as findProjectRoot$1, s as ownedDeviceLabel } from "./project-Sui52ywT.mjs";
7
+ import { i as macosProcess, n as macosDir, o as requiredMacosRecord, r as macosLogFile } from "./state-BXC1Lfxw.mjs";
8
8
  import { i as createNdjsonWriter } from "./ndjson-Dy2W4vRa.mjs";
9
- import { En as runProcessOperation, Tn as processContext } from "./ccache-BWTze1Ls.mjs";
10
- import { K as recordBuildPhase, Q as errorRemedy, X as tapBuildLog, Y as startBuildProgress, q as recordFinishedBuild, xt as releaseBuildSlot, yt as acquireBuildSlot, z as NO_BUILD_PROGRESS } from "./workspaces-DFbj07jp.mjs";
11
- import { ot as runCancellationSignal, st as withNativeBuildRun } from "./toolchain-CbCG6C5Z.mjs";
12
- import { O as sanitizeDeviceLabel } from "./ios-E26qSpkb.mjs";
13
- import { S as setRemoteLogSink, c as offloadPlacement, i as closeOffload, l as placementLoad, n as buildPlacementCandidates, o as offloadBuild, r as chooseBuildMachine, u as remotePhaseText } from "./client-xsdxrhWA.mjs";
14
- import { d as resolveBuildPlacement, l as requireLocalBuild, n as automaticBuild, o as namedBuildMachine, s as parseBuildMachineOption, t as OffloadRefusal } from "./selection-Bs8phwhN.mjs";
15
- import { l as connectHost } from "./hosted-client-D7Pk_Oo1.mjs";
16
- import { t as placeHostedMacos } from "./hosted-macos-B9w4H8hc.mjs";
17
- import { r as stopMacosAppHeld, t as stopBundleInstances } from "./stop-CH79S3IZ.mjs";
9
+ import { En as runProcessOperation, Tn as processContext } from "./ccache-Bm_A1xX9.mjs";
10
+ import { $ as tapBuildLog, H as NO_BUILD_PROGRESS, Q as startBuildProgress, St as acquireBuildSlot, Tt as releaseBuildSlot, X as recordFinishedBuild, Y as recordBuildPhase, tt as errorRemedy } from "./workspaces-CmOcceDN.mjs";
11
+ import { ot as runCancellationSignal, st as withNativeBuildRun } from "./toolchain-mLA_km-b.mjs";
12
+ import { O as sanitizeDeviceLabel } from "./ios-B1DYuOjh.mjs";
13
+ import { S as setRemoteLogSink, c as offloadPlacement, i as closeOffload, l as placementLoad, n as buildPlacementCandidates, o as offloadBuild, r as chooseBuildMachine, u as remotePhaseText } from "./client-YxCer6ab.mjs";
14
+ import { d as resolveBuildPlacement, l as requireLocalBuild, n as automaticBuild, o as namedBuildMachine, s as parseBuildMachineOption, t as OffloadRefusal } from "./selection-CXgM_VK_.mjs";
15
+ import { l as connectHost } from "./hosted-client-DDRm9hPJ.mjs";
16
+ import { t as placeHostedMacos } from "./hosted-macos-B7-8Pv4H.mjs";
17
+ import { i as stopMacosAppHeld, t as stopBundleInstances } from "./stop-DQvE-P76.mjs";
18
18
  import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
19
- import { t as buildPlacementRecord } from "./placement-log-BXUbiZM6.mjs";
20
- import { n as devicePlacementLine, t as automaticDevicePlacement } from "./auto-placement-z-H5pJza.mjs";
21
- import { t as reidentifyBundle } from "./stage-F4cAfJGi.mjs";
19
+ import { t as buildPlacementRecord } from "./placement-log-Cvhta5ib.mjs";
20
+ import { n as devicePlacementLine, t as automaticDevicePlacement } from "./auto-placement-BVqs8AJi.mjs";
21
+ import { t as reidentifyBundle } from "./stage-CmugrSG5.mjs";
22
22
  import { t as validateMacosArtifactPlatform } from "./artifact-platform-BO2Uvk_A.mjs";
23
23
  import { t as waitForMacosRegistration } from "./registration-BwCe64PH.mjs";
24
24
  import { createHash, randomUUID } from "node:crypto";
@@ -344,7 +344,7 @@ async function planMacos(context, root, buildMachineFlag) {
344
344
  if (selected.failure) throw Object.assign(new Error(selected.failure.message), selected.failure);
345
345
  const macos = settings.macos;
346
346
  if (!macos?.product || !macos.infoPlist) throw Object.assign(/* @__PURE__ */ new Error("Set macos.product and macos.infoPlist explicitly in .stim.json. See stim guide macos."), { code: "STIM_BAD_ARG" });
347
- const { swiftpmMacosProject } = await import("./swiftpm-macos-Ch4YjY_A.mjs");
347
+ const { swiftpmMacosProject } = await import("./swiftpm-macos-BhF2stxY.mjs");
348
348
  const recipe = await swiftpmMacosProject(root).prepare(context, settings);
349
349
  let identity = null;
350
350
  let cacheHit = false;
@@ -1,2 +1,2 @@
1
- import { n as runMacos, r as waitForLaunchServices, t as macosCommand } from "./macos-DlCBhMw5.mjs";
1
+ import { n as runMacos, r as waitForLaunchServices, t as macosCommand } from "./macos-Bo9st9Di.mjs";
2
2
  export { macosCommand as default, runMacos, waitForLaunchServices };
@@ -1,2 +1,2 @@
1
- import { n as runMacosSupervisor, t as logLines } from "./run-DaCeNKRm.mjs";
1
+ import { n as runMacosSupervisor, t as logLines } from "./run-y2HwyNvg.mjs";
2
2
  export { logLines, runMacosSupervisor };
@@ -1,10 +1,10 @@
1
1
  import { P as formatBytes } from "./config-Cn94Jc0g.mjs";
2
- import { A as diskPressureLevel, I as maintenanceItem, L as openGcLog, M as levelStillShort, N as lowestFree, R as maintenanceLogger, _ as resolveBudget, j as levelFloors, mt as deviceSweepIsScoped } from "./ccache-BWTze1Ls.mjs";
3
- import { I as memoryCulpritsUnder, V as memoryCulpritAdvice } from "./ios-E26qSpkb.mjs";
2
+ import { A as diskPressureLevel, I as maintenanceItem, L as openGcLog, M as levelStillShort, N as lowestFree, R as maintenanceLogger, _ as resolveBudget, j as levelFloors, mt as deviceSweepIsScoped } from "./ccache-Bm_A1xX9.mjs";
3
+ import { I as memoryCulpritsUnder, V as memoryCulpritAdvice } from "./ios-B1DYuOjh.mjs";
4
4
  import { t as resolveMaintenanceSettings } from "./settings-Djl-mpjX.mjs";
5
- import { C as measureSizes, w as sizeScanDeferred, x as measurePressure, y as measureDisk } from "./worktree-COAJ3-OD.mjs";
5
+ import { C as sizeScanDeferred, S as measureSizes, b as measurePressure, v as measureDisk } from "./worktree-2dk5edza.mjs";
6
6
  import { t as relaunchWithLogFile } from "./detached-entry-BPlSaCwC.mjs";
7
- import { g as measureOwnedDevices, i as plannedMaintenance, n as diskRecovered, o as triggeringRoot, r as executeAction } from "./act-ROviTF_t.mjs";
7
+ import { g as measureOwnedDevices, i as plannedMaintenance, n as diskRecovered, o as triggeringRoot, r as executeAction } from "./act-8iswyfRa.mjs";
8
8
  import { r as due, t as capChildLog } from "./attempt-ClyJlZPT.mjs";
9
9
  import { releaseClaim, tryAcquireClaim } from "@stim-cli/core/ownership-claim";
10
10
  import { randomBytes } from "node:crypto";
@@ -1,5 +1,5 @@
1
1
  import { S as process_identity_exports, l as WorkspaceProcessCleanupError, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { r as readWorkspaceState } from "./workspace-state-BjqdjnJR.mjs";
2
+ import { r as readWorkspaceState } from "./workspace-state-kIZrdlSg.mjs";
3
3
  import { F as isOnMountedVolume, I as listMountedVolumes, O as withConfigLockAsync, _ as loadConfig, n as allMetroPorts, r as claimMetroPort, x as releaseMetroPort } from "./config-Cn94Jc0g.mjs";
4
4
  import { t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
5
5
  import { sep } from "path";
@@ -1,10 +1,8 @@
1
1
  import { S as process_identity_exports, c as throwIfCancelled, s as cancelledError } from "./exec-aULwtNly.mjs";
2
- import { j as workspaceStateFile$1, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, s as updateWorkspaceStateAsync } from "./workspace-state-BjqdjnJR.mjs";
3
- import { lt as tailscaleStatusAsync } from "./config-Cn94Jc0g.mjs";
4
- import { randomBytes, randomUUID } from "node:crypto";
2
+ import { j as workspaceStateFile$1, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, s as updateWorkspaceStateAsync } from "./workspace-state-kIZrdlSg.mjs";
3
+ import { randomUUID } from "node:crypto";
5
4
  import { statSync, watch } from "node:fs";
6
- import { HOSTED_METRO_REQUESTS_KEY, findPeer, hostedMetroGateways, hostedMetroRequests, isJsonObject, parseMachine } from "@stim-cli/core/state";
7
- import { isIP } from "node:net";
5
+ import { HOSTED_METRO_REQUESTS_KEY, hostedMetroLinks, hostedMetroRequests, isJsonObject } from "@stim-cli/core/state";
8
6
  //#region src/workspace/workspace-state-watch.ts
9
7
  /** Filesystem events are hints; callers retain their own bounded repair and state verification. */
10
8
  function watchWorkspaceState(root, changed) {
@@ -58,8 +56,8 @@ function watchWorkspaceState(root, changed) {
58
56
  };
59
57
  }
60
58
  //#endregion
61
- //#region src/device-host/metro-gateway.ts
62
- async function waitForGateway(root, read, { waitMs, signal, what }) {
59
+ //#region src/device-host/metro-request.ts
60
+ async function waitForSupervisor(root, read, { waitMs, signal, what }) {
63
61
  throwIfCancelled(signal, what);
64
62
  const startedAt = Date.now();
65
63
  const deadline = startedAt + waitMs;
@@ -101,38 +99,23 @@ async function waitForGateway(root, read, { waitMs, signal, what }) {
101
99
  if (onAbort) signal?.removeEventListener("abort", onAbort);
102
100
  }
103
101
  }
104
- function gatewayAddresses(credential, status) {
105
- const machine = parseMachine(credential.machine);
106
- const peer = machine ? findPeer(status, machine.name) : "missing";
107
- if (typeof peer === "string") throw new Error(`${credential.machine} no longer resolves to one tailnet peer. Run stim doctor.`);
108
- const self = isJsonObject(status) && isJsonObject(status.Self) ? status.Self : null;
109
- const address = (Array.isArray(self?.TailscaleIPs) ? self.TailscaleIPs : []).find((ip) => typeof ip === "string" && isIP(ip) === isIP(peer.address) && isIP(ip) !== 0);
110
- if (!address) throw new Error("This machine has no Tailscale address compatible with the hosting Mac.");
111
- return {
112
- address,
113
- peer: peer.address
114
- };
115
- }
116
102
  function requireHostedMetro(root) {
117
103
  const supervisor = readWorkspaceState$1(root)?.supervisor;
118
- if (supervisor?.hostedMetro === true && (0, process_identity_exports.inspectProcessIdentity)(supervisor) === "same") return;
119
- throw Object.assign(/* @__PURE__ */ new Error("Hosted Debug runs require a running Metro supervisor with private gateway support. Run stim stop; stim start, then retry."), {
104
+ if (supervisor?.hostedMetroLinks === true && (0, process_identity_exports.inspectProcessIdentity)(supervisor) === "same") return;
105
+ throw Object.assign(/* @__PURE__ */ new Error("Hosted Debug runs require a running Metro supervisor that links Metro to the hosting machine. Run stim stop; stim start, then retry."), {
120
106
  code: "STIM_HOSTING_REFUSED",
121
107
  remedy: "Run stim stop; stim start, then retry."
122
108
  });
123
109
  }
124
110
  async function requestHostedMetro(root, session, credential, signal) {
125
- throwIfCancelled(signal, "hosted Metro gateway");
111
+ throwIfCancelled(signal, "hosted Metro link");
126
112
  requireHostedMetro(root);
127
- const addresses = gatewayAddresses(credential, await tailscaleStatusAsync(signal));
128
- throwIfCancelled(signal, "hosted Metro gateway");
129
- requireHostedMetro(root);
130
- const previous = hostedMetroRequests(readWorkspaceState$1(root))[session];
131
- const request = previous && previous.address === addresses.address && previous.peer === addresses.peer ? previous : {
113
+ const recorded = readWorkspaceState$1(root);
114
+ const previous = hostedMetroRequests(recorded)[session];
115
+ const answer = hostedMetroLinks(recorded)[session];
116
+ const request = previous?.machine === credential.machine && answer?.id === previous.id && answer.processToken === recorded?.supervisor?.processToken && answer.ready ? previous : {
132
117
  id: randomUUID(),
133
- machine: credential.machine,
134
- ...addresses,
135
- secret: randomBytes(32).toString("hex")
118
+ machine: credential.machine
136
119
  };
137
120
  await updateWorkspaceStateAsync(root, (state) => ({
138
121
  ...state,
@@ -141,24 +124,20 @@ async function requestHostedMetro(root, session, credential, signal) {
141
124
  [session]: request
142
125
  }
143
126
  }), signal);
144
- const opened = await waitForGateway(root, () => {
127
+ if (await waitForSupervisor(root, () => {
145
128
  const state = readWorkspaceState$1(root);
146
- const gateway = hostedMetroGateways(state)[session];
147
- if (gateway?.id === request.id && gateway.processToken === state?.supervisor?.processToken) {
148
- if (gateway.error) throw new Error(gateway.error);
149
- if (gateway.port) return {
150
- gatewayPort: gateway.port,
151
- secret: request.secret
152
- };
129
+ const links = hostedMetroLinks(state)[session];
130
+ if (links?.id === request.id && links.processToken === state?.supervisor?.processToken) {
131
+ if (links.error) throw new Error(links.error);
132
+ if (links.ready) return true;
153
133
  }
154
134
  return null;
155
135
  }, {
156
136
  waitMs: 15e3,
157
137
  signal,
158
- what: "hosted Metro gateway"
159
- });
160
- if (opened) return opened;
161
- throw new Error(`The Metro supervisor did not open a private gateway for ${credential.machine}. Run stim stop; stim start, then retry.`);
138
+ what: "hosted Metro link"
139
+ })) return;
140
+ throw new Error(`The Metro supervisor did not link Metro to ${credential.machine}. Run stim doctor, then stim stop; stim start and retry.`);
162
141
  }
163
142
  function clearHostedMetro(root, session) {
164
143
  updateWorkspaceState(root, (state) => {
@@ -172,17 +151,17 @@ function clearHostedMetro(root, session) {
172
151
  }
173
152
  async function closeHostedMetro(root, session, signal) {
174
153
  await withWorkspaceStateLockAsync(root, () => clearHostedMetro(root, session), signal);
175
- if (!await waitForGateway(root, () => {
154
+ if (!await waitForSupervisor(root, () => {
176
155
  const state = readWorkspaceState$1(root);
177
- const gateway = hostedMetroGateways(state)[session];
156
+ const links = hostedMetroLinks(state)[session];
178
157
  const supervisor = state?.supervisor;
179
- if (!gateway?.port || !supervisor || gateway.processToken !== supervisor.processToken) return true;
158
+ if (!links?.ready || !supervisor || links.processToken !== supervisor.processToken) return true;
180
159
  return (0, process_identity_exports.inspectProcessIdentity)(supervisor) === "gone" ? true : null;
181
160
  }, {
182
161
  waitMs: 5e3,
183
162
  signal,
184
163
  what: "close hosted Metro"
185
- })) throw new Error("The Metro supervisor did not close its private gateway. Restart Metro, then retry stim stop.");
164
+ })) throw new Error("The Metro supervisor did not close its Metro links. Restart Metro, then retry stim stop.");
186
165
  }
187
166
  function hostedMetroSettings(settings, hosted) {
188
167
  return hosted ? {
@@ -1,6 +1,6 @@
1
1
  import { S as process_identity_exports, t as getExecutor, u as withWorkspaceProcessLock } from "./exec-aULwtNly.mjs";
2
2
  import { C as saveConfig, O as withConfigLockAsync, _ as loadConfig, c as ensureConfig, d as getConfigDir, p as getProject } from "./config-Cn94Jc0g.mjs";
3
- import { f as signalProcessTree, m as createPortProbe, s as parseNetstatPids } from "./metro-CvyD-xwe.mjs";
3
+ import { f as signalProcessTree, m as createPortProbe, s as parseNetstatPids } from "./metro-BnhXV2Mj.mjs";
4
4
  import { realpathSync } from "node:fs";
5
5
  //#region src/named-ports.ts
6
6
  const FIRST_PORT = 8900;
@@ -1,20 +1,20 @@
1
1
  import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir, y as sharedBuildCache } from "./workspace-state-BjqdjnJR.mjs";
2
+ import { E as workspaceDir, y as sharedBuildCache } from "./workspace-state-kIZrdlSg.mjs";
3
3
  import { H as deviceSlotPlatforms, p as getProject, q as validateDeviceSlot } from "./config-Cn94Jc0g.mjs";
4
- import { it as settingValueAt } from "./settings-BDVI8Ivc.mjs";
5
- import { B as ownedAvdDeviceProfile, E as findBuildTool, I as listInstalledSystemImages, K as ownedAvdSystemImage, V as ownedAvdDirectory, X as pickDefaultSystemImage, l as androidSystemImageAbi, o as androidHome } from "./android-DriNoAVy.mjs";
6
- import { s as resolveCcache } from "./ccache-BWTze1Ls.mjs";
4
+ import { it as settingValueAt } from "./settings-CY5JZlNN.mjs";
5
+ import { B as ownedAvdDeviceProfile, E as findBuildTool, I as listInstalledSystemImages, K as ownedAvdSystemImage, V as ownedAvdDirectory, X as pickDefaultSystemImage, l as androidSystemImageAbi, o as androidHome } from "./android-CsPs-7Mg.mjs";
6
+ import { s as resolveCcache } from "./ccache-Bm_A1xX9.mjs";
7
7
  import { r as register } from "./cache-manifest-DEjqGGat.mjs";
8
- import { ot as statsProjectKey } from "./workspaces-DFbj07jp.mjs";
9
- import { ot as runCancellationSignal, r as androidToolchainAsync } from "./toolchain-CbCG6C5Z.mjs";
10
- import { C as resolveBuild, s as entryDir, t as artifactIn } from "./build-cache-gBJ-WKzA.mjs";
11
- import { h as gradleOffloadInputs, y as nativeGradleTransfer } from "./client-xsdxrhWA.mjs";
12
- import { d as buildGradle, l as androidSdkRefusal } from "./react-native-build-DaK2IFyP.mjs";
13
- import { s as explainBuildMiss, u as skippedMissReason } from "./prebuild-BDpToDgR.mjs";
14
- import { u as resolveAndroidRunPlan } from "./result-CTqBw2Te.mjs";
15
- import { n as androidProcessRuntime } from "./launch-CRyBeNsA.mjs";
16
- import { n as planFlagRefusal, r as planPayload } from "./build-plan-CBqYbzYM.mjs";
17
- import { a as nativeGradleWorkerArtifactIdentity, n as gradleArtifactInputs, r as nativeGradleArtifactSnapshot, t as NATIVE_GRADLE_CACHE_LIMIT } from "./native-gradle-artifact-inputs-C13qT7R_.mjs";
8
+ import { lt as statsProjectKey } from "./workspaces-CmOcceDN.mjs";
9
+ import { ot as runCancellationSignal, r as androidToolchainAsync } from "./toolchain-mLA_km-b.mjs";
10
+ import { C as resolveBuild, s as entryDir, t as artifactIn } from "./build-cache-CZULpXVl.mjs";
11
+ import { h as gradleOffloadInputs, y as nativeGradleTransfer } from "./client-YxCer6ab.mjs";
12
+ import { d as buildGradle, l as androidSdkRefusal } from "./react-native-build-jUHnIfZ9.mjs";
13
+ import { s as explainBuildMiss, u as skippedMissReason } from "./prebuild-k8d_tqOq.mjs";
14
+ import { u as resolveAndroidRunPlan } from "./result-BIcXREyC.mjs";
15
+ import { n as androidProcessRuntime } from "./launch-DoySmhjz.mjs";
16
+ import { n as planFlagRefusal, r as planPayload } from "./build-plan-CxoYfxsc.mjs";
17
+ import { a as nativeGradleWorkerArtifactIdentity, n as gradleArtifactInputs, r as nativeGradleArtifactSnapshot, t as NATIVE_GRADLE_CACHE_LIMIT } from "./native-gradle-artifact-inputs-BN96IVw8.mjs";
18
18
  import { createHash } from "node:crypto";
19
19
  import { createReadStream, createWriteStream, existsSync, readFileSync, statSync } from "node:fs";
20
20
  import { tmpdir } from "node:os";
@@ -1,8 +1,8 @@
1
1
  import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
2
  import { r as childEnvironment } from "./operation-exec-Dp4FuIGR.mjs";
3
- import { o as androidHome } from "./android-DriNoAVy.mjs";
4
- import { n as buildCacheKey } from "./build-cache-gBJ-WKzA.mjs";
5
- import { _ as nativeGradleLocalSourceDigest, h as gradleOffloadInputs } from "./client-xsdxrhWA.mjs";
3
+ import { o as androidHome } from "./android-CsPs-7Mg.mjs";
4
+ import { n as buildCacheKey } from "./build-cache-CZULpXVl.mjs";
5
+ import { _ as nativeGradleLocalSourceDigest, h as gradleOffloadInputs } from "./client-YxCer6ab.mjs";
6
6
  import { n as fingerprintNativeInputs } from "./native-inputs-TRTTTRxt.mjs";
7
7
  import { createHash } from "node:crypto";
8
8
  import { homedir } from "node:os";
@@ -1,9 +1,9 @@
1
- import { r as readWorkspaceState$1, v as ensureWorkspaceStorageAsync } from "./workspace-state-BjqdjnJR.mjs";
2
- import { l as phaseLine } from "./command-output-Dj-WT4BP.mjs";
3
- import { N as metroPortSetting } from "./settings-BDVI8Ivc.mjs";
4
- import { d as resolveProjectMetro } from "./metro-CvyD-xwe.mjs";
5
- import { It as LAUNCH_BUNDLING, Rt as LAUNCH_UNVERIFIED } from "./ccache-BWTze1Ls.mjs";
6
- import { c as startDevServer } from "./start-DrPwER_2.mjs";
1
+ import { r as readWorkspaceState$1, v as ensureWorkspaceStorageAsync } from "./workspace-state-kIZrdlSg.mjs";
2
+ import { l as phaseLine } from "./command-output-C8R1KIvi.mjs";
3
+ import { N as metroPortSetting } from "./settings-CY5JZlNN.mjs";
4
+ import { d as resolveProjectMetro } from "./metro-BnhXV2Mj.mjs";
5
+ import { It as LAUNCH_BUNDLING, Rt as LAUNCH_UNVERIFIED } from "./ccache-Bm_A1xX9.mjs";
6
+ import { c as startDevServer } from "./start-DYLk6GXn.mjs";
7
7
  import { readIdleStop } from "@stim-cli/core/state";
8
8
  import chalk from "chalk";
9
9
  //#region src/commands/native-runtime.ts
@@ -1,6 +1,6 @@
1
- import { E as workspaceDir, T as workspaceDerivedData } from "./workspace-state-BjqdjnJR.mjs";
1
+ import { E as workspaceDir, T as workspaceDerivedData } from "./workspace-state-kIZrdlSg.mjs";
2
2
  import { a as killOnAbort, l as gitQuietAsync, r as childEnvironment } from "./operation-exec-Dp4FuIGR.mjs";
3
- import { h as pbxString, m as pbxReferences } from "./project-DYj-HVx6.mjs";
3
+ import { h as pbxString, m as pbxReferences } from "./project-Sui52ywT.mjs";
4
4
  import { n as fingerprintNativeInputs, t as NativeInputError } from "./native-inputs-TRTTTRxt.mjs";
5
5
  import { createHash } from "node:crypto";
6
6
  import { existsSync, readFileSync, realpathSync } from "node:fs";
@@ -1,21 +1,21 @@
1
1
  import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { x as sharedCompilationCache } from "./workspace-state-BjqdjnJR.mjs";
3
- import { G as remoteIosSetting, J as resolveCacheProviderConfig, Lt as repoRootAsync, rt as settingShapeErrors } from "./settings-BDVI8Ivc.mjs";
4
- import { g as selectNativeXcodeProject, h as pbxString, p as NativeXcodeError } from "./project-DYj-HVx6.mjs";
5
- import { Tn as processContext } from "./ccache-BWTze1Ls.mjs";
2
+ import { x as sharedCompilationCache } from "./workspace-state-kIZrdlSg.mjs";
3
+ import { G as remoteIosSetting, J as resolveCacheProviderConfig, Vt as repoRootAsync, rt as settingShapeErrors } from "./settings-CY5JZlNN.mjs";
4
+ import { g as selectNativeXcodeProject, h as pbxString, p as NativeXcodeError } from "./project-Sui52ywT.mjs";
5
+ import { Tn as processContext } from "./ccache-Bm_A1xX9.mjs";
6
6
  import { r as register } from "./cache-manifest-DEjqGGat.mjs";
7
- import { ot as statsProjectKey } from "./workspaces-DFbj07jp.mjs";
8
- import { D as runCaptured, F as compilationCacheSettings, L as parseSwiftVersion, N as buildXcode, O as runPodInstall, R as parseXcodeMajor, T as readPodState, V as readBundleId, j as HEARTBEAT_INTERVAL_MS, ot as runCancellationSignal, s as iosToolchainAsync, w as podsAreStale } from "./toolchain-CbCG6C5Z.mjs";
9
- import { d as filesystemBuildCapability, n as buildCacheKey } from "./build-cache-gBJ-WKzA.mjs";
7
+ import { lt as statsProjectKey } from "./workspaces-CmOcceDN.mjs";
8
+ import { D as runCaptured, F as compilationCacheSettings, L as parseSwiftVersion, N as buildXcode, O as runPodInstall, R as parseXcodeMajor, T as readPodState, V as readBundleId, j as HEARTBEAT_INTERVAL_MS, ot as runCancellationSignal, s as iosToolchainAsync, w as podsAreStale } from "./toolchain-mLA_km-b.mjs";
9
+ import { d as filesystemBuildCapability, n as buildCacheKey } from "./build-cache-CZULpXVl.mjs";
10
10
  import { l as artifactCachePolicy, p as resolveOptimizations } from "./errors-DHm_U5gv.mjs";
11
- import { a as nativeTransferRefusal } from "./client-xsdxrhWA.mjs";
12
- import { a as deviceModelRefusal, h as resolveDeviceType, m as resolveConfiguration, v as resolveRuntime, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-Be0UeVZU.mjs";
11
+ import { a as nativeTransferRefusal } from "./client-YxCer6ab.mjs";
12
+ import { a as deviceModelRefusal, h as resolveDeviceType, m as resolveConfiguration, v as resolveRuntime, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-BtlJKjyQ.mjs";
13
13
  import { r as gateProfileForDevice } from "./ios-signing-BJzvDPfU.mjs";
14
- import { s as explainBuildMiss, u as skippedMissReason } from "./prebuild-BDpToDgR.mjs";
15
- import { n as planFlagRefusal, t as planCachedBuild } from "./build-plan-CBqYbzYM.mjs";
16
- import { t as IosRecipeRefusal } from "./ios-project-D8Jcy_br.mjs";
17
- import { c as iosProcessRuntime, t as DEFAULT_DEPS } from "./dependencies-BGokZ-Ng.mjs";
18
- import { a as nativeXcodeSources, i as nativeXcodePackages, n as nativeXcodeInputSnapshot, t as nativeXcodeHasPackages } from "./native-xcode-inputs-B1W8SrxB.mjs";
14
+ import { s as explainBuildMiss, u as skippedMissReason } from "./prebuild-k8d_tqOq.mjs";
15
+ import { n as planFlagRefusal, t as planCachedBuild } from "./build-plan-CxoYfxsc.mjs";
16
+ import { t as IosRecipeRefusal } from "./ios-project-CR4mZ7CH.mjs";
17
+ import { c as iosProcessRuntime, t as DEFAULT_DEPS } from "./dependencies-DKeMzwXY.mjs";
18
+ import { a as nativeXcodeSources, i as nativeXcodePackages, n as nativeXcodeInputSnapshot, t as nativeXcodeHasPackages } from "./native-xcode-inputs-BKarCoKg.mjs";
19
19
  import { existsSync } from "node:fs";
20
20
  import { join } from "node:path";
21
21
  //#region src/integrations/native-xcode-ios.ts