stim 1.32.0 → 1.33.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 (169) hide show
  1. package/dist/{acquire-artifact-CI9fIokp.mjs → acquire-artifact-DTh_LxrE.mjs} +2 -2
  2. package/dist/{act-BfChMxcU.mjs → act-Cur4YKtK.mjs} +22 -22
  3. package/dist/{activity-yjH7Q3zn.mjs → activity-C8kBq9w0.mjs} +6 -6
  4. package/dist/{agent-device-usage-output-DO412bsG.mjs → agent-device-usage-output-BTRaK_up.mjs} +5 -5
  5. package/dist/{android-BeeC15Ve.mjs → android-B2DSKg-A.mjs} +2 -2
  6. package/dist/{android-BNm5A40S.mjs → android-BL-QqHjc.mjs} +87 -53
  7. package/dist/{android-D56S_GX3.mjs → android-D5mCdVl2.mjs} +5 -5
  8. package/dist/{android-DsEj2CCs.mjs → android-Iq0M2t2d.mjs} +27 -15
  9. package/dist/{android-cas-CbumHXIq.mjs → android-cas-Dhcjkys1.mjs} +4 -4
  10. package/dist/android-cas-compiler.mjs +1 -1
  11. package/dist/android-image-DFk26aY6.mjs +254 -0
  12. package/dist/{android-project-CCEQyYJK.d.mts → android-project-BDlPnfmL.d.mts} +1 -1
  13. package/dist/api.d.mts +2 -1
  14. package/dist/api.mjs +28 -28
  15. package/dist/{apk-signed-tail-B9Usseps.mjs → apk-signed-tail-CPpA-3vu.mjs} +2 -2
  16. package/dist/{artifact-C8Nvp07y.mjs → artifact-BMjubIP2.mjs} +13 -13
  17. package/dist/{artifact-k1x9Jrn0.mjs → artifact-BufzdGbT.mjs} +34 -21
  18. package/dist/{artifact-platform-BO2Uvk_A.mjs → artifact-platform-DqCWUieN.mjs} +1 -1
  19. package/dist/{auto-placement--nfdQ9rp.mjs → auto-placement-D7P98glJ.mjs} +11 -9
  20. package/dist/{browser-web-6RDAeH0z.mjs → browser-web-C74et-Nv.mjs} +15 -15
  21. package/dist/{build-VXX_dtl5.mjs → build-DFBGWOTc.mjs} +23 -23
  22. package/dist/{build-cache-BsKim4V7.mjs → build-cache-Cqj4FGnX.mjs} +20 -8
  23. package/dist/{build-plan-BK34X2iY.mjs → build-plan-T3Hi24ax.mjs} +7 -7
  24. package/dist/{cache-manifest-CfiEny4T.mjs → cache-manifest-8JX9S1QJ.mjs} +1 -1
  25. package/dist/cache-manifest.mjs +1 -1
  26. package/dist/{ccache-BrwGIxmV.mjs → ccache-BXtzEL6M.mjs} +34 -24
  27. package/dist/{cdp-C3svvXiE.mjs → cdp-C216kOAn.mjs} +1 -1
  28. package/dist/{chrome-DyDWurWG.mjs → chrome-C8sC5tdl.mjs} +1 -1
  29. package/dist/{cli-Jc7obreB.mjs → cli-B2YSjc9s.mjs} +20 -20
  30. package/dist/cli.mjs +1 -1
  31. package/dist/{client-lDmA-5jx.mjs → client-0_Mnfz0a.mjs} +29 -9
  32. package/dist/collector-run.mjs +7 -7
  33. package/dist/{command-output-CfPW1bKP.mjs → command-output-DWI9tGPU.mjs} +1 -1
  34. package/dist/{config-D5qNWJEP.mjs → config-BW0fAtoK.mjs} +256 -246
  35. package/dist/{dependencies-DkZ8681S.mjs → dependencies-CgvBZbXD.mjs} +39 -39
  36. package/dist/{dependency-state-DZVln1P9.mjs → dependency-state-mL5g4H6K.mjs} +2 -2
  37. package/dist/{detached-entry-BPlSaCwC.mjs → detached-entry-tfrgGVWb.mjs} +1 -1
  38. package/dist/{dev-client-eDZy6RoX.mjs → dev-client-ChsHwgrn.mjs} +2 -2
  39. package/dist/{device-CeIikWac.mjs → device-B0htCt2u.mjs} +13 -13
  40. package/dist/{device-CTozKhU0.mjs → device-DOehZpyx.mjs} +11 -11
  41. package/dist/{device-android-zgD9We85.mjs → device-android-B8TQP5AX.mjs} +10 -10
  42. package/dist/{device-capacity-Bki6B-7h.mjs → device-capacity-BAkETfIl.mjs} +9 -9
  43. package/dist/device-host-worker.mjs +58 -17
  44. package/dist/{device-ios-TE5ejeXx.mjs → device-ios-DFaYFdar.mjs} +9 -9
  45. package/dist/{device-lease-run-DeNGjJZM.mjs → device-lease-run-DpiCnRbZ.mjs} +5 -5
  46. package/dist/{device-pool-mjyUYaau.mjs → device-pool-DP4sCeCC.mjs} +3 -3
  47. package/dist/{device-provision-j_B7G0e6.mjs → device-provision-CnNOIxCF.mjs} +10 -10
  48. package/dist/{doctor-sSLtn-j1.mjs → doctor-9GrW5YSP.mjs} +30 -17
  49. package/dist/{doctor-CNZuvTSe.mjs → doctor-C6Xn96RS.mjs} +1 -1
  50. package/dist/{doctor-fingerprint-o7ZI9YLn.mjs → doctor-fingerprint-DqWvIhMb.mjs} +1 -1
  51. package/dist/doctor-fingerprint.mjs +1 -1
  52. package/dist/{doctor-BlrcoQ7B.mjs → doctor-nRLBoajo.mjs} +54 -25
  53. package/dist/{doctor-watchman-CCuboyj1.mjs → doctor-watchman-CDhpC3Oh.mjs} +5 -5
  54. package/dist/{eas-build-CaG-Sfs9.mjs → eas-build-CpJ4h9tG.mjs} +4 -4
  55. package/dist/{eas-fallback-BpX1lpco.mjs → eas-fallback-B3z5nL1g.mjs} +6 -6
  56. package/dist/{eas-session-ledger-B-nTfdfk.mjs → eas-session-ledger-Bspy-VJQ.mjs} +6 -6
  57. package/dist/{error-diagnostics-q56Im4D8.mjs → error-diagnostics-DoLGklYX.mjs} +10 -10
  58. package/dist/{exec-aULwtNly.mjs → exec-CGuDzt40.mjs} +103 -103
  59. package/dist/{gc-By2Kc-Ek.mjs → gc-BWoOp9q7.mjs} +2 -2
  60. package/dist/{gc-Dv6nb9nf.mjs → gc-DolXpMSB.mjs} +25 -54
  61. package/dist/{guide-CwpsGWTJ.mjs → guide-CmZB0GtP.mjs} +139 -44
  62. package/dist/{hosted-android-c5nPJA6S.mjs → hosted-android-ByG-ICuh.mjs} +4 -4
  63. package/dist/{hosted-client-Hs-fD4L3.mjs → hosted-client-D19Lv0tg.mjs} +6 -5
  64. package/dist/{hosted-logs-BteXG8rm.mjs → hosted-logs-D7anR6Dk.mjs} +7 -7
  65. package/dist/{hosted-logs-sync-B8bjLEMs.mjs → hosted-logs-sync-D182b1eJ.mjs} +5 -5
  66. package/dist/{hosted-macos-B4byscei.mjs → hosted-macos-D0DDQxvl.mjs} +6 -6
  67. package/dist/{hosted-native-Bh9IJ_t5.mjs → hosted-native-BzXIy97W.mjs} +14 -10
  68. package/dist/{idle-shutdown-BaeCo4ps.mjs → idle-shutdown-6i8CHoNq.mjs} +6 -6
  69. package/dist/{ios-D1XKSITX.mjs → ios-AdhPKXO3.mjs} +8 -8
  70. package/dist/{ios-CdAV4-1E.mjs → ios-BdZdNsAj.mjs} +6 -6
  71. package/dist/{ios-CsRVik64.mjs → ios-Qam0bT9n.mjs} +1 -1
  72. package/dist/{ios-D3oK9-O4.mjs → ios-dbXzjTxx.mjs} +28 -28
  73. package/dist/{ios-device-CiBA-er9.mjs → ios-device-DLdEDWJj.mjs} +1 -1
  74. package/dist/{ios-device-D7Gi3e1I.mjs → ios-device-DXbHZfFe.mjs} +3 -3
  75. package/dist/{ios-project-DDQlX_jX.mjs → ios-project-BzfLigfh.mjs} +7 -7
  76. package/dist/{ios-signing-BJzvDPfU.mjs → ios-signing-D-tSX1iF.mjs} +2 -2
  77. package/dist/{ios-state-BEIJRJ7P.mjs → ios-state-CWsBysyN.mjs} +1 -1
  78. package/dist/{js-swap-C8N5DXHl.mjs → js-swap-EDVOJmqx.mjs} +6 -6
  79. package/dist/{launch-DxpvL6il.mjs → launch-CKHpthsw.mjs} +20 -20
  80. package/dist/{lightened-Df6II_XI.mjs → lightened-Cv4ToJRX.mjs} +5 -5
  81. package/dist/{logs-zv3ge7c6.mjs → logs-DCQ3_tGS.mjs} +6 -6
  82. package/dist/{logs-CuWJWF88.mjs → logs-IagR9dWI.mjs} +7 -7
  83. package/dist/{macos-C6U-4Iip.mjs → macos-Ch7vuM-G.mjs} +22 -22
  84. package/dist/{macos-CbRZheLw.mjs → macos-pc0aVVbN.mjs} +1 -1
  85. package/dist/macos-run.mjs +1 -1
  86. package/dist/maintenance-run.mjs +6 -6
  87. package/dist/{metro-mKHEMO-a.mjs → metro-B5PVz0Wv.mjs} +4 -4
  88. package/dist/{metro-request-DODHNXCN.mjs → metro-request-2LmFpC1z.mjs} +2 -2
  89. package/dist/{named-ports-B0hCk2v-.mjs → named-ports-CA0nB9Yw.mjs} +3 -3
  90. package/dist/{native-android-9dVFqvTT.mjs → native-android-B3CEDq4R.mjs} +29 -19
  91. package/dist/{native-gradle-artifact-inputs-BlY97pt8.mjs → native-gradle-artifact-inputs-BLnO2hHR.mjs} +5 -5
  92. package/dist/{native-runtime-DQfxW5Au.mjs → native-runtime-e1OU8gEN.mjs} +6 -6
  93. package/dist/{native-source-D1AzWiuP.mjs → native-source-ChAGj7R1.mjs} +1 -1
  94. package/dist/{native-xcode-inputs-tDuUvSU8.mjs → native-xcode-inputs-DL3ETb8s.mjs} +3 -3
  95. package/dist/{native-xcode-ios-CG-PD-7g.mjs → native-xcode-ios-D4e8k2Jy.mjs} +17 -17
  96. package/dist/offload-worker.d.mts +3 -1
  97. package/dist/offload-worker.mjs +37 -23
  98. package/dist/{operation-exec-Dp4FuIGR.mjs → operation-exec-DKlBcKAL.mjs} +1 -1
  99. package/dist/{ownership-CCfiBfOP.mjs → ownership-hC7xvvxF.mjs} +3 -3
  100. package/dist/{page-CQJlcj3x.mjs → page-Dj8IqvGM.mjs} +2 -2
  101. package/dist/{phone-reverses-CnNwdz9A.mjs → phone-reverses-rvyxW1Fl.mjs} +4 -4
  102. package/dist/{placement-log-CRL0IY-k.mjs → placement-log-nnGnu8mo.mjs} +1 -1
  103. package/dist/{plan-placement-2imvnlWP.mjs → plan-placement-D3JD-T-K.mjs} +6 -6
  104. package/dist/{ports-CKktj5lV.mjs → ports-CZJJfJ8Q.mjs} +3 -3
  105. package/dist/{prebuild-CyNrUWgV.mjs → prebuild-Bhs7TTcz.mjs} +12 -12
  106. package/dist/{project-Crtcbfl0.mjs → project-DWEXiBA9.mjs} +16 -16
  107. package/dist/{pull-request-BzLmzAIQ.mjs → pull-request-BpMTNkMB.mjs} +2 -2
  108. package/dist/pull-requests.mjs +1 -1
  109. package/dist/{react-native-android-Cabe2YER.mjs → react-native-android-C6Y270GS.mjs} +37 -33
  110. package/dist/{react-native-build-DhWBUV_H.mjs → react-native-build-DaPfzf_e.mjs} +10 -10
  111. package/dist/{react-native-doctor-D-twmBon.mjs → react-native-doctor-DGMPxkPS.mjs} +6 -6
  112. package/dist/{react-native-ios-u_ley41B.mjs → react-native-ios-dX48_92n.mjs} +21 -17
  113. package/dist/{recordings-BWnIlhZH.mjs → recordings-AKZfsW2W.mjs} +1 -1
  114. package/dist/{registration-BwCe64PH.mjs → registration-DKjJGQ6p.mjs} +1 -1
  115. package/dist/{reload-f9hvEHE9.mjs → reload-BGwblBJ9.mjs} +1 -1
  116. package/dist/{reload-D2TpUlns.mjs → reload-DsOByDfy.mjs} +17 -17
  117. package/dist/{remote-BsBAjlD2.mjs → remote-D0uJZ76R.mjs} +9 -9
  118. package/dist/{result-EOsWV6sp.mjs → result-DuimMZKJ.mjs} +24 -20
  119. package/dist/{run-2CHAJ9Oj.mjs → run-N-BbRxnC.mjs} +2 -2
  120. package/dist/{selection-C4ZQz_ER.mjs → selection-xS50Mt0V.mjs} +5 -4
  121. package/dist/{server-bare-CFyVFZXJ.mjs → server-bare-BTlICuaX.mjs} +2 -2
  122. package/dist/{server-command-BMyKtnjH.mjs → server-command-BC0EgMfY.mjs} +5 -5
  123. package/dist/{server-expo-BLxcN2x2.mjs → server-expo-15RjL0ir.mjs} +3 -3
  124. package/dist/server-expo-gYIypb0-.mjs +2 -0
  125. package/dist/{settings-C6UTYW2K.mjs → settings-B5IBDfTx.mjs} +4 -4
  126. package/dist/{settings-jeS0WmUF.mjs → settings-CuP55ieT.mjs} +2 -2
  127. package/dist/{settings-payload-CrX933Xi.mjs → settings-payload-BIGGQ3or.mjs} +5 -5
  128. package/dist/{settings-write-DMcT23Kl.mjs → settings-write-D85j8mej.mjs} +6 -6
  129. package/dist/settings.schema.json +38 -0
  130. package/dist/{simslim-93xmPh-d.mjs → simslim-DKdJx0LL.mjs} +2 -2
  131. package/dist/{slot-launch-CSpQcFZw.mjs → slot-launch-D4oREwhx.mjs} +6 -6
  132. package/dist/{stage-Cf9uSM1a.mjs → stage-DKC6tDXu.mjs} +2 -2
  133. package/dist/{start-CLN_r9EG.mjs → start-BsEV4S-s.mjs} +12 -12
  134. package/dist/{start-CquYgzVf.mjs → start-DfPSLc__.mjs} +1 -1
  135. package/dist/{state-CM_HvvkS.mjs → state-CtmYTRWm.mjs} +4 -4
  136. package/dist/{state-CiflgxTP.mjs → state-DSOUqO-o.mjs} +2 -2
  137. package/dist/{stats-BVEZuSlg.mjs → stats-ByEUblPr.mjs} +5 -5
  138. package/dist/{stats-report-B86Cv7Uc.mjs → stats-report-BVRCqwWA.mjs} +1 -1
  139. package/dist/{status-D0ruTmPl.mjs → status-C6hLlDqW.mjs} +37 -28
  140. package/dist/{status-GQ-JqvRi.mjs → status-DTFhDnd1.mjs} +1 -1
  141. package/dist/{status-Bhdy07v0.mjs → status-FP1MH9qn.mjs} +1 -1
  142. package/dist/{status-watch-DSu_hhg6.mjs → status-watch-D8s823CZ.mjs} +5 -5
  143. package/dist/status-worker.mjs +1 -1
  144. package/dist/{stim-desktop-1XxET4S8.mjs → stim-desktop-_WTria-r.mjs} +2 -2
  145. package/dist/{stop-RZqER_Ww.mjs → stop-5LKfVv-0.mjs} +2 -2
  146. package/dist/{stop-W4DK8qZq.mjs → stop-BVI2-L7s.mjs} +16 -16
  147. package/dist/{stop-B616ZyTv.mjs → stop-CpTy6bod.mjs} +5 -5
  148. package/dist/supervisor-run.mjs +16 -16
  149. package/dist/{support-S_5nkkzs.mjs → support-CqyWfZZI.mjs} +18 -8
  150. package/dist/{support-NxnD8QXd.mjs → support-D8OH0z98.mjs} +9 -9
  151. package/dist/{swiftpm-artifact-inputs-yp8D5LE4.mjs → swiftpm-artifact-inputs-uq5oV7xR.mjs} +4 -4
  152. package/dist/{swiftpm-macos-Gtq9bNQb.mjs → swiftpm-macos-BuhqYB3n.mjs} +11 -11
  153. package/dist/{toolchain-B2bN8jEo.mjs → toolchain-D_jotUG7.mjs} +1 -1
  154. package/dist/{toolchain-Bnm8vUCV.mjs → toolchain-s5ZmG42Z.mjs} +25 -14
  155. package/dist/{trigger-CfnOfpDd.mjs → trigger-BtB4kbe0.mjs} +2 -2
  156. package/dist/trigger-D8B7QR0q.mjs +2 -0
  157. package/dist/{warm-progress-_aTMvkIH.mjs → warm-progress-q11Vdvhh.mjs} +6 -6
  158. package/dist/{web-BdWG8b5_.mjs → web-DwYCTFdh.mjs} +9 -9
  159. package/dist/web-cCfM8kwV.mjs +2 -0
  160. package/dist/web-run.mjs +8 -8
  161. package/dist/windows-report.mjs +1 -1
  162. package/dist/{workspace-state-3bF4TB8P.mjs → workspace-state-BdZ-QgmB.mjs} +3 -3
  163. package/dist/{workspaces-C59v9bpD.mjs → workspaces-B3ahAHZc.mjs} +14 -14
  164. package/dist/{worktree-CinoSsGy.mjs → worktree-BhsML6GV.mjs} +77 -31
  165. package/dist/{worktree-K9F50fD_.mjs → worktree-CrjsPIs2.mjs} +1 -1
  166. package/package.json +7 -7
  167. package/dist/server-expo-DwR3eD-a.mjs +0 -2
  168. package/dist/trigger-DBZ-GBrl.mjs +0 -2
  169. package/dist/web-DwuluWJt.mjs +0 -2
@@ -1,28 +1,28 @@
1
- import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir, k as workspaceLogsDir$1 } from "./workspace-state-3bF4TB8P.mjs";
3
- import { A as writeConfigSetting } from "./config-D5qNWJEP.mjs";
1
+ import { t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { E as workspaceDir, k as workspaceLogsDir$1 } from "./workspace-state-BdZ-QgmB.mjs";
4
3
  import { n as stripAnsi } from "./process-output-Fpl8PYi8.mjs";
5
- import { o as git, s as gitAsync } from "./operation-exec-Dp4FuIGR.mjs";
6
- import { b as iosProjectDirSetting, d as androidLayoutSetting } from "./settings-C6UTYW2K.mjs";
7
- import { f as projectRegistry, g as selectNativeXcodeProject } from "./project-Crtcbfl0.mjs";
4
+ import { A as writeConfigSetting } from "./config-BW0fAtoK.mjs";
5
+ import { o as git, s as gitAsync } from "./operation-exec-DKlBcKAL.mjs";
6
+ import { b as iosProjectDirSetting, d as androidLayoutSetting } from "./settings-B5IBDfTx.mjs";
7
+ import { f as projectRegistry, g as selectNativeXcodeProject } from "./project-DWEXiBA9.mjs";
8
8
  import { s as parseNdjsonText$1 } from "./ndjson-CrjIsGzw.mjs";
9
- import { Tn as processContext, n as CCACHE_UNAVAILABLE, s as resolveCcache } from "./ccache-BrwGIxmV.mjs";
10
- import { E as readPodState, S as workerToolchain, T as podsAreStale, i as availableIphone, k as runPodInstall, x as useJdkMajor } from "./toolchain-Bnm8vUCV.mjs";
11
- import { S as refingerprintAfterMutation, i as compareSourceLists, m as fingerprintProject } from "./build-cache-BsKim4V7.mjs";
12
- import { _ as unmetNodePin, g as projectNodeLine, h as pathNodeVersion, v as withProjectNode } from "./server-expo-BLxcN2x2.mjs";
13
- import { C as COMPILATION_CACHE_CORRUPT, b as validateGradleManifest, f as reactNativeArtifactReceipt, g as gradleStateDirectories, h as gradleOffloadInputs, m as reactNativeBuildQuery, p as reactNativeArtifactToolchain, v as nativeGradleOutputs, w as clearCorruptCompilationCache, x as verifyGradleTransfer } from "./client-lDmA-5jx.mjs";
9
+ import { Tn as processContext, n as CCACHE_UNAVAILABLE, s as resolveCcache } from "./ccache-BXtzEL6M.mjs";
10
+ import { E as readPodState, S as workerToolchain, T as podsAreStale, i as availableIphone, k as runPodInstall, x as useJdkMajor } from "./toolchain-s5ZmG42Z.mjs";
11
+ import { C as refingerprintAfterMutation, a as compareSourceLists, h as fingerprintProject, i as changedOnlyInside } from "./build-cache-Cqj4FGnX.mjs";
12
+ import { _ as unmetNodePin, g as projectNodeLine, h as pathNodeVersion, v as withProjectNode } from "./server-expo-15RjL0ir.mjs";
13
+ import { C as COMPILATION_CACHE_CORRUPT, b as validateGradleManifest, f as reactNativeArtifactReceipt, g as gradleStateDirectories, h as gradleOffloadInputs, m as reactNativeBuildQuery, p as reactNativeArtifactToolchain, v as nativeGradleOutputs, w as clearCorruptCompilationCache, x as verifyGradleTransfer } from "./client-0_Mnfz0a.mjs";
14
14
  import { n as fingerprintNativeInputs, r as manifestDigest } from "./native-inputs-TRTTTRxt.mjs";
15
- import { a as sourceManifest, o as verifyNativeTransfer } from "./native-source-D1AzWiuP.mjs";
16
- import { n as buildAndroid, o as gradlewPath, r as buildIos, u as assembleTaskFor } from "./react-native-build-DhWBUV_H.mjs";
17
- import { f as podAction } from "./support-NxnD8QXd.mjs";
18
- import { r as nativeXcodeMetadataDirectories } from "./native-xcode-inputs-tDuUvSU8.mjs";
19
- import { a as runPrebuild, r as recordPrebuild, t as planPrebuild } from "./prebuild-CyNrUWgV.mjs";
20
- import { g as dumpApkManifest, p as apkPackage } from "./support-S_5nkkzs.mjs";
21
- import { n as buildAndroidOperation, t as buildIosOperation } from "./build-VXX_dtl5.mjs";
22
- import { i as stageBundle, n as resolveBundleExtras } from "./stage-Cf9uSM1a.mjs";
23
- import { t as logLines } from "./run-2CHAJ9Oj.mjs";
24
- import { n as swiftpmArtifactInputs, r as swiftpmArtifactSnapshot, t as readSwiftpmArtifactToolchain } from "./swiftpm-artifact-inputs-yp8D5LE4.mjs";
25
- import { a as nativeGradleWorkerArtifactIdentity, i as nativeGradleArtifactSnapshotFromReceipt, o as nativeGradleWorkerScope } from "./native-gradle-artifact-inputs-BlY97pt8.mjs";
15
+ import { a as sourceManifest, o as verifyNativeTransfer } from "./native-source-ChAGj7R1.mjs";
16
+ import { n as buildAndroid, o as gradlewPath, r as buildIos, u as assembleTaskFor } from "./react-native-build-DaPfzf_e.mjs";
17
+ import { f as podAction } from "./support-D8OH0z98.mjs";
18
+ import { r as nativeXcodeMetadataDirectories } from "./native-xcode-inputs-DL3ETb8s.mjs";
19
+ import { a as runPrebuild, r as recordPrebuild, t as planPrebuild } from "./prebuild-Bhs7TTcz.mjs";
20
+ import { g as dumpApkManifest, p as apkPackage } from "./support-CqyWfZZI.mjs";
21
+ import { n as buildAndroidOperation, t as buildIosOperation } from "./build-DFBGWOTc.mjs";
22
+ import { i as stageBundle, n as resolveBundleExtras } from "./stage-DKC6tDXu.mjs";
23
+ import { t as logLines } from "./run-N-BbRxnC.mjs";
24
+ import { n as swiftpmArtifactInputs, r as swiftpmArtifactSnapshot, t as readSwiftpmArtifactToolchain } from "./swiftpm-artifact-inputs-uq5oV7xR.mjs";
25
+ import { a as nativeGradleWorkerArtifactIdentity, i as nativeGradleArtifactSnapshotFromReceipt, o as nativeGradleWorkerScope } from "./native-gradle-artifact-inputs-BLnO2hHR.mjs";
26
26
  import { createHash } from "node:crypto";
27
27
  import { chmodSync, constants, copyFileSync, cpSync, createReadStream, createWriteStream, existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, readlinkSync, realpathSync, renameSync, rmSync, statSync, symlinkSync, writeFileSync } from "node:fs";
28
28
  import { isDeepStrictEqual } from "node:util";
@@ -510,6 +510,16 @@ function fingerprintMismatch(job, there, sources, mutated) {
510
510
  ].join("; ");
511
511
  }
512
512
  /**
513
+ * Why the synced checkout does not build under the client's fingerprint, or null. A client without Xcode left pod
514
+ * install to this machine and cannot have the files it rewrites or generates in `iosDir`, so a fingerprint that
515
+ * differs only in sources there stands; any other difference, such as the app config, still refuses.
516
+ */
517
+ function fingerprintRefusal(job, iosDir, built, mutated) {
518
+ if (built.hash === job.expectedFingerprint) return null;
519
+ if (job.podsOnWorker && job.expectedSources && changedOnlyInside(job.expectedSources, [...built.sources], iosDir)) return null;
520
+ return fingerprintMismatch(job, built.hash, built.sources, mutated());
521
+ }
522
+ /**
513
523
  * Puts the Node that `root`, or the nearest directory above it in `src`, pins first on this worker's `PATH`, and
514
524
  * reports which Node the build runs on.
515
525
  */
@@ -794,10 +804,14 @@ async function build(job) {
794
804
  sources = after.sources;
795
805
  if (mutations.includes("expo prebuild")) recordPrebuild(realRoot, platform, after.hash);
796
806
  }
797
- if (fingerprint !== job.expectedFingerprint) return failed("fingerprint-mismatch", fingerprintMismatch(job, fingerprint, sources, {
807
+ const refused = fingerprintRefusal(job, iosProject.relative, {
808
+ hash: fingerprint,
809
+ sources
810
+ }, () => ({
798
811
  steps: mutations,
799
812
  files: mutations.length ? rewrittenFiles(src, job.manifest, mirrored.record) : []
800
813
  }));
814
+ if (refused) return failed("fingerprint-mismatch", refused);
801
815
  const tools = job.cacheArtifact ? await reactNativeArtifactToolchain(platform, realRoot, iosProject.dir) : null;
802
816
  const query = tools ? reactNativeBuildQuery(job, fingerprint, job.project, tools) : null;
803
817
  const receipt = query ? reactNativeArtifactReceipt(query, tools) : null;
@@ -1,4 +1,4 @@
1
- import { b as operationState, c as throwIfCancelled, l as WorkspaceProcessCleanupError, t as getExecutor } from "./exec-aULwtNly.mjs";
1
+ import { C as operationState, d as throwIfCancelled, f as WorkspaceProcessCleanupError, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
2
  import { sep } from "node:path";
3
3
  //#region src/workspace/git.ts
4
4
  const GIT_TIMEOUT_MS = 1e4;
@@ -1,6 +1,6 @@
1
- import { S as process_identity_exports } from "./exec-aULwtNly.mjs";
2
- import { c as withWorkspaceStateLock, d as writeWorkspaceState, r as readWorkspaceState } from "./workspace-state-3bF4TB8P.mjs";
3
- import { c as pidExists } from "./metro-mKHEMO-a.mjs";
1
+ import { T as process_identity_exports } from "./exec-CGuDzt40.mjs";
2
+ import { c as withWorkspaceStateLock, d as writeWorkspaceState, r as readWorkspaceState } from "./workspace-state-BdZ-QgmB.mjs";
3
+ import { c as pidExists } from "./metro-B5PVz0Wv.mjs";
4
4
  import { realpathSync } from "node:fs";
5
5
  //#region src/collector/state.ts
6
6
  function collectorRoot(root) {
@@ -1,5 +1,5 @@
1
- import { S as process_identity_exports, c as throwIfCancelled } from "./exec-aULwtNly.mjs";
2
- import { t as connectOwnedBrowser } from "./cdp-C3svvXiE.mjs";
1
+ import { T as process_identity_exports, d as throwIfCancelled } from "./exec-CGuDzt40.mjs";
2
+ import { t as connectOwnedBrowser } from "./cdp-C216kOAn.mjs";
3
3
  //#region src/web/page.ts
4
4
  /** The record of a verified live browser: its supervisor and Chrome are the processes the record names. */
5
5
  function liveWebRecord(record) {
@@ -1,7 +1,7 @@
1
- import { r as readWorkspaceState$1, s as updateWorkspaceStateAsync } from "./workspace-state-3bF4TB8P.mjs";
2
- import { H as deviceSlotKey, W as parseDeviceSlotKey } from "./config-D5qNWJEP.mjs";
3
- import { tt as removeMetroReverses } from "./android-DsEj2CCs.mjs";
4
- import { a as stopHostedNative, i as prepareHostedNative, r as placeHostedNative } from "./hosted-native-Bh9IJ_t5.mjs";
1
+ import { r as readWorkspaceState$1, s as updateWorkspaceStateAsync } from "./workspace-state-BdZ-QgmB.mjs";
2
+ import { dt as deviceSlotKey, pt as parseDeviceSlotKey } from "./config-BW0fAtoK.mjs";
3
+ import { tt as removeMetroReverses } from "./android-Iq0M2t2d.mjs";
4
+ import { a as stopHostedNative, i as prepareHostedNative, r as placeHostedNative } from "./hosted-native-BzXIy97W.mjs";
5
5
  import { isJsonObject } from "@stim-cli/core/state";
6
6
  //#region src/device-host/hosted-ios.ts
7
7
  async function prepareHostedIos(machine, selectors, recorded, mode) {
@@ -1,4 +1,4 @@
1
- import { r as buildPlacementSettings } from "./selection-C4ZQz_ER.mjs";
1
+ import { r as buildPlacementSettings } from "./selection-xS50Mt0V.mjs";
2
2
  //#region src/placement-log.ts
3
3
  /** `machine` is `local` when the run stays on this machine. */
4
4
  function placementRecord(input) {
@@ -1,9 +1,9 @@
1
- import { v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
2
- import { Tn as processContext } from "./ccache-BrwGIxmV.mjs";
3
- import { _ as hostingMachines } from "./selection-C4ZQz_ER.mjs";
4
- import { r as readHostedNative } from "./ios-state-BEIJRJ7P.mjs";
5
- import { n as buildPreferenceRefusal } from "./settings-payload-CrX933Xi.mjs";
6
- import { r as probeHost, t as automaticDevicePlacement } from "./auto-placement--nfdQ9rp.mjs";
1
+ import { v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
2
+ import { Tn as processContext } from "./ccache-BXtzEL6M.mjs";
3
+ import { _ as hostingMachines } from "./selection-xS50Mt0V.mjs";
4
+ import { r as readHostedNative } from "./ios-state-CWsBysyN.mjs";
5
+ import { n as buildPreferenceRefusal } from "./settings-payload-BIGGQ3or.mjs";
6
+ import { r as probeHost, t as automaticDevicePlacement } from "./auto-placement-D7P98glJ.mjs";
7
7
  import { automaticMachineEnabled } from "@stim-cli/core/state";
8
8
  //#region src/device-host/plan-placement.ts
9
9
  const DOCTOR_REMEDY = "Run `stim doctor` to check the hosts and settings placement uses.";
@@ -1,6 +1,6 @@
1
- import { m as getProject } from "./config-D5qNWJEP.mjs";
2
- import { n as findCommandWorkspace } from "./project-Crtcbfl0.mjs";
3
- import { n as getNamedPort, t as clearNamedPorts } from "./named-ports-B0hCk2v-.mjs";
1
+ import { m as getProject } from "./config-BW0fAtoK.mjs";
2
+ import { n as findCommandWorkspace } from "./project-DWEXiBA9.mjs";
3
+ import { n as getNamedPort, t as clearNamedPorts } from "./named-ports-CA0nB9Yw.mjs";
4
4
  //#region src/commands/ports.ts
5
5
  async function inProject(action) {
6
6
  try {
@@ -1,16 +1,16 @@
1
- import { E as debugLog, _ as spawnDeclared, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { M as withDirLock$1, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, y as sharedBuildCache } from "./workspace-state-3bF4TB8P.mjs";
1
+ import { E as debugLog, b as spawnDeclared, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { M as withDirLock$1, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, y as sharedBuildCache } from "./workspace-state-BdZ-QgmB.mjs";
3
3
  import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
4
- import { m as shortHash } from "./command-output-CfPW1bKP.mjs";
5
- import { o as git, s as gitAsync } from "./operation-exec-Dp4FuIGR.mjs";
6
- import { Ct as gitCommonDirOnDisk } from "./settings-C6UTYW2K.mjs";
7
- import { v as detectIsExpo } from "./project-Crtcbfl0.mjs";
8
- import { Vn as remoteCliInvocation } from "./ccache-BrwGIxmV.mjs";
9
- import { r as register } from "./cache-manifest-CfiEny4T.mjs";
10
- import { nt as STIM_VERSION } from "./workspaces-C59v9bpD.mjs";
11
- import { D as storedSources, m as fingerprintProject, o as diffFingerprintSources, p as fingerprintOptions, u as expoEnvFiles, v as packageIn } from "./build-cache-BsKim4V7.mjs";
12
- import { i as expoBinRefusal, o as expoSdkMajor, r as expoBinPath, s as expoTelemetryEnv } from "./server-expo-BLxcN2x2.mjs";
13
- import { t as readDoctorFingerprint } from "./doctor-fingerprint-o7ZI9YLn.mjs";
4
+ import { m as shortHash } from "./command-output-DWI9tGPU.mjs";
5
+ import { o as git, s as gitAsync } from "./operation-exec-DKlBcKAL.mjs";
6
+ import { Ct as gitCommonDirOnDisk } from "./settings-B5IBDfTx.mjs";
7
+ import { v as detectIsExpo } from "./project-DWEXiBA9.mjs";
8
+ import { Vn as remoteCliInvocation } from "./ccache-BXtzEL6M.mjs";
9
+ import { r as register } from "./cache-manifest-8JX9S1QJ.mjs";
10
+ import { nt as STIM_VERSION } from "./workspaces-B3ahAHZc.mjs";
11
+ import { O as storedSources, d as expoEnvFiles, h as fingerprintProject, m as fingerprintOptions, s as diffFingerprintSources, y as packageIn } from "./build-cache-Cqj4FGnX.mjs";
12
+ import { i as expoBinRefusal, o as expoSdkMajor, r as expoBinPath, s as expoTelemetryEnv } from "./server-expo-15RjL0ir.mjs";
13
+ import { t as readDoctorFingerprint } from "./doctor-fingerprint-DqWvIhMb.mjs";
14
14
  import { createRequire } from "node:module";
15
15
  import { createHash } from "node:crypto";
16
16
  import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, readlinkSync, realpathSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
@@ -1,7 +1,7 @@
1
- import { S as process_identity_exports } from "./exec-aULwtNly.mjs";
2
- import { C as supervisorPidFile, c as withWorkspaceStateLock, j as workspaceStateFile$1, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-3bF4TB8P.mjs";
3
- import { H as deviceSlotKey, W as parseDeviceSlotKey, _ as isPathPrefix$1, l as findEnclosingWorktreeRoot, m as getProject, v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
4
- import { Bt as repoRoot, Y as resolveIosProjectDir, ct as webSettings, it as settingValueAt, q as resolveAndroidLayout } from "./settings-C6UTYW2K.mjs";
1
+ import { T as process_identity_exports } from "./exec-CGuDzt40.mjs";
2
+ import { C as supervisorPidFile, c as withWorkspaceStateLock, j as workspaceStateFile$1, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-BdZ-QgmB.mjs";
3
+ import { _ as isPathPrefix$1, dt as deviceSlotKey, l as findEnclosingWorktreeRoot, m as getProject, pt as parseDeviceSlotKey, v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
4
+ import { Bt as repoRoot, Y as resolveIosProjectDir, ct as webSettings, it as settingValueAt, q as resolveAndroidLayout } from "./settings-B5IBDfTx.mjs";
5
5
  import { existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, rmSync, statSync, writeFileSync } from "node:fs";
6
6
  import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
7
7
  import { projectRootDirectories } from "@stim-cli/core/state";
@@ -311,8 +311,8 @@ const nativeAndroidIntegration = {
311
311
  application: true,
312
312
  platforms: () => ["android"],
313
313
  validate: (operation) => operation === "android" ? null : void 0,
314
- android: async () => (await import("./native-android-9dVFqvTT.mjs")).nativeAndroidProject(root),
315
- doctor: async () => (await import("./native-android-9dVFqvTT.mjs")).nativeAndroidDoctor(root)
314
+ android: async () => (await import("./native-android-B3CEDq4R.mjs")).nativeAndroidProject(root),
315
+ doctor: async () => (await import("./native-android-B3CEDq4R.mjs")).nativeAndroidDoctor(root)
316
316
  };
317
317
  }
318
318
  };
@@ -740,8 +740,8 @@ const nativeXcodeProjectIntegration = {
740
740
  application: problem === null,
741
741
  platforms: () => problem ? [] : ["ios"],
742
742
  validate: (operation) => operation === "ios" ? problem : void 0,
743
- ios: async () => (await import("./native-xcode-ios-CG-PD-7g.mjs")).nativeXcodeIosProject(root),
744
- doctor: async () => (await import("./native-xcode-ios-CG-PD-7g.mjs")).nativeXcodeDoctor(root)
743
+ ios: async () => (await import("./native-xcode-ios-D4e8k2Jy.mjs")).nativeXcodeIosProject(root),
744
+ doctor: async () => (await import("./native-xcode-ios-D4e8k2Jy.mjs")).nativeXcodeDoctor(root)
745
745
  };
746
746
  }
747
747
  };
@@ -946,7 +946,7 @@ function createProjectRegistry(integrations) {
946
946
  //#region src/integrations/projects.ts
947
947
  const expo = {
948
948
  mode: MODE_EXPO,
949
- loadDevServer: async () => (await import("./server-expo-DwR3eD-a.mjs")).startExpoServer,
949
+ loadDevServer: async () => (await import("./server-expo-gYIypb0-.mjs")).startExpoServer,
950
950
  platforms(root) {
951
951
  const appJson = readAppJson(root);
952
952
  const config = appJson?.expo ?? appJson;
@@ -966,7 +966,7 @@ const expo = {
966
966
  };
967
967
  const reactNative = {
968
968
  mode: MODE_BARE,
969
- loadDevServer: async () => (await import("./server-bare-CFyVFZXJ.mjs")).startBareServer,
969
+ loadDevServer: async () => (await import("./server-bare-BTlICuaX.mjs")).startBareServer,
970
970
  platforms(root, { context, settings }) {
971
971
  if (!declaresAppDependency(readPackageJson(root))) return [];
972
972
  const platforms = [];
@@ -996,9 +996,9 @@ const projectRegistry = createProjectRegistry([
996
996
  ownedRoots: problem === null ? [join(root, "ios"), join(root, "android")] : [],
997
997
  platforms: (resolved) => nativeProjectIntegration(root).platforms(root, resolved),
998
998
  validate: (operation) => operation === "ios" || operation === "android" || operation === "dev-server" ? problem : void 0,
999
- ios: async (settings) => (await import("./react-native-ios-u_ley41B.mjs")).reactNativeIosProject(root, settings),
1000
- android: async (resolved) => (await import("./react-native-android-Cabe2YER.mjs")).reactNativeAndroidProject(root, resolved),
1001
- doctor: async () => (await import("./react-native-doctor-D-twmBon.mjs")).reactNativeProjectDoctor(root)
999
+ ios: async (settings) => (await import("./react-native-ios-dX48_92n.mjs")).reactNativeIosProject(root, settings),
1000
+ android: async (resolved) => (await import("./react-native-android-C6Y270GS.mjs")).reactNativeAndroidProject(root, resolved),
1001
+ doctor: async () => (await import("./react-native-doctor-DGMPxkPS.mjs")).reactNativeProjectDoctor(root)
1002
1002
  };
1003
1003
  }
1004
1004
  },
@@ -1012,9 +1012,9 @@ const projectRegistry = createProjectRegistry([
1012
1012
  application: true,
1013
1013
  platforms: ({ settings }) => settingValueAt(settings, "macos.product") && settingValueAt(settings, "macos.infoPlist") ? ["macos"] : [],
1014
1014
  validate: (operation) => operation === "macos" ? null : void 0,
1015
- macos: async () => (await import("./swiftpm-macos-Gtq9bNQb.mjs")).swiftpmMacosProject(root),
1015
+ macos: async () => (await import("./swiftpm-macos-BuhqYB3n.mjs")).swiftpmMacosProject(root),
1016
1016
  doctor: async () => {
1017
- const { macosToolchain, macosToolchainAsync } = await import("./toolchain-B2bN8jEo.mjs");
1017
+ const { macosToolchain, macosToolchainAsync } = await import("./toolchain-D_jotUG7.mjs");
1018
1018
  return {
1019
1019
  inspect: () => [],
1020
1020
  offloadTargets: ({ options: { host = process.platform, platform, operation } }) => host === "darwin" && platform === void 0 ? async () => [{
@@ -1034,7 +1034,7 @@ const projectRegistry = createProjectRegistry([
1034
1034
  application: false,
1035
1035
  platforms: ({ settings }) => webSettings(settings).url !== null ? ["web"] : [],
1036
1036
  validate: (operation) => operation === "web" ? null : void 0,
1037
- web: async () => (await import("./browser-web-6RDAeH0z.mjs")).browserWebProject(root)
1037
+ web: async () => (await import("./browser-web-C74et-Nv.mjs")).browserWebProject(root)
1038
1038
  };
1039
1039
  }
1040
1040
  },
@@ -1,5 +1,5 @@
1
- import { l as WorkspaceProcessCleanupError, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { c as gitQuiet, l as gitQuietAsync, r as childEnvironment, s as gitAsync, t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
1
+ import { f as WorkspaceProcessCleanupError, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { c as gitQuiet, l as gitQuietAsync, r as childEnvironment, s as gitAsync, t as runOperationFile } from "./operation-exec-DKlBcKAL.mjs";
3
3
  //#region src/workspace/pull-request.ts
4
4
  const GH_TIMEOUT_MS = 2e4;
5
5
  const GH_ENV = {
@@ -1,2 +1,2 @@
1
- import { a as pullRequestLookup, c as selectPullRequest, i as parseRemoteRepo, l as worktreePullRequests, n as describePullRequest, o as pullRequestLookupAsync, r as endedPullRequest, s as pullRequestLookups, t as checkCounts } from "./pull-request-BzLmzAIQ.mjs";
1
+ import { a as pullRequestLookup, c as selectPullRequest, i as parseRemoteRepo, l as worktreePullRequests, n as describePullRequest, o as pullRequestLookupAsync, r as endedPullRequest, s as pullRequestLookups, t as checkCounts } from "./pull-request-BpMTNkMB.mjs";
2
2
  export { checkCounts, describePullRequest, endedPullRequest, parseRemoteRepo, pullRequestLookup, pullRequestLookupAsync, pullRequestLookups, selectPullRequest, worktreePullRequests };
@@ -1,30 +1,31 @@
1
- import { C as reportSignal, _ as spawnDeclared, b as operationState, c as throwIfCancelled, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { r as readWorkspaceState } from "./workspace-state-3bF4TB8P.mjs";
3
- import { J as validateDeviceSlot, U as deviceSlotPlatforms, m as getProject } from "./config-D5qNWJEP.mjs";
1
+ import { C as operationState, b as spawnDeclared, d as throwIfCancelled, r as reportSignal, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { r as readWorkspaceState } from "./workspace-state-BdZ-QgmB.mjs";
4
3
  import { r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
5
- import { i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-CfPW1bKP.mjs";
6
- import { a as killOnAbort, t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
7
- import { B as publicUrlSetting, H as realpathInside, W as remoteEasFallbackSetting, an as makeTemporaryDirectory, at as settingsLayers, m as defaultAndroidLayout, nt as settingOriginScope, on as removeTemporaryEntry, ot as tunnelModeSetting, q as resolveAndroidLayout } from "./settings-C6UTYW2K.mjs";
8
- import { v as detectIsExpo } from "./project-Crtcbfl0.mjs";
9
- import { J as ownedAvdSystemImage, O as findBuildTool, Q as pickDefaultSystemImage, R as listAvdsAsync, U as ownedAvdDirectory, j as hostSystemImageArch, l as androidSystemImageAbi, r as androidBuildToolName, z as listInstalledSystemImages } from "./android-DsEj2CCs.mjs";
10
- import { An as checkEasAuth, Bn as bundleInvocation, Nn as loadProjectProvider, Rn as resolveRemote, Tn as processContext, s as resolveCcache } from "./ccache-BrwGIxmV.mjs";
11
- import { lt as statsProjectKey } from "./workspaces-C59v9bpD.mjs";
12
- import { K as tailLines, M as HEARTBEAT_INTERVAL_MS, W as startBuildHeartbeat, r as androidToolchainAsync, t as androidRequirements } from "./toolchain-Bnm8vUCV.mjs";
13
- import { A as untrackedNativeFiles, C as resolveBuild, E as storedAssetManifest, M as captureAssetManifest, N as compareAssetManifests, P as readAssetManifest, S as refingerprintAfterMutation, _ as inputsChangedDuringBuild, a as configInputsChanged, d as filesystemBuildCapability, f as fingerprintDiffRecord, h as gitignoredFingerprintInputs, j as assetDiffReason, k as untrackedMissLine, m as fingerprintProject, n as buildCacheKey, r as changedDuringBuildLine, w as storeBuild } from "./build-cache-BsKim4V7.mjs";
14
- import { s as expoTelemetryEnv, t as cleanLine } from "./server-expo-BLxcN2x2.mjs";
15
- import { c as readProductFlavors, h as androidPathRoomRefusal, n as buildAndroid, s as productFlavorRefusal } from "./react-native-build-DhWBUV_H.mjs";
16
- import { h as detectAppIds, m as detectAndroidPackage } from "./start-CLN_r9EG.mjs";
17
- import { t as readDoctorFingerprint } from "./doctor-fingerprint-o7ZI9YLn.mjs";
18
- import { i as planEasDevelopmentBuild } from "./eas-build-CaG-Sfs9.mjs";
19
- import { a as runPrebuild, c as fingerprintErrorMissReason, d as memoizedFingerprint, i as recordPrebuildAsync, n as planPrebuildAsync, o as staleNativeDirRefusal, s as explainBuildMiss, t as planPrebuild } from "./prebuild-CyNrUWgV.mjs";
20
- import { a as PLATFORM, c as androidGradleProject, g as dumpApkManifest, h as displayPath, i as NO_FINGERPRINT, l as androidJobLayout, o as androidBuildOptions, p as apkPackage, r as NO_DEVICE } from "./support-S_5nkkzs.mjs";
4
+ import { i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-DWI9tGPU.mjs";
5
+ import { _t as validateDeviceSlot, ft as deviceSlotPlatforms, m as getProject } from "./config-BW0fAtoK.mjs";
6
+ import { a as killOnAbort, t as runOperationFile } from "./operation-exec-DKlBcKAL.mjs";
7
+ import { B as publicUrlSetting, H as realpathInside, W as remoteEasFallbackSetting, an as makeTemporaryDirectory, at as settingsLayers, m as defaultAndroidLayout, nt as settingOriginScope, on as removeTemporaryEntry, ot as tunnelModeSetting, q as resolveAndroidLayout } from "./settings-B5IBDfTx.mjs";
8
+ import { v as detectIsExpo } from "./project-DWEXiBA9.mjs";
9
+ import { J as ownedAvdSystemImage, O as findBuildTool, R as listAvdsAsync, U as ownedAvdDirectory, l as androidSystemImageAbi, r as androidBuildToolName, z as listInstalledSystemImages } from "./android-Iq0M2t2d.mjs";
10
+ import { An as checkEasAuth, Bn as bundleInvocation, Nn as loadProjectProvider, Rn as resolveRemote, Tn as processContext, s as resolveCcache } from "./ccache-BXtzEL6M.mjs";
11
+ import { lt as statsProjectKey } from "./workspaces-B3ahAHZc.mjs";
12
+ import { K as tailLines, M as HEARTBEAT_INTERVAL_MS, W as startBuildHeartbeat, r as androidToolchainAsync, t as androidRequirements } from "./toolchain-s5ZmG42Z.mjs";
13
+ import { A as untrackedMissLine, C as refingerprintAfterMutation, D as storedAssetManifest, F as readAssetManifest, M as assetDiffReason, N as captureAssetManifest, P as compareAssetManifests, T as storeBuild, f as filesystemBuildCapability, g as gitignoredFingerprintInputs, h as fingerprintProject, j as untrackedNativeFiles, n as buildCacheKey, o as configInputsChanged, p as fingerprintDiffRecord, r as changedDuringBuildLine, v as inputsChangedDuringBuild, w as resolveBuild } from "./build-cache-Cqj4FGnX.mjs";
14
+ import { s as expoTelemetryEnv, t as cleanLine } from "./server-expo-15RjL0ir.mjs";
15
+ import { c as readProductFlavors, h as androidPathRoomRefusal, n as buildAndroid, s as productFlavorRefusal } from "./react-native-build-DaPfzf_e.mjs";
16
+ import { h as detectAppIds, m as detectAndroidPackage } from "./start-BsEV4S-s.mjs";
17
+ import { t as readDoctorFingerprint } from "./doctor-fingerprint-DqWvIhMb.mjs";
18
+ import { n as decideSystemImage, t as androidImageInstallPolicy } from "./android-image-DFk26aY6.mjs";
19
+ import { i as planEasDevelopmentBuild } from "./eas-build-CpJ4h9tG.mjs";
20
+ import { a as runPrebuild, c as fingerprintErrorMissReason, d as memoizedFingerprint, i as recordPrebuildAsync, n as planPrebuildAsync, o as staleNativeDirRefusal, s as explainBuildMiss, t as planPrebuild } from "./prebuild-Bhs7TTcz.mjs";
21
+ import { a as PLATFORM, c as androidGradleProject, g as dumpApkManifest, h as displayPath, i as NO_FINGERPRINT, l as androidJobLayout, o as androidBuildOptions, p as apkPackage, r as NO_DEVICE } from "./support-CqyWfZZI.mjs";
21
22
  import { t as AndroidRecipeRefusal } from "./android-project-BCAAmMwz.mjs";
22
- import { u as resolveAndroidRunPlan } from "./result-EOsWV6sp.mjs";
23
- import { n as androidProcessRuntime, t as androidMetroRuntime } from "./launch-DxpvL6il.mjs";
24
- import { t as checkEasFallback } from "./eas-fallback-BpX1lpco.mjs";
25
- import { n as planFlagRefusal, r as planPayload, t as planCachedBuild } from "./build-plan-BK34X2iY.mjs";
26
- import { n as detectEntryFile, r as refreshUpdatesManifestFile, t as UPDATES_MANIFEST_NAME } from "./js-swap-C8N5DXHl.mjs";
27
- import { t as planHostedDevice } from "./plan-placement-2imvnlWP.mjs";
23
+ import { u as resolveAndroidRunPlan } from "./result-DuimMZKJ.mjs";
24
+ import { n as androidProcessRuntime, t as androidMetroRuntime } from "./launch-CKHpthsw.mjs";
25
+ import { t as checkEasFallback } from "./eas-fallback-B3z5nL1g.mjs";
26
+ import { n as planFlagRefusal, r as planPayload, t as planCachedBuild } from "./build-plan-T3Hi24ax.mjs";
27
+ import { n as detectEntryFile, r as refreshUpdatesManifestFile, t as UPDATES_MANIFEST_NAME } from "./js-swap-EDVOJmqx.mjs";
28
+ import { t as planHostedDevice } from "./plan-placement-D3JD-T-K.mjs";
28
29
  import { constants, existsSync, mkdirSync, readFileSync, renameSync } from "node:fs";
29
30
  import { basename, dirname, isAbsolute, join, relative } from "node:path";
30
31
  import chalk from "chalk";
@@ -481,7 +482,7 @@ function imageReplacement(root, slot, flagImage, deps) {
481
482
  }
482
483
  };
483
484
  }
484
- async function emulatorImage(root, slot, requested, replaces, deps, signal) {
485
+ async function emulatorImage(root, slot, requested, replaces, policy, deps, signal) {
485
486
  const record = deviceSlotPlatforms(getProject(root), slot)?.android;
486
487
  if (record?.avdName && !record.setupIncomplete && !replaces) {
487
488
  if (record.owned && deps.avdDirectory(record.avdName)) return { systemImage: deps.avdSystemImage(record.avdName) };
@@ -497,13 +498,16 @@ async function emulatorImage(root, slot, requested, replaces, deps, signal) {
497
498
  remedy: "Check that ANDROID_HOME points at a readable SDK, then try again."
498
499
  } };
499
500
  }
500
- const picked = pickDefaultSystemImage(images, requested ? { systemImage: requested } : {});
501
- if (picked) return { systemImage: picked.pkg };
502
- const arch = hostSystemImageArch();
501
+ const decided = decideSystemImage({
502
+ requested,
503
+ installed: images,
504
+ policy
505
+ });
506
+ if (decided.kind !== "refuse") return { systemImage: decided.pkg };
503
507
  return { refusal: {
504
- code: NO_DEVICE,
505
- message: `No ${arch} Android system image is installed, so the emulator build's ABI and cache key are unknown.`,
506
- remedy: `Install one, e.g.: sdkmanager "system-images;android-36;google_apis;${arch}", then try again.`
508
+ code: decided.code,
509
+ message: decided.message,
510
+ remedy: decided.remedy
507
511
  } };
508
512
  }
509
513
  async function avdListed(avdName, list, signal) {
@@ -603,7 +607,7 @@ async function planReactNativeAndroid(root, opts, runtimeKind, { context: settin
603
607
  if (target.kind === "emulator" && replacement.refusal) return refuse(replacement.refusal);
604
608
  const abiKeyed = build.targetAbiOnly && !build.release;
605
609
  let localImageRead;
606
- const localImage = () => localImageRead ??= abiKeyed ? emulatorImage(root, slot, target.systemImage, replacement.replaces, deps, operation.signal) : Promise.resolve({ systemImage: null });
610
+ const localImage = () => localImageRead ??= abiKeyed ? emulatorImage(root, slot, target.systemImage, replacement.replaces, androidImageInstallPolicy(settings), deps, operation.signal) : Promise.resolve({ systemImage: null });
607
611
  let image;
608
612
  let hostedAbi = null;
609
613
  let placement;
@@ -1,20 +1,20 @@
1
- import { _ as spawnDeclared, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { x as sharedCompilationCache } from "./workspace-state-3bF4TB8P.mjs";
1
+ import { b as spawnDeclared, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { x as sharedCompilationCache } from "./workspace-state-BdZ-QgmB.mjs";
3
3
  import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
4
- import { l as phaseLine } from "./command-output-CfPW1bKP.mjs";
5
- import { a as killOnAbort } from "./operation-exec-Dp4FuIGR.mjs";
6
- import { C as resolvePackageJson } from "./project-Crtcbfl0.mjs";
7
- import { o as androidHome } from "./android-DsEj2CCs.mjs";
8
- import { n as CCACHE_UNAVAILABLE, o as readCcacheActivity } from "./ccache-BrwGIxmV.mjs";
9
- import { r as register } from "./cache-manifest-CfiEny4T.mjs";
10
- import { B as pickXcodeProject, G as swiftPrefixMappingSupported, I as compilationCacheSettings, M as HEARTBEAT_INTERVAL_MS, N as SWIFT_PREFIX_MAPPING_MIN_SWIFT, P as buildXcode, R as parseSwiftVersion, W as startBuildHeartbeat, z as parseXcodeMajor } from "./toolchain-Bnm8vUCV.mjs";
4
+ import { l as phaseLine } from "./command-output-DWI9tGPU.mjs";
5
+ import { a as killOnAbort } from "./operation-exec-DKlBcKAL.mjs";
6
+ import { C as resolvePackageJson } from "./project-DWEXiBA9.mjs";
7
+ import { o as androidHome } from "./android-Iq0M2t2d.mjs";
8
+ import { n as CCACHE_UNAVAILABLE, o as readCcacheActivity } from "./ccache-BXtzEL6M.mjs";
9
+ import { r as register } from "./cache-manifest-8JX9S1QJ.mjs";
10
+ import { B as pickXcodeProject, G as swiftPrefixMappingSupported, I as compilationCacheSettings, M as HEARTBEAT_INTERVAL_MS, N as SWIFT_PREFIX_MAPPING_MIN_SWIFT, P as buildXcode, R as parseSwiftVersion, W as startBuildHeartbeat, z as parseXcodeMajor } from "./toolchain-s5ZmG42Z.mjs";
11
11
  import { p as resolveOptimizations } from "./errors-DHm_U5gv.mjs";
12
12
  import { createHash } from "node:crypto";
13
13
  import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, statSync } from "node:fs";
14
14
  import { dirname, isAbsolute, join, relative, sep } from "node:path";
15
15
  import { ambientContext } from "@stim-cli/core";
16
- import { fileURLToPath } from "node:url";
17
16
  import chalk from "chalk";
17
+ import { fileURLToPath } from "node:url";
18
18
  //#region src/engine/android-path-limit.ts
19
19
  /**
20
20
  * CMake's single-config Ninja generator measures an object against CMAKE_OBJECT_PATH_MAX from
@@ -1,9 +1,9 @@
1
- import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { l as phaseLine } from "./command-output-CfPW1bKP.mjs";
3
- import { Y as resolveIosProjectDir, q as resolveAndroidLayout } from "./settings-C6UTYW2K.mjs";
4
- import { v as detectIsExpo } from "./project-Crtcbfl0.mjs";
5
- import { Y as bundlerPin, a as buildsOnlyOnWorker, c as iosToolchainAsync, n as androidToolchain, r as androidToolchainAsync, t as androidRequirements } from "./toolchain-Bnm8vUCV.mjs";
6
- import { a as reactNativeDoctorFindings, i as mainCheckoutProjectRoot, n as detectFingerprintParity, r as detectLinkedLibraryGitMetadata, s as repairCxxLauncherState, t as checkMainCheckout } from "./doctor-BlrcoQ7B.mjs";
1
+ import { t as getExecutor } from "./exec-CGuDzt40.mjs";
2
+ import { l as phaseLine } from "./command-output-DWI9tGPU.mjs";
3
+ import { Y as resolveIosProjectDir, q as resolveAndroidLayout } from "./settings-B5IBDfTx.mjs";
4
+ import { v as detectIsExpo } from "./project-DWEXiBA9.mjs";
5
+ import { Y as bundlerPin, a as buildsOnlyOnWorker, c as iosToolchainAsync, n as androidToolchain, r as androidToolchainAsync, t as androidRequirements } from "./toolchain-s5ZmG42Z.mjs";
6
+ import { a as mainCheckoutProjectRoot, c as repairCxxLauncherState, i as detectLinkedLibraryGitMetadata, n as checkMainCheckout, o as reactNativeDoctorFindings, r as detectFingerprintParity } from "./doctor-nRLBoajo.mjs";
7
7
  import { existsSync, readdirSync, statSync } from "node:fs";
8
8
  import { join, relative } from "node:path";
9
9
  //#region src/diagnostics/doctor-ios-architectures.ts
@@ -1,20 +1,20 @@
1
- import { C as reportSignal } from "./exec-aULwtNly.mjs";
2
- import { i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-CfPW1bKP.mjs";
3
- import { B as publicUrlSetting, G as remoteIosSetting, W as remoteEasFallbackSetting, Y as resolveIosProjectDir, a as SETTING_SHAPE_REMEDY, ot as tunnelModeSetting, p as cacheProviderSettingError, rt as settingShapeErrors } from "./settings-C6UTYW2K.mjs";
4
- import { Tn as processContext } from "./ccache-BrwGIxmV.mjs";
5
- import { lt as statsProjectKey } from "./workspaces-C59v9bpD.mjs";
6
- import { Y as bundlerPin, a as buildsOnlyOnWorker, c as iosToolchainAsync, st as runCancellationSignal } from "./toolchain-Bnm8vUCV.mjs";
7
- import { O as trackedFingerprintPaths, S as refingerprintAfterMutation, _ as inputsChangedDuringBuild, a as configInputsChanged, d as filesystemBuildCapability, f as fingerprintDiffRecord, g as ignoredFingerprintPaths, h as gitignoredFingerprintInputs, k as untrackedMissLine, n as buildCacheKey, r as changedDuringBuildLine } from "./build-cache-BsKim4V7.mjs";
1
+ import { r as reportSignal } from "./exec-CGuDzt40.mjs";
2
+ import { i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-DWI9tGPU.mjs";
3
+ import { B as publicUrlSetting, G as remoteIosSetting, W as remoteEasFallbackSetting, Y as resolveIosProjectDir, a as SETTING_SHAPE_REMEDY, ot as tunnelModeSetting, p as cacheProviderSettingError, rt as settingShapeErrors } from "./settings-B5IBDfTx.mjs";
4
+ import { Tn as processContext } from "./ccache-BXtzEL6M.mjs";
5
+ import { lt as statsProjectKey } from "./workspaces-B3ahAHZc.mjs";
6
+ import { Y as bundlerPin, a as buildsOnlyOnWorker, c as iosToolchainAsync, st as runCancellationSignal } from "./toolchain-s5ZmG42Z.mjs";
7
+ import { A as untrackedMissLine, C as refingerprintAfterMutation, _ as ignoredFingerprintPaths, f as filesystemBuildCapability, g as gitignoredFingerprintInputs, k as trackedFingerprintPaths, n as buildCacheKey, o as configInputsChanged, p as fingerprintDiffRecord, r as changedDuringBuildLine, v as inputsChangedDuringBuild } from "./build-cache-Cqj4FGnX.mjs";
8
8
  import { d as optimizationBuildProfile, l as artifactCachePolicy, p as resolveOptimizations } from "./errors-DHm_U5gv.mjs";
9
- import { a as deviceModelRefusal, c as iosProjectPathError, f as podAction, h as resolveDeviceType, l as iosProviderRunOptions, m as resolveConfiguration, u as isReleaseConfiguration, v as resolveRuntime, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-NxnD8QXd.mjs";
10
- import { t as readDoctorFingerprint } from "./doctor-fingerprint-o7ZI9YLn.mjs";
11
- import { i as planEasDevelopmentBuild, n as easDeviceBuildRemedy } from "./eas-build-CaG-Sfs9.mjs";
12
- import { c as fingerprintErrorMissReason, d as memoizedFingerprint, i as recordPrebuildAsync, o as staleNativeDirRefusal, s as explainBuildMiss } from "./prebuild-CyNrUWgV.mjs";
13
- import { r as planPayload, t as planCachedBuild } from "./build-plan-BK34X2iY.mjs";
14
- import { t as IosRecipeRefusal } from "./ios-project-DDQlX_jX.mjs";
15
- import { a as hostedIosSelectors } from "./remote-BsBAjlD2.mjs";
16
- import { a as writeIpTxt, c as iosProcessRuntime, r as copyAppAside, s as iosMetroRuntime, t as DEFAULT_DEPS } from "./dependencies-DkZ8681S.mjs";
17
- import { t as planHostedDevice } from "./plan-placement-2imvnlWP.mjs";
9
+ import { a as deviceModelRefusal, c as iosProjectPathError, f as podAction, h as resolveDeviceType, l as iosProviderRunOptions, m as resolveConfiguration, u as isReleaseConfiguration, v as resolveRuntime, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-D8OH0z98.mjs";
10
+ import { t as readDoctorFingerprint } from "./doctor-fingerprint-DqWvIhMb.mjs";
11
+ import { i as planEasDevelopmentBuild, n as easDeviceBuildRemedy } from "./eas-build-CpJ4h9tG.mjs";
12
+ import { c as fingerprintErrorMissReason, d as memoizedFingerprint, i as recordPrebuildAsync, o as staleNativeDirRefusal, s as explainBuildMiss } from "./prebuild-Bhs7TTcz.mjs";
13
+ import { r as planPayload, t as planCachedBuild } from "./build-plan-T3Hi24ax.mjs";
14
+ import { t as IosRecipeRefusal } from "./ios-project-BzfLigfh.mjs";
15
+ import { a as hostedIosSelectors } from "./remote-D0uJZ76R.mjs";
16
+ import { a as writeIpTxt, c as iosProcessRuntime, r as copyAppAside, s as iosMetroRuntime, t as DEFAULT_DEPS } from "./dependencies-CgvBZbXD.mjs";
17
+ import { t as planHostedDevice } from "./plan-placement-D3JD-T-K.mjs";
18
18
  import { rmSync } from "node:fs";
19
19
  import chalk from "chalk";
20
20
  //#region src/integrations/react-native-ios-plan.ts
@@ -657,7 +657,11 @@ function reactNativeIosArtifact({ operation, root, logFile, configuration, build
657
657
  fingerprint: d.fingerprintProject
658
658
  });
659
659
  return Boolean(after && !after.moved);
660
- }
660
+ },
661
+ rekeyed: (hash) => ({
662
+ hash,
663
+ key: buildCacheKey(PLATFORM, hash, keyOptions)
664
+ })
661
665
  }
662
666
  };
663
667
  }
@@ -1,4 +1,4 @@
1
- import { Ct as gitCommonDirOnDisk } from "./settings-C6UTYW2K.mjs";
1
+ import { Ct as gitCommonDirOnDisk } from "./settings-B5IBDfTx.mjs";
2
2
  import { existsSync } from "node:fs";
3
3
  import { loadConfig, recordingEnabled, workspaceRecordingsDir } from "@stim-cli/core/state";
4
4
  import { rm } from "node:fs/promises";
@@ -1,4 +1,4 @@
1
- import { S as process_identity_exports } from "./exec-aULwtNly.mjs";
1
+ import { T as process_identity_exports } from "./exec-CGuDzt40.mjs";
2
2
  import { readMacosRecord } from "@stim-cli/core/state";
3
3
  //#region src/macos/registration.ts
4
4
  function waitForMacosRegistration(root, launchId, child, deadline) {
@@ -1,2 +1,2 @@
1
- import { n as reloadCommand, r as runReload, t as registerReload } from "./reload-D2TpUlns.mjs";
1
+ import { n as reloadCommand, r as runReload, t as registerReload } from "./reload-DsOByDfy.mjs";
2
2
  export { reloadCommand as default, registerReload, runReload };
@@ -1,22 +1,22 @@
1
- import { c as throwIfCancelled, i as loadScaledBudgetMs, o as cancellableSleep, s as cancelledError } from "./exec-aULwtNly.mjs";
2
- import { a as recordWorkspaceUseAsync, r as readWorkspaceState$1 } from "./workspace-state-3bF4TB8P.mjs";
3
- import { U as deviceSlotPlatforms, W as parseDeviceSlotKey, m as getProject } from "./config-D5qNWJEP.mjs";
4
- import { f as refuseNoProject, l as phaseLine } from "./command-output-CfPW1bKP.mjs";
5
- import { Vt as repoRootAsync } from "./settings-C6UTYW2K.mjs";
6
- import { I as readWorkspaceLaunches, P as readRemoteSession, r as findCommandWorkspaceAsync } from "./project-Crtcbfl0.mjs";
7
- import { it as resolveOwnedAvdSerialAsync } from "./android-DsEj2CCs.mjs";
8
- import { a as listeningPidsAsync, d as resolveProjectMetro, h as isMetroRunning, u as processCwds } from "./metro-mKHEMO-a.mjs";
9
- import { fn as iosAppProcess, sn as ensureMetroReverse, tn as androidAppProcess } from "./ccache-BrwGIxmV.mjs";
10
- import { d as webFactsAsync, o as readWebRecord, r as cdpEndpoint } from "./state-CM_HvvkS.mjs";
11
- import { D as resolveOwnedIosSim, f as listAllIosSimsAsync } from "./ios-CdAV4-1E.mjs";
12
- import { p as probeHostedSession } from "./hosted-client-Hs-fD4L3.mjs";
13
- import { r as readHostedNative } from "./ios-state-BEIJRJ7P.mjs";
14
- import { r as reopenHostedAndroidMetro } from "./hosted-android-c5nPJA6S.mjs";
15
- import { n as nativeRunCommand } from "./slot-launch-CSpQcFZw.mjs";
16
- import { n as sendToOwnedPage, t as liveWebRecord } from "./page-CQJlcj3x.mjs";
1
+ import { d as throwIfCancelled, l as cancellableSleep, s as loadScaledBudgetMs, u as cancelledError } from "./exec-CGuDzt40.mjs";
2
+ import { a as recordWorkspaceUseAsync, r as readWorkspaceState$1 } from "./workspace-state-BdZ-QgmB.mjs";
3
+ import { f as refuseNoProject, l as phaseLine } from "./command-output-DWI9tGPU.mjs";
4
+ import { ft as deviceSlotPlatforms, m as getProject, pt as parseDeviceSlotKey } from "./config-BW0fAtoK.mjs";
5
+ import { Vt as repoRootAsync } from "./settings-B5IBDfTx.mjs";
6
+ import { I as readWorkspaceLaunches, P as readRemoteSession, r as findCommandWorkspaceAsync } from "./project-DWEXiBA9.mjs";
7
+ import { it as resolveOwnedAvdSerialAsync } from "./android-Iq0M2t2d.mjs";
8
+ import { a as listeningPidsAsync, d as resolveProjectMetro, h as isMetroRunning, u as processCwds } from "./metro-B5PVz0Wv.mjs";
9
+ import { fn as iosAppProcess, sn as ensureMetroReverse, tn as androidAppProcess } from "./ccache-BXtzEL6M.mjs";
10
+ import { d as webFactsAsync, o as readWebRecord, r as cdpEndpoint } from "./state-CtmYTRWm.mjs";
11
+ import { D as resolveOwnedIosSim, f as listAllIosSimsAsync } from "./ios-BdZdNsAj.mjs";
12
+ import { m as probeHostedSession } from "./hosted-client-D19Lv0tg.mjs";
13
+ import { r as readHostedNative } from "./ios-state-CWsBysyN.mjs";
14
+ import { r as reopenHostedAndroidMetro } from "./hosted-android-ByG-ICuh.mjs";
15
+ import { n as nativeRunCommand } from "./slot-launch-D4oREwhx.mjs";
16
+ import { n as sendToOwnedPage, t as liveWebRecord } from "./page-Dj8IqvGM.mjs";
17
17
  import { hostedAndroidDeviceName, hostedNativeRecords } from "@stim-cli/core/state";
18
- import { WebSocket } from "ws";
19
18
  import chalk from "chalk";
19
+ import { WebSocket } from "ws";
20
20
  //#region src/engine/reload.ts
21
21
  const METRO_TIMEOUT_MS = 2e3;
22
22
  function describe$1(error) {