stim 1.20.0 → 1.20.2

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 (158) hide show
  1. package/README.md +6 -3
  2. package/dist/{activity-BrGh9EAI.mjs → activity-BSV745Kz.mjs} +4 -4
  3. package/dist/{agent-device-usage-output-DVyv_hWj.mjs → agent-device-usage-output-Dzgv6lgR.mjs} +5 -6
  4. package/dist/{android-Brx6EKvJ.mjs → android-DCKZrNvV.mjs} +37 -38
  5. package/dist/{android-0vv-OruW.mjs → android-Dlzxshgp.mjs} +5 -5
  6. package/dist/{android-CK3fpEyZ.mjs → android-HqP1_vB_.mjs} +3 -3
  7. package/dist/{android-BsYNR81W.mjs → android-Mz_Inn3w.mjs} +12 -12
  8. package/dist/{android-cas-DCAuXryb.mjs → android-cas-Bl-cLJBk.mjs} +4 -4
  9. package/dist/android-cas-compiler.mjs +1 -1
  10. package/dist/{api-zuX3ynYN.mjs → api-qvOzWyfO.mjs} +1 -1
  11. package/dist/api-run.mjs +19 -21
  12. package/dist/api.mjs +1 -1
  13. package/dist/{app-install-0LgaQRT7.mjs → app-install-BIKtMfPq.mjs} +71 -48
  14. package/dist/{artifact-DClXJNWx.mjs → artifact-D3czlUvT.mjs} +13 -13
  15. package/dist/{artifact-CnC0mfov.mjs → artifact-HSwkIWEQ.mjs} +12 -12
  16. package/dist/{browser-web-CzBmhmgs.mjs → browser-web-CA-F1GQo.mjs} +18 -18
  17. package/dist/{budget-BONq9vXY.mjs → budget-f7516Zk0.mjs} +23 -26
  18. package/dist/{build-BixRI6sB.mjs → build-DYDbfkk5.mjs} +28 -33
  19. package/dist/{build-plan-CP0tckNU.mjs → build-plan-B7SZsc2N.mjs} +17 -17
  20. package/dist/{cache-manifest-qA3dT2x2.mjs → cache-manifest-XH-fvDUj.mjs} +10 -5
  21. package/dist/cache-manifest.mjs +1 -1
  22. package/dist/cancellation-C_22VQTH.mjs +24 -0
  23. package/dist/{ccache-CjHQ5F8g.mjs → ccache-zdKiYQ3E.mjs} +7 -7
  24. package/dist/{chrome-Dp2lMLBe.mjs → chrome-BnzZMqsR.mjs} +1 -1
  25. package/dist/{cli-B2R8wH1F.mjs → cli-CLP3diBm.mjs} +20 -20
  26. package/dist/cli.mjs +1 -1
  27. package/dist/{client-BLy1Pw2V.mjs → client-qQAaXSUs.mjs} +21 -29
  28. package/dist/collector-run.d.mts +7 -6
  29. package/dist/collector-run.mjs +6 -7
  30. package/dist/{command-output-BjPN99ZB.mjs → command-output-BTy8hZ0F.mjs} +1 -1
  31. package/dist/{config-D0LhTY3S.mjs → config-BYDxlMY3.mjs} +43 -5
  32. package/dist/{created-devices-HU_DAb_Q.mjs → created-devices-Dzd5C2LF.mjs} +2 -2
  33. package/dist/{dependency-state-B2m8eqsS.mjs → dependency-state-DG0p31-y.mjs} +2 -2
  34. package/dist/{detached-entry-BXq4fIl-.mjs → detached-entry-B9C_zeQC.mjs} +1 -1
  35. package/dist/{dev-client-ClATaJoH.mjs → dev-client-DAWVIGBu.mjs} +2 -2
  36. package/dist/{device-DVCwAFlX.mjs → device-BECOiufl.mjs} +13 -14
  37. package/dist/{device-B7lsC0K1.mjs → device-DuiPJQSn.mjs} +8 -8
  38. package/dist/{device-capacity-Ca_ke1LE.mjs → device-capacity-CBUAcRyQ.mjs} +10 -11
  39. package/dist/device-host-worker.mjs +16 -17
  40. package/dist/{device-ios-CRUqPxKw.mjs → device-ios-COSi6oS1.mjs} +12 -15
  41. package/dist/{device-lease-DHOBXGgS.mjs → device-lease-BX1sJQ2E.mjs} +15 -18
  42. package/dist/{device-lease-run-CvDeHTkG.mjs → device-lease-run-Cw2M4z51.mjs} +4 -4
  43. package/dist/{device-pool-L2-5GxMy.mjs → device-pool-Bf-pOhSw.mjs} +3 -3
  44. package/dist/{device-remote-Bmg42063.mjs → device-remote-xRT0Vmo9.mjs} +14 -14
  45. package/dist/{doctor-C2MSuMMg.mjs → doctor-CB8oZKCk.mjs} +13 -13
  46. package/dist/{doctor-DPAqhVCK.mjs → doctor-kfMBnUw6.mjs} +78 -69
  47. package/dist/{doctor-watchman-CB4NnVZm.mjs → doctor-watchman-BRyV2adA.mjs} +9 -10
  48. package/dist/{eas-build-Dw_ec2Km.mjs → eas-build-JyfqyHfC.mjs} +5 -5
  49. package/dist/{eas-session-ledger-DZlC-Fq3.mjs → eas-session-ledger-Cm0Gwq2F.mjs} +6 -4
  50. package/dist/{error-diagnostics-Du7I_GuY.mjs → error-diagnostics-BR677IDM.mjs} +10 -10
  51. package/dist/{exec-B81Qodjn.mjs → exec-DqKo9GKJ.mjs} +22 -8
  52. package/dist/{gc-PWp34zGb.mjs → gc-qWOMdnER.mjs} +75 -24
  53. package/dist/git-DDfFzkMm.mjs +45 -0
  54. package/dist/{gradle-C2OEKCCI.mjs → gradle-DSrXb6lG.mjs} +6 -6
  55. package/dist/{guide-Dai9lphv.mjs → guide-G9cAbVAc.mjs} +81 -178
  56. package/dist/{hosted-android-DQ-Agsd8.mjs → hosted-android-C3MHGld1.mjs} +3 -3
  57. package/dist/{hosted-client-Io01s5By.mjs → hosted-client-ZEKpS9vw.mjs} +19 -11
  58. package/dist/{hosted-ios-DIxFnYp-.mjs → hosted-ios-l-o3iM9J.mjs} +1 -1
  59. package/dist/{hosted-logs-DP-ABU_M.mjs → hosted-logs-EzQM7-3Z.mjs} +7 -7
  60. package/dist/{hosted-macos-Aziw9T_9.mjs → hosted-macos-BACVAVqE.mjs} +10 -8
  61. package/dist/{hosted-native-BdAQi21M.mjs → hosted-native-A4s1QPXe.mjs} +13 -11
  62. package/dist/{idle-shutdown-DdMqoSUB.mjs → idle-shutdown-DtxhPTKe.mjs} +7 -7
  63. package/dist/{ios-BZ9dg2Fr.mjs → ios-BwVCF7oA.mjs} +8 -8
  64. package/dist/{ios-CZuv6gRv.mjs → ios-Ce7bc7br.mjs} +29 -29
  65. package/dist/{ios-CXLIUxXJ.mjs → ios-RkW4pnQf.mjs} +21 -17
  66. package/dist/{ios-device-B1B14xND.mjs → ios-device-B5veSDDQ.mjs} +1 -1
  67. package/dist/{ios-device-BreZOpM0.mjs → ios-device-D7pi2Sca.mjs} +14 -14
  68. package/dist/{ios-VGvNdsv2.mjs → ios-nOLJGVdy.mjs} +1 -1
  69. package/dist/{ios-project-B9drt_aY.mjs → ios-project-K9hY_Jab.mjs} +8 -8
  70. package/dist/{ios-state-CjrL2qv-.mjs → ios-state-CBLe1xYw.mjs} +1 -1
  71. package/dist/{js-swap-C8icNYIY.mjs → js-swap-Bb3nsS07.mjs} +13 -13
  72. package/dist/{launch-YrbqaIFj.mjs → launch-C3qJ6Agb.mjs} +46 -45
  73. package/dist/{launch-DxH0THLP.mjs → launch-F4sOqAhB.mjs} +21 -21
  74. package/dist/{launch-verify-BzRdbuO1.mjs → launch-verify-B6Q8hZP-.mjs} +11 -11
  75. package/dist/{logs-DHaRNfg7.mjs → logs-BGrEUaEs.mjs} +10 -11
  76. package/dist/{macos-V_3Ui7g4.mjs → macos-Ch5VJmcS.mjs} +40 -24
  77. package/dist/macos-D7uDvO-z.mjs +2 -0
  78. package/dist/macos-run.mjs +1 -1
  79. package/dist/maintenance-run.mjs +7 -7
  80. package/dist/{metro-D_j9sN-B.mjs → metro-DnCEjCxs.mjs} +8 -9
  81. package/dist/{metro-gateway-BBJldOdi.mjs → metro-gateway-CX9Xlkq2.mjs} +3 -3
  82. package/dist/{miss-reason-BPAzZS0r.mjs → miss-reason-mKzZ4VvN.mjs} +3 -3
  83. package/dist/{named-ports-C2lvoPsb.mjs → named-ports-4WopRPg-.mjs} +4 -5
  84. package/dist/{native-android-lHzaew7r.mjs → native-android-D5qc3-_v.mjs} +10 -10
  85. package/dist/{native-gradle-inputs-BQnIdAlL.mjs → native-gradle-inputs-BsLRrl7u.mjs} +3 -10
  86. package/dist/{native-runtime-BRmWL7ru.mjs → native-runtime-k8dTIrbK.mjs} +7 -8
  87. package/dist/{native-xcode-inputs-eutS19jU.mjs → native-xcode-inputs-CykopJdM.mjs} +7 -9
  88. package/dist/{native-xcode-ios-DP3cHLwu.mjs → native-xcode-ios-Bbf30Gm0.mjs} +15 -15
  89. package/dist/offload-worker.mjs +34 -38
  90. package/dist/{ownership-DXzMMSx6.mjs → ownership-DCtw_2IA.mjs} +3 -3
  91. package/dist/{page-Bv9s2KwY.mjs → page-DRHy329N.mjs} +1 -1
  92. package/dist/{placement-log-reFbjqEr.mjs → placement-log-MOfPVgaM.mjs} +1 -1
  93. package/dist/{plan-BDk2AeY_.mjs → plan-C4TjdPsR.mjs} +10 -10
  94. package/dist/{plan-placement-D_YYlE6N.mjs → plan-placement-V0TdzYXp.mjs} +3 -3
  95. package/dist/{ports-jzvAJXXL.mjs → ports-DdSUicVo.mjs} +3 -3
  96. package/dist/{prebuild-Bw44QxVh.mjs → prebuild-DYbucPXy.mjs} +7 -8
  97. package/dist/{preview-BaBJ72Al.mjs → preview-78a9kR_-.mjs} +31 -24
  98. package/dist/{project-B8_duAzW.mjs → project-_phNIJfs.mjs} +110 -47
  99. package/dist/{pull-request-vOhLNmIb.mjs → pull-request-CQ8sPbZa.mjs} +5 -18
  100. package/dist/pull-requests.mjs +1 -1
  101. package/dist/{react-native-android-chm1DMlA.mjs → react-native-android-CM1XRDwv.mjs} +34 -30
  102. package/dist/{react-native-build-oAw6gQeW.mjs → react-native-build-CtCccJtb.mjs} +6 -6
  103. package/dist/{react-native-doctor-DYXoh-6I.mjs → react-native-doctor-CfRnFfjs.mjs} +5 -5
  104. package/dist/{react-native-ios-SCTK_CT5.mjs → react-native-ios-Dhq_eiYQ.mjs} +14 -14
  105. package/dist/{recordings-Bk-VivUV.mjs → recordings-D0d5aQt0.mjs} +1 -1
  106. package/dist/{reload-D34GkY78.mjs → reload-C8JhxjSh.mjs} +17 -17
  107. package/dist/{remote-BU9UyhCJ.mjs → remote-BiR6aYjy.mjs} +7 -7
  108. package/dist/{remote-cache-Bsts6f6Y.mjs → remote-cache-OyOyVIS3.mjs} +4 -4
  109. package/dist/{result-BDoRk1k3.mjs → result-CaJg5Iat.mjs} +8 -8
  110. package/dist/{run-qvff78hv.mjs → run-BtPgpKks.mjs} +3 -3
  111. package/dist/{server-bare-dWjAarki.mjs → server-bare-R2m_gsH8.mjs} +3 -3
  112. package/dist/{server-command-7XIKlWtO.mjs → server-command-CTtCkmcQ.mjs} +5 -5
  113. package/dist/server-expo-Bigriskl.mjs +2 -0
  114. package/dist/{server-expo-CsYu2aKL.mjs → server-expo-DsguMGUF.mjs} +5 -10
  115. package/dist/{settings-Bbztm4oV.mjs → settings-B717odTD.mjs} +74 -115
  116. package/dist/{settings-CT3E71-i.mjs → settings-BORNaaCO.mjs} +5 -5
  117. package/dist/settings.schema.json +1 -1
  118. package/dist/{simslim-ChMfe8rg.mjs → simslim-CCr3rE-A.mjs} +2 -3
  119. package/dist/{slot-launch-B9hn96wd.mjs → slot-launch-DPt0m9Nd.mjs} +6 -6
  120. package/dist/{spawn-claims-Kqiifsk2.mjs → spawn-claims-DVS5RkMS.mjs} +1 -1
  121. package/dist/{stage-BNKKdDNc.mjs → stage-KNTQopqv.mjs} +9 -9
  122. package/dist/{start-CdvcTaXr.mjs → start-BWqzODpb.mjs} +19 -20
  123. package/dist/{start-CbQCSnXQ.mjs → start-TXeMmmO2.mjs} +1 -1
  124. package/dist/{state-Boo0IMJq.mjs → state-CG_OFoaA.mjs} +2 -2
  125. package/dist/{state-DI84A-uu.mjs → state-D1Icyjlu.mjs} +8 -7
  126. package/dist/{stats-BIIDrjA8.mjs → stats-BoY5sEPU.mjs} +5 -5
  127. package/dist/{status-BDGHwkCs.mjs → status-BTA7kKiQ.mjs} +1 -1
  128. package/dist/{status-DARMkc9q.mjs → status-WgFbkRzj.mjs} +30 -47
  129. package/dist/{status-watch-DvmI3SmN.mjs → status-watch-C23ILtf9.mjs} +4 -4
  130. package/dist/{stim-desktop-8GQX2OV8.mjs → stim-desktop-BzBN2Em2.mjs} +1 -1
  131. package/dist/{stop-iNemHsJC.mjs → stop-BNmBMi1F.mjs} +18 -19
  132. package/dist/{stop-WQPQHLuy.mjs → stop-DPEhunlw.mjs} +6 -6
  133. package/dist/{stop-CCZS-C9m.mjs → stop-DR6VoDIk.mjs} +2 -2
  134. package/dist/supervisor-run.mjs +16 -17
  135. package/dist/{support-DCco5fut.mjs → support-CwjbFs9H.mjs} +9 -9
  136. package/dist/{support-CnE_SIjt.mjs → support-DMTqj3Hm.mjs} +6 -6
  137. package/dist/{swiftpm-macos-afeNUExW.mjs → swiftpm-macos-DRNVJWlb.mjs} +9 -9
  138. package/dist/{tailnet-CoJUb2tB.mjs → tailnet-Dh-qiYzG.mjs} +5 -5
  139. package/dist/toolchain-BFkAcstd.mjs +2 -0
  140. package/dist/{toolchain-DqyDXs30.mjs → toolchain-DxSsNssu.mjs} +10 -10
  141. package/dist/trigger-9_USgmxz.mjs +2 -0
  142. package/dist/{trigger-C0MWBi8O.mjs → trigger-CigAYjeL.mjs} +2 -2
  143. package/dist/{warm-progress-C3ASD6z5.mjs → warm-progress-BuY-Fvfn.mjs} +43 -61
  144. package/dist/{watchman-CQl51YZu.mjs → watchman-CPQFZLXY.mjs} +6 -6
  145. package/dist/{web-B3eldHFH.mjs → web-BDBMxDpx.mjs} +9 -9
  146. package/dist/web-Dq-i3wzJ.mjs +2 -0
  147. package/dist/web-run.mjs +14 -14
  148. package/dist/{workspace-state-CSIFuuDa.mjs → workspace-state-DJt_MMvf.mjs} +16 -6
  149. package/dist/{workspaces-D2xSHBDY.mjs → workspaces-C36s2jb9.mjs} +15 -16
  150. package/dist/{worktree-BxDqaTev.mjs → worktree-CgvJYJ-Q.mjs} +96 -89
  151. package/dist/{worktree-q7_OZNY0.mjs → worktree-DpLdCHga.mjs} +1 -1
  152. package/package.json +6 -7
  153. package/dist/macos-C0iljhsN.mjs +0 -2
  154. package/dist/process-identity-Biv3arCO.mjs +0 -40
  155. package/dist/server-expo-DV43vep4.mjs +0 -2
  156. package/dist/toolchain-BIupIro1.mjs +0 -2
  157. package/dist/trigger-SHLOWJ4O.mjs +0 -2
  158. package/dist/web-BLXpOe6b.mjs +0 -2
@@ -1,43 +1,44 @@
1
- import { t as getExecutor } from "./exec-B81Qodjn.mjs";
1
+ import { B as deviceSlotKey, E as upsertProject, p as getProject, u as getConcurrencyLimits, v as recordIosSchemeApprovals, z as deviceSlotFileKey } from "./config-BYDxlMY3.mjs";
2
+ import { t as getExecutor } from "./exec-DqKo9GKJ.mjs";
2
3
  import { t as spawnEntry } from "./spawn-entry-Dcb7sDUz.mjs";
3
- import { E as upsertProject, L as deviceSlotFileKey, R as deviceSlotKey, p as getProject, u as getConcurrencyLimits, v as recordIosSchemeApprovals } from "./config-D0LhTY3S.mjs";
4
- import { Et as repoRoot, Ft as removeTemporaryEntry, Pt as makeTemporaryDirectory, W as resolveCacheProviderConfig, Z as settingOriginScope, at as detectProviders, et as settingsLayers, mt as gitCommonDir, q as resolveSettings } from "./settings-Bbztm4oV.mjs";
5
- import { D as fingerprintProject, N as resolveBuild, P as storeBuild, R as untrackedNativeFiles, _ as waitForBuild, g as releaseBuildLock, m as acquireBuildLock } from "./device-lease-DHOBXGgS.mjs";
6
- import { c as writeWorkspaceState, r as readWorkspaceState, w as workspaceLogsDir } from "./workspace-state-CSIFuuDa.mjs";
7
- import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-BjPN99ZB.mjs";
8
- import { I as workspaceDevServerMode, R as writeWorkspaceLaunch, _ as detectIsExpo, d as projectRegistry, r as findProjectRoot } from "./project-B8_duAzW.mjs";
9
- import { a as workspaceLinks } from "./stim-desktop-8GQX2OV8.mjs";
10
- import { d as signalProcessTree, s as pidExists, u as resolveProjectMetro } from "./metro-D_j9sN-B.mjs";
11
- import { F as acquireBuildSlot, L as releaseBuildSlot } from "./workspaces-D2xSHBDY.mjs";
12
- import { Ft as recordRunStats, Nt as recordCapacityRefusal, jt as readRunEstimates, t as budgetGate } from "./budget-BONq9vXY.mjs";
4
+ import { Dt as repoRoot, Ft as makeTemporaryDirectory, It as removeTemporaryEntry, W as resolveCacheProviderConfig, Z as settingOriginScope, et as settingsLayers, ht as gitCommonDir, ot as detectProviders, q as resolveSettings } from "./settings-B717odTD.mjs";
5
+ import { D as fingerprintProject, N as resolveBuild, P as storeBuild, R as untrackedNativeFiles, _ as waitForBuild, g as releaseBuildLock, m as acquireBuildLock } from "./device-lease-BX1sJQ2E.mjs";
6
+ import { c as writeWorkspaceState, r as readWorkspaceState, w as workspaceLogsDir } from "./workspace-state-DJt_MMvf.mjs";
7
+ import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-BTy8hZ0F.mjs";
8
+ import { I as workspaceDevServerMode, R as writeWorkspaceLaunch, _ as detectIsExpo, d as projectRegistry, r as findProjectRoot } from "./project-_phNIJfs.mjs";
9
+ import { a as workspaceLinks } from "./stim-desktop-BzBN2Em2.mjs";
10
+ import { d as signalProcessTree, s as pidExists, u as resolveProjectMetro } from "./metro-DnCEjCxs.mjs";
11
+ import { F as acquireBuildSlot, L as releaseBuildSlot } from "./workspaces-C36s2jb9.mjs";
12
+ import { Ft as recordRunStats, Nt as recordCapacityRefusal, jt as readRunEstimates, t as budgetGate } from "./budget-f7516Zk0.mjs";
13
+ import { t as cancellableSleep } from "./cancellation-C_22VQTH.mjs";
13
14
  import { r as createNdjsonWriter } from "./ndjson-GOnbyvso.mjs";
14
- import { c as loadProjectProvider, f as resolveEasCliBin, i as checkEasAuth, m as uploadRemote, p as resolveRemote } from "./remote-cache-Bsts6f6Y.mjs";
15
- import { c as startDevServer, g as detectBundleId } from "./start-CdvcTaXr.mjs";
16
- import { d as listAllIosSims, m as listIosRuntimes, r as clearIosAppData } from "./ios-CXLIUxXJ.mjs";
17
- import { c as readMetroRecords, f as verifyLaunch, i as RELEASE_VERIFY_WAIT_MS, l as unattributedLaunchLines, n as LAUNCH_FATAL, o as isBundleProof, p as verifyReleaseLaunch, r as LAUNCH_UNVERIFIED, s as readCollectorRecords, t as LAUNCH_BUNDLING, u as unverifiedLaunchLines } from "./launch-verify-BzRdbuO1.mjs";
18
- import { S as restartedAppNote, _ as installIosApp, a as IOS_DEV_MENU_OFF_DEFAULTS_PLIST, d as devClientUrl, l as clearOtherUserApps, v as iosAppProcess, x as launchIosApp } from "./app-install-0LgaQRT7.mjs";
19
- import { a as sleep, i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-BRmWL7ru.mjs";
20
- import { A as readBundleId, f as podsAreStale, g as runPodInstall, j as resolveScheme, k as readBundleExecutable, p as readPodState } from "./toolchain-DqyDXs30.mjs";
21
- import { r as checkDeviceCapacity } from "./device-capacity-Ca_ke1LE.mjs";
22
- import { n as devClientTakesDevMenuParams, t as devClientScheme } from "./dev-client-ClATaJoH.mjs";
23
- import { a as discoverXcodeProject, r as buildIos } from "./react-native-build-oAw6gQeW.mjs";
24
- import { a as acquireRunLease, c as lostRefusal, d as runLease, s as lostLine, t as DEBUG_VERIFY_STEP_MS, u as releaseLeaseOnSignal } from "./device-lease-run-CvDeHTkG.mjs";
25
- import { n as readHostedIos, o as writeHostedIos } from "./ios-state-CjrL2qv-.mjs";
26
- import { o as checkEasFallback, s as automaticDevicePlacement } from "./build-plan-CP0tckNU.mjs";
27
- import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-B9hn96wd.mjs";
28
- import { D as gateMetroOrigin, E as readRemoteSimulatorArch, a as ensureMetroReachable, l as remoteIosDeps, o as ensureRemoteBootOwned, r as bundleEntryPoint, u as resolveRemoteContext } from "./device-remote-Bmg42063.mjs";
29
- import { a as resolveEasDevelopmentBuild } from "./eas-build-Dw_ec2Km.mjs";
30
- import { n as verifyCollectorOwnership } from "./ownership-DXzMMSx6.mjs";
31
- import { n as ensureBooted, o as warmMetro, r as ensureOwnedDevice } from "./device-DVCwAFlX.mjs";
32
- import { n as clearIosAdoptionPending } from "./device-ios-CRUqPxKw.mjs";
33
- import { t as selectFromPool } from "./device-pool-L2-5GxMy.mjs";
34
- import { a as printNativeCrashReport, n as IOS_CRASH_REPORT_RETRY, o as simulatorConsolePaths, r as captureNativeCrashes, t as errorDiagnostics } from "./error-diagnostics-Du7I_GuY.mjs";
35
- import { r as runPrebuild, t as planPrebuild } from "./prebuild-Bw44QxVh.mjs";
36
- import { i as deviceLabel, o as deviceShortName, t as appNameFromPath } from "./support-DCco5fut.mjs";
37
- import { o as reportIosResult } from "./ios-project-B9drt_aY.mjs";
38
- import { n as prepareHostedIos, t as placeHostedIos } from "./hosted-ios-DIxFnYp-.mjs";
39
- 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-BreZOpM0.mjs";
40
- import { i as swapJsBundle } from "./js-swap-C8icNYIY.mjs";
15
+ import { c as loadProjectProvider, f as resolveEasCliBin, i as checkEasAuth, m as uploadRemote, p as resolveRemote } from "./remote-cache-OyOyVIS3.mjs";
16
+ import { c as startDevServer, g as detectBundleId } from "./start-BWqzODpb.mjs";
17
+ import { d as listAllIosSims, m as listIosRuntimes, r as clearIosAppData } from "./ios-RkW4pnQf.mjs";
18
+ import { c as readMetroRecords, f as verifyLaunch, i as RELEASE_VERIFY_WAIT_MS, l as unattributedLaunchLines, n as LAUNCH_FATAL, o as isBundleProof, p as verifyReleaseLaunch, r as LAUNCH_UNVERIFIED, s as readCollectorRecords, t as LAUNCH_BUNDLING, u as unverifiedLaunchLines } from "./launch-verify-B6Q8hZP-.mjs";
19
+ import { C as restartedAppNote, S as launchIosApp, a as IOS_DEV_MENU_OFF_DEFAULTS_PLIST, f as devClientUrl, u as clearOtherUserApps, v as installIosApp, y as iosAppProcess } from "./app-install-BIKtMfPq.mjs";
20
+ import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-k8dTIrbK.mjs";
21
+ import { A as readBundleId, f as podsAreStale, g as runPodInstall, j as resolveScheme, k as readBundleExecutable, p as readPodState } from "./toolchain-DxSsNssu.mjs";
22
+ import { r as checkDeviceCapacity } from "./device-capacity-CBUAcRyQ.mjs";
23
+ import { n as devClientTakesDevMenuParams, t as devClientScheme } from "./dev-client-DAWVIGBu.mjs";
24
+ import { a as discoverXcodeProject, r as buildIos } from "./react-native-build-CtCccJtb.mjs";
25
+ import { a as acquireRunLease, c as lostRefusal, d as runLease, s as lostLine, t as DEBUG_VERIFY_STEP_MS, u as releaseLeaseOnSignal } from "./device-lease-run-Cw2M4z51.mjs";
26
+ import { n as readHostedIos, o as writeHostedIos } from "./ios-state-CBLe1xYw.mjs";
27
+ import { o as checkEasFallback, s as automaticDevicePlacement } from "./build-plan-B7SZsc2N.mjs";
28
+ import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-DPt0m9Nd.mjs";
29
+ import { D as gateMetroOrigin, E as readRemoteSimulatorArch, a as ensureMetroReachable, l as remoteIosDeps, o as ensureRemoteBootOwned, r as bundleEntryPoint, u as resolveRemoteContext } from "./device-remote-xRT0Vmo9.mjs";
30
+ import { a as resolveEasDevelopmentBuild } from "./eas-build-JyfqyHfC.mjs";
31
+ import { n as verifyCollectorOwnership } from "./ownership-DCtw_2IA.mjs";
32
+ import { n as ensureBooted, o as warmMetro, r as ensureOwnedDevice } from "./device-BECOiufl.mjs";
33
+ import { n as clearIosAdoptionPending } from "./device-ios-COSi6oS1.mjs";
34
+ import { t as selectFromPool } from "./device-pool-Bf-pOhSw.mjs";
35
+ import { a as printNativeCrashReport, n as IOS_CRASH_REPORT_RETRY, o as simulatorConsolePaths, r as captureNativeCrashes, t as errorDiagnostics } from "./error-diagnostics-BR677IDM.mjs";
36
+ import { r as runPrebuild, t as planPrebuild } from "./prebuild-DYbucPXy.mjs";
37
+ import { i as deviceLabel, o as deviceShortName, t as appNameFromPath } from "./support-CwjbFs9H.mjs";
38
+ import { o as reportIosResult } from "./ios-project-K9hY_Jab.mjs";
39
+ import { n as prepareHostedIos, t as placeHostedIos } from "./hosted-ios-l-o3iM9J.mjs";
40
+ 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-D7pi2Sca.mjs";
41
+ import { i as swapJsBundle } from "./js-swap-Bb3nsS07.mjs";
41
42
  import { existsSync, mkdirSync, mkdtempSync, openSync, rmSync, writeFileSync } from "node:fs";
42
43
  import { basename, join } from "node:path";
43
44
  import { loadCacheProvider } from "@stim-cli/cache";
@@ -559,7 +560,7 @@ function copyAppAside(appPath, { exec = null, mkdtemp = () => makeTemporaryDirec
559
560
  "-R",
560
561
  appPath,
561
562
  copy
562
- ]);
563
+ ], { timeoutMs: "unbounded" });
563
564
  } catch {
564
565
  try {
565
566
  removeTemporaryEntry(copy);
@@ -567,7 +568,7 @@ function copyAppAside(appPath, { exec = null, mkdtemp = () => makeTemporaryDirec
567
568
  "-R",
568
569
  appPath,
569
570
  copy
570
- ]);
571
+ ], { timeoutMs: "unbounded" });
571
572
  } catch (error) {
572
573
  removeTemporaryEntry(tmpDir);
573
574
  throw error;
@@ -645,7 +646,7 @@ async function stopPreviousCollector({ root, slot = "default", kill = (pid, sign
645
646
  if (err?.code !== "ESRCH") note(chalk.yellow(`Could not stop the previous ios log collector (pid ${previousPid}): ${err?.message || err}`));
646
647
  }
647
648
  const deadline = Date.now() + waitMs;
648
- while (Date.now() < deadline && alive(previousPid)) await sleep(COLLECTOR_POLL_MS);
649
+ while (Date.now() < deadline && alive(previousPid)) await cancellableSleep(COLLECTOR_POLL_MS);
649
650
  } else if (ownership.status === "unverified") note(chalk.dim(`Previous ios log collector (pid ${previousPid}): ${ownership.reason}, so it was not signalled -- starting a replacement anyway`));
650
651
  }
651
652
  return { killed };
@@ -897,11 +898,11 @@ async function verifyIosMetroRun({ root, slot, appPath, d, launched, phase, note
897
898
  physical
898
899
  }, logsDir);
899
900
  const deviceProcess = () => {
900
- const pid = d.iosDeviceProcess({
901
+ const running = d.iosDeviceProcess({
901
902
  udid,
902
903
  appName: appName ?? bundleId
903
904
  });
904
- return pid === void 0 ? null : pid !== null;
905
+ return running.state === "unknown" ? null : running.state === "running";
905
906
  };
906
907
  const siblings = metroCheck ? siblingPlatformSlots(root, "ios", slot) : [];
907
908
  const verification = metroCheck ? await d.verifyLaunch({
@@ -919,8 +920,8 @@ async function verifyIosMetroRun({ root, slot, appPath, d, launched, phase, note
919
920
  readNativeCrashes,
920
921
  processAlive: remoteDevice ? null : physical ? deviceProcess : () => {
921
922
  if (launched?.pid) return d.pidExists(launched.pid);
922
- const pid = iosAppProcess(udid, bundleId);
923
- return pid === void 0 ? null : pid !== null;
923
+ const running = iosAppProcess(udid, bundleId);
924
+ return running.state === "unknown" ? null : running.state === "running";
924
925
  }
925
926
  }) : {
926
927
  verified: false,
@@ -1,23 +1,23 @@
1
+ import { B as deviceSlotKey, C as saveConfig, D as withConfigLock, E as upsertProject, N as formatBytes, V as deviceSlotPlatforms, _ as loadConfig, w as setDevice, z as deviceSlotFileKey } from "./config-BYDxlMY3.mjs";
1
2
  import { t as spawnEntry } from "./spawn-entry-Dcb7sDUz.mjs";
2
- import { C as saveConfig, D as withConfigLock, E as upsertProject, L as deviceSlotFileKey, R as deviceSlotKey, _ as loadConfig, j as formatBytes, w as setDevice, z as deviceSlotPlatforms } from "./config-D0LhTY3S.mjs";
3
- import { j as providerUploadOutcome } from "./device-lease-DHOBXGgS.mjs";
4
- import { w as workspaceLogsDir } from "./workspace-state-CSIFuuDa.mjs";
5
- import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-BjPN99ZB.mjs";
6
- import { I as workspaceDevServerMode } from "./project-B8_duAzW.mjs";
7
- import { a as workspaceLinks } from "./stim-desktop-8GQX2OV8.mjs";
8
- import { $ as trimAndroidCaches, i as androidDataFreeBytes, q as resetAdoptedAvd, u as androidToolCwd } from "./android-BsYNR81W.mjs";
9
- import { d as signalProcessTree, s as pidExists } from "./metro-D_j9sN-B.mjs";
10
- import { v as teardownOwnedAvd } from "./workspaces-D2xSHBDY.mjs";
11
- import { o as exitAfterFlush } from "./remote-cache-Bsts6f6Y.mjs";
12
- import { a as VERIFY_TIMEOUT_MS, i as RELEASE_VERIFY_WAIT_MS, l as unattributedLaunchLines, n as LAUNCH_FATAL, r as LAUNCH_UNVERIFIED, t as LAUNCH_BUNDLING, u as unverifiedLaunchLines } from "./launch-verify-BzRdbuO1.mjs";
13
- import { S as restartedAppNote, c as androidDevClientUrl, g as installConflictKind, s as androidAppProcess, t as ADB_INSTALL_TIMEOUT_MS } from "./app-install-0LgaQRT7.mjs";
14
- import { i as launchOutcomeRecord } from "./native-runtime-BRmWL7ru.mjs";
15
- import { a as PLATFORM, b as noDeviceDiagnostic, h as displayPath, n as LAUNCH_FAILED, r as NO_DEVICE, t as INSTALL_FAILED } from "./support-CnE_SIjt.mjs";
16
- import { c as lostRefusal, s as lostLine, t as DEBUG_VERIFY_STEP_MS } from "./device-lease-run-CvDeHTkG.mjs";
17
- import { a as reportAndroidResult, i as persistLastBuild, n as finishAndroidUpload } from "./result-BDoRk1k3.mjs";
18
- import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-B9hn96wd.mjs";
19
- import { n as verifyCollectorOwnership, r as readCollectors } from "./ownership-DXzMMSx6.mjs";
20
- import { a as printNativeCrashReport, r as captureNativeCrashes, t as errorDiagnostics } from "./error-diagnostics-Du7I_GuY.mjs";
3
+ import { j as providerUploadOutcome } from "./device-lease-BX1sJQ2E.mjs";
4
+ import { w as workspaceLogsDir } from "./workspace-state-DJt_MMvf.mjs";
5
+ import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-BTy8hZ0F.mjs";
6
+ import { I as workspaceDevServerMode } from "./project-_phNIJfs.mjs";
7
+ import { a as workspaceLinks } from "./stim-desktop-BzBN2Em2.mjs";
8
+ import { $ as trimAndroidCaches, i as androidDataFreeBytes, q as resetAdoptedAvd, u as androidToolCwd } from "./android-Mz_Inn3w.mjs";
9
+ import { d as signalProcessTree, s as pidExists } from "./metro-DnCEjCxs.mjs";
10
+ import { v as teardownOwnedAvd } from "./workspaces-C36s2jb9.mjs";
11
+ import { o as exitAfterFlush } from "./remote-cache-OyOyVIS3.mjs";
12
+ import { a as VERIFY_TIMEOUT_MS, i as RELEASE_VERIFY_WAIT_MS, l as unattributedLaunchLines, n as LAUNCH_FATAL, r as LAUNCH_UNVERIFIED, t as LAUNCH_BUNDLING, u as unverifiedLaunchLines } from "./launch-verify-B6Q8hZP-.mjs";
13
+ import { C as restartedAppNote, _ as installConflictKind, c as androidDevClientUrl, s as androidAppProcess, t as ADB_INSTALL_TIMEOUT_MS } from "./app-install-BIKtMfPq.mjs";
14
+ import { i as launchOutcomeRecord } from "./native-runtime-k8dTIrbK.mjs";
15
+ import { a as PLATFORM, b as noDeviceDiagnostic, h as displayPath, n as LAUNCH_FAILED, r as NO_DEVICE, t as INSTALL_FAILED } from "./support-DMTqj3Hm.mjs";
16
+ import { c as lostRefusal, s as lostLine, t as DEBUG_VERIFY_STEP_MS } from "./device-lease-run-Cw2M4z51.mjs";
17
+ import { a as reportAndroidResult, i as persistLastBuild, n as finishAndroidUpload } from "./result-CaJg5Iat.mjs";
18
+ import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-DPt0m9Nd.mjs";
19
+ import { n as verifyCollectorOwnership, r as readCollectors } from "./ownership-DCtw_2IA.mjs";
20
+ import { a as printNativeCrashReport, r as captureNativeCrashes, t as errorDiagnostics } from "./error-diagnostics-BR677IDM.mjs";
21
21
  import { mkdirSync, openSync, statSync } from "node:fs";
22
22
  import { basename, join } from "node:path";
23
23
  import chalk from "chalk";
@@ -217,8 +217,8 @@ async function verifyAndroidMetroRun({ root, slot, remoteDevice, verifyLaunched,
217
217
  mode: workspaceDevServerMode(root, isExpo),
218
218
  readNativeCrashes,
219
219
  processAlive: () => {
220
- const pid = androidAppProcess(serial, androidPackage);
221
- return pid === void 0 ? null : pid !== null;
220
+ const running = androidAppProcess(serial, androidPackage);
221
+ return running.state === "unknown" ? null : running.state === "running";
222
222
  }
223
223
  }) : {
224
224
  verified: false,
@@ -1,8 +1,8 @@
1
- import { t as getExecutor } from "./exec-B81Qodjn.mjs";
2
- import { s as isAppLaunchError } from "./command-output-BjPN99ZB.mjs";
1
+ import { t as getExecutor } from "./exec-DqKo9GKJ.mjs";
2
+ import { s as isAppLaunchError } from "./command-output-BTy8hZ0F.mjs";
3
3
  import { s as readNdjsonGenerations } from "./ndjson-GOnbyvso.mjs";
4
- import { t as DEV_MENU_LAUNCH_ARGS } from "./ios-device-B1B14xND.mjs";
5
- import { f as deviceShellArg, n as ANDROID_DISABLE_AUTO_LAUNCH_EXTRA, s as androidAppProcess } from "./app-install-0LgaQRT7.mjs";
4
+ import { t as DEV_MENU_LAUNCH_ARGS } from "./ios-device-B5veSDDQ.mjs";
5
+ import { n as ANDROID_DISABLE_AUTO_LAUNCH_EXTRA, p as deviceShellArg, s as androidAppProcess } from "./app-install-BIKtMfPq.mjs";
6
6
  import { join } from "node:path";
7
7
  //#region src/engine/app-readiness.ts
8
8
  const APP_READINESS_TIMEOUT_MS = 3e4;
@@ -39,22 +39,22 @@ async function verifyAndroidReleaseLaunch({ serial, packageName, waitMs = RELEAS
39
39
  const e = exec || getExecutor();
40
40
  const startedAt = now();
41
41
  await sleep(Math.max(0, waitMs));
42
- const pid = androidAppProcess(serial, packageName, { exec: e });
42
+ const running = androidAppProcess(serial, packageName, { exec: e });
43
43
  const waitedMs = now() - startedAt;
44
- if (pid === void 0) return {
44
+ if (running.state === "unknown") return {
45
45
  verified: false,
46
46
  reason: "probe-failed",
47
47
  waitedMs
48
48
  };
49
- return pid === null ? {
49
+ return running.state === "running" ? {
50
+ verified: true,
51
+ waitedMs,
52
+ pid: running.pid
53
+ } : {
50
54
  verified: false,
51
55
  reason: "exited",
52
56
  waitedMs,
53
57
  pid: null
54
- } : {
55
- verified: true,
56
- waitedMs,
57
- pid
58
58
  };
59
59
  }
60
60
  function isProcessAlive(pid) {
@@ -1,15 +1,14 @@
1
- import { t as process_identity_exports } from "./process-identity-Biv3arCO.mjs";
2
- import { H as projectDeviceSlots, V as parseDeviceSlotOption, _ as loadConfig$1, g as isPathPrefix } from "./config-D0LhTY3S.mjs";
3
- import { r as readWorkspaceState$1, w as workspaceLogsDir$1 } from "./workspace-state-CSIFuuDa.mjs";
4
- import { f as refuseNoProject, l as phaseLine, v as launchErrorPreview } from "./command-output-BjPN99ZB.mjs";
5
- import { n as findCommandWorkspace } from "./project-B8_duAzW.mjs";
1
+ import { U as parseDeviceSlotOption, W as projectDeviceSlots, _ as loadConfig$1, g as isPathPrefix, k as process_identity_exports } from "./config-BYDxlMY3.mjs";
2
+ import { r as readWorkspaceState$1, w as workspaceLogsDir$1 } from "./workspace-state-DJt_MMvf.mjs";
3
+ import { f as refuseNoProject, l as phaseLine, v as launchErrorPreview } from "./command-output-BTy8hZ0F.mjs";
4
+ import { n as findCommandWorkspace } from "./project-_phNIJfs.mjs";
6
5
  import { n as SOURCES, t as LEVELS } from "./ndjson-GOnbyvso.mjs";
7
- import { n as agentDeviceLiveness, u as readAgentDeviceRecords } from "./activity-BrGh9EAI.mjs";
8
- import { s as connectHost } from "./hosted-client-Io01s5By.mjs";
9
- import { n as pullHostedNativeLogs, t as pullHostedMacosLogs } from "./hosted-logs-DP-ABU_M.mjs";
10
- import { n as readHostedIos, t as readHostedAndroid } from "./ios-state-CjrL2qv-.mjs";
11
- import { i as captureWorkspaceCrashes, t as errorDiagnostics } from "./error-diagnostics-Du7I_GuY.mjs";
12
- import "./hosted-macos-Aziw9T_9.mjs";
6
+ import { n as agentDeviceLiveness, u as readAgentDeviceRecords } from "./activity-BSV745Kz.mjs";
7
+ import { c as connectHost } from "./hosted-client-ZEKpS9vw.mjs";
8
+ import { n as pullHostedNativeLogs, t as pullHostedMacosLogs } from "./hosted-logs-EzQM7-3Z.mjs";
9
+ import { n as readHostedIos, t as readHostedAndroid } from "./ios-state-CBLe1xYw.mjs";
10
+ import { i as captureWorkspaceCrashes, t as errorDiagnostics } from "./error-diagnostics-BR677IDM.mjs";
11
+ import "./hosted-macos-BACVAVqE.mjs";
13
12
  import { t as watchStdoutReader } from "./stdout-reader-C8yjre1x.mjs";
14
13
  import { realpathSync } from "node:fs";
15
14
  import { dirname, join, relative, resolve, sep } from "node:path";
@@ -1,25 +1,24 @@
1
- import { t as process_identity_exports } from "./process-identity-Biv3arCO.mjs";
2
- import { t as getExecutor } from "./exec-B81Qodjn.mjs";
1
+ import { E as upsertProject, k as process_identity_exports, u as getConcurrencyLimits } from "./config-BYDxlMY3.mjs";
2
+ import { t as getExecutor } from "./exec-DqKo9GKJ.mjs";
3
3
  import { t as spawnEntry } from "./spawn-entry-Dcb7sDUz.mjs";
4
- import { E as upsertProject, u as getConcurrencyLimits } from "./config-D0LhTY3S.mjs";
5
- import { K as resolveProjectSettings, Q as settingShapeErrors, a as SETTING_SHAPE_REMEDY } from "./settings-Bbztm4oV.mjs";
6
- import { c as writeWorkspaceState, i as recordWorkspaceUse, p as ensureWorkspaceStorage, w as workspaceLogsDir$1, x as workspaceDir, y as workspaceAgentDeviceDir } from "./workspace-state-CSIFuuDa.mjs";
7
- import { l as phaseLine } from "./command-output-BjPN99ZB.mjs";
8
- import { d as projectRegistry, o as ownedDeviceLabel, r as findProjectRoot } from "./project-B8_duAzW.mjs";
9
- import { a as spawnDeclared } from "./spawn-claims-Kqiifsk2.mjs";
10
- import { F as acquireBuildSlot, L as releaseBuildSlot } from "./workspaces-D2xSHBDY.mjs";
11
- import { Dt as recordFinishedBuild, Et as recordBuildPhase, Ot as startBuildProgress, kt as tapBuildLog, yt as NO_BUILD_PROGRESS } from "./budget-BONq9vXY.mjs";
12
- import { a as withWorkspaceProcessLock } from "./named-ports-C2lvoPsb.mjs";
13
- import { S as withNativeBuildRun } from "./tailnet-CoJUb2tB.mjs";
4
+ import { K as resolveProjectSettings, Q as settingShapeErrors, a as SETTING_SHAPE_REMEDY } from "./settings-B717odTD.mjs";
5
+ import { c as writeWorkspaceState, i as recordWorkspaceUse, p as ensureWorkspaceStorage, w as workspaceLogsDir$1, x as workspaceDir, y as workspaceAgentDeviceDir } from "./workspace-state-DJt_MMvf.mjs";
6
+ import { l as phaseLine } from "./command-output-BTy8hZ0F.mjs";
7
+ import { d as projectRegistry, o as ownedDeviceLabel, r as findProjectRoot } from "./project-_phNIJfs.mjs";
8
+ import { a as spawnDeclared } from "./spawn-claims-DVS5RkMS.mjs";
9
+ import { F as acquireBuildSlot, L as releaseBuildSlot } from "./workspaces-C36s2jb9.mjs";
10
+ import { Dt as recordFinishedBuild, Et as recordBuildPhase, Ot as startBuildProgress, kt as tapBuildLog, yt as NO_BUILD_PROGRESS } from "./budget-f7516Zk0.mjs";
11
+ import { a as withWorkspaceProcessLock } from "./named-ports-4WopRPg-.mjs";
12
+ import { S as withNativeBuildRun } from "./tailnet-Dh-qiYzG.mjs";
14
13
  import { r as createNdjsonWriter } from "./ndjson-GOnbyvso.mjs";
15
- import { _ as requireLocalBuild, c as offloadPlacement, f as setRemoteLogSink, g as parseBuildMachineOption, h as namedBuildMachine, i as closeOffload, l as placementLoad, n as buildPlacementCandidates, o as offloadBuild, p as OffloadRefusal, r as chooseBuildMachine, u as remotePhaseText, y as resolveBuildPlacement } from "./client-BLy1Pw2V.mjs";
16
- import { D as sanitizeDeviceLabel } from "./ios-CXLIUxXJ.mjs";
17
- import { i as macosProcess, n as macosDir, o as requiredMacosRecord, r as macosLogFile } from "./state-Boo0IMJq.mjs";
18
- import { t as buildPlacementRecord } from "./placement-log-reFbjqEr.mjs";
19
- import { s as connectHost } from "./hosted-client-Io01s5By.mjs";
20
- import { t as placeHostedMacos } from "./hosted-macos-Aziw9T_9.mjs";
21
- import { i as validateInfoPlist, t as resolveBundleExtras } from "./stage-BNKKdDNc.mjs";
22
- import { r as stopMacosAppHeld, t as stopBundleInstances } from "./stop-WQPQHLuy.mjs";
14
+ import { _ as requireLocalBuild, c as offloadPlacement, f as setRemoteLogSink, g as parseBuildMachineOption, h as namedBuildMachine, i as closeOffload, l as placementLoad, n as buildPlacementCandidates, o as offloadBuild, p as OffloadRefusal, r as chooseBuildMachine, u as remotePhaseText, y as resolveBuildPlacement } from "./client-qQAaXSUs.mjs";
15
+ import { D as sanitizeDeviceLabel } from "./ios-RkW4pnQf.mjs";
16
+ import { i as macosProcess, n as macosDir, o as requiredMacosRecord, r as macosLogFile } from "./state-CG_OFoaA.mjs";
17
+ import { t as buildPlacementRecord } from "./placement-log-MOfPVgaM.mjs";
18
+ import { c as connectHost } from "./hosted-client-ZEKpS9vw.mjs";
19
+ import { t as placeHostedMacos } from "./hosted-macos-BACVAVqE.mjs";
20
+ import { i as validateInfoPlist, t as resolveBundleExtras } from "./stage-KNTQopqv.mjs";
21
+ import { r as stopMacosAppHeld, t as stopBundleInstances } from "./stop-DPEhunlw.mjs";
23
22
  import { closeSync, existsSync, mkdirSync, mkdtempSync, openSync, realpathSync, renameSync, rmSync } from "node:fs";
24
23
  import { join } from "node:path";
25
24
  import { machineCapacity, readMacosRecord, validHostedAppArguments } from "@stim-cli/core/state";
@@ -336,7 +335,7 @@ async function runMacos(root, note = console.error, remote, buildMachineFlag) {
336
335
  }
337
336
  };
338
337
  if (!remote) {
339
- const here = await launchHere(root, record);
338
+ const here = await launchHere(root, record, note);
340
339
  launched();
341
340
  return here;
342
341
  }
@@ -473,7 +472,21 @@ function recordMacosBuild(root, build, compileSteps) {
473
472
  ...compileSteps === null ? {} : { compileSteps }
474
473
  });
475
474
  }
476
- async function launchHere(root, record) {
475
+ const LAUNCH_SERVICES_CALL_MS = 2e3;
476
+ async function waitForLaunchServices(record, deadline) {
477
+ if (record.host || !record.app) return "skipped";
478
+ const args = [
479
+ "find",
480
+ `bundleid=${record.bundleId}`,
481
+ `pid=${record.app.pid}`
482
+ ];
483
+ while (Date.now() < deadline) {
484
+ if ((await getExecutor().runFileAsync("lsappinfo", args, { timeoutMs: LAUNCH_SERVICES_CALL_MS }).catch(() => "")).includes("ASN:")) return "listed";
485
+ await new Promise((done) => setTimeout(done, 100));
486
+ }
487
+ return "timeout";
488
+ }
489
+ async function launchHere(root, record, note) {
477
490
  await stopBundleInstances(root);
478
491
  const fd = openSync(join(workspaceLogsDir$1(root), "macos-supervisor.log"), "a");
479
492
  let child;
@@ -502,7 +515,10 @@ async function launchHere(root, record) {
502
515
  const deadline = Date.now() + 2e4;
503
516
  while (Date.now() < deadline) {
504
517
  const current = readMacosRecord(root);
505
- if (current?.launchId === record.launchId && current.app && current.supervisor && (0, process_identity_exports.inspectProcessIdentity)(current.app) === "same" && (0, process_identity_exports.inspectProcessIdentity)(current.supervisor) === "same") return current;
518
+ if (current?.launchId === record.launchId && current.app && current.supervisor && (0, process_identity_exports.inspectProcessIdentity)(current.app) === "same" && (0, process_identity_exports.inspectProcessIdentity)(current.supervisor) === "same") {
519
+ if (await waitForLaunchServices(current, deadline) === "timeout") note("macOS LaunchServices does not list the app yet. agent-device open may start a second copy; wait and check lsappinfo.");
520
+ return current;
521
+ }
506
522
  if (child.exitCode !== null || child.signalCode !== null) break;
507
523
  await new Promise((done) => setTimeout(done, 100));
508
524
  }
@@ -565,4 +581,4 @@ function macosCommand(program) {
565
581
  });
566
582
  }
567
583
  //#endregion
568
- export { runMacos as n, buildMacosBundle as r, macosCommand as t };
584
+ export { buildMacosBundle as i, runMacos as n, waitForLaunchServices as r, macosCommand as t };
@@ -0,0 +1,2 @@
1
+ import { n as runMacos, r as waitForLaunchServices, t as macosCommand } from "./macos-Ch5VJmcS.mjs";
2
+ export { macosCommand as default, runMacos, waitForLaunchServices };
@@ -1,2 +1,2 @@
1
- import { n as runMacosSupervisor, t as logLines } from "./run-qvff78hv.mjs";
1
+ import { n as runMacosSupervisor, t as logLines } from "./run-BtPgpKks.mjs";
2
2
  export { logLines, runMacosSupervisor };
@@ -1,13 +1,13 @@
1
- import { M as isOnMountedVolume, N as listMountedVolumes, _ as loadConfig$1, j as formatBytes } from "./config-D0LhTY3S.mjs";
2
- import { a as unregister, n as readManifest } from "./cache-manifest-qA3dT2x2.mjs";
3
- import { T as canonicalPath, a as collectWorkspaceOutputs, i as collectOrphanedWorkspaces, o as deleteOrphanedWorkspaces, r as clearWorkspaceOutputs, w as takeGcResults } from "./workspaces-D2xSHBDY.mjs";
4
- import { N as emptyCaches, at as discoverCaches, l as resolveBudget, ot as pruneCache, r as cacheLabel, z as planCacheEmptying } from "./budget-BONq9vXY.mjs";
1
+ import { F as listMountedVolumes, N as formatBytes, P as isOnMountedVolume, _ as loadConfig$1 } from "./config-BYDxlMY3.mjs";
2
+ import { a as unregister, n as readManifest } from "./cache-manifest-XH-fvDUj.mjs";
3
+ import { T as canonicalPath, a as collectWorkspaceOutputs, i as collectOrphanedWorkspaces, o as deleteOrphanedWorkspaces, r as clearWorkspaceOutputs, w as takeGcResults } from "./workspaces-C36s2jb9.mjs";
4
+ import { N as emptyCaches, at as discoverCaches, l as resolveBudget, ot as pruneCache, r as cacheLabel, z as planCacheEmptying } from "./budget-f7516Zk0.mjs";
5
5
  import { r as createNdjsonWriter } from "./ndjson-GOnbyvso.mjs";
6
- import { t as relaunchWithLogFile } from "./detached-entry-BXq4fIl-.mjs";
7
- import { F as memoryCulpritAdvice, N as memoryCulpritsUnder } from "./ios-CXLIUxXJ.mjs";
6
+ import { t as relaunchWithLogFile } from "./detached-entry-B9C_zeQC.mjs";
7
+ import { F as memoryCulpritAdvice, N as memoryCulpritsUnder } from "./ios-RkW4pnQf.mjs";
8
8
  import { t as resolveMaintenanceSettings } from "./settings-Djl-mpjX.mjs";
9
9
  import { r as due, t as capChildLog } from "./attempt-DW-mQqM7.mjs";
10
- import { a as maintenancePinned, c as removeWorktrees, d as cacheBlocked, f as measureDisk, h as sizeScanDeferred, i as cacheEntryProtection, m as measureSizes, o as recentUse, p as measurePressure, r as triggeringRoot, t as plannedMaintenance } from "./preview-BaBJ72Al.mjs";
10
+ import { a as maintenancePinned, c as removeWorktrees, d as cacheBlocked, f as measureDisk, h as sizeScanDeferred, i as cacheEntryProtection, m as measureSizes, o as recentUse, p as measurePressure, r as triggeringRoot, t as plannedMaintenance } from "./preview-78a9kR_-.mjs";
11
11
  import { appendFileSync, existsSync, mkdirSync, renameSync, statSync, unlinkSync, writeFileSync } from "node:fs";
12
12
  import { basename, join, resolve, sep } from "node:path";
13
13
  import { MAINTENANCE_LOG_NAME, maintenanceChildLogFile, maintenanceDir, maintenanceNdjsonFile, maintenanceRunClaims, maintenanceStateFile, readMaintenanceState, sharedCompilationCache, workspaceLogsDir } from "@stim-cli/core/state";
@@ -1,7 +1,6 @@
1
- import { t as process_identity_exports } from "./process-identity-Biv3arCO.mjs";
2
- import { t as getExecutor } from "./exec-B81Qodjn.mjs";
3
- import { M as isOnMountedVolume, N as listMountedVolumes, _ as loadConfig, n as allMetroPorts, r as claimMetroPort, x as releaseMetroPort } from "./config-D0LhTY3S.mjs";
4
- import { r as readWorkspaceState } from "./workspace-state-CSIFuuDa.mjs";
1
+ import { F as listMountedVolumes, P as isOnMountedVolume, _ as loadConfig, k as process_identity_exports, n as allMetroPorts, r as claimMetroPort, x as releaseMetroPort } from "./config-BYDxlMY3.mjs";
2
+ import { t as getExecutor } from "./exec-DqKo9GKJ.mjs";
3
+ import { r as readWorkspaceState } from "./workspace-state-DJt_MMvf.mjs";
5
4
  import { sep } from "path";
6
5
  import { existsSync, readlinkSync, realpathSync } from "fs";
7
6
  import { readFile } from "node:fs/promises";
@@ -302,9 +301,9 @@ function listeningPids(port, platform = process.platform) {
302
301
  `-iTCP:${port}`,
303
302
  "-sTCP:LISTEN",
304
303
  "-t"
305
- ]));
304
+ ], { timeoutMs: 1e4 }));
306
305
  if (pids.length > 0 || platform !== "win32") return pids;
307
- return parseNetstatPids(getExecutor().runQuiet("netstat -ano"), port);
306
+ return parseNetstatPids(getExecutor().runQuiet("netstat -ano", { timeoutMs: 1e4 }), port);
308
307
  }
309
308
  function parseLsofCwd(out) {
310
309
  if (!out) return null;
@@ -315,7 +314,7 @@ function parseLsofCwd(out) {
315
314
  return nLine ? nLine.slice(1) : null;
316
315
  }
317
316
  function lsofOutput(args) {
318
- return getExecutor().runFileAsync("lsof", args).catch((error) => typeof error?.stdout === "string" ? error.stdout : null);
317
+ return getExecutor().runFileAsync("lsof", args, { timeoutMs: 1e4 }).catch((error) => typeof error?.stdout === "string" ? error.stdout : null);
319
318
  }
320
319
  /**
321
320
  * `listeningPids` for several ports with one lsof call. A port lsof could not be asked about is
@@ -383,7 +382,7 @@ function processCwd(pid) {
383
382
  "-d",
384
383
  "cwd",
385
384
  "-Fn"
386
- ]));
385
+ ], { timeoutMs: 1e4 }));
387
386
  }
388
387
  function canonicalPath(path) {
389
388
  try {
@@ -458,7 +457,7 @@ function signalProcessTree(pid, signal = "SIGTERM", { group = false, platform =
458
457
  String(pid),
459
458
  "/T",
460
459
  "/F"
461
- ]) !== null;
460
+ ], { timeoutMs: 3e4 }) !== null;
462
461
  }
463
462
  function killMetroTree(leader, processToken) {
464
463
  if (!leader || leader === process.pid || (0, process_identity_exports.inspectProcessIdentity)({
@@ -1,6 +1,6 @@
1
- import { t as process_identity_exports } from "./process-identity-Biv3arCO.mjs";
2
- import { a as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-CSIFuuDa.mjs";
3
- import { l as realIo } from "./tailnet-CoJUb2tB.mjs";
1
+ import { k as process_identity_exports } from "./config-BYDxlMY3.mjs";
2
+ import { a as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-DJt_MMvf.mjs";
3
+ import { l as realIo } from "./tailnet-Dh-qiYzG.mjs";
4
4
  import { HOSTED_METRO_REQUESTS_KEY, findPeer, hostedMetroGateways, hostedMetroRequests, isJsonObject, parseMachine } from "@stim-cli/core/state";
5
5
  import { randomBytes, randomUUID } from "node:crypto";
6
6
  import { isIP } from "node:net";
@@ -1,6 +1,6 @@
1
- import { ht as gitCommonDirOnDisk } from "./settings-Bbztm4oV.mjs";
2
- import { C as diffFingerprintSources, I as storedSources } from "./device-lease-DHOBXGgS.mjs";
3
- import { m as sharedBuildCache } from "./workspace-state-CSIFuuDa.mjs";
1
+ import { gt as gitCommonDirOnDisk } from "./settings-B717odTD.mjs";
2
+ import { C as diffFingerprintSources, I as storedSources } from "./device-lease-BX1sJQ2E.mjs";
3
+ import { m as sharedBuildCache } from "./workspace-state-DJt_MMvf.mjs";
4
4
  import { existsSync, realpathSync } from "node:fs";
5
5
  import { dirname, join, relative } from "node:path";
6
6
  import { LAST_BUILD_KEYS, loadConfig, readWorkspaceState } from "@stim-cli/core/state";
@@ -1,8 +1,7 @@
1
- import { n as ownership_claim_exports, t as process_identity_exports } from "./process-identity-Biv3arCO.mjs";
2
- import { t as getExecutor } from "./exec-B81Qodjn.mjs";
3
- import { C as saveConfig, D as withConfigLock, _ as loadConfig, c as ensureConfig, d as getConfigDir, p as getProject } from "./config-D0LhTY3S.mjs";
4
- import { d as signalProcessTree, f as createPortProbe, o as parseNetstatPids } from "./metro-D_j9sN-B.mjs";
5
- import { n as declareSpawnsOn, o as stopDeclaringSpawnsOn } from "./spawn-claims-Kqiifsk2.mjs";
1
+ import { C as saveConfig, D as withConfigLock, _ as loadConfig, c as ensureConfig, d as getConfigDir, j as ownership_claim_exports, k as process_identity_exports, p as getProject } from "./config-BYDxlMY3.mjs";
2
+ import { t as getExecutor } from "./exec-DqKo9GKJ.mjs";
3
+ import { d as signalProcessTree, f as createPortProbe, o as parseNetstatPids } from "./metro-DnCEjCxs.mjs";
4
+ import { n as declareSpawnsOn, o as stopDeclaringSpawnsOn } from "./spawn-claims-DVS5RkMS.mjs";
6
5
  import { realpathSync } from "node:fs";
7
6
  import { join } from "node:path";
8
7
  import { setTimeout } from "node:timers/promises";
@@ -1,13 +1,13 @@
1
- import { t as getExecutor } from "./exec-B81Qodjn.mjs";
2
- import { $ as settingValueAt } from "./settings-Bbztm4oV.mjs";
3
- import { x as workspaceDir } from "./workspace-state-CSIFuuDa.mjs";
4
- import { T as findBuildTool, o as androidHome } from "./android-BsYNR81W.mjs";
5
- import { i as skippedMissReason } from "./miss-reason-BPAzZS0r.mjs";
6
- import { o as resolveCcache } from "./ccache-CjHQ5F8g.mjs";
7
- import { a as buildGradle, r as androidSdkRefusal } from "./gradle-C2OEKCCI.mjs";
8
- import { n as androidToolchain } from "./toolchain-DqyDXs30.mjs";
9
- import { i as nativeGradleTransfer, t as gradleOffloadInputs } from "./native-gradle-inputs-BQnIdAlL.mjs";
10
- import { n as androidProcessRuntime } from "./launch-DxH0THLP.mjs";
1
+ import { t as getExecutor } from "./exec-DqKo9GKJ.mjs";
2
+ import { $ as settingValueAt } from "./settings-B717odTD.mjs";
3
+ import { x as workspaceDir } from "./workspace-state-DJt_MMvf.mjs";
4
+ import { T as findBuildTool, o as androidHome } from "./android-Mz_Inn3w.mjs";
5
+ import { i as skippedMissReason } from "./miss-reason-mKzZ4VvN.mjs";
6
+ import { o as resolveCcache } from "./ccache-zdKiYQ3E.mjs";
7
+ import { a as buildGradle, r as androidSdkRefusal } from "./gradle-DSrXb6lG.mjs";
8
+ import { n as androidToolchain } from "./toolchain-DxSsNssu.mjs";
9
+ import { i as nativeGradleTransfer, t as gradleOffloadInputs } from "./native-gradle-inputs-BsLRrl7u.mjs";
10
+ import { n as androidProcessRuntime } from "./launch-F4sOqAhB.mjs";
11
11
  import { existsSync, readFileSync, statSync } from "node:fs";
12
12
  import { isAbsolute, join } from "node:path";
13
13
  import { fileURLToPath } from "node:url";
@@ -1,4 +1,4 @@
1
- import { t as getExecutor } from "./exec-B81Qodjn.mjs";
1
+ import { t as git } from "./git-DDfFzkMm.mjs";
2
2
  import { existsSync, lstatSync, readFileSync, readdirSync, readlinkSync, realpathSync } from "node:fs";
3
3
  import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
4
4
  import { createHash } from "node:crypto";
@@ -172,9 +172,7 @@ function sourceManifest(repoRoot, strict = false) {
172
172
  return files;
173
173
  }
174
174
  function gitVisiblePaths(repoRoot) {
175
- const listed = getExecutor().runFile("git", [
176
- "-C",
177
- repoRoot,
175
+ const listed = git(repoRoot, [
178
176
  "ls-files",
179
177
  "-z",
180
178
  "-co",
@@ -222,12 +220,7 @@ function requireRealParents(repository, path) {
222
220
  }
223
221
  function nativeGradleTransfer(root, value) {
224
222
  const declaration = gradleOffloadInputs(value);
225
- const repository = realpathSync(getExecutor().runFile("git", [
226
- "-C",
227
- root,
228
- "rev-parse",
229
- "--show-toplevel"
230
- ]));
223
+ const repository = realpathSync(git(root, ["rev-parse", "--show-toplevel"]));
231
224
  const project = relative(repository, realpathSync(root)).split(sep).join("/");
232
225
  if (project && !containedPath(project)) throw new Error("The native Gradle project leaves its repository.");
233
226
  if (lstatSync(join(repository, project, "buildSrc"), { throwIfNoEntry: false })?.isDirectory()) throw new Error("Native Gradle offload does not support buildSrc: AGP does not report its build directories, so the worker cannot keep them.");
@@ -1,13 +1,12 @@
1
- import { j as metroPortSetting } from "./settings-Bbztm4oV.mjs";
2
- import { p as ensureWorkspaceStorage, r as readWorkspaceState$1 } from "./workspace-state-CSIFuuDa.mjs";
3
- import { l as phaseLine } from "./command-output-BjPN99ZB.mjs";
4
- import { u as resolveProjectMetro } from "./metro-D_j9sN-B.mjs";
5
- import { c as startDevServer } from "./start-CdvcTaXr.mjs";
6
- import { r as LAUNCH_UNVERIFIED, t as LAUNCH_BUNDLING } from "./launch-verify-BzRdbuO1.mjs";
1
+ import { j as metroPortSetting } from "./settings-B717odTD.mjs";
2
+ import { p as ensureWorkspaceStorage, r as readWorkspaceState$1 } from "./workspace-state-DJt_MMvf.mjs";
3
+ import { l as phaseLine } from "./command-output-BTy8hZ0F.mjs";
4
+ import { u as resolveProjectMetro } from "./metro-DnCEjCxs.mjs";
5
+ import { c as startDevServer } from "./start-BWqzODpb.mjs";
6
+ import { r as LAUNCH_UNVERIFIED, t as LAUNCH_BUNDLING } from "./launch-verify-B6Q8hZP-.mjs";
7
7
  import { readIdleStop } from "@stim-cli/core/state";
8
8
  import chalk from "chalk";
9
9
  //#region src/commands/native-runtime.ts
10
- const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
11
10
  async function ensureDevServer({ root, port, settings, settingsContext, remote, note, resolve = resolveProjectMetro, start = startDevServer, readState = readWorkspaceState$1 }) {
12
11
  const pin = metroPortSetting(settings);
13
12
  const canReuse = !pin.error && (pin.port === null || pin.port === port);
@@ -77,4 +76,4 @@ function isPhysicalDeviceRequest(flag) {
77
76
  return flag !== null && flag !== void 0 && flag !== false;
78
77
  }
79
78
  //#endregion
80
- export { sleep as a, launchOutcomeRecord as i, ensureWorkspaceStorageSafely as n, isPhysicalDeviceRequest as r, ensureDevServer as t };
79
+ export { launchOutcomeRecord as i, ensureWorkspaceStorageSafely as n, isPhysicalDeviceRequest as r, ensureDevServer as t };