stim 1.25.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 (158) hide show
  1. package/README.md +1 -1
  2. package/dist/{acquire-artifact-zA4S7RHE.mjs → acquire-artifact-DVsvSwf7.mjs} +1 -1
  3. package/dist/{act-BbHS3oV8.mjs → act-C-BqJEpu.mjs} +157 -35
  4. package/dist/{activity-BpjwrQXU.mjs → activity-Lnb_EoRY.mjs} +4 -5
  5. package/dist/{agent-device-usage-output-Bnkerfod.mjs → agent-device-usage-output-DbXy5tg8.mjs} +4 -4
  6. package/dist/{android-saBeB4lr.mjs → android-B5P81yI-.mjs} +1 -1
  7. package/dist/{android-CNZgRC-4.mjs → android-CSbLRD53.mjs} +5 -5
  8. package/dist/{android-BGwuK3Mc.mjs → android-CiNQw3kq.mjs} +73 -49
  9. package/dist/{android-Cjcj8MCw.mjs → android-DTAcRwBC.mjs} +81 -34
  10. package/dist/{android-cas-BVqh2Zep.mjs → android-cas-BTVhZ0Qs.mjs} +4 -4
  11. package/dist/{android-project-CTYaETc0.d.mts → android-project-DUGMbq28.d.mts} +55 -1
  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-Co8zixVx.mjs → artifact-BxREhAaV.mjs} +23 -18
  16. package/dist/{artifact-DN8JNwqS.mjs → artifact-CsAP6AGK.mjs} +35 -20
  17. package/dist/{attempt-DW-mQqM7.mjs → attempt-ClyJlZPT.mjs} +4 -2
  18. package/dist/{browser-web-CCgZsHmI.mjs → browser-web-rYPyqhTf.mjs} +11 -12
  19. package/dist/{budget-HyShrIpL.mjs → budget-k2mZGvvk.mjs} +196 -33
  20. package/dist/{build-CAiw8Ezm.mjs → build-DPhApsjV.mjs} +26 -23
  21. package/dist/{build-cache-CKCzxzxA.mjs → build-cache-DrXNCy3T.mjs} +103 -21
  22. package/dist/{build-plan-zCuHGlA8.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-h1FKhZeg.mjs → ccache-Bx5TbxwG.mjs} +6 -6
  26. package/dist/{cli-C4w607Pz.mjs → cli-BBKFGOFl.mjs} +19 -19
  27. package/dist/cli.mjs +1 -1
  28. package/dist/{client-BQsmyp_-.mjs → client-D9CaRks-.mjs} +36 -61
  29. package/dist/collector-run.mjs +4 -4
  30. package/dist/{command-output-BBvS1H6v.mjs → command-output-BF5AR2dL.mjs} +1 -1
  31. package/dist/{config-BZhXY15H.mjs → config-BktkY_zC.mjs} +321 -15
  32. package/dist/{launch-DscF1QfM.mjs → dependencies-Dw6wfQdv.mjs} +258 -255
  33. package/dist/{dependency-state-BwNCYG5Q.mjs → dependency-state-DFB41vfr.mjs} +1 -1
  34. package/dist/{dev-client-CHoXXZeg.mjs → dev-client-DXR_tPVY.mjs} +2 -2
  35. package/dist/{device-B9FqTBYW.mjs → device-BK-zwyd_.mjs} +13 -13
  36. package/dist/{device-F5-4z9ef.mjs → device-BcYeHSFu.mjs} +14 -14
  37. package/dist/{device-capacity-ZYaRALv5.mjs → device-capacity-DCSvUF0l.mjs} +10 -17
  38. package/dist/device-host-worker.mjs +11 -13
  39. package/dist/{device-ios-DkHBrmvH.mjs → device-ios-BLGfXQeK.mjs} +49 -17
  40. package/dist/{device-lease-run-ogEeJ62K.mjs → device-lease-run-BmvIl7bI.mjs} +4 -4
  41. package/dist/{device-pool-BIg8MU8l.mjs → device-pool-Dluix4H3.mjs} +3 -3
  42. package/dist/{doctor-k3P3PizH.mjs → doctor-Bhg1ii70.mjs} +14 -14
  43. package/dist/{doctor-A_Nr_fDe.mjs → doctor-Cp-BhzTS.mjs} +1 -1
  44. package/dist/{doctor-Bm8TVpGn.mjs → doctor-OnwP94ne.mjs} +72 -23
  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-BovI1y3-.mjs → doctor-watchman-BStK05nt.mjs} +4 -4
  48. package/dist/{eas-build-CyDKNTBP.mjs → eas-build-Dsj93iM9.mjs} +2 -2
  49. package/dist/{eas-fallback-gaZi-dJL.mjs → eas-fallback-FwkeqqGi.mjs} +10 -10
  50. package/dist/{eas-session-ledger-BMCA1gdO.mjs → eas-session-ledger-B5vygTiD.mjs} +5 -5
  51. package/dist/{error-diagnostics-B1Mj_-7h.mjs → error-diagnostics-BOOm9Db7.mjs} +8 -8
  52. package/dist/{gc-eaz403W6.mjs → gc-C_79zvz4.mjs} +2 -2
  53. package/dist/{gc-B9jcnmIk.mjs → gc-ldgr-hXU.mjs} +74 -43
  54. package/dist/{guide-DR0K0xW9.mjs → guide-D7K0X6KG.mjs} +272 -52
  55. package/dist/{hosted-android-Bvb2-ZxD.mjs → hosted-android-Bk54ej6n.mjs} +3 -3
  56. package/dist/{hosted-client-rsRqysJc.mjs → hosted-client-fHO8yqzc.mjs} +5 -5
  57. package/dist/{hosted-ios-RtVcJH3u.mjs → hosted-ios-D55QhYaD.mjs} +1 -1
  58. package/dist/{hosted-logs-CWKGYWNX.mjs → hosted-logs-BfbmDM4M.mjs} +17 -11
  59. package/dist/hosted-logs-sync-B0pvmOk-.mjs +195 -0
  60. package/dist/{hosted-macos-d0pv9Tth.mjs → hosted-macos-CPl0OZ9h.mjs} +5 -5
  61. package/dist/{hosted-native-BxTizGU2.mjs → hosted-native-CpDB3-PO.mjs} +6 -7
  62. package/dist/{idle-shutdown-BIyfl0Zj.mjs → idle-shutdown-FfxL1KdG.mjs} +22 -9
  63. package/dist/{ios-Dvt97HgQ.mjs → ios-B7-lToDu.mjs} +8 -8
  64. package/dist/{ios-BQzvJlzw.mjs → ios-WxpDJ5T1.mjs} +72 -5
  65. package/dist/{ios-device-CKSvk0bu.mjs → ios-device-CsyryvpT.mjs} +1 -1
  66. package/dist/{ios-BRVM8b0P.mjs → ios-ftxdQbJS.mjs} +74 -46
  67. package/dist/{ios-project-DCUDo06I.mjs → ios-project-Ty5pHl9O.mjs} +6 -6
  68. package/dist/{ios-state-CT9nV5SP.mjs → ios-state-Cw7-WQf2.mjs} +1 -1
  69. package/dist/{js-swap-Z9HbC4cj.mjs → js-swap-BMhXYVDS.mjs} +4 -4
  70. package/dist/{launch-D0lPvFFu.mjs → launch-DOp8RjDz.mjs} +31 -26
  71. package/dist/{logs-BsIRre8x.mjs → logs-dQDki6Tt.mjs} +9 -173
  72. package/dist/{logs-Crs9y34Z.mjs → logs-s1dRIG1E.mjs} +85 -36
  73. package/dist/{macos-CcUlJPMu.mjs → macos-B0VEV3Gf.mjs} +1 -1
  74. package/dist/{macos-D477nfzH.mjs → macos-DBBPNnIA.mjs} +18 -19
  75. package/dist/macos-run.mjs +1 -1
  76. package/dist/maintenance-run.mjs +28 -11
  77. package/dist/{metro-1pJgCX4U.mjs → metro-CjC10t6E.mjs} +2 -2
  78. package/dist/{metro-gateway-Bp9gJQAN.mjs → metro-gateway-B6_PgD0L.mjs} +2 -3
  79. package/dist/{named-ports-BVbn8SvC.mjs → named-ports-BG0j1X4g.mjs} +2 -2
  80. package/dist/{native-android-BvMizJn1.mjs → native-android-CL2NGiik.mjs} +17 -17
  81. package/dist/{native-gradle-artifact-inputs-BJscK4vN.mjs → native-gradle-artifact-inputs-btSUulme.mjs} +3 -3
  82. package/dist/{native-run-D5OJsGwA.mjs → native-run-BfIDFKLH.mjs} +2 -3
  83. package/dist/{native-runtime-B9w_Qyz3.mjs → native-runtime-Dq3RBcON.mjs} +6 -7
  84. package/dist/{native-xcode-inputs-Cv4l-obn.mjs → native-xcode-inputs-BW7H8JGu.mjs} +2 -2
  85. package/dist/{native-xcode-ios-DGrg90hE.mjs → native-xcode-ios-CBXJAxfC.mjs} +15 -16
  86. package/dist/offload-worker.d.mts +3 -1
  87. package/dist/offload-worker.mjs +31 -21
  88. package/dist/{ownership-jxxz-19m.mjs → ownership-BjYvMNX_.mjs} +2 -2
  89. package/dist/{phone-reverses-CYb7RRAx.mjs → phone-reverses-lmj6kcPm.mjs} +3 -3
  90. package/dist/{placement-log-DjOXJRIH.mjs → placement-log-DIFPQAXp.mjs} +1 -1
  91. package/dist/{plan-placement-BqKgKHCi.mjs → plan-placement-IiiSQhtz.mjs} +3 -3
  92. package/dist/{ports-DtS1Amb0.mjs → ports-C2_w1Z0Z.mjs} +3 -3
  93. package/dist/prebuild-gmouvmJZ.mjs +1247 -0
  94. package/dist/{project-BiC68mIp.mjs → project-BUu6Is4k.mjs} +15 -16
  95. package/dist/{react-native-android-DRYqoJc4.mjs → react-native-android-Cgg99REN.mjs} +47 -33
  96. package/dist/{react-native-build-CwZB-agu.mjs → react-native-build-oNwqF5Wb.mjs} +7 -7
  97. package/dist/{react-native-doctor-BCrytK7h.mjs → react-native-doctor-BhA3KUte.mjs} +49 -8
  98. package/dist/{react-native-ios-Cr1buNFo.mjs → react-native-ios-B-nf4rjN.mjs} +37 -23
  99. package/dist/{recordings-BaoQ0t-J.mjs → recordings-BldzVKq0.mjs} +1 -1
  100. package/dist/{reload-Beftw2X3.mjs → reload-C9OduiNc.mjs} +1 -1
  101. package/dist/{reload-FbSgMF8x.mjs → reload-CCR7KC_l.mjs} +14 -14
  102. package/dist/{remote-BuZj6AyU.mjs → remote-C8S7FlPF.mjs} +7 -7
  103. package/dist/{result-CR2vk2cj.mjs → result-7F5hEwQJ.mjs} +16 -16
  104. package/dist/{run-BtzE09Dl.mjs → run-BqB0v3pt.mjs} +1 -1
  105. package/dist/{selection-D5cxEl3t.mjs → selection-BNPBZ6T5.mjs} +155 -42
  106. package/dist/{server-bare-CH9X0RLn.mjs → server-bare-A75rDIdD.mjs} +1 -1
  107. package/dist/{server-command-CaBbDNU2.mjs → server-command-CssKFOD7.mjs} +4 -4
  108. package/dist/{server-expo-Ck8EIidM.mjs → server-expo-eQfOdydb.mjs} +2 -2
  109. package/dist/server-expo-wvcj5tiZ.mjs +2 -0
  110. package/dist/{settings-B5tCoq9N.mjs → settings-CosW5X-S.mjs} +1 -1
  111. package/dist/{settings-DzH9mGQZ.mjs → settings-OaGQF-ri.mjs} +1 -1
  112. package/dist/{settings-write-n0zwfohx.mjs → settings-write-QjYfSrjF.mjs} +5 -5
  113. package/dist/settings.schema.json +33 -6
  114. package/dist/{simslim-BjxszUAb.mjs → simslim-Bax1qcxu.mjs} +3 -2
  115. package/dist/{slot-launch-QeuJMlnJ.mjs → slot-launch-CYCEhfBY.mjs} +6 -6
  116. package/dist/{stage-D8xlRU2D.mjs → stage-jKQ7CP_B.mjs} +1 -1
  117. package/dist/{start-C1JLjkNw.mjs → start-C_wefNKB.mjs} +1 -1
  118. package/dist/{start-YMpNwLhh.mjs → start-_BdJ32cZ.mjs} +9 -10
  119. package/dist/{state-DMRNP7-4.mjs → state-C1i2nMOP.mjs} +2 -3
  120. package/dist/{state-DPaM3u5K.mjs → state-C4OdpOTF.mjs} +1 -2
  121. package/dist/{stats-CP7STzZw.mjs → stats-tEpEEH-u.mjs} +4 -4
  122. package/dist/{status-cNw6i0_t.mjs → status-B9M7x4CZ.mjs} +1 -1
  123. package/dist/{status-Fect2w9R.mjs → status-CRXz-Gtj.mjs} +1 -1
  124. package/dist/{status-CRLiJ-O_.mjs → status-DQrqodLj.mjs} +22 -23
  125. package/dist/{status-watch-Bc2J4TZn.mjs → status-watch-B5wDIH_o.mjs} +4 -4
  126. package/dist/status-worker.mjs +1 -1
  127. package/dist/{stim-desktop-DS0mzR8U.mjs → stim-desktop-6Dqp-gjX.mjs} +1 -1
  128. package/dist/{stop-Br7LKxBE.mjs → stop-CmdNhGlC.mjs} +2 -2
  129. package/dist/{stop-Db9Kh-UA.mjs → stop-DRqQVqDJ.mjs} +21 -19
  130. package/dist/{stop-COP6PQqw.mjs → stop-ySNQHXMG.mjs} +4 -5
  131. package/dist/supervisor-run.d.mts +1 -0
  132. package/dist/supervisor-run.mjs +14 -15
  133. package/dist/{support-Cxj9CmII.mjs → support-BGSCBoib.mjs} +4 -4
  134. package/dist/{support-qKcbgmI5.mjs → support-CVOCp0Ft.mjs} +9 -9
  135. package/dist/{swiftpm-artifact-inputs-iY9fsmOc.mjs → swiftpm-artifact-inputs-CfUzt_0Z.mjs} +1 -1
  136. package/dist/{swiftpm-macos-Bp_sn9P4.mjs → swiftpm-macos-x6HPpl_2.mjs} +9 -9
  137. package/dist/toolchain-DoavrvIA.mjs +2 -0
  138. package/dist/toolchain-J4J8MrAr.mjs +2107 -0
  139. package/dist/trigger-DzJu208Q.mjs +2 -0
  140. package/dist/{trigger-CBMe2YLH.mjs → trigger-KVaWWNyn.mjs} +1 -1
  141. package/dist/{warm-progress-BV3ZPmcY.mjs → warm-progress-DvhTX_eu.mjs} +3 -4
  142. package/dist/web-BFLueSh-.mjs +2 -0
  143. package/dist/{web-B4Yjyt1G.mjs → web-Bihbf7-u.mjs} +8 -9
  144. package/dist/web-run.mjs +4 -4
  145. package/dist/{workspace-state-CPSp3mav.mjs → workspace-state-pUg3_RRA.mjs} +45 -7
  146. package/dist/{workspaces-C9w4aeXF.mjs → workspaces-g2lhdBXF.mjs} +17 -17
  147. package/dist/{worktree-CclFIe1Z.mjs → worktree-BKuklFh_.mjs} +34 -31
  148. package/dist/{worktree-Ct9Gk3KL.mjs → worktree-Bm4cb-nU.mjs} +1 -1
  149. package/package.json +8 -8
  150. package/dist/created-devices-D2Aca-xu.mjs +0 -52
  151. package/dist/paths-DQtTgsBf.mjs +0 -42
  152. package/dist/prebuild-JUaqOLpc.mjs +0 -501
  153. package/dist/server-expo-C16Zf2k7.mjs +0 -2
  154. package/dist/toolchain-DB1aeqxO.mjs +0 -2
  155. package/dist/toolchain-VzLJzZ7O.mjs +0 -908
  156. package/dist/trigger-BLsHgAGR.mjs +0 -2
  157. package/dist/web-DS4UDWvf.mjs +0 -2
  158. package/dist/xcode-CiIIDnuD.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-BBvS1H6v.mjs";
5
- import { f as writeWorkspaceStateAsync, r as readWorkspaceState } from "./workspace-state-CPSp3mav.mjs";
6
- 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-B5tCoq9N.mjs";
7
- import { L as workspaceDevServerMode, f as projectRegistry, i as findProjectRoot, v as detectIsExpo, z as writeWorkspaceLaunchAsync } from "./project-BiC68mIp.mjs";
8
- import { o as workspaceLinks } from "./stim-desktop-DS0mzR8U.mjs";
9
- import { c as pidExists, d as resolveProjectMetro, f as signalProcessTree } from "./metro-1pJgCX4U.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 { $t as RELEASE_VERIFY_WAIT_MS, Bt as bundleEntryPoint, Fn as readRemoteSimulatorArch, Ht as ensureMetroReachable, In as gateMetroOrigin, J as recordCapacityRefusal, K as readRunEstimates, Kn as loadProjectProvider, Kt as remoteIosDeps, On as launchIosApp, Qn as uploadRemote, Tn as iosAppProcess, Un as checkEasAuth, Ut as ensureRemoteBootOwned, X as recordRunStats, Xn as resolveEasCliBin, Xt as LAUNCH_FATAL, Yt as LAUNCH_BUNDLING, Zn as resolveRemote, Zt as LAUNCH_UNVERIFIED, _n as clearOtherUserApps, an as unverifiedLaunchLines, cn as verifyReleaseLaunch, in as unattributedLaunchLines, kn as restartedAppNote, nn as readCollectorRecords, pn as IOS_DEV_MENU_OFF_DEFAULTS_PLIST, qt as resolveRemoteContext, rn as readMetroRecords, sn as verifyLaunch, t as budgetGate, tn as isBundleProof, vn as devClientUrl, wn as installIosApp } from "./budget-HyShrIpL.mjs";
12
- import { L as acquireBuildSlot, z as releaseBuildSlot } from "./workspaces-C9w4aeXF.mjs";
13
- import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-BpjwrQXU.mjs";
14
- import { E as untrackedNativeFiles, b as storeBuild, d as fingerprintProject, y as resolveBuild } from "./build-cache-CKCzxzxA.mjs";
15
- import { d as listAllIosSims, h as listIosRuntimesAsync, r as clearIosAppData } from "./ios-BQzvJlzw.mjs";
16
- import { f as readBundleExecutable, m as resolveScheme, p as readBundleId } from "./xcode-CiIIDnuD.mjs";
17
- import { h as readPodState, m as podsAreStale, v as runPodInstall } from "./toolchain-VzLJzZ7O.mjs";
18
- import { n as readHostedIos, o as writeHostedIosAsync } from "./ios-state-CT9nV5SP.mjs";
19
- import { n as hostedMetroPortProbe } from "./hosted-native-BxTizGU2.mjs";
20
- import { n as prepareHostedIos, t as placeHostedIos } from "./hosted-ios-RtVcJH3u.mjs";
21
- import { n as verifyCollectorOwnership } from "./ownership-jxxz-19m.mjs";
22
- import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-QeuJMlnJ.mjs";
23
- import { c as startDevServer, g as detectBundleId } from "./start-YMpNwLhh.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-CwZB-agu.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-ogEeJ62K.mjs";
27
- import { r as checkDeviceCapacity } from "./device-capacity-ZYaRALv5.mjs";
28
- import { n as clearIosAdoptionPending } from "./device-ios-DkHBrmvH.mjs";
29
- import { i as deviceLabel, o as deviceShortName, t as appNameFromPath } from "./support-qKcbgmI5.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-CyDKNTBP.mjs";
32
- import { a as printNativeCrashReport, n as IOS_CRASH_REPORT_RETRY, o as simulatorConsolePaths, r as captureNativeCrashes, t as errorDiagnostics } from "./error-diagnostics-B1Mj_-7h.mjs";
33
- import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-B9w_Qyz3.mjs";
34
- import { a as runPrebuild, n as planPrebuildAsync } from "./prebuild-JUaqOLpc.mjs";
35
- import { n as devClientTakesDevMenuParams, r as hasDevClient, t as devClientScheme } from "./dev-client-CHoXXZeg.mjs";
36
- import { n as automaticDevicePlacement, t as checkEasFallback } from "./eas-fallback-gaZi-dJL.mjs";
37
- import { n as ensureBooted, o as warmMetro, r as ensureOwnedDevice } from "./device-B9FqTBYW.mjs";
38
- import { t as selectFromPool } from "./device-pool-BIg8MU8l.mjs";
39
- import { o as reportIosResult } from "./ios-project-DCUDo06I.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-CKSvk0bu.mjs";
41
- import { i as swapJsBundle } from "./js-swap-Z9HbC4cj.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);
@@ -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 { Nt as repoRoot } from "./settings-B5tCoq9N.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-BiC68mIp.mjs";
2
- import { Mn as pickDevClientScheme, Nn as readBundleSchemes } from "./budget-HyShrIpL.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
@@ -1,17 +1,17 @@
1
1
  import { D as ownership_claim_exports, t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
- import { D as withConfigLock$1, G as projectDeviceSlots, H as deviceSlotPlatforms, O as withConfigLockAsync$1, _ as loadConfig$1, a as clearDevice, b as releaseAndroidConsolePort, i as clearAndroidBootPending, j as acquireAvdClaim, t as allConsolePortsAndSerials, w as setDevice } from "./config-BZhXY15H.mjs";
3
- import { l as phaseLine } from "./command-output-BBvS1H6v.mjs";
4
- import { l as androidDataPartitionSizeGbSetting, o as androidAvdConfigSetting } from "./settings-B5tCoq9N.mjs";
5
- import { s as ownedDeviceLabel } from "./project-BiC68mIp.mjs";
6
- import { A as listAdbDevices, B as ownedAvdDeviceProfile, F as listAvdsAsync, H as ownedAvdMatchesConfiguration, I as listInstalledSystemImages, K as ownedAvdSystemImage, O as getAvdNameForSerialAsync, U as ownedAvdName, X as pickDefaultSystemImage, _ as avdPoolConfiguration, b as configureNewOwnedAvd, ct as waitForBoot, f as assertOwnedAvdStopped, gt as isLegacyDeletionClaim, j as listAdbDevicesAsync, n as OWNED_AVD_CONFIG_DEFAULTS, nt as resolveOwnedAvdSerialAsync, pt as adoptParked, t as DEFAULT_AVD_DEVICE_PROFILE, vt as parkedMaxSetting, x as createOwnedAvd, y as bootAndroidEmulator, yt as readParked, z as nextConsolePort } from "./android-Cjcj8MCw.mjs";
7
- import { c as pidExists } from "./metro-1pJgCX4U.mjs";
8
- import { O as teardownOwnedAvd, j as teardownParkedAvd } from "./workspaces-C9w4aeXF.mjs";
9
- import { h as tailLines } from "./activity-BpjwrQXU.mjs";
10
- import { F as memoryCulpritsUnderAsync, I as readHostMemoryPressure, R as reportMemoryCulprits, d as listAllIosSims, z as memoryCulpritAdvice } from "./ios-BQzvJlzw.mjs";
11
- import { t as clearDeviceIdleShutdown } from "./idle-shutdown-BIyfl0Zj.mjs";
12
- import { i as countLiveOwnedDevices, m as withDeviceBootAdmission, n as DeviceAdmissionRefusal } from "./device-capacity-ZYaRALv5.mjs";
13
- import { i as ensureOwnedIosDevice, r as ensureIosBooted } from "./device-ios-DkHBrmvH.mjs";
14
- import { t as reconcileSimSlim } from "./simslim-BjxszUAb.mjs";
2
+ import { D as withConfigLock$1, G as projectDeviceSlots, H as deviceSlotPlatforms, O as withConfigLockAsync$1, _ as loadConfig$1, a as clearDevice, b as releaseAndroidConsolePort, i as clearAndroidBootPending, j as acquireAvdClaim, t as allConsolePortsAndSerials, w as setDevice } from "./config-BktkY_zC.mjs";
3
+ import { l as phaseLine } from "./command-output-BF5AR2dL.mjs";
4
+ import { l as androidDataPartitionSizeGbSetting, o as androidAvdConfigSetting } from "./settings-CosW5X-S.mjs";
5
+ import { s as ownedDeviceLabel } from "./project-BUu6Is4k.mjs";
6
+ import { A as listAdbDevices, B as ownedAvdDeviceProfile, F as listAvdsAsync, H as ownedAvdMatchesConfiguration, I as listInstalledSystemImages, K as ownedAvdSystemImage, O as getAvdNameForSerialAsync, U as ownedAvdName, X as pickDefaultSystemImage, _ as avdPoolConfiguration, b as configureNewOwnedAvd, ct as waitForBoot, f as assertOwnedAvdStopped, gt as isLegacyDeletionClaim, j as listAdbDevicesAsync, n as OWNED_AVD_CONFIG_DEFAULTS, nt as resolveOwnedAvdSerialAsync, pt as adoptParked, t as DEFAULT_AVD_DEVICE_PROFILE, vt as parkedMaxSetting, x as createOwnedAvd, y as bootAndroidEmulator, yt as readParked, z as nextConsolePort } from "./android-DTAcRwBC.mjs";
7
+ import { c as pidExists } from "./metro-CjC10t6E.mjs";
8
+ import { O as teardownOwnedAvd, j as teardownParkedAvd } from "./workspaces-g2lhdBXF.mjs";
9
+ import { h as tailLines } from "./activity-Lnb_EoRY.mjs";
10
+ import { B as memoryCulpritAdvice, I as memoryCulpritsUnderAsync, L as readHostMemoryPressure, d as listAllIosSims, z as reportMemoryCulprits } from "./ios-WxpDJ5T1.mjs";
11
+ import { t as clearDeviceIdleShutdown } from "./idle-shutdown-FfxL1KdG.mjs";
12
+ import { i as countLiveOwnedDevices, m as withDeviceBootAdmission, n as DeviceAdmissionRefusal } from "./device-capacity-DCSvUF0l.mjs";
13
+ import { i as ensureOwnedIosDevice, r as ensureIosBooted } from "./device-ios-BLGfXQeK.mjs";
14
+ import { t as reconcileSimSlim } from "./simslim-Bax1qcxu.mjs";
15
15
  import { claimRemoveCommand, clearClaimChild, markClaimChildPending, processGroupAlive, releaseClaim, setClaimChild } from "@stim-cli/core/ownership-claim";
16
16
  import { randomUUID } from "node:crypto";
17
17
  import { existsSync } from "node:fs";
@@ -1,20 +1,20 @@
1
1
  import { b as operationState, t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
- import { G as projectDeviceSlots, V as deviceSlotKey, W as parseDeviceSlotOption, _ as loadConfig$1, p as getProject } from "./config-BZhXY15H.mjs";
2
+ import { G as projectDeviceSlots, V as deviceSlotKey, W as parseDeviceSlotOption, _ as loadConfig$1, p as getProject } from "./config-BktkY_zC.mjs";
3
3
  import { t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
4
- import { r as clockTime } from "./command-output-BBvS1H6v.mjs";
5
- import { J as resolveProjectSettings, Ut as makeTemporaryDirectory, Wt as removeTemporaryEntry, nt as settingValueAt, q as resolveIosProjectDir } from "./settings-B5tCoq9N.mjs";
6
- import { f as projectRegistry, g as selectNativeXcodeProject, i as findProjectRoot$1, p as NativeXcodeError, t as NO_PROJECT_REFUSAL } from "./project-BiC68mIp.mjs";
7
- import { A as listAdbDevices, O as getAvdNameForSerialAsync, R as memoizeEmulatorProbe, Y as physicalDeviceModel, Z as probeEmulatorSerial, c as androidPoolNoCandidatesRefusal, rt as resolvePhysicalDevice, s as androidPoolCandidates } from "./android-Cjcj8MCw.mjs";
8
- import { zn as runProcessOperation } from "./budget-HyShrIpL.mjs";
9
- import { C as parseLeaseDuration, D as releaseWorkspaceLeases, j as takeLease, y as fileLeaseIo } from "./activity-BpjwrQXU.mjs";
10
- import { m as resolveScheme, v as xcodebuildArgs } from "./xcode-CiIIDnuD.mjs";
11
- import { a as discoverXcodeProject } from "./react-native-build-CwZB-agu.mjs";
12
- import { l as parseDeviceWait, p as waitForDevice } from "./device-lease-run-ogEeJ62K.mjs";
13
- import { m as resolveConfiguration, y as resolveSchemeSelection } from "./support-qKcbgmI5.mjs";
4
+ import { r as clockTime } from "./command-output-BF5AR2dL.mjs";
5
+ import { J as resolveProjectSettings, Ut as makeTemporaryDirectory, Wt as removeTemporaryEntry, nt as settingValueAt, q as resolveIosProjectDir } from "./settings-CosW5X-S.mjs";
6
+ import { f as projectRegistry, g as selectNativeXcodeProject, i as findProjectRoot$1, p as NativeXcodeError, t as NO_PROJECT_REFUSAL } from "./project-BUu6Is4k.mjs";
7
+ import { A as listAdbDevices, O as getAvdNameForSerialAsync, R as memoizeEmulatorProbe, Y as physicalDeviceModel, Z as probeEmulatorSerial, c as androidPoolNoCandidatesRefusal, rt as resolvePhysicalDevice, s as androidPoolCandidates } from "./android-DTAcRwBC.mjs";
8
+ import { Un as runProcessOperation } from "./budget-k2mZGvvk.mjs";
9
+ import { C as parseLeaseDuration, D as releaseWorkspaceLeases, j as takeLease, y as fileLeaseIo } from "./activity-Lnb_EoRY.mjs";
10
+ import { H as resolveScheme, K as xcodebuildArgs } from "./toolchain-J4J8MrAr.mjs";
11
+ import { a as discoverXcodeProject } from "./react-native-build-oNwqF5Wb.mjs";
12
+ import { l as parseDeviceWait, p as waitForDevice } from "./device-lease-run-BmvIl7bI.mjs";
13
+ import { m as resolveConfiguration, y as resolveSchemeSelection } from "./support-CVOCp0Ft.mjs";
14
14
  import { n as findSigningIdentities, o as parsePlist, s as parseProvisioningProfilePlist, t as decodeProvisioningProfile } from "./ios-signing-4c_qXvQm.mjs";
15
- import { t as selectFromPool } from "./device-pool-BIg8MU8l.mjs";
16
- import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, l as listIosDevices, o as iosPoolNoCandidatesRefusal } from "./ios-device-CKSvk0bu.mjs";
17
- import { i as nativeXcodePackages, t as nativeXcodeHasPackages } from "./native-xcode-inputs-Cv4l-obn.mjs";
15
+ import { t as selectFromPool } from "./device-pool-Dluix4H3.mjs";
16
+ import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, l as listIosDevices, o as iosPoolNoCandidatesRefusal } from "./ios-device-CsyryvpT.mjs";
17
+ import { i as nativeXcodePackages, t as nativeXcodeHasPackages } from "./native-xcode-inputs-BW7H8JGu.mjs";
18
18
  import { existsSync, readdirSync, realpathSync, statSync } from "node:fs";
19
19
  import { homedir } from "node:os";
20
20
  import { join } from "node:path";