stim 1.24.0 → 1.26.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 (162) hide show
  1. package/README.md +1 -1
  2. package/dist/{acquire-artifact-CEs02U2o.mjs → acquire-artifact-DVsvSwf7.mjs} +1 -1
  3. package/dist/{act-Cyvm8xYc.mjs → act-C-BqJEpu.mjs} +158 -36
  4. package/dist/{activity-Dq3ZcdD8.mjs → activity-Lnb_EoRY.mjs} +4 -5
  5. package/dist/{agent-device-usage-output-CccomeE0.mjs → agent-device-usage-output-DbXy5tg8.mjs} +4 -4
  6. package/dist/{android-CX5IcRuf.mjs → android-B5P81yI-.mjs} +1 -1
  7. package/dist/{android-DcztblCT.mjs → android-CSbLRD53.mjs} +5 -5
  8. package/dist/{android-BZppyPe_.mjs → android-CiNQw3kq.mjs} +81 -52
  9. package/dist/{android-882m4hxX.mjs → android-DTAcRwBC.mjs} +81 -34
  10. package/dist/{android-cas-BtCOrNqb.mjs → android-cas-BTVhZ0Qs.mjs} +4 -4
  11. package/dist/{android-project-DVWyCbWU.d.mts → android-project-DUGMbq28.d.mts} +61 -3
  12. package/dist/api.d.mts +8 -5
  13. package/dist/api.mjs +27 -27
  14. package/dist/apk-signed-tail-B46U9hXc.mjs +142 -0
  15. package/dist/{artifact-BR5VNArK.mjs → artifact-BxREhAaV.mjs} +25 -19
  16. package/dist/{artifact-Bdt_n9Jc.mjs → artifact-CsAP6AGK.mjs} +36 -21
  17. package/dist/{attempt-DW-mQqM7.mjs → attempt-ClyJlZPT.mjs} +4 -2
  18. package/dist/{browser-web-ycg9qWB8.mjs → browser-web-rYPyqhTf.mjs} +11 -12
  19. package/dist/{budget-dPGuhNai.mjs → budget-k2mZGvvk.mjs} +242 -38
  20. package/dist/{build-CaF574eS.mjs → build-DPhApsjV.mjs} +28 -24
  21. package/dist/{build-cache-HFUQ9eLz.mjs → build-cache-DrXNCy3T.mjs} +123 -23
  22. package/dist/{build-plan-JsDUq4w1.mjs → build-plan-DrMMdayj.mjs} +5 -5
  23. package/dist/{cache-manifest-BPXRONJz.mjs → cache-manifest-BEZ9Bpl1.mjs} +1 -1
  24. package/dist/cache-manifest.mjs +1 -1
  25. package/dist/{ccache-CCn1S6qG.mjs → ccache-Bx5TbxwG.mjs} +6 -6
  26. package/dist/{cli-xqAidP7O.mjs → cli-BBKFGOFl.mjs} +19 -19
  27. package/dist/cli.mjs +1 -1
  28. package/dist/{client-18-ZowoT.mjs → client-D9CaRks-.mjs} +55 -71
  29. package/dist/collector-run.mjs +4 -4
  30. package/dist/{command-output-DxC0k2rk.mjs → command-output-BF5AR2dL.mjs} +1 -1
  31. package/dist/{config-BZhXY15H.mjs → config-BktkY_zC.mjs} +321 -15
  32. package/dist/{launch-BVlyQw3T.mjs → dependencies-Dw6wfQdv.mjs} +259 -256
  33. package/dist/{dependency-state-C56ll9hY.mjs → dependency-state-DFB41vfr.mjs} +1 -1
  34. package/dist/{dev-client-w_fok0Ek.mjs → dev-client-DXR_tPVY.mjs} +2 -2
  35. package/dist/{device-BktRGdjS.mjs → device-BK-zwyd_.mjs} +64 -33
  36. package/dist/{device-4RUugw5X.mjs → device-BcYeHSFu.mjs} +14 -14
  37. package/dist/{device-capacity-Ic-kdmEV.mjs → device-capacity-DCSvUF0l.mjs} +10 -17
  38. package/dist/device-host-worker.mjs +11 -13
  39. package/dist/{device-ios-DzpSlZyd.mjs → device-ios-BLGfXQeK.mjs} +68 -25
  40. package/dist/{device-lease-run-DUtkbqBQ.mjs → device-lease-run-BmvIl7bI.mjs} +5 -5
  41. package/dist/{device-pool-CgBHk401.mjs → device-pool-Dluix4H3.mjs} +3 -3
  42. package/dist/{doctor-DZgpqR6J.mjs → doctor-Bhg1ii70.mjs} +14 -14
  43. package/dist/{doctor-BZ6oxNum.mjs → doctor-Cp-BhzTS.mjs} +1 -1
  44. package/dist/{doctor-C33AzVfR.mjs → doctor-OnwP94ne.mjs} +81 -26
  45. package/dist/{doctor-fingerprint-zlujA1Gs.mjs → doctor-fingerprint-D3a04Mhu.mjs} +8 -2
  46. package/dist/doctor-fingerprint.mjs +1 -1
  47. package/dist/{doctor-watchman-B453A231.mjs → doctor-watchman-BStK05nt.mjs} +4 -4
  48. package/dist/{eas-build-CxKUNHsb.mjs → eas-build-Dsj93iM9.mjs} +2 -2
  49. package/dist/{eas-fallback-LMxk9Kw0.mjs → eas-fallback-FwkeqqGi.mjs} +13 -12
  50. package/dist/{eas-session-ledger-Ck6YXPAO.mjs → eas-session-ledger-B5vygTiD.mjs} +5 -5
  51. package/dist/{error-diagnostics-BkKCZq4P.mjs → error-diagnostics-BOOm9Db7.mjs} +8 -8
  52. package/dist/{errors-ccaPc4ox.mjs → errors-DHm_U5gv.mjs} +2 -1
  53. package/dist/{gc-DDWEAj0w.mjs → gc-C_79zvz4.mjs} +2 -2
  54. package/dist/{gc-yVKpAOKM.mjs → gc-ldgr-hXU.mjs} +74 -43
  55. package/dist/{guide-Bggftwc5.mjs → guide-D7K0X6KG.mjs} +374 -78
  56. package/dist/{hosted-android-D4dweBof.mjs → hosted-android-Bk54ej6n.mjs} +3 -3
  57. package/dist/{hosted-client-BBTVe3X6.mjs → hosted-client-fHO8yqzc.mjs} +5 -5
  58. package/dist/{hosted-ios-Sn0djzg8.mjs → hosted-ios-D55QhYaD.mjs} +1 -1
  59. package/dist/{hosted-logs-CYIZ5ubJ.mjs → hosted-logs-BfbmDM4M.mjs} +17 -11
  60. package/dist/hosted-logs-sync-B0pvmOk-.mjs +195 -0
  61. package/dist/{hosted-macos-CXjsUNBR.mjs → hosted-macos-CPl0OZ9h.mjs} +5 -5
  62. package/dist/{hosted-native-Doxbfzem.mjs → hosted-native-CpDB3-PO.mjs} +6 -7
  63. package/dist/{idle-shutdown-BInjLKqm.mjs → idle-shutdown-FfxL1KdG.mjs} +22 -9
  64. package/dist/{ios-BItP6lkn.mjs → ios-B7-lToDu.mjs} +8 -8
  65. package/dist/{ios-CVUFFZ6C.mjs → ios-WxpDJ5T1.mjs} +129 -14
  66. package/dist/{ios-device-BI38NFFH.mjs → ios-device-CsyryvpT.mjs} +1 -1
  67. package/dist/{ios-B1FXRCMX.mjs → ios-ftxdQbJS.mjs} +84 -51
  68. package/dist/{ios-project-KYqeJURj.mjs → ios-project-Ty5pHl9O.mjs} +6 -6
  69. package/dist/{ios-state-DlElquYD.mjs → ios-state-Cw7-WQf2.mjs} +1 -1
  70. package/dist/{js-swap-BvrQvXHY.mjs → js-swap-BMhXYVDS.mjs} +4 -4
  71. package/dist/{launch-SfzGH_s9.mjs → launch-DOp8RjDz.mjs} +32 -27
  72. package/dist/{logs-DXE32kyb.mjs → logs-dQDki6Tt.mjs} +9 -173
  73. package/dist/{logs-ovlU7m7N.mjs → logs-s1dRIG1E.mjs} +85 -36
  74. package/dist/{macos-B3BveDrU.mjs → macos-B0VEV3Gf.mjs} +1 -1
  75. package/dist/{macos-CCfhb-jT.mjs → macos-DBBPNnIA.mjs} +18 -19
  76. package/dist/macos-run.mjs +1 -1
  77. package/dist/maintenance-run.mjs +28 -11
  78. package/dist/{metro-Bu8LBfzS.mjs → metro-CjC10t6E.mjs} +2 -2
  79. package/dist/{metro-gateway-DtsOy-0P.mjs → metro-gateway-B6_PgD0L.mjs} +2 -3
  80. package/dist/{named-ports-BWDuU5oQ.mjs → named-ports-BG0j1X4g.mjs} +2 -2
  81. package/dist/{native-android-96BBizbq.mjs → native-android-CL2NGiik.mjs} +17 -17
  82. package/dist/{native-gradle-artifact-inputs-BcLYBZil.mjs → native-gradle-artifact-inputs-btSUulme.mjs} +3 -3
  83. package/dist/{native-run-BmH7U8pr.mjs → native-run-BfIDFKLH.mjs} +2 -3
  84. package/dist/{native-runtime-DgtJkzIa.mjs → native-runtime-Dq3RBcON.mjs} +6 -7
  85. package/dist/{native-xcode-inputs-irplbQb0.mjs → native-xcode-inputs-BW7H8JGu.mjs} +2 -2
  86. package/dist/{native-xcode-ios-BY-6hh6M.mjs → native-xcode-ios-CBXJAxfC.mjs} +18 -18
  87. package/dist/offload-worker.d.mts +7 -2
  88. package/dist/offload-worker.mjs +34 -23
  89. package/dist/{ownership-DxlZGDcV.mjs → ownership-BjYvMNX_.mjs} +2 -2
  90. package/dist/{phone-reverses-BdsdesVF.mjs → phone-reverses-lmj6kcPm.mjs} +3 -3
  91. package/dist/{placement-log-DUvqqsB-.mjs → placement-log-DIFPQAXp.mjs} +1 -1
  92. package/dist/{plan-placement-4axc0Hs7.mjs → plan-placement-IiiSQhtz.mjs} +3 -3
  93. package/dist/{ports-D-E_OiAO.mjs → ports-C2_w1Z0Z.mjs} +3 -3
  94. package/dist/prebuild-gmouvmJZ.mjs +1247 -0
  95. package/dist/{project-Dz-hWkb-.mjs → project-BUu6Is4k.mjs} +15 -16
  96. package/dist/{react-native-android-DOinxgwB.mjs → react-native-android-Cgg99REN.mjs} +48 -33
  97. package/dist/{react-native-build-AuCu-aAP.mjs → react-native-build-oNwqF5Wb.mjs} +8 -8
  98. package/dist/{react-native-doctor-2ivJUmwZ.mjs → react-native-doctor-BhA3KUte.mjs} +49 -8
  99. package/dist/{react-native-ios-D5zTIuH8.mjs → react-native-ios-B-nf4rjN.mjs} +40 -25
  100. package/dist/{recordings-CdPwYwvs.mjs → recordings-BldzVKq0.mjs} +1 -1
  101. package/dist/{reload-Ck9RJeSq.mjs → reload-C9OduiNc.mjs} +1 -1
  102. package/dist/{reload-C1TTVesC.mjs → reload-CCR7KC_l.mjs} +14 -14
  103. package/dist/{remote-DEZ7AOVq.mjs → remote-C8S7FlPF.mjs} +16 -7
  104. package/dist/{result-DqBrb12U.mjs → result-7F5hEwQJ.mjs} +17 -17
  105. package/dist/{run-BIwoU44q.mjs → run-BqB0v3pt.mjs} +1 -1
  106. package/dist/{selection-BLtvaqxc.mjs → selection-BNPBZ6T5.mjs} +157 -44
  107. package/dist/{server-bare-Z1ToVLPn.mjs → server-bare-A75rDIdD.mjs} +55 -3
  108. package/dist/{server-command-C0pmjNdG.mjs → server-command-CssKFOD7.mjs} +4 -4
  109. package/dist/{server-expo-Tt_hLRpy.mjs → server-expo-eQfOdydb.mjs} +8 -6
  110. package/dist/server-expo-wvcj5tiZ.mjs +2 -0
  111. package/dist/{settings-RKwY33wv.mjs → settings-CosW5X-S.mjs} +59 -61
  112. package/dist/{settings-kkt0vP4w.mjs → settings-OaGQF-ri.mjs} +1 -1
  113. package/dist/{settings-write--gj6MACV.mjs → settings-write-QjYfSrjF.mjs} +5 -5
  114. package/dist/settings.schema.json +71 -6
  115. package/dist/{simslim-CdWKT3vA.mjs → simslim-Bax1qcxu.mjs} +22 -6
  116. package/dist/{slot-launch-A1BgotaM.mjs → slot-launch-CYCEhfBY.mjs} +6 -6
  117. package/dist/{stage-ERTMh88n.mjs → stage-jKQ7CP_B.mjs} +1 -1
  118. package/dist/{start-Bmg_qmHi.mjs → start-C_wefNKB.mjs} +1 -1
  119. package/dist/{start-BKGrEhzG.mjs → start-_BdJ32cZ.mjs} +9 -10
  120. package/dist/{state-B1ig0Kqy.mjs → state-C1i2nMOP.mjs} +2 -3
  121. package/dist/{state-BfAltYJP.mjs → state-C4OdpOTF.mjs} +1 -2
  122. package/dist/{stats-B-ckuiUg.mjs → stats-tEpEEH-u.mjs} +4 -4
  123. package/dist/{status-Pw-807f0.mjs → status-B9M7x4CZ.mjs} +1 -1
  124. package/dist/{status-Fect2w9R.mjs → status-CRXz-Gtj.mjs} +1 -1
  125. package/dist/{status-DfFp6a76.mjs → status-DQrqodLj.mjs} +22 -23
  126. package/dist/{status-watch-XC7F-AMf.mjs → status-watch-B5wDIH_o.mjs} +4 -4
  127. package/dist/status-worker.mjs +1 -1
  128. package/dist/{stim-desktop-DS0mzR8U.mjs → stim-desktop-6Dqp-gjX.mjs} +1 -1
  129. package/dist/{stop-BFu7X_Do.mjs → stop-CmdNhGlC.mjs} +2 -2
  130. package/dist/{stop-CL1kDHds.mjs → stop-DRqQVqDJ.mjs} +74 -53
  131. package/dist/{stop-DhclRwOO.mjs → stop-ySNQHXMG.mjs} +4 -5
  132. package/dist/supervisor-run.d.mts +1 -0
  133. package/dist/supervisor-run.mjs +15 -16
  134. package/dist/{support-B3tzVhKn.mjs → support-BGSCBoib.mjs} +4 -4
  135. package/dist/{support-B1W-hmC2.mjs → support-CVOCp0Ft.mjs} +15 -12
  136. package/dist/{swiftpm-artifact-inputs-BWYPj9Sn.mjs → swiftpm-artifact-inputs-CfUzt_0Z.mjs} +1 -1
  137. package/dist/{swiftpm-macos-BVCP5mO4.mjs → swiftpm-macos-x6HPpl_2.mjs} +10 -10
  138. package/dist/toolchain-DoavrvIA.mjs +2 -0
  139. package/dist/toolchain-J4J8MrAr.mjs +2107 -0
  140. package/dist/trigger-DzJu208Q.mjs +2 -0
  141. package/dist/{trigger-CBMe2YLH.mjs → trigger-KVaWWNyn.mjs} +1 -1
  142. package/dist/{warm-progress-ol0ZypEu.mjs → warm-progress-DvhTX_eu.mjs} +3 -4
  143. package/dist/web-BFLueSh-.mjs +2 -0
  144. package/dist/{web-BH7peScT.mjs → web-Bihbf7-u.mjs} +8 -9
  145. package/dist/web-run.mjs +4 -4
  146. package/dist/{workspace-state-CeBpIZgr.mjs → workspace-state-pUg3_RRA.mjs} +45 -7
  147. package/dist/{workspaces-CSV2Orf4.mjs → workspaces-g2lhdBXF.mjs} +17 -17
  148. package/dist/{worktree-Dw8kfacb.mjs → worktree-BKuklFh_.mjs} +34 -31
  149. package/dist/{worktree-DEDUzO_L.mjs → worktree-Bm4cb-nU.mjs} +1 -1
  150. package/package.json +8 -8
  151. package/shim/bundle-response.cjs +53 -1
  152. package/shim/bundle-response.d.cts +1 -1
  153. package/shim/expo-metro-config.cjs +23 -1
  154. package/dist/created-devices-D2Aca-xu.mjs +0 -52
  155. package/dist/paths-DQtTgsBf.mjs +0 -42
  156. package/dist/prebuild-DmVCf5xb.mjs +0 -501
  157. package/dist/server-expo-CEntXzRw.mjs +0 -2
  158. package/dist/toolchain-BjgKdoEf.mjs +0 -2
  159. package/dist/toolchain-D3bmRMia.mjs +0 -897
  160. package/dist/trigger-BLsHgAGR.mjs +0 -2
  161. package/dist/web-BdOFlTJr.mjs +0 -2
  162. package/dist/xcode-DHu41qQ4.mjs +0 -910
@@ -1,162 +1,49 @@
1
1
  import { o as cancellableSleep, t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
- import { m as workspaceLogsDir } from "./paths-DQtTgsBf.mjs";
3
- import { B as deviceSlotFileKey, E as upsertProject, O as withConfigLockAsync, V as deviceSlotKey, p as getProject, u as getConcurrencyLimits, v as recordIosSchemeApprovals } from "./config-BZhXY15H.mjs";
4
- import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-DxC0k2rk.mjs";
5
- import { f as writeWorkspaceStateAsync, r as readWorkspaceState } from "./workspace-state-CeBpIZgr.mjs";
6
- import { $ as settingOriginScope, G as resolveCacheProviderConfig, Ht as makeTemporaryDirectory, Nt as repoRootAsync, Ut as removeTemporaryEntry, Y as resolveSettings, ct as detectProviders, nt as settingsLayers, vt as gitCommonDirAsync } from "./settings-RKwY33wv.mjs";
7
- import { L as workspaceDevServerMode, f as projectRegistry, i as findProjectRoot, v as detectIsExpo, z as writeWorkspaceLaunchAsync } from "./project-Dz-hWkb-.mjs";
8
- import { o as workspaceLinks } from "./stim-desktop-DS0mzR8U.mjs";
9
- import { c as pidExists, d as resolveProjectMetro, f as signalProcessTree } from "./metro-Bu8LBfzS.mjs";
2
+ import { f as writeWorkspaceStateAsync, k as workspaceLogsDir, r as readWorkspaceState } from "./workspace-state-pUg3_RRA.mjs";
3
+ import { B as deviceSlotFileKey, E as upsertProject, O as withConfigLockAsync, V as deviceSlotKey, p as getProject, u as getConcurrencyLimits, v as recordIosSchemeApprovals } from "./config-BktkY_zC.mjs";
4
+ import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-BF5AR2dL.mjs";
5
+ import { K as resolveCacheProviderConfig, Pt as repoRootAsync, Ut as makeTemporaryDirectory, Wt as removeTemporaryEntry, X as resolveSettings, et as settingOriginScope, lt as detectProviders, rt as settingsLayers, yt as gitCommonDirAsync } from "./settings-CosW5X-S.mjs";
6
+ import { L as workspaceDevServerMode, f as projectRegistry, i as findProjectRoot, v as detectIsExpo, z as writeWorkspaceLaunchAsync } from "./project-BUu6Is4k.mjs";
7
+ import { o as workspaceLinks } from "./stim-desktop-6Dqp-gjX.mjs";
8
+ import { c as pidExists, d as resolveProjectMetro, f as signalProcessTree } from "./metro-CjC10t6E.mjs";
10
9
  import { r as createNdjsonWriter } from "./ndjson-CgE_o3Dl.mjs";
11
- import { Bt as bundleEntryPoint, Cn as installIosApp, Dn as launchIosApp, Fn as gateMetroOrigin, Gn as loadProjectProvider, Hn as checkEasAuth, Ht as ensureMetroReachable, J as recordCapacityRefusal, K as readRunEstimates, Kt as remoteIosDeps, On as restartedAppNote, Pn as readRemoteSimulatorArch, Qt as RELEASE_VERIFY_WAIT_MS, Ut as ensureRemoteBootOwned, X as recordRunStats, Xn as resolveRemote, Xt as LAUNCH_FATAL, Yn as resolveEasCliBin, Yt as LAUNCH_BUNDLING, Zn as uploadRemote, Zt as LAUNCH_UNVERIFIED, _n as devClientUrl, en as isBundleProof, fn as IOS_DEV_MENU_OFF_DEFAULTS_PLIST, gn as clearOtherUserApps, in as unverifiedLaunchLines, nn as readMetroRecords, on as verifyLaunch, qt as resolveRemoteContext, rn as unattributedLaunchLines, sn as verifyReleaseLaunch, t as budgetGate, tn as readCollectorRecords, wn as iosAppProcess } from "./budget-dPGuhNai.mjs";
12
- import { L as acquireBuildSlot, z as releaseBuildSlot } from "./workspaces-CSV2Orf4.mjs";
13
- import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-Dq3ZcdD8.mjs";
14
- import { T as untrackedNativeFiles, b as storeBuild, d as fingerprintProject, y as resolveBuild } from "./build-cache-HFUQ9eLz.mjs";
15
- import { d as listAllIosSims, h as listIosRuntimesAsync, r as clearIosAppData } from "./ios-CVUFFZ6C.mjs";
16
- import { f as readBundleExecutable, m as resolveScheme, p as readBundleId } from "./xcode-DHu41qQ4.mjs";
17
- import { h as readPodState, m as podsAreStale, v as runPodInstall } from "./toolchain-D3bmRMia.mjs";
18
- import { n as readHostedIos, o as writeHostedIosAsync } from "./ios-state-DlElquYD.mjs";
19
- import { n as hostedMetroPortProbe } from "./hosted-native-Doxbfzem.mjs";
20
- import { n as prepareHostedIos, t as placeHostedIos } from "./hosted-ios-Sn0djzg8.mjs";
21
- import { n as verifyCollectorOwnership } from "./ownership-DxlZGDcV.mjs";
22
- import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-A1BgotaM.mjs";
23
- import { c as startDevServer, g as detectBundleId } from "./start-BKGrEhzG.mjs";
10
+ import { $t as LAUNCH_BUNDLING, Bn as gateMetroOrigin, Kt as ensureMetroReachable, Mn as launchIosApp, Nn as restartedAppNote, On as installIosApp, Q as recordCapacityRefusal, Sn as devClientUrl, Wt as bundleEntryPoint, X as readRunEstimates, Xn as loadProjectProvider, Xt as remoteIosDeps, Zt as resolveRemoteContext, _n as IOS_DEV_MENU_OFF_DEFAULTS_PLIST, an as isBundleProof, cn as unattributedLaunchLines, dn as verifyLaunch, en as LAUNCH_FATAL, er as resolveEasCliBin, et as recordRunStats, fn as verifyReleaseLaunch, kn as iosAppProcess, ln as unverifiedLaunchLines, nr as uploadRemote, on as readCollectorRecords, qn as checkEasAuth, qt as ensureRemoteBootOwned, rn as RELEASE_VERIFY_WAIT_MS, sn as readMetroRecords, t as budgetGate, tn as LAUNCH_UNVERIFIED, tr as resolveRemote, xn as clearOtherUserApps, zn as readRemoteSimulatorArch } from "./budget-k2mZGvvk.mjs";
11
+ import { L as acquireBuildSlot, z as releaseBuildSlot } from "./workspaces-g2lhdBXF.mjs";
12
+ import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-Lnb_EoRY.mjs";
13
+ import { C as storeBuild, S as resolveBuild, k as untrackedNativeFiles, p as fingerprintProject } from "./build-cache-DrXNCy3T.mjs";
14
+ import { d as listAllIosSims, h as listIosRuntimesAsync, r as clearIosAppData } from "./ios-WxpDJ5T1.mjs";
15
+ import { B as readBundleExecutable, H as resolveScheme, O as runPodInstall, T as readPodState, V as readBundleId, w as podsAreStale } from "./toolchain-J4J8MrAr.mjs";
16
+ import { n as readHostedIos, o as writeHostedIosAsync } from "./ios-state-Cw7-WQf2.mjs";
17
+ import { n as hostedMetroPortProbe } from "./hosted-native-CpDB3-PO.mjs";
18
+ import { n as prepareHostedIos, t as placeHostedIos } from "./hosted-ios-D55QhYaD.mjs";
19
+ import { n as verifyCollectorOwnership } from "./ownership-BjYvMNX_.mjs";
20
+ import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-CYCEhfBY.mjs";
21
+ import { c as startDevServer, g as detectBundleId } from "./start-_BdJ32cZ.mjs";
24
22
  import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
25
- import { a as discoverXcodeProject, r as buildIos } from "./react-native-build-AuCu-aAP.mjs";
26
- import { a as acquireRunLease, c as lostRefusal, d as runLease, s as lostLine, t as DEBUG_VERIFY_STEP_MS, u as releaseLeaseOnAbort } from "./device-lease-run-DUtkbqBQ.mjs";
27
- import { r as checkDeviceCapacity } from "./device-capacity-Ic-kdmEV.mjs";
28
- import { n as clearIosAdoptionPending } from "./device-ios-DzpSlZyd.mjs";
29
- import { i as deviceLabel, o as deviceShortName, t as appNameFromPath } from "./support-B1W-hmC2.mjs";
23
+ import { a as discoverXcodeProject, r as buildIos } from "./react-native-build-oNwqF5Wb.mjs";
24
+ import { a as acquireRunLease, c as lostRefusal, d as runLease, s as lostLine, t as DEBUG_VERIFY_STEP_MS, u as releaseLeaseOnAbort } from "./device-lease-run-BmvIl7bI.mjs";
25
+ import { r as checkDeviceCapacity } from "./device-capacity-DCSvUF0l.mjs";
26
+ import { n as clearIosAdoptionPending } from "./device-ios-BLGfXQeK.mjs";
27
+ import { i as deviceLabel, o as deviceShortName, t as appNameFromPath } from "./support-CVOCp0Ft.mjs";
30
28
  import { a as sealAppForDevice, r as gateProfileForDevice } from "./ios-signing-4c_qXvQm.mjs";
31
- import { a as resolveEasDevelopmentBuild } from "./eas-build-CxKUNHsb.mjs";
32
- import { a as printNativeCrashReport, n as IOS_CRASH_REPORT_RETRY, o as simulatorConsolePaths, r as captureNativeCrashes, t as errorDiagnostics } from "./error-diagnostics-BkKCZq4P.mjs";
33
- import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-DgtJkzIa.mjs";
34
- import { a as runPrebuild, n as planPrebuildAsync } from "./prebuild-DmVCf5xb.mjs";
35
- import { n as devClientTakesDevMenuParams, r as hasDevClient, t as devClientScheme } from "./dev-client-w_fok0Ek.mjs";
36
- import { n as automaticDevicePlacement, t as checkEasFallback } from "./eas-fallback-LMxk9Kw0.mjs";
37
- import { n as ensureBooted, o as warmMetro, r as ensureOwnedDevice } from "./device-BktRGdjS.mjs";
38
- import { t as selectFromPool } from "./device-pool-CgBHk401.mjs";
39
- import { o as reportIosResult } from "./ios-project-KYqeJURj.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-BI38NFFH.mjs";
41
- import { i as swapJsBundle } from "./js-swap-BvrQvXHY.mjs";
29
+ import { a as resolveEasDevelopmentBuild } from "./eas-build-Dsj93iM9.mjs";
30
+ import { a as printNativeCrashReport, n as IOS_CRASH_REPORT_RETRY, o as simulatorConsolePaths, r as captureNativeCrashes, t as errorDiagnostics } from "./error-diagnostics-BOOm9Db7.mjs";
31
+ import { t as followHostedLaunchLogs } from "./hosted-logs-sync-B0pvmOk-.mjs";
32
+ import { a as runPrebuild, d as memoizedFingerprint, n as planPrebuildAsync } from "./prebuild-gmouvmJZ.mjs";
33
+ import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-Dq3RBcON.mjs";
34
+ import { n as devClientTakesDevMenuParams, r as hasDevClient, t as devClientScheme } from "./dev-client-DXR_tPVY.mjs";
35
+ import { n as automaticDevicePlacement, t as checkEasFallback } from "./eas-fallback-FwkeqqGi.mjs";
36
+ import { n as ensureBooted, o as warmMetro, r as ensureOwnedDevice } from "./device-BK-zwyd_.mjs";
37
+ import { t as selectFromPool } from "./device-pool-Dluix4H3.mjs";
38
+ import { o as reportIosResult } from "./ios-project-Ty5pHl9O.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-CsyryvpT.mjs";
40
+ import { i as swapJsBundle } from "./js-swap-BMhXYVDS.mjs";
42
41
  import { mkdirSync, openSync, writeFileSync } from "node:fs";
43
42
  import { networkInterfaces } from "node:os";
44
43
  import { basename, join } from "node:path";
45
44
  import { ambientEnv, hostSimulatorArch } from "@stim-cli/core";
46
45
  import chalk from "chalk";
47
46
  import { loadCacheProvider } from "@stim-cli/cache";
48
- //#region src/engine/ios-lan.ts
49
- const IP_TXT = "ip.txt";
50
- function chooseLanAddress({ pinned = null, candidates }) {
51
- const list = Array.isArray(candidates) ? candidates : [];
52
- if (pinned) return {
53
- address: pinned,
54
- interfaceName: list.find((candidate) => candidate.address === pinned)?.interfaceName ?? null,
55
- pinned: true,
56
- candidates: list.length
57
- };
58
- const first = list[0];
59
- if (!first) return null;
60
- return {
61
- address: first.address,
62
- interfaceName: first.interfaceName,
63
- pinned: false,
64
- candidates: list.length
65
- };
66
- }
67
- function lanOriginUrlFor(address, port) {
68
- return `http://${address}:${port}`;
69
- }
70
- function ipTxtContents(address, port) {
71
- return `${String(address).trim()}:${String(port).trim()}\n`;
72
- }
73
- function writeIpTxt(appPath, address, port, { write = writeFileSync } = {}) {
74
- const path = join(appPath, IP_TXT);
75
- write(path, ipTxtContents(address, port), "utf-8");
76
- return path;
77
- }
78
- async function ensureLanReachable({ origin, metroPort, root, isExpo, logsDir, gateOrigin = gateMetroOrigin, readRecords = null }) {
79
- const result = await gateOrigin({
80
- origin,
81
- metroPort,
82
- platform: "ios",
83
- entryPoint: bundleEntryPoint(root, isExpo),
84
- readRecords: readRecords ?? (() => readMetroRecords(logsDir)),
85
- isProof: isBundleProof
86
- });
87
- if (result.failed) return {
88
- failed: result.reason ?? `${origin} is not this workspace's Metro.`,
89
- remedy: `The phone reaches Metro at ${origin}, so that address has to serve THIS workspace's dev server. \`stim start\` prints the port it reserved. Set ios.lanHost in .stim.json when this Mac has several network interfaces and the phone shares one that is not the first.`
90
- };
91
- return { ok: true };
92
- }
93
- function copyAppAside(appPath, { exec = null, mkdtemp = () => makeTemporaryDirectory(appPath, "stim-ios-device-") } = {}) {
94
- const e = exec || getExecutor();
95
- const tmpDir = mkdtemp();
96
- const copy = join(tmpDir, basename(appPath));
97
- try {
98
- e.runFile("cp", [
99
- "-c",
100
- "-R",
101
- appPath,
102
- copy
103
- ], { timeoutMs: "unbounded" });
104
- } catch {
105
- try {
106
- removeTemporaryEntry(copy);
107
- e.runFile("cp", [
108
- "-R",
109
- appPath,
110
- copy
111
- ], { timeoutMs: "unbounded" });
112
- } catch (error) {
113
- removeTemporaryEntry(tmpDir);
114
- throw error;
115
- }
116
- }
117
- return {
118
- tmpDir,
119
- appPath: copy
120
- };
121
- }
122
- //#endregion
123
- //#region src/engine/lan-address.ts
124
- const EN_INTERFACE = /^en(\d+)$/;
125
- const EXCLUDED_INTERFACE = /^(?:utun|bridge|awdl)/;
126
- const LINK_LOCAL = /^169\.254\./;
127
- function isIpv4(entry) {
128
- return entry.family === "IPv4" || entry.family === 4;
129
- }
130
- function lanCandidates(interfaces) {
131
- const ranked = [];
132
- const seen = /* @__PURE__ */ new Set();
133
- for (const [interfaceName, entries] of Object.entries(interfaces ?? {})) {
134
- if (EXCLUDED_INTERFACE.test(interfaceName)) continue;
135
- const en = EN_INTERFACE.exec(interfaceName);
136
- for (const entry of entries ?? []) {
137
- if (!entry || typeof entry !== "object" || !isIpv4(entry) || entry.internal === true) continue;
138
- const address = typeof entry.address === "string" ? entry.address.trim() : "";
139
- if (address === "" || LINK_LOCAL.test(address)) continue;
140
- if (seen.has(address)) continue;
141
- seen.add(address);
142
- ranked.push({
143
- interfaceName,
144
- address,
145
- rank: en ? 0 : 1,
146
- index: en ? Number(en[1]) : 0
147
- });
148
- }
149
- }
150
- ranked.sort((a, b) => a.rank - b.rank || a.index - b.index || a.interfaceName.localeCompare(b.interfaceName) || a.address.localeCompare(b.address));
151
- return ranked.map(({ interfaceName, address }) => ({
152
- interfaceName,
153
- address
154
- }));
155
- }
156
- function hostLanCandidates(interfaces = networkInterfaces) {
157
- return lanCandidates(interfaces());
158
- }
159
- //#endregion
160
47
  //#region src/commands/ios/collector.ts
161
48
  function collectorLogFile(root, slot) {
162
49
  return join(workspaceLogsDir(root), `collector-${deviceSlotFileKey("ios", slot)}.log`);
@@ -250,109 +137,6 @@ async function replaceCollector({ root, slot = "default", udid, bundleId, appNam
250
137
  };
251
138
  }
252
139
  //#endregion
253
- //#region src/commands/ios/dependencies.ts
254
- const DEFAULT_DEPS = {
255
- projectRegistry,
256
- automaticDevicePlacement,
257
- checkEasFallback,
258
- prepareHostedIos,
259
- placeHostedIos,
260
- hostedMetroPortProbe,
261
- readHostedIos,
262
- writeHostedIos: writeHostedIosAsync,
263
- resolveEasDevelopmentBuild,
264
- findProjectRoot,
265
- resolveSettings,
266
- settingsLayers,
267
- settingOriginScope,
268
- gitCommonDir: gitCommonDirAsync,
269
- repoRoot: repoRootAsync,
270
- detectBundleId,
271
- detectIsExpo,
272
- devClientScheme,
273
- hasDevClient,
274
- devClientTakesDevMenuParams,
275
- getProject,
276
- upsertProject: (...args) => withConfigLockAsync(() => upsertProject(...args)),
277
- recordIosSchemeApprovals,
278
- checkDeviceCapacity,
279
- budgetGate,
280
- ensureOwnedDevice,
281
- listIosRuntimes: listIosRuntimesAsync,
282
- listAllIosSims,
283
- ensureBooted,
284
- resolveRemoteContext,
285
- remoteIosDeps,
286
- readRemoteSimulatorArch,
287
- hostSimulatorArch,
288
- ensureMetroReachable,
289
- ensureRemoteBootOwned,
290
- detectProviders,
291
- resolveProjectMetro,
292
- startDevServer,
293
- warmMetro,
294
- readWorkspaceState,
295
- pidExists,
296
- getConcurrencyLimits,
297
- fingerprintProject,
298
- untrackedNativeFiles,
299
- resolveBuild,
300
- storeBuild,
301
- resolveCacheProviderConfig,
302
- loadCacheProvider,
303
- acquireBuildLock,
304
- releaseBuildLock,
305
- waitForBuild,
306
- acquireBuildSlot,
307
- releaseBuildSlot,
308
- loadProjectProvider,
309
- checkEasAuth,
310
- resolveEasCliBin,
311
- resolveRemote,
312
- uploadRemote,
313
- planPrebuild: planPrebuildAsync,
314
- runPrebuild,
315
- readPodState,
316
- podsAreStale,
317
- runPodInstall,
318
- buildIos,
319
- discoverXcodeProject,
320
- resolveScheme,
321
- listIosDevices,
322
- hostLanCandidates,
323
- ensureLanReachable,
324
- gateProfileForDevice,
325
- sealAppForDevice,
326
- installIosDeviceApp,
327
- awaitIosDeviceLaunch,
328
- acquireRunLease,
329
- runLease,
330
- selectFromPool,
331
- releaseLeaseOnAbort,
332
- iosDeviceProcess,
333
- verifyIosDeviceReleaseLaunch,
334
- readBundleId,
335
- readBundleExecutable,
336
- swapJsBundle,
337
- installIosApp,
338
- clearOtherUserApps,
339
- clearIosAppData,
340
- clearIosAdoptionPending,
341
- launchIosApp,
342
- verifyLaunch,
343
- verifyReleaseLaunch,
344
- ensureWorkspaceStorage: ensureWorkspaceStorageSafely,
345
- replaceCollector,
346
- stopPreviousCollector,
347
- writeWorkspaceLaunch: writeWorkspaceLaunchAsync,
348
- writeWorkspaceState: writeWorkspaceStateAsync,
349
- createWriter: createNdjsonWriter,
350
- recordStats: recordRunStats,
351
- recordCapacityRefusal,
352
- readEstimates: readRunEstimates,
353
- now: () => Date.now()
354
- };
355
- //#endregion
356
140
  //#region src/commands/ios/launch.ts
357
141
  function iosProcessRuntime(prepare, kind = "process") {
358
142
  return {
@@ -424,12 +208,12 @@ async function verifyIosProcessRun({ operation, root, slot, appPath, d, launched
424
208
  note(chalk.yellow(phaseLine("", `${embeddedJavaScript ? "Release" : "Process"} readiness was not established. Run \`stim logs --errors\` for captured crash reports, or \`stim logs --source device\` for the full device output.`)));
425
209
  return { state: crashes.length || processCheck?.reason === "exited" ? LAUNCH_FATAL : LAUNCH_UNVERIFIED };
426
210
  }
427
- async function verifyIosMetroRun({ operation, root, slot, appPath, d, launched, phase, note, metroCheck, logsDir, launchedAt, metroPort, isExpo, bundleId, udid, scheme, physical, appName, lanAddress, lanOrigin, remoteDevice, metroOrigin, enterActivity }) {
211
+ async function verifyIosMetroRun({ operation, root, slot, appPath, d, launched, phase, note, metroCheck, logsDir, launchedAt, metroPort, isExpo, bundleId, udid, scheme, physical, appName, lanAddress, lanOrigin, remoteDevice, metroOrigin, enterActivity, hostedLogs }) {
428
212
  const runCommand = nativeRunCommand("ios", slot, {
429
213
  physical,
430
214
  deviceId: udid
431
215
  });
432
- const readNativeCrashes = () => remoteDevice ? [] : captureNativeCrashes({
216
+ const readNativeCrashes = () => hostedLogs ? hostedLogs.readNativeCrashes() : remoteDevice ? [] : captureNativeCrashes({
433
217
  root,
434
218
  slot,
435
219
  platform: "ios",
@@ -460,6 +244,8 @@ async function verifyIosMetroRun({ operation, root, slot, appPath, d, launched,
460
244
  platform: "ios",
461
245
  mode: workspaceDevServerMode(root, isExpo),
462
246
  readNativeCrashes,
247
+ readDeviceRecords: hostedLogs?.readDeviceRecords,
248
+ deviceLogsThrough: hostedLogs?.deviceLogsThrough,
463
249
  processAlive: remoteDevice ? null : physical ? deviceProcess : async () => {
464
250
  if (launched?.pid) return d.pidExists(launched.pid);
465
251
  const running = await iosAppProcess(udid, bundleId);
@@ -497,7 +283,7 @@ async function verifyIosMetroRun({ operation, root, slot, appPath, d, launched,
497
283
  return { state: LAUNCH_FATAL };
498
284
  }
499
285
  if (verification?.verified) {
500
- phase("verify", `bundle loaded` + (verification.processAlive === true ? ", process alive" : "") + (verification.readiness ? "" : ", stable for 3s -- the first screen may still be rendering") + ` (${formatDuration(verification.waitedMs ?? 0)} total)`);
286
+ phase("verify", `bundle loaded` + (verification.processAlive === true ? ", process alive" : "") + (verification.readiness ? "" : verification.jsRunning ? ", app JavaScript running -- the first screen may still be rendering" : ", stable for 3s -- the first screen may still be rendering") + ` (${formatDuration(verification.waitedMs ?? 0)} total)`);
501
287
  const hasAppErrors = reportLaunchErrors(verification.errors ?? [], note, root);
502
288
  if (hasAppErrors && verification.processAlive === true && metroPort !== null) {
503
289
  const reloadRemedy = remoteDevice ? `run \`agent-device metro reload --metro-port ${metroPort}\`.` : "run `stim reload ios`.";
@@ -1072,4 +858,221 @@ async function finishIosRun({ operation, output, projectBundleId, runtime, runti
1072
858
  };
1073
859
  }
1074
860
  //#endregion
1075
- export { collectorEntry as a, copyAppAside as c, DEFAULT_DEPS as i, lanOriginUrlFor as l, iosMetroRuntime as n, replaceCollector as o, iosProcessRuntime as r, chooseLanAddress as s, finishIosRun as t, writeIpTxt as u };
861
+ //#region src/engine/ios-lan.ts
862
+ const IP_TXT = "ip.txt";
863
+ function chooseLanAddress({ pinned = null, candidates }) {
864
+ const list = Array.isArray(candidates) ? candidates : [];
865
+ if (pinned) return {
866
+ address: pinned,
867
+ interfaceName: list.find((candidate) => candidate.address === pinned)?.interfaceName ?? null,
868
+ pinned: true,
869
+ candidates: list.length
870
+ };
871
+ const first = list[0];
872
+ if (!first) return null;
873
+ return {
874
+ address: first.address,
875
+ interfaceName: first.interfaceName,
876
+ pinned: false,
877
+ candidates: list.length
878
+ };
879
+ }
880
+ function lanOriginUrlFor(address, port) {
881
+ return `http://${address}:${port}`;
882
+ }
883
+ function ipTxtContents(address, port) {
884
+ return `${String(address).trim()}:${String(port).trim()}\n`;
885
+ }
886
+ function writeIpTxt(appPath, address, port, { write = writeFileSync } = {}) {
887
+ const path = join(appPath, IP_TXT);
888
+ write(path, ipTxtContents(address, port), "utf-8");
889
+ return path;
890
+ }
891
+ async function ensureLanReachable({ origin, metroPort, root, isExpo, logsDir, gateOrigin = gateMetroOrigin, readRecords = null }) {
892
+ const result = await gateOrigin({
893
+ origin,
894
+ metroPort,
895
+ platform: "ios",
896
+ entryPoint: bundleEntryPoint(root, isExpo),
897
+ readRecords: readRecords ?? (() => readMetroRecords(logsDir)),
898
+ isProof: isBundleProof
899
+ });
900
+ if (result.failed) return {
901
+ failed: result.reason ?? `${origin} is not this workspace's Metro.`,
902
+ remedy: `The phone reaches Metro at ${origin}, so that address has to serve THIS workspace's dev server. \`stim start\` prints the port it reserved. Set ios.lanHost in .stim.json when this Mac has several network interfaces and the phone shares one that is not the first.`
903
+ };
904
+ return { ok: true };
905
+ }
906
+ function copyAppAside(appPath, { exec = null, mkdtemp = () => makeTemporaryDirectory(appPath, "stim-ios-device-") } = {}) {
907
+ const e = exec || getExecutor();
908
+ const tmpDir = mkdtemp();
909
+ const copy = join(tmpDir, basename(appPath));
910
+ try {
911
+ e.runFile("cp", [
912
+ "-c",
913
+ "-R",
914
+ appPath,
915
+ copy
916
+ ], { timeoutMs: "unbounded" });
917
+ } catch {
918
+ try {
919
+ removeTemporaryEntry(copy);
920
+ e.runFile("cp", [
921
+ "-R",
922
+ appPath,
923
+ copy
924
+ ], { timeoutMs: "unbounded" });
925
+ } catch (error) {
926
+ removeTemporaryEntry(tmpDir);
927
+ throw error;
928
+ }
929
+ }
930
+ return {
931
+ tmpDir,
932
+ appPath: copy
933
+ };
934
+ }
935
+ //#endregion
936
+ //#region src/engine/lan-address.ts
937
+ const EN_INTERFACE = /^en(\d+)$/;
938
+ const EXCLUDED_INTERFACE = /^(?:utun|bridge|awdl)/;
939
+ const LINK_LOCAL = /^169\.254\./;
940
+ function isIpv4(entry) {
941
+ return entry.family === "IPv4" || entry.family === 4;
942
+ }
943
+ function lanCandidates(interfaces) {
944
+ const ranked = [];
945
+ const seen = /* @__PURE__ */ new Set();
946
+ for (const [interfaceName, entries] of Object.entries(interfaces ?? {})) {
947
+ if (EXCLUDED_INTERFACE.test(interfaceName)) continue;
948
+ const en = EN_INTERFACE.exec(interfaceName);
949
+ for (const entry of entries ?? []) {
950
+ if (!entry || typeof entry !== "object" || !isIpv4(entry) || entry.internal === true) continue;
951
+ const address = typeof entry.address === "string" ? entry.address.trim() : "";
952
+ if (address === "" || LINK_LOCAL.test(address)) continue;
953
+ if (seen.has(address)) continue;
954
+ seen.add(address);
955
+ ranked.push({
956
+ interfaceName,
957
+ address,
958
+ rank: en ? 0 : 1,
959
+ index: en ? Number(en[1]) : 0
960
+ });
961
+ }
962
+ }
963
+ ranked.sort((a, b) => a.rank - b.rank || a.index - b.index || a.interfaceName.localeCompare(b.interfaceName) || a.address.localeCompare(b.address));
964
+ return ranked.map(({ interfaceName, address }) => ({
965
+ interfaceName,
966
+ address
967
+ }));
968
+ }
969
+ function hostLanCandidates(interfaces = networkInterfaces) {
970
+ return lanCandidates(interfaces());
971
+ }
972
+ //#endregion
973
+ //#region src/commands/ios/dependencies.ts
974
+ const DEFAULT_DEPS = {
975
+ projectRegistry,
976
+ automaticDevicePlacement,
977
+ checkEasFallback,
978
+ prepareHostedIos,
979
+ placeHostedIos,
980
+ hostedMetroPortProbe,
981
+ readHostedIos,
982
+ writeHostedIos: writeHostedIosAsync,
983
+ resolveEasDevelopmentBuild,
984
+ findProjectRoot,
985
+ resolveSettings,
986
+ settingsLayers,
987
+ settingOriginScope,
988
+ gitCommonDir: gitCommonDirAsync,
989
+ repoRoot: repoRootAsync,
990
+ detectBundleId,
991
+ detectIsExpo,
992
+ devClientScheme,
993
+ hasDevClient,
994
+ devClientTakesDevMenuParams,
995
+ getProject,
996
+ upsertProject: (...args) => withConfigLockAsync(() => upsertProject(...args)),
997
+ recordIosSchemeApprovals,
998
+ checkDeviceCapacity,
999
+ budgetGate,
1000
+ ensureOwnedDevice,
1001
+ listIosRuntimes: listIosRuntimesAsync,
1002
+ listAllIosSims,
1003
+ ensureBooted,
1004
+ resolveRemoteContext,
1005
+ remoteIosDeps,
1006
+ readRemoteSimulatorArch,
1007
+ hostSimulatorArch,
1008
+ ensureMetroReachable,
1009
+ ensureRemoteBootOwned,
1010
+ detectProviders,
1011
+ resolveProjectMetro,
1012
+ startDevServer,
1013
+ warmMetro,
1014
+ readWorkspaceState,
1015
+ pidExists,
1016
+ getConcurrencyLimits,
1017
+ fingerprintProject,
1018
+ memoizedFingerprint,
1019
+ untrackedNativeFiles,
1020
+ resolveBuild,
1021
+ storeBuild,
1022
+ resolveCacheProviderConfig,
1023
+ loadCacheProvider,
1024
+ acquireBuildLock,
1025
+ releaseBuildLock,
1026
+ waitForBuild,
1027
+ acquireBuildSlot,
1028
+ releaseBuildSlot,
1029
+ loadProjectProvider,
1030
+ checkEasAuth,
1031
+ resolveEasCliBin,
1032
+ resolveRemote,
1033
+ uploadRemote,
1034
+ planPrebuild: planPrebuildAsync,
1035
+ runPrebuild,
1036
+ readPodState,
1037
+ podsAreStale,
1038
+ runPodInstall,
1039
+ buildIos,
1040
+ discoverXcodeProject,
1041
+ resolveScheme,
1042
+ listIosDevices,
1043
+ hostLanCandidates,
1044
+ ensureLanReachable,
1045
+ gateProfileForDevice,
1046
+ sealAppForDevice,
1047
+ installIosDeviceApp,
1048
+ awaitIosDeviceLaunch,
1049
+ acquireRunLease,
1050
+ runLease,
1051
+ selectFromPool,
1052
+ releaseLeaseOnAbort,
1053
+ iosDeviceProcess,
1054
+ verifyIosDeviceReleaseLaunch,
1055
+ readBundleId,
1056
+ readBundleExecutable,
1057
+ swapJsBundle,
1058
+ installIosApp,
1059
+ clearOtherUserApps,
1060
+ clearIosAppData,
1061
+ clearIosAdoptionPending,
1062
+ launchIosApp,
1063
+ verifyLaunch,
1064
+ verifyReleaseLaunch,
1065
+ followHostedLaunchLogs,
1066
+ ensureWorkspaceStorage: ensureWorkspaceStorageSafely,
1067
+ replaceCollector,
1068
+ stopPreviousCollector,
1069
+ writeWorkspaceLaunch: writeWorkspaceLaunchAsync,
1070
+ writeWorkspaceState: writeWorkspaceStateAsync,
1071
+ createWriter: createNdjsonWriter,
1072
+ recordStats: recordRunStats,
1073
+ recordCapacityRefusal,
1074
+ readEstimates: readRunEstimates,
1075
+ now: () => Date.now()
1076
+ };
1077
+ //#endregion
1078
+ export { writeIpTxt as a, iosProcessRuntime as c, replaceCollector as d, lanOriginUrlFor as i, verifyIosMetroRun as l, chooseLanAddress as n, finishIosRun as o, copyAppAside as r, iosMetroRuntime as s, DEFAULT_DEPS as t, collectorEntry as u };
@@ -1,5 +1,5 @@
1
1
  import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
- import { Mt as repoRoot } from "./settings-RKwY33wv.mjs";
2
+ import { Nt as repoRoot } from "./settings-CosW5X-S.mjs";
3
3
  import { existsSync } from "node:fs";
4
4
  import { dirname, join, relative } from "node:path";
5
5
  //#region src/dependency-state.ts
@@ -1,5 +1,5 @@
1
- import { C as resolvePackageJson, b as isPackageResolvable } from "./project-Dz-hWkb-.mjs";
2
- import { Mn as readBundleSchemes, jn as pickDevClientScheme } from "./budget-dPGuhNai.mjs";
1
+ import { C as resolvePackageJson, b as isPackageResolvable } from "./project-BUu6Is4k.mjs";
2
+ import { In as pickDevClientScheme, Ln as readBundleSchemes } from "./budget-k2mZGvvk.mjs";
3
3
  import { dirname, join } from "node:path";
4
4
  import { isJsonObject, readJsonObject } from "@stim-cli/core/state";
5
5
  //#region src/commands/dev-client.ts