stim 1.23.1 → 1.24.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/README.md +3 -2
  2. package/dist/{acquire-artifact-BzYRDgaP.mjs → acquire-artifact-CEs02U2o.mjs} +2 -2
  3. package/dist/{act-vxiMwdf5.mjs → act-Cyvm8xYc.mjs} +40 -25
  4. package/dist/{activity-BpWUPgUm.mjs → activity-Dq3ZcdD8.mjs} +6 -6
  5. package/dist/{agent-device-usage-output-CUlLsbRt.mjs → agent-device-usage-output-CccomeE0.mjs} +5 -5
  6. package/dist/{android-C7sVmyI9.mjs → android-882m4hxX.mjs} +140 -46
  7. package/dist/{android-DtfRGLcc.mjs → android-BZppyPe_.mjs} +66 -46
  8. package/dist/{android-DR5lZ2Az.mjs → android-CX5IcRuf.mjs} +13 -3
  9. package/dist/{android-CLi6DSiS.mjs → android-DcztblCT.mjs} +5 -5
  10. package/dist/{android-cas-ngferVq2.mjs → android-cas-BtCOrNqb.mjs} +3 -3
  11. package/dist/android-cas-compiler.mjs +1 -1
  12. package/dist/api.d.mts +21 -4
  13. package/dist/api.mjs +32 -31
  14. package/dist/{artifact-Xvgibgzq.mjs → artifact-BR5VNArK.mjs} +17 -16
  15. package/dist/{artifact-DBI3DALs.mjs → artifact-Bdt_n9Jc.mjs} +17 -16
  16. package/dist/{artifact-platform-CXcmX_j3.mjs → artifact-platform-CMRc0M_r.mjs} +3 -3
  17. package/dist/{browser-web-BJN9ZHxB.mjs → browser-web-ycg9qWB8.mjs} +16 -17
  18. package/dist/{budget-3ivAK99e.mjs → budget-dPGuhNai.mjs} +101 -40
  19. package/dist/{build-Dv9s8Fz-.mjs → build-CaF574eS.mjs} +31 -28
  20. package/dist/{build-cache-Dv7RN200.mjs → build-cache-HFUQ9eLz.mjs} +152 -19
  21. package/dist/{build-plan-BmbdHQbr.mjs → build-plan-JsDUq4w1.mjs} +8 -7
  22. package/dist/{cache-manifest-DSeQjt-Q.mjs → cache-manifest-BPXRONJz.mjs} +1 -1
  23. package/dist/cache-manifest.mjs +1 -1
  24. package/dist/{ccache-CH2EWGPB.mjs → ccache-CCn1S6qG.mjs} +6 -6
  25. package/dist/{cdp-3fwICjzi.mjs → cdp-BG3FJCCx.mjs} +1 -1
  26. package/dist/{chrome-Bbw689-6.mjs → chrome-BvV8ssI3.mjs} +1 -1
  27. package/dist/{cli-BkK6Wr5i.mjs → cli-xqAidP7O.mjs} +20 -20
  28. package/dist/cli.mjs +1 -1
  29. package/dist/{client-B4MMzfo_.mjs → client-18-ZowoT.mjs} +254 -28
  30. package/dist/collector-run.mjs +6 -6
  31. package/dist/{command-output-YKGWivpG.mjs → command-output-DxC0k2rk.mjs} +3 -2
  32. package/dist/{config-DlrsduwG.mjs → config-BZhXY15H.mjs} +3 -3
  33. package/dist/{created-devices-x9rN6bhs.mjs → created-devices-D2Aca-xu.mjs} +6 -2
  34. package/dist/{dependency-state-1I9KZT1Y.mjs → dependency-state-C56ll9hY.mjs} +2 -2
  35. package/dist/{detached-entry-BwNEtIrP.mjs → detached-entry-KmieOKgN.mjs} +1 -1
  36. package/dist/{dev-client-BFxiDpkf.mjs → dev-client-w_fok0Ek.mjs} +3 -3
  37. package/dist/{device-B7ljwccX.mjs → device-4RUugw5X.mjs} +16 -16
  38. package/dist/{device-CiNYxqp6.mjs → device-BktRGdjS.mjs} +40 -44
  39. package/dist/{device-capacity-DH0QsZYZ.mjs → device-capacity-Ic-kdmEV.mjs} +20 -16
  40. package/dist/device-host-worker.mjs +17 -17
  41. package/dist/{device-ios-CbVDtDIy.mjs → device-ios-DzpSlZyd.mjs} +23 -52
  42. package/dist/{device-lease-run-DXPSwdbb.mjs → device-lease-run-DUtkbqBQ.mjs} +5 -5
  43. package/dist/{device-pool-B4iOXIrD.mjs → device-pool-CgBHk401.mjs} +3 -3
  44. package/dist/{doctor-DRu-8ld6.mjs → doctor-BZ6oxNum.mjs} +1 -1
  45. package/dist/{doctor-HUC1igzw.mjs → doctor-C33AzVfR.mjs} +28 -28
  46. package/dist/{doctor-C6t4Maue.mjs → doctor-DZgpqR6J.mjs} +14 -14
  47. package/dist/{doctor-fingerprint-DZLoYFVb.mjs → doctor-fingerprint-zlujA1Gs.mjs} +1 -1
  48. package/dist/doctor-fingerprint.mjs +1 -1
  49. package/dist/{doctor-watchman-iGBpC6KM.mjs → doctor-watchman-B453A231.mjs} +5 -5
  50. package/dist/{eas-build-DMWSSvxq.mjs → eas-build-CxKUNHsb.mjs} +4 -4
  51. package/dist/{eas-fallback-vKlrqxgE.mjs → eas-fallback-LMxk9Kw0.mjs} +14 -14
  52. package/dist/{eas-session-ledger-BQF9Yyy9.mjs → eas-session-ledger-Ck6YXPAO.mjs} +12 -8
  53. package/dist/{error-diagnostics-DYsjJIHz.mjs → error-diagnostics-BkKCZq4P.mjs} +17 -42
  54. package/dist/{exec-DEoAhcze.mjs → exec-VFRpu1iA.mjs} +116 -28
  55. package/dist/{gc-dDE4QPVu.mjs → gc-DDWEAj0w.mjs} +2 -2
  56. package/dist/{gc-BW8E1uSC.mjs → gc-yVKpAOKM.mjs} +205 -28
  57. package/dist/{guide-DYYEO3Wz.mjs → guide-Bggftwc5.mjs} +222 -59
  58. package/dist/{hosted-android-xcfgCgSF.mjs → hosted-android-D4dweBof.mjs} +4 -4
  59. package/dist/{hosted-client-Bt-tndxV.mjs → hosted-client-BBTVe3X6.mjs} +4 -4
  60. package/dist/{hosted-ios-y19jCYFF.mjs → hosted-ios-Sn0djzg8.mjs} +1 -1
  61. package/dist/{hosted-logs-DzJKzKlj.mjs → hosted-logs-CYIZ5ubJ.mjs} +11 -6
  62. package/dist/{hosted-macos-BJusKvqL.mjs → hosted-macos-CXjsUNBR.mjs} +7 -7
  63. package/dist/{hosted-native-BmQC6U_x.mjs → hosted-native-Doxbfzem.mjs} +58 -11
  64. package/dist/{idle-shutdown-CJmUOV5x.mjs → idle-shutdown-BInjLKqm.mjs} +10 -10
  65. package/dist/{ios-CWjqfSm_.mjs → ios-B1FXRCMX.mjs} +71 -44
  66. package/dist/{ios-DTOYZGMJ.mjs → ios-BItP6lkn.mjs} +8 -8
  67. package/dist/{ios-hcBpnEGk.mjs → ios-CVUFFZ6C.mjs} +70 -13
  68. package/dist/{ios-xtlRHaeB.mjs → ios-ENC4sRPA.mjs} +1 -1
  69. package/dist/{ios-device-BXZ0c7Kb.mjs → ios-device-B6HK951C.mjs} +1 -1
  70. package/dist/{ios-device-DFGuwF4U.mjs → ios-device-BI38NFFH.mjs} +3 -3
  71. package/dist/{ios-project-CSZYI1iu.mjs → ios-project-KYqeJURj.mjs} +5 -5
  72. package/dist/{ios-signing-BtAffm0A.mjs → ios-signing-4c_qXvQm.mjs} +2 -2
  73. package/dist/{ios-state-Dtw5K2aI.mjs → ios-state-DlElquYD.mjs} +15 -7
  74. package/dist/{js-swap-BSBHldmm.mjs → js-swap-BvrQvXHY.mjs} +7 -6
  75. package/dist/{launch-CP2wDCVd.mjs → launch-BVlyQw3T.mjs} +51 -49
  76. package/dist/{launch-D-zq8SHG.mjs → launch-SfzGH_s9.mjs} +48 -29
  77. package/dist/{logs-pNvA2hHK.mjs → logs-DXE32kyb.mjs} +16 -9
  78. package/dist/{logs-By5aw3g9.mjs → logs-ovlU7m7N.mjs} +8 -6
  79. package/dist/{macos-CPMahOC2.mjs → macos-B3BveDrU.mjs} +1 -1
  80. package/dist/{macos-C67FZ2ft.mjs → macos-CCfhb-jT.mjs} +49 -42
  81. package/dist/macos-run.mjs +1 -1
  82. package/dist/maintenance-run.mjs +7 -7
  83. package/dist/{metro-DiXtA3Ty.mjs → metro-Bu8LBfzS.mjs} +4 -4
  84. package/dist/{metro-gateway-CKZqKqx7.mjs → metro-gateway-DtsOy-0P.mjs} +3 -4
  85. package/dist/{named-ports-DkEzOfzO.mjs → named-ports-BWDuU5oQ.mjs} +3 -3
  86. package/dist/{native-android-_MWSs3PP.mjs → native-android-96BBizbq.mjs} +17 -17
  87. package/dist/{native-gradle-artifact-inputs-DHFnmrVf.mjs → native-gradle-artifact-inputs-BcLYBZil.mjs} +5 -5
  88. package/dist/{native-run-Dv88i0aU.mjs → native-run-BmH7U8pr.mjs} +6 -6
  89. package/dist/{native-runtime-DBRfY_PN.mjs → native-runtime-DgtJkzIa.mjs} +10 -9
  90. package/dist/{native-source-Y0yLhFyQ.mjs → native-source-D-4Dh4JU.mjs} +7 -4
  91. package/dist/{native-xcode-inputs-CqViUh3r.mjs → native-xcode-inputs-irplbQb0.mjs} +2 -2
  92. package/dist/{native-xcode-ios-vFgqL_yS.mjs → native-xcode-ios-BY-6hh6M.mjs} +18 -18
  93. package/dist/offload-worker.d.mts +7 -2
  94. package/dist/offload-worker.mjs +75 -41
  95. package/dist/{operation-exec-BW0em61G.mjs → operation-exec-CUZifp6Z.mjs} +2 -25
  96. package/dist/{ownership-C5fo5Edb.mjs → ownership-DxlZGDcV.mjs} +3 -3
  97. package/dist/{page-DBL2PiUU.mjs → page-CzEA_-5_.mjs} +2 -3
  98. package/dist/phone-reverses-BdsdesVF.mjs +57 -0
  99. package/dist/{placement-log-BnGgJRRZ.mjs → placement-log-DUvqqsB-.mjs} +1 -1
  100. package/dist/{plan-placement-cr0fEU7b.mjs → plan-placement-4axc0Hs7.mjs} +3 -3
  101. package/dist/{ports-DpXjKkSV.mjs → ports-D-E_OiAO.mjs} +3 -3
  102. package/dist/{prebuild-BligW0QS.mjs → prebuild-DmVCf5xb.mjs} +14 -9
  103. package/dist/{project-DhCtQWWU.mjs → project-Dz-hWkb-.mjs} +21 -17
  104. package/dist/{pull-request-W1IuLXDt.mjs → pull-request-CbNlkFok.mjs} +2 -2
  105. package/dist/pull-requests.mjs +1 -1
  106. package/dist/{react-native-android-ZlhQfhvq.mjs → react-native-android-DOinxgwB.mjs} +75 -32
  107. package/dist/{react-native-build-CelbTO_y.mjs → react-native-build-AuCu-aAP.mjs} +22 -19
  108. package/dist/{react-native-doctor-LTIaP7lv.mjs → react-native-doctor-2ivJUmwZ.mjs} +10 -9
  109. package/dist/{react-native-ios-C5W0SA6f.mjs → react-native-ios-D5zTIuH8.mjs} +38 -22
  110. package/dist/{recordings-CQmfzAh7.mjs → recordings-CdPwYwvs.mjs} +1 -1
  111. package/dist/{registration-BcRgF6Ox.mjs → registration-CN6nlhcD.mjs} +1 -1
  112. package/dist/{reload-COJWTbae.mjs → reload-C1TTVesC.mjs} +144 -42
  113. package/dist/{reload-QcwnYLYV.mjs → reload-Ck9RJeSq.mjs} +1 -1
  114. package/dist/{remote-DR8qUERM.mjs → remote-DEZ7AOVq.mjs} +7 -7
  115. package/dist/{result-utnBea7x.mjs → result-DqBrb12U.mjs} +40 -17
  116. package/dist/{run-DidHghD1.mjs → run-BIwoU44q.mjs} +2 -2
  117. package/dist/{selection-DSMbWEX2.mjs → selection-BLtvaqxc.mjs} +11 -5
  118. package/dist/{server-bare-CafzuyFB.mjs → server-bare-Z1ToVLPn.mjs} +2 -2
  119. package/dist/{server-command-B9o92sLM.mjs → server-command-C0pmjNdG.mjs} +5 -5
  120. package/dist/server-expo-CEntXzRw.mjs +2 -0
  121. package/dist/{server-expo-BXrWxNYh.mjs → server-expo-Tt_hLRpy.mjs} +8 -5
  122. package/dist/{settings-C7O8A6ZI.mjs → settings-RKwY33wv.mjs} +114 -19
  123. package/dist/{settings-PfJx8uK1.mjs → settings-kkt0vP4w.mjs} +1 -1
  124. package/dist/{settings-write-Chuy7Cte.mjs → settings-write--gj6MACV.mjs} +7 -7
  125. package/dist/settings.schema.json +13 -0
  126. package/dist/{simslim-BNckWpXi.mjs → simslim-CdWKT3vA.mjs} +2 -2
  127. package/dist/{slot-launch-B7AuoWJv.mjs → slot-launch-A1BgotaM.mjs} +6 -6
  128. package/dist/{stage-C4u17aES.mjs → stage-ERTMh88n.mjs} +2 -3
  129. package/dist/{start-CU8mCPC7.mjs → start-BKGrEhzG.mjs} +75 -35
  130. package/dist/{start-BL_BsiWt.mjs → start-Bmg_qmHi.mjs} +1 -1
  131. package/dist/{state--smjFSTL.mjs → state-B1ig0Kqy.mjs} +4 -4
  132. package/dist/{state-08I3hw3_.mjs → state-BfAltYJP.mjs} +2 -2
  133. package/dist/{stats-CO6sK0Nh.mjs → stats-B-ckuiUg.mjs} +5 -5
  134. package/dist/{stats-report-BzaPrRm6.mjs → stats-report-n2U5plhk.mjs} +1 -1
  135. package/dist/{status-_WPHzVft.mjs → status-DfFp6a76.mjs} +24 -24
  136. package/dist/{status-BRROykC8.mjs → status-Fect2w9R.mjs} +1 -1
  137. package/dist/{status-CrJutl6-.mjs → status-Pw-807f0.mjs} +1 -1
  138. package/dist/{status-watch-BHFasOZN.mjs → status-watch-XC7F-AMf.mjs} +5 -5
  139. package/dist/status-worker.mjs +1 -1
  140. package/dist/stim-clonefile.c +18 -0
  141. package/dist/{stim-desktop-D5OGpYZM.mjs → stim-desktop-DS0mzR8U.mjs} +2 -2
  142. package/dist/{stop-iuFHjUST.mjs → stop-BFu7X_Do.mjs} +2 -2
  143. package/dist/{stop-BJ06ipTZ.mjs → stop-CL1kDHds.mjs} +55 -21
  144. package/dist/{stop-CR5689oB.mjs → stop-DhclRwOO.mjs} +5 -5
  145. package/dist/supervisor-run.mjs +16 -16
  146. package/dist/{support-TWuQlHQo.mjs → support-B1W-hmC2.mjs} +8 -8
  147. package/dist/{support-CbXPbUMJ.mjs → support-B3tzVhKn.mjs} +6 -6
  148. package/dist/{swiftpm-artifact-inputs-DFcGsXDP.mjs → swiftpm-artifact-inputs-BWYPj9Sn.mjs} +4 -4
  149. package/dist/{swiftpm-macos-DbwGCpZg.mjs → swiftpm-macos-BVCP5mO4.mjs} +14 -13
  150. package/dist/{toolchain-XkA2PfJZ.mjs → toolchain-BjgKdoEf.mjs} +1 -1
  151. package/dist/{toolchain-B9hCFCQw.mjs → toolchain-D3bmRMia.mjs} +57 -36
  152. package/dist/trigger-BLsHgAGR.mjs +2 -0
  153. package/dist/{trigger-Cbyc41d_.mjs → trigger-CBMe2YLH.mjs} +2 -2
  154. package/dist/{warm-progress-CA3TgT3-.mjs → warm-progress-ol0ZypEu.mjs} +6 -6
  155. package/dist/{web-DRF_oFXk.mjs → web-BH7peScT.mjs} +12 -10
  156. package/dist/web-BdOFlTJr.mjs +2 -0
  157. package/dist/web-run.mjs +8 -9
  158. package/dist/windows-report.mjs +12 -1
  159. package/dist/windows-report.ps1 +1 -1
  160. package/dist/{workspace-state-U08dEzhG.mjs → workspace-state-CeBpIZgr.mjs} +11 -4
  161. package/dist/{workspaces-e41xsjKr.mjs → workspaces-CSV2Orf4.mjs} +36 -32
  162. package/dist/{worktree-BEwxVwKF.mjs → worktree-DEDUzO_L.mjs} +1 -1
  163. package/dist/{worktree-B4Nj3EGS.mjs → worktree-Dw8kfacb.mjs} +324 -99
  164. package/dist/{xcode-Rq744mBF.mjs → xcode-DHu41qQ4.mjs} +41 -27
  165. package/package.json +7 -7
  166. package/dist/native-gradle-inputs-Dnh84Zbd.mjs +0 -211
  167. package/dist/server-expo-Ddr8cG_c.mjs +0 -2
  168. package/dist/trigger-yb_nFzPF.mjs +0 -2
  169. package/dist/web-kDE9Myoy.mjs +0 -2
@@ -1,35 +1,34 @@
1
- import { t as getExecutor } from "./exec-DEoAhcze.mjs";
1
+ import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
2
  import { d as workspaceDir, m as workspaceLogsDir$1 } from "./paths-DQtTgsBf.mjs";
3
- import { k as writeConfigSetting } from "./config-DlrsduwG.mjs";
3
+ import { k as writeConfigSetting } from "./config-BZhXY15H.mjs";
4
4
  import { n as stripAnsi } from "./process-output-Fpl8PYi8.mjs";
5
- import { o as git, s as gitAsync } from "./operation-exec-BW0em61G.mjs";
6
- import { d as androidLayoutSetting, y as iosProjectDirSetting } from "./settings-C7O8A6ZI.mjs";
7
- import { f as projectRegistry, g as selectNativeXcodeProject } from "./project-DhCtQWWU.mjs";
5
+ import { o as git, s as gitAsync } from "./operation-exec-CUZifp6Z.mjs";
6
+ import { d as androidLayoutSetting, y as iosProjectDirSetting } from "./settings-RKwY33wv.mjs";
7
+ import { f as projectRegistry, g as selectNativeXcodeProject } from "./project-Dz-hWkb-.mjs";
8
8
  import { o as parseNdjsonText } from "./ndjson-CgE_o3Dl.mjs";
9
- import { Fn as processContext } from "./budget-3ivAK99e.mjs";
10
- import { l as fingerprintProject, m as refingerprintAfterMutation } from "./build-cache-Dv7RN200.mjs";
11
- import { _ as withProjectNode, g as unmetNodePin, h as projectNodeLine, m as pathNodeVersion } from "./server-expo-BXrWxNYh.mjs";
12
- import { n as CCACHE_UNAVAILABLE, o as resolveCcache } from "./ccache-CH2EWGPB.mjs";
13
- import { _ as clearCorruptCompilationCache, f as reactNativeArtifactReceipt, g as COMPILATION_CACHE_CORRUPT, m as reactNativeBuildQuery, p as reactNativeArtifactToolchain } from "./client-B4MMzfo_.mjs";
14
- import { f as workerToolchain, h as readPodState, i as availableIphone, m as podsAreStale, v as runPodInstall } from "./toolchain-B9hCFCQw.mjs";
9
+ import { Ln as processContext } from "./budget-dPGuhNai.mjs";
10
+ import { d as fingerprintProject, i as compareSourceLists, v as refingerprintAfterMutation } from "./build-cache-HFUQ9eLz.mjs";
11
+ import { _ as unmetNodePin, g as projectNodeLine, h as pathNodeVersion, v as withProjectNode } from "./server-expo-Tt_hLRpy.mjs";
12
+ import { n as CCACHE_UNAVAILABLE, o as resolveCcache } from "./ccache-CCn1S6qG.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-18-ZowoT.mjs";
14
+ import { f as workerToolchain, h as readPodState, i as availableIphone, m as podsAreStale, v as runPodInstall } from "./toolchain-D3bmRMia.mjs";
15
15
  import { n as fingerprintNativeInputs, r as manifestDigest } from "./native-inputs-TRTTTRxt.mjs";
16
- import { a as sourceManifest, o as verifyNativeTransfer } from "./native-source-Y0yLhFyQ.mjs";
17
- import { i as nativeGradleOutputs, n as gradleStateDirectories, o as validateGradleManifest, s as verifyGradleTransfer, t as gradleOffloadInputs } from "./native-gradle-inputs-Dnh84Zbd.mjs";
18
- import { n as buildAndroid, o as gradlewPath, r as buildIos, u as assembleTaskFor } from "./react-native-build-CelbTO_y.mjs";
19
- import { f as podAction } from "./support-TWuQlHQo.mjs";
20
- import { i as runPrebuild, r as recordPrebuild, t as planPrebuild } from "./prebuild-BligW0QS.mjs";
21
- import { g as dumpApkManifest, p as apkPackage } from "./support-CbXPbUMJ.mjs";
22
- import { n as buildAndroidOperation, t as buildIosOperation } from "./build-Dv9s8Fz-.mjs";
23
- import { i as stageBundle, n as resolveBundleExtras } from "./stage-C4u17aES.mjs";
24
- import { t as logLines } from "./run-DidHghD1.mjs";
25
- import { r as nativeXcodeMetadataDirectories } from "./native-xcode-inputs-CqViUh3r.mjs";
26
- import { n as swiftpmArtifactInputs, r as swiftpmArtifactSnapshot, t as readSwiftpmArtifactToolchain } from "./swiftpm-artifact-inputs-DFcGsXDP.mjs";
27
- import { a as nativeGradleWorkerArtifactIdentity, i as nativeGradleArtifactSnapshotFromReceipt, o as nativeGradleWorkerScope } from "./native-gradle-artifact-inputs-DHFnmrVf.mjs";
16
+ import { a as sourceManifest, o as verifyNativeTransfer } from "./native-source-D-4Dh4JU.mjs";
17
+ import { n as buildAndroid, o as gradlewPath, r as buildIos, u as assembleTaskFor } from "./react-native-build-AuCu-aAP.mjs";
18
+ import { f as podAction } from "./support-B1W-hmC2.mjs";
19
+ import { a as runPrebuild, r as recordPrebuild, t as planPrebuild } from "./prebuild-DmVCf5xb.mjs";
20
+ import { g as dumpApkManifest, p as apkPackage } from "./support-B3tzVhKn.mjs";
21
+ import { n as buildAndroidOperation, t as buildIosOperation } from "./build-CaF574eS.mjs";
22
+ import { i as stageBundle, n as resolveBundleExtras } from "./stage-ERTMh88n.mjs";
23
+ import { t as logLines } from "./run-BIwoU44q.mjs";
24
+ import { r as nativeXcodeMetadataDirectories } from "./native-xcode-inputs-irplbQb0.mjs";
25
+ import { n as swiftpmArtifactInputs, r as swiftpmArtifactSnapshot, t as readSwiftpmArtifactToolchain } from "./swiftpm-artifact-inputs-BWYPj9Sn.mjs";
26
+ import { a as nativeGradleWorkerArtifactIdentity, i as nativeGradleArtifactSnapshotFromReceipt, o as nativeGradleWorkerScope } from "./native-gradle-artifact-inputs-BcLYBZil.mjs";
28
27
  import { createHash } from "node:crypto";
29
28
  import { chmodSync, constants, copyFileSync, cpSync, createReadStream, createWriteStream, existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, readlinkSync, realpathSync, renameSync, rmSync, statSync, symlinkSync, writeFileSync } from "node:fs";
30
29
  import { isDeepStrictEqual } from "node:util";
31
30
  import { basename, delimiter, dirname, join, relative, resolve, sep } from "node:path";
32
- import { dependencyInstall, withAmbientContext } from "@stim-cli/core";
31
+ import { dependencyInstall, reusableDependencies, withAmbientContext } from "@stim-cli/core";
33
32
  import { isJsonObject, windowsShortDir, windowsShortDirKey } from "@stim-cli/core/state";
34
33
  import { realpath } from "node:fs/promises";
35
34
  import { pipeline } from "node:stream/promises";
@@ -482,9 +481,35 @@ async function materialize(job, src) {
482
481
  renameSync(tmp, recordFile);
483
482
  return {
484
483
  written,
485
- removed
484
+ removed,
485
+ record: next
486
486
  };
487
487
  }
488
+ /** The synced files whose content no longer matches the manifest, such as a lockfile pod install rewrote. */
489
+ function rewrittenFiles(src, manifest, record) {
490
+ return manifest.flatMap((entry) => {
491
+ if (entry.kind === "directory") return [];
492
+ const target = join(src, entry.path);
493
+ const stat = lstatSync(target, { throwIfNoEntry: false });
494
+ const known = record[entry.path];
495
+ if (stat && known && stat.mtimeMs === known.mtimeMs && stat.size === known.size) return [];
496
+ if (!stat) return [entry.path];
497
+ const content = stat.isSymbolicLink() ? readlinkSync(target) : stat.isFile() ? readFileSync(target) : null;
498
+ return content !== null && createHash("sha256").update(content).digest("hex") === entry.sha256 ? [] : [entry.path];
499
+ });
500
+ }
501
+ function namedList(names) {
502
+ const shown = names.slice(0, 3).join(", ");
503
+ return names.length > 3 ? `${shown} and ${names.length - 3} more` : shown;
504
+ }
505
+ function fingerprintMismatch(job, there, sources, mutated) {
506
+ const differing = job.expectedSources ? compareSourceLists(job.expectedSources, [...sources]).map((change) => change.name) : [];
507
+ return [
508
+ `the checkout there fingerprints ${there.slice(0, 12)}, here ${job.expectedFingerprint?.slice(0, 12)}`,
509
+ ...mutated.files.length ? [`${mutated.steps.join(" and ")} there rewrote ${namedList(mutated.files)}`] : [],
510
+ ...differing.length ? [`differing sources: ${namedList(differing)}`] : []
511
+ ].join("; ");
512
+ }
488
513
  /**
489
514
  * Puts the Node that `root`, or the nearest directory above it in `src`, pins first on this worker's `PATH`, and
490
515
  * reports which Node the build runs on.
@@ -510,17 +535,15 @@ function useXcodeNode(iosDir) {
510
535
  }
511
536
  /** Installs JavaScript dependencies when the lockfile, or the install command, changed since the last install. */
512
537
  async function ensureDependencies(job, src) {
513
- const install = dependencyInstall(src, job.packageName, relative(src, realpathSync(join(src, job.project))));
538
+ const install = dependencyInstall(src, relative(src, realpathSync(join(src, job.project))));
514
539
  if (!install) return;
515
540
  const { command, args, digest, lockfile } = install;
516
- const marker = join(job.area, "dependencies");
541
+ const marker = join(job.area, install.marker);
517
542
  const installed = () => writeFileSync(join(job.area, "lockfile"), lockfile);
518
- if (existsSync(join(src, job.project, "node_modules")) && existsSync(marker)) {
519
- if (readFileSync(marker, "utf8") === digest) return installed();
520
- }
521
- note("deps", `${command} ${args.join(" ")}`);
543
+ if (reusableDependencies(job.area, job.project, lockfile)) return installed();
544
+ note("deps", `${command} ${args.join(" ")}${install.dir === "." ? "" : ` in ${install.dir}`}`);
522
545
  const child = getExecutor().spawn(command, args, {
523
- cwd: src,
546
+ cwd: join(src, install.dir),
524
547
  env: {
525
548
  ...process.env,
526
549
  CI: "1"
@@ -722,7 +745,9 @@ async function build(job) {
722
745
  const initial = await time("fingerprintMs", () => fingerprintProject(realRoot, {
723
746
  platform,
724
747
  iosProjectPath: iosProject.relative,
725
- androidLayout
748
+ androidLayout,
749
+ ignoredPaths: job.expectedIgnored,
750
+ trackedPaths: job.expectedTracked
726
751
  }));
727
752
  if (!initial) return failed("no-fingerprint", "The remote machine could not fingerprint the project.");
728
753
  const plan = planPrebuild(realRoot, platform, {
@@ -737,7 +762,7 @@ async function build(job) {
737
762
  recordPrebuild(realRoot, platform, null);
738
763
  const result = await time("prebuildMs", () => runPrebuild(realRoot, platform, log, { clean: plan === "regenerate" }));
739
764
  if (result?.failed) return nodeFailed("prebuild-failed", result.reason ?? "expo prebuild failed.");
740
- mutations.push("prebuild");
765
+ mutations.push("expo prebuild");
741
766
  }
742
767
  if (platform === "ios") {
743
768
  useXcodeNode(iosProject.dir);
@@ -750,24 +775,31 @@ async function build(job) {
750
775
  onHeartbeat: (line) => note("pods", line)
751
776
  }));
752
777
  if (result?.failed) return failed("pods-failed", result.reason ?? "pod install failed.");
753
- mutations.push("pods");
778
+ mutations.push("pod install");
754
779
  }
755
780
  }
756
781
  fingerprint = initial.hash;
782
+ let sources = initial.sources;
757
783
  if (mutations.length) {
758
784
  const after = await time("fingerprintMs", () => refingerprintAfterMutation({
759
785
  projectRoot: realRoot,
760
786
  platform,
761
787
  previousHash: initial.hash,
762
788
  iosProjectPath: iosProject.relative,
763
- androidLayout
789
+ androidLayout,
790
+ ignoredPaths: job.expectedIgnored,
791
+ trackedPaths: job.expectedTracked
764
792
  }));
765
793
  if (!after) return failed("no-fingerprint", `No fingerprint after ${mutations.join(", ")}.`);
766
794
  fingerprint = after.hash;
767
- if (mutations.includes("prebuild")) recordPrebuild(realRoot, platform, after.hash);
795
+ sources = after.sources;
796
+ if (mutations.includes("expo prebuild")) recordPrebuild(realRoot, platform, after.hash);
768
797
  }
769
- if (fingerprint !== job.expectedFingerprint) return failed("fingerprint-mismatch", `the checkout there fingerprints ${fingerprint.slice(0, 12)}, here ${job.expectedFingerprint?.slice(0, 12)}`);
770
- const tools = job.cacheArtifact ? await reactNativeArtifactToolchain(platform, realRoot) : null;
798
+ if (fingerprint !== job.expectedFingerprint) return failed("fingerprint-mismatch", fingerprintMismatch(job, fingerprint, sources, {
799
+ steps: mutations,
800
+ files: mutations.length ? rewrittenFiles(src, job.manifest, mirrored.record) : []
801
+ }));
802
+ const tools = job.cacheArtifact ? await reactNativeArtifactToolchain(platform, realRoot, iosProject.dir) : null;
771
803
  const query = tools ? reactNativeBuildQuery(job, fingerprint, job.project, tools) : null;
772
804
  const receipt = query ? reactNativeArtifactReceipt(query, tools) : null;
773
805
  compiled = platform === "android" ? await compileAndroid(job, realRoot, log, time, androidLayout) : await compileIos(job, realRoot, log, time);
@@ -778,10 +810,12 @@ async function build(job) {
778
810
  platform,
779
811
  previousHash: builtFingerprint,
780
812
  iosProjectPath: iosProject.relative,
781
- androidLayout
813
+ androidLayout,
814
+ ignoredPaths: job.expectedIgnored,
815
+ trackedPaths: job.expectedTracked
782
816
  }));
783
817
  if (!settled || settled.moved) return failed("fingerprint-moved", "The inputs changed during the build there.");
784
- const after = query && receipt ? reactNativeArtifactReceipt(query, await reactNativeArtifactToolchain(platform, realRoot)) : null;
818
+ const after = query && receipt ? reactNativeArtifactReceipt(query, await reactNativeArtifactToolchain(platform, realRoot, iosProject.dir)) : null;
785
819
  if (receipt && after && isDeepStrictEqual(receipt, after)) compiled.reactNativeArtifact = receipt;
786
820
  }
787
821
  try {
@@ -1,28 +1,5 @@
1
- import { m as operationState, r as WorkspaceProcessCleanupError, t as getExecutor } from "./exec-DEoAhcze.mjs";
1
+ import { b as operationState, c as throwIfCancelled, l as WorkspaceProcessCleanupError, t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
2
  import { sep } from "node:path";
3
- //#region src/cancellation.ts
4
- function cancelledError(what, cause) {
5
- return Object.assign(new Error(`The ${what} was cancelled.`, cause === void 0 ? void 0 : { cause }), { code: "STIM_CANCELLED" });
6
- }
7
- function throwIfCancelled(signal, what) {
8
- if (signal?.aborted) throw cancelledError(what);
9
- }
10
- function cancellableSleep(ms, { signal, what = "wait", ref = true } = {}) {
11
- return new Promise((resolve, reject) => {
12
- if (signal?.aborted) return reject(cancelledError(what));
13
- const onAbort = () => {
14
- clearTimeout(timer);
15
- reject(cancelledError(what));
16
- };
17
- const timer = setTimeout(() => {
18
- signal?.removeEventListener("abort", onAbort);
19
- resolve();
20
- }, ms);
21
- if (!ref) timer.unref();
22
- signal?.addEventListener("abort", onAbort, { once: true });
23
- });
24
- }
25
- //#endregion
26
3
  //#region src/workspace/git.ts
27
4
  const GIT_TIMEOUT_MS = 1e4;
28
5
  const GIT_CONCURRENCY = 6;
@@ -168,4 +145,4 @@ async function runOperationFileQuiet(context, executor, file, args, options) {
168
145
  }
169
146
  }
170
147
  //#endregion
171
- export { killOnAbort as a, gitQuiet as c, cancelledError as d, throwIfCancelled as f, gitPath as i, gitQuietAsync as l, runOperationFileQuiet as n, git as o, childEnvironment as r, gitAsync as s, runOperationFile as t, cancellableSleep as u };
148
+ export { killOnAbort as a, gitQuiet as c, gitPath as i, gitQuietAsync as l, runOperationFileQuiet as n, git as o, childEnvironment as r, gitAsync as s, runOperationFile as t };
@@ -1,6 +1,6 @@
1
- import { g as process_identity_exports } from "./exec-DEoAhcze.mjs";
2
- import { c as withWorkspaceStateLock, d as writeWorkspaceState, r as readWorkspaceState } from "./workspace-state-U08dEzhG.mjs";
3
- import { c as pidExists } from "./metro-DiXtA3Ty.mjs";
1
+ import { S as process_identity_exports } from "./exec-VFRpu1iA.mjs";
2
+ import { c as withWorkspaceStateLock, d as writeWorkspaceState, r as readWorkspaceState } from "./workspace-state-CeBpIZgr.mjs";
3
+ import { c as pidExists } from "./metro-Bu8LBfzS.mjs";
4
4
  import { realpathSync } from "node:fs";
5
5
  //#region src/collector/state.ts
6
6
  function collectorRoot(root) {
@@ -1,6 +1,5 @@
1
- import { g as process_identity_exports } from "./exec-DEoAhcze.mjs";
2
- import { f as throwIfCancelled } from "./operation-exec-BW0em61G.mjs";
3
- import { t as connectOwnedBrowser } from "./cdp-3fwICjzi.mjs";
1
+ import { S as process_identity_exports, c as throwIfCancelled } from "./exec-VFRpu1iA.mjs";
2
+ import { t as connectOwnedBrowser } from "./cdp-BG3FJCCx.mjs";
4
3
  //#region src/web/page.ts
5
4
  /** The record of a verified live browser: its supervisor and Chrome are the processes the record names. */
6
5
  function liveWebRecord(record) {
@@ -0,0 +1,57 @@
1
+ import { U as parseDeviceSlotKey, V as deviceSlotKey } from "./config-BZhXY15H.mjs";
2
+ import { r as readWorkspaceState$1, s as updateWorkspaceStateAsync } from "./workspace-state-CeBpIZgr.mjs";
3
+ import { $ as removeMetroReverses } from "./android-882m4hxX.mjs";
4
+ import { isJsonObject } from "@stim-cli/core/state";
5
+ //#region src/devices/phone-reverses.ts
6
+ const KEY = "phoneReverses";
7
+ function readRecords(state) {
8
+ const raw = state?.[KEY];
9
+ const records = {};
10
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) return records;
11
+ for (const [key, value] of Object.entries(raw)) {
12
+ if (!isJsonObject(value)) continue;
13
+ const entry = value;
14
+ if (typeof entry.serial !== "string" || !Array.isArray(entry.ports) || !parseDeviceSlotKey(key)) continue;
15
+ records[key] = {
16
+ serial: entry.serial,
17
+ ports: entry.ports.filter((port) => Number.isSafeInteger(port) && port > 0)
18
+ };
19
+ }
20
+ return records;
21
+ }
22
+ async function recordPhoneReverse(root, slot, serial, port) {
23
+ const key = deviceSlotKey("android", slot);
24
+ await updateWorkspaceStateAsync(root, (state) => {
25
+ const records = readRecords(state);
26
+ const previous = records[key]?.serial === serial ? records[key].ports : [];
27
+ records[key] = {
28
+ serial,
29
+ ports: [.../* @__PURE__ */ new Set([...previous, port])]
30
+ };
31
+ return {
32
+ ...state,
33
+ [KEY]: records
34
+ };
35
+ });
36
+ }
37
+ async function removePhoneReverses(root, { slot, operation } = {}) {
38
+ const records = Object.entries(readRecords(readWorkspaceState$1(root))).filter(([key]) => slot === void 0 || parseDeviceSlotKey(key)?.slot === slot);
39
+ for (const [, { serial, ports }] of records) await removeMetroReverses(serial, ports, operation);
40
+ if (records.length === 0) return;
41
+ await updateWorkspaceStateAsync(root, (state) => {
42
+ const remaining = readRecords(state);
43
+ for (const [key, done] of records) {
44
+ const current = remaining[key];
45
+ if (current?.serial !== done.serial) continue;
46
+ current.ports = current.ports.filter((port) => !done.ports.includes(port));
47
+ if (current.ports.length === 0) delete remaining[key];
48
+ }
49
+ const { [KEY]: _, ...rest } = state;
50
+ return Object.keys(remaining).length ? {
51
+ ...rest,
52
+ [KEY]: remaining
53
+ } : rest;
54
+ });
55
+ }
56
+ //#endregion
57
+ export { removePhoneReverses as n, recordPhoneReverse as t };
@@ -1,4 +1,4 @@
1
- import { n as buildPlacementSettings } from "./selection-DSMbWEX2.mjs";
1
+ import { n as buildPlacementSettings } from "./selection-BLtvaqxc.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,6 +1,6 @@
1
- import { d as hostingMachines } from "./selection-DSMbWEX2.mjs";
2
- import { r as readHostedNative } from "./ios-state-Dtw5K2aI.mjs";
3
- import { i as probeHost, n as automaticDevicePlacement } from "./eas-fallback-vKlrqxgE.mjs";
1
+ import { f as hostingMachines } from "./selection-BLtvaqxc.mjs";
2
+ import { r as readHostedNative } from "./ios-state-DlElquYD.mjs";
3
+ import { i as probeHost, n as automaticDevicePlacement } from "./eas-fallback-LMxk9Kw0.mjs";
4
4
  import { automaticMachineEnabled } from "@stim-cli/core/state";
5
5
  //#region src/device-host/plan-placement.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
- import { p as getProject } from "./config-DlrsduwG.mjs";
2
- import { n as findCommandWorkspace } from "./project-DhCtQWWU.mjs";
3
- import { n as getNamedPort, t as clearNamedPorts } from "./named-ports-DkEzOfzO.mjs";
1
+ import { p as getProject } from "./config-BZhXY15H.mjs";
2
+ import { n as findCommandWorkspace } from "./project-Dz-hWkb-.mjs";
3
+ import { n as getNamedPort, t as clearNamedPorts } from "./named-ports-BWDuU5oQ.mjs";
4
4
  //#region src/commands/ports.ts
5
5
  async function inProject(action) {
6
6
  try {
@@ -1,13 +1,13 @@
1
- import { d as spawnDeclared, t as getExecutor } from "./exec-DEoAhcze.mjs";
1
+ import { _ as spawnDeclared, t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
2
  import { i as sharedBuildCache } from "./paths-DQtTgsBf.mjs";
3
3
  import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
4
- import { o as git, s as gitAsync } from "./operation-exec-BW0em61G.mjs";
5
- import { o as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-U08dEzhG.mjs";
6
- import { yt as gitCommonDirOnDisk } from "./settings-C7O8A6ZI.mjs";
7
- import { v as detectIsExpo } from "./project-DhCtQWWU.mjs";
8
- import { Zn as remoteCliInvocation } from "./budget-3ivAK99e.mjs";
9
- import { a as diffFingerprintSources, v as storedSources } from "./build-cache-Dv7RN200.mjs";
10
- import { i as expoBinRefusal, o as expoSdkMajor, r as expoBinPath } from "./server-expo-BXrWxNYh.mjs";
4
+ import { o as git, s as gitAsync } from "./operation-exec-CUZifp6Z.mjs";
5
+ import { l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-CeBpIZgr.mjs";
6
+ import { yt as gitCommonDirOnDisk } from "./settings-RKwY33wv.mjs";
7
+ import { v as detectIsExpo } from "./project-Dz-hWkb-.mjs";
8
+ import { $n as remoteCliInvocation } from "./budget-dPGuhNai.mjs";
9
+ import { S as storedSources, o as diffFingerprintSources } from "./build-cache-HFUQ9eLz.mjs";
10
+ import { i as expoBinRefusal, o as expoSdkMajor, r as expoBinPath, s as expoTelemetryEnv } from "./server-expo-Tt_hLRpy.mjs";
11
11
  import { existsSync, realpathSync } from "node:fs";
12
12
  import { dirname, join, relative } from "node:path";
13
13
  import { ambientContext } from "@stim-cli/core";
@@ -342,6 +342,10 @@ function recordPrebuild(root, platform, fingerprint) {
342
342
  }
343
343
  }));
344
344
  }
345
+ /** Records the prebuild fingerprint after waiting for the workspace state lock without blocking the event loop. */
346
+ function recordPrebuildAsync(root, platform, fingerprint) {
347
+ return withWorkspaceStateLockAsync(root, () => recordPrebuild(root, platform, fingerprint));
348
+ }
345
349
  /**
346
350
  * @expo/cli 57 made `expo prebuild` delete existing native folders by default and added `--no-clean`
347
351
  * to keep them (expo/expo#47209); earlier CLIs keep them by default and reject `--no-clean`.
@@ -439,6 +443,7 @@ async function runPrebuild(root, platform, logWriter, { spawnFn = null, now = Da
439
443
  ],
440
444
  env: {
441
445
  ...ambientContext()?.env ?? process.env,
446
+ ...expoTelemetryEnv(ambientContext()?.env ?? process.env),
442
447
  FORCE_COLOR: "0",
443
448
  CI: "1"
444
449
  }
@@ -493,4 +498,4 @@ async function runPrebuild(root, platform, logWriter, { spawnFn = null, now = Da
493
498
  };
494
499
  }
495
500
  //#endregion
496
- export { staleNativeDirRefusal as a, predictBuildMiss as c, runPrebuild as i, skippedMissReason as l, planPrebuildAsync as n, explainBuildMiss as o, recordPrebuild as r, fingerprintErrorMissReason as s, planPrebuild as t };
501
+ export { runPrebuild as a, fingerprintErrorMissReason as c, recordPrebuildAsync as i, predictBuildMiss as l, planPrebuildAsync as n, staleNativeDirRefusal as o, recordPrebuild as r, explainBuildMiss as s, planPrebuild as t, skippedMissReason as u };
@@ -1,8 +1,8 @@
1
- import { g as process_identity_exports } from "./exec-DEoAhcze.mjs";
1
+ import { S as process_identity_exports } from "./exec-VFRpu1iA.mjs";
2
2
  import { c as supervisorPidFile, g as workspaceStateFile$1 } from "./paths-DQtTgsBf.mjs";
3
- import { U as parseDeviceSlotKey, V as deviceSlotKey, _ as loadConfig$1, g as isPathPrefix, l as findEnclosingWorktreeRoot, p as getProject } from "./config-DlrsduwG.mjs";
4
- import { c as withWorkspaceStateLock, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-U08dEzhG.mjs";
5
- import { K as resolveIosProjectDir, Mt as repoRoot, W as resolveAndroidLayout, at as webSettings, tt as settingValueAt } from "./settings-C7O8A6ZI.mjs";
3
+ import { U as parseDeviceSlotKey, V as deviceSlotKey, _ as loadConfig$1, g as isPathPrefix, l as findEnclosingWorktreeRoot, p as getProject } from "./config-BZhXY15H.mjs";
4
+ import { c as withWorkspaceStateLock, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-CeBpIZgr.mjs";
5
+ import { K as resolveIosProjectDir, Mt as repoRoot, W as resolveAndroidLayout, at as webSettings, tt as settingValueAt } from "./settings-RKwY33wv.mjs";
6
6
  import { existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, rmSync, statSync, writeFileSync } from "node:fs";
7
7
  import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
8
8
  import { projectRootDirectories } from "@stim-cli/core/state";
@@ -81,6 +81,10 @@ function writeWorkspaceLaunch(root, platform, record, slot = "default") {
81
81
  };
82
82
  });
83
83
  }
84
+ /** Records a launch after asynchronously acquiring the workspace state lock. */
85
+ function writeWorkspaceLaunchAsync(root, platform, record, slot = "default") {
86
+ return withWorkspaceStateLockAsync(root, () => writeWorkspaceLaunch(root, platform, record, slot));
87
+ }
84
88
  function clearWorkspaceLaunches(root, slot) {
85
89
  updateWorkspaceState(root, (state) => {
86
90
  if (!state.launches || typeof state.launches !== "object") return state;
@@ -308,8 +312,8 @@ const nativeAndroidIntegration = {
308
312
  application: true,
309
313
  platforms: () => ["android"],
310
314
  validate: (operation) => operation === "android" ? null : void 0,
311
- android: async () => (await import("./native-android-_MWSs3PP.mjs")).nativeAndroidProject(root),
312
- doctor: async () => (await import("./native-android-_MWSs3PP.mjs")).nativeAndroidDoctor(root)
315
+ android: async () => (await import("./native-android-96BBizbq.mjs")).nativeAndroidProject(root),
316
+ doctor: async () => (await import("./native-android-96BBizbq.mjs")).nativeAndroidDoctor(root)
313
317
  };
314
318
  }
315
319
  };
@@ -737,8 +741,8 @@ const nativeXcodeProjectIntegration = {
737
741
  application: problem === null,
738
742
  platforms: () => problem ? [] : ["ios"],
739
743
  validate: (operation) => operation === "ios" ? problem : void 0,
740
- ios: async () => (await import("./native-xcode-ios-vFgqL_yS.mjs")).nativeXcodeIosProject(root),
741
- doctor: async () => (await import("./native-xcode-ios-vFgqL_yS.mjs")).nativeXcodeDoctor(root)
744
+ ios: async () => (await import("./native-xcode-ios-BY-6hh6M.mjs")).nativeXcodeIosProject(root),
745
+ doctor: async () => (await import("./native-xcode-ios-BY-6hh6M.mjs")).nativeXcodeDoctor(root)
742
746
  };
743
747
  }
744
748
  };
@@ -943,7 +947,7 @@ function createProjectRegistry(integrations) {
943
947
  //#region src/integrations/projects.ts
944
948
  const expo = {
945
949
  mode: MODE_EXPO,
946
- loadDevServer: async () => (await import("./server-expo-Ddr8cG_c.mjs")).startExpoServer,
950
+ loadDevServer: async () => (await import("./server-expo-CEntXzRw.mjs")).startExpoServer,
947
951
  platforms(root) {
948
952
  const appJson = readAppJson(root);
949
953
  const config = appJson?.expo ?? appJson;
@@ -963,7 +967,7 @@ const expo = {
963
967
  };
964
968
  const reactNative = {
965
969
  mode: MODE_BARE,
966
- loadDevServer: async () => (await import("./server-bare-CafzuyFB.mjs")).startBareServer,
970
+ loadDevServer: async () => (await import("./server-bare-Z1ToVLPn.mjs")).startBareServer,
967
971
  platforms(root, { context, settings }) {
968
972
  if (!declaresAppDependency(readPackageJson(root))) return [];
969
973
  const platforms = [];
@@ -993,9 +997,9 @@ const projectRegistry = createProjectRegistry([
993
997
  ownedRoots: problem === null ? [join(root, "ios"), join(root, "android")] : [],
994
998
  platforms: (resolved) => nativeProjectIntegration(root).platforms(root, resolved),
995
999
  validate: (operation) => operation === "ios" || operation === "android" || operation === "dev-server" ? problem : void 0,
996
- ios: async (settings) => (await import("./react-native-ios-C5W0SA6f.mjs")).reactNativeIosProject(root, settings),
997
- android: async (resolved) => (await import("./react-native-android-ZlhQfhvq.mjs")).reactNativeAndroidProject(root, resolved),
998
- doctor: async () => (await import("./react-native-doctor-LTIaP7lv.mjs")).reactNativeProjectDoctor(root)
1000
+ ios: async (settings) => (await import("./react-native-ios-D5zTIuH8.mjs")).reactNativeIosProject(root, settings),
1001
+ android: async (resolved) => (await import("./react-native-android-DOinxgwB.mjs")).reactNativeAndroidProject(root, resolved),
1002
+ doctor: async () => (await import("./react-native-doctor-2ivJUmwZ.mjs")).reactNativeProjectDoctor(root)
999
1003
  };
1000
1004
  }
1001
1005
  },
@@ -1009,9 +1013,9 @@ const projectRegistry = createProjectRegistry([
1009
1013
  application: true,
1010
1014
  platforms: ({ settings }) => settingValueAt(settings, "macos.product") && settingValueAt(settings, "macos.infoPlist") ? ["macos"] : [],
1011
1015
  validate: (operation) => operation === "macos" ? null : void 0,
1012
- macos: async () => (await import("./swiftpm-macos-DbwGCpZg.mjs")).swiftpmMacosProject(root),
1016
+ macos: async () => (await import("./swiftpm-macos-BVCP5mO4.mjs")).swiftpmMacosProject(root),
1013
1017
  doctor: async () => {
1014
- const { macosToolchain, macosToolchainAsync } = await import("./toolchain-XkA2PfJZ.mjs");
1018
+ const { macosToolchain, macosToolchainAsync } = await import("./toolchain-BjgKdoEf.mjs");
1015
1019
  return {
1016
1020
  inspect: () => [],
1017
1021
  offloadTargets: ({ options: { host = process.platform, platform, operation } }) => host === "darwin" && platform === void 0 ? async () => [{
@@ -1031,7 +1035,7 @@ const projectRegistry = createProjectRegistry([
1031
1035
  application: false,
1032
1036
  platforms: ({ settings }) => webSettings(settings).url !== null ? ["web"] : [],
1033
1037
  validate: (operation) => operation === "web" ? null : void 0,
1034
- web: async () => (await import("./browser-web-BJN9ZHxB.mjs")).browserWebProject(root)
1038
+ web: async () => (await import("./browser-web-ycg9qWB8.mjs")).browserWebProject(root)
1035
1039
  };
1036
1040
  }
1037
1041
  },
@@ -1155,4 +1159,4 @@ function expandedRealpath(path) {
1155
1159
  }
1156
1160
  }
1157
1161
  //#endregion
1158
- export { clearWorkspaceLaunches as A, resolvePackageJson as C, clearExpoMetroTunnel as D, MODE_EXPO as E, readRemoteSessionId as F, readWorkspaceLaunches as I, workspaceDevServerMode as L, readMetroTunnel as M, readPidFile as N, clearManagedMetroTunnel as O, readRemoteSession as P, writePidFile as R, readAppJson as S, MODE_COMMAND as T, appProjectProblem as _, findServerWorkspace as a, isPackageResolvable as b, projectProblem as c, nativeProjectIntegration as d, projectRegistry as f, selectNativeXcodeProject as g, pbxString as h, findProjectRoot$1 as i, clearWorkspaceSupervisor as j, clearRemoteSession as k, projectShortcut as l, pbxReferences as m, findCommandWorkspace as n, isMobileProject as o, NativeXcodeError as p, findCommandWorkspaceAsync as r, ownedDeviceLabel as s, NO_PROJECT_REFUSAL as t, detectPlatforms as u, detectIsExpo as v, MODE_BARE as w, readAppConfigText as x, detectTutorial as y, writeWorkspaceLaunch as z };
1162
+ export { clearWorkspaceLaunches as A, resolvePackageJson as C, clearExpoMetroTunnel as D, MODE_EXPO as E, readRemoteSessionId as F, readWorkspaceLaunches as I, workspaceDevServerMode as L, readMetroTunnel as M, readPidFile as N, clearManagedMetroTunnel as O, readRemoteSession as P, writePidFile as R, readAppJson as S, MODE_COMMAND as T, appProjectProblem as _, findServerWorkspace as a, isPackageResolvable as b, projectProblem as c, nativeProjectIntegration as d, projectRegistry as f, selectNativeXcodeProject as g, pbxString as h, findProjectRoot$1 as i, clearWorkspaceSupervisor as j, clearRemoteSession as k, projectShortcut as l, pbxReferences as m, findCommandWorkspace as n, isMobileProject as o, NativeXcodeError as p, findCommandWorkspaceAsync as r, ownedDeviceLabel as s, NO_PROJECT_REFUSAL as t, detectPlatforms as u, detectIsExpo as v, MODE_BARE as w, readAppConfigText as x, detectTutorial as y, writeWorkspaceLaunchAsync as z };
@@ -1,5 +1,5 @@
1
- import { r as WorkspaceProcessCleanupError, t as getExecutor } from "./exec-DEoAhcze.mjs";
2
- import { c as gitQuiet, l as gitQuietAsync, r as childEnvironment, s as gitAsync, t as runOperationFile } from "./operation-exec-BW0em61G.mjs";
1
+ import { l as WorkspaceProcessCleanupError, t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
+ import { c as gitQuiet, l as gitQuietAsync, r as childEnvironment, s as gitAsync, t as runOperationFile } from "./operation-exec-CUZifp6Z.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-W1IuLXDt.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-CbNlkFok.mjs";
2
2
  export { checkCounts, describePullRequest, endedPullRequest, parseRemoteRepo, pullRequestLookup, pullRequestLookupAsync, pullRequestLookups, selectPullRequest, worktreePullRequests };