stim 1.20.2 → 1.22.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 (231) hide show
  1. package/README.md +141 -8
  2. package/dist/acquire-artifact-Co2k4f7O.mjs +171 -0
  3. package/dist/act-DsuqEkiM.mjs +2801 -0
  4. package/dist/activity-CMLmzp7o.mjs +1397 -0
  5. package/dist/{agent-device-usage-output-Dzgv6lgR.mjs → agent-device-usage-output-DUFaTMdd.mjs} +23 -67
  6. package/dist/{android-DCKZrNvV.mjs → android-ByRMUoiJ.mjs} +157 -93
  7. package/dist/{android-Mz_Inn3w.mjs → android-C7sVmyI9.mjs} +299 -116
  8. package/dist/{android-Dlzxshgp.mjs → android-DGkNqa_c.mjs} +5 -5
  9. package/dist/{android-HqP1_vB_.mjs → android-DR5lZ2Az.mjs} +2 -2
  10. package/dist/android-cas-compiler.mjs +2 -2
  11. package/dist/{android-cas-Bl-cLJBk.mjs → android-cas-ngferVq2.mjs} +7 -6
  12. package/dist/android-project-BCAAmMwz.mjs +12 -0
  13. package/dist/android-project-DVWyCbWU.d.mts +391 -0
  14. package/dist/api.d.mts +810 -64
  15. package/dist/api.mjs +782 -1
  16. package/dist/{artifact-HSwkIWEQ.mjs → artifact-8EY8SAPw.mjs} +240 -213
  17. package/dist/{artifact-D3czlUvT.mjs → artifact-DJPy518Y.mjs} +203 -164
  18. package/dist/artifact-platform-CXcmX_j3.mjs +27 -0
  19. package/dist/{browser-web-CA-F1GQo.mjs → browser-web-Bcv99PBM.mjs} +194 -64
  20. package/dist/budget-Cvwn54qV.mjs +9285 -0
  21. package/dist/{build-DYDbfkk5.mjs → build-CabC3G23.mjs} +153 -98
  22. package/dist/build-cache-Dv7RN200.mjs +602 -0
  23. package/dist/build-plan-DUC8Ka9y.mjs +248 -0
  24. package/dist/{cache-manifest-XH-fvDUj.mjs → cache-manifest-DSeQjt-Q.mjs} +2 -2
  25. package/dist/cache-manifest.mjs +1 -1
  26. package/dist/{ccache-zdKiYQ3E.mjs → ccache-Btwc36-I.mjs} +10 -9
  27. package/dist/{cdp-Dq_ypAlJ.mjs → cdp-3fwICjzi.mjs} +18 -5
  28. package/dist/{chrome-BnzZMqsR.mjs → chrome-Bbw689-6.mjs} +7 -4
  29. package/dist/{cli-CLP3diBm.mjs → cli-CHZa9Lvk.mjs} +20 -20
  30. package/dist/cli.mjs +1 -1
  31. package/dist/client-OyRoEuSr.mjs +1577 -0
  32. package/dist/collector-run.d.mts +4 -40
  33. package/dist/collector-run.mjs +9 -8
  34. package/dist/{command-output-BTy8hZ0F.mjs → command-output-gwpm28fu.mjs} +1 -1
  35. package/dist/config-DlrsduwG.mjs +955 -0
  36. package/dist/{created-devices-Dzd5C2LF.mjs → created-devices-x9rN6bhs.mjs} +14 -4
  37. package/dist/{dependency-state-DG0p31-y.mjs → dependency-state-1I9KZT1Y.mjs} +20 -5
  38. package/dist/{detached-entry-B9C_zeQC.mjs → detached-entry-BwNEtIrP.mjs} +1 -1
  39. package/dist/{dev-client-DAWVIGBu.mjs → dev-client-BSDR5h3F.mjs} +2 -2
  40. package/dist/{device-BECOiufl.mjs → device-B-L3Fbxy.mjs} +91 -34
  41. package/dist/device-DklWZLqb.mjs +1068 -0
  42. package/dist/{device-capacity-CBUAcRyQ.mjs → device-capacity-DK5_EwRS.mjs} +42 -13
  43. package/dist/device-host-worker.mjs +76 -79
  44. package/dist/{device-ios-COSi6oS1.mjs → device-ios-DoB6KFCO.mjs} +77 -51
  45. package/dist/{device-lease-run-Cw2M4z51.mjs → device-lease-run-xJPQ_QQG.mjs} +14 -26
  46. package/dist/{device-pool-Bf-pOhSw.mjs → device-pool-BMkdsefq.mjs} +5 -5
  47. package/dist/{doctor-kfMBnUw6.mjs → doctor-Bo7BXLux.mjs} +271 -320
  48. package/dist/{doctor-CB8oZKCk.mjs → doctor-D5_EzwfA.mjs} +186 -91
  49. package/dist/doctor-fingerprint-DZLoYFVb.mjs +16 -0
  50. package/dist/doctor-fingerprint.mjs +19 -0
  51. package/dist/doctor-thjWAV0z.mjs +2 -0
  52. package/dist/{doctor-watchman-BRyV2adA.mjs → doctor-watchman-N2wDotwQ.mjs} +40 -21
  53. package/dist/{eas-build-JyfqyHfC.mjs → eas-build-CwknaQYj.mjs} +53 -20
  54. package/dist/{build-plan-B7SZsc2N.mjs → eas-fallback-CSgAulr5.mjs} +41 -214
  55. package/dist/{watchman-CPQFZLXY.mjs → eas-session-ledger-DlY_serQ.mjs} +230 -11
  56. package/dist/{error-diagnostics-BR677IDM.mjs → error-diagnostics-DBWO2rxE.mjs} +172 -82
  57. package/dist/exec-DEoAhcze.mjs +858 -0
  58. package/dist/exec-DnYc4HGH.d.mts +78 -0
  59. package/dist/{gc-qWOMdnER.mjs → gc-CXxN-4SE.mjs} +1091 -1029
  60. package/dist/gc-DnNDQyaP.mjs +3 -0
  61. package/dist/{guide-G9cAbVAc.mjs → guide-Br0LEfKy.mjs} +1165 -297
  62. package/dist/{hosted-android-C3MHGld1.mjs → hosted-android-B-9f-jkd.mjs} +10 -8
  63. package/dist/{hosted-client-ZEKpS9vw.mjs → hosted-client-DZAPrcro.mjs} +34 -19
  64. package/dist/{hosted-ios-l-o3iM9J.mjs → hosted-ios-CsCS21hn.mjs} +1 -1
  65. package/dist/{hosted-logs-EzQM7-3Z.mjs → hosted-logs-FIRx9X2f.mjs} +77 -43
  66. package/dist/{hosted-macos-BACVAVqE.mjs → hosted-macos-_awYSpfv.mjs} +35 -22
  67. package/dist/{hosted-native-A4s1QPXe.mjs → hosted-native-BdzE668-.mjs} +49 -27
  68. package/dist/idle-C4cZ757K.d.mts +24 -0
  69. package/dist/{idle-shutdown-DtxhPTKe.mjs → idle-shutdown-DDg3SdvY.mjs} +11 -10
  70. package/dist/ios-CDvlmUs7.d.mts +24 -0
  71. package/dist/{ios-BwVCF7oA.mjs → ios-Ds1clbIt.mjs} +8 -8
  72. package/dist/{ios-device-D7pi2Sca.mjs → ios-device--h_-8ENa.mjs} +51 -26
  73. package/dist/{ios-device-B5veSDDQ.mjs → ios-device-BXZ0c7Kb.mjs} +1 -1
  74. package/dist/{ios-RkW4pnQf.mjs → ios-hcBpnEGk.mjs} +200 -93
  75. package/dist/{ios-Ce7bc7br.mjs → ios-pm4nL6By.mjs} +160 -108
  76. package/dist/{ios-project-K9hY_Jab.mjs → ios-project-CZhKODF3.mjs} +13 -13
  77. package/dist/ios-signing-BtAffm0A.mjs +489 -0
  78. package/dist/{ios-state-CBLe1xYw.mjs → ios-state-Dtw5K2aI.mjs} +1 -1
  79. package/dist/{ios-nOLJGVdy.mjs → ios-xtlRHaeB.mjs} +1 -1
  80. package/dist/{js-swap-Bb3nsS07.mjs → js-swap-Bwhh4S7V.mjs} +30 -25
  81. package/dist/{launch-C3qJ6Agb.mjs → launch-BjxemNpK.mjs} +85 -543
  82. package/dist/{launch-F4sOqAhB.mjs → launch-CCzXlc8r.mjs} +91 -90
  83. package/dist/logs-BfwwadsZ.mjs +479 -0
  84. package/dist/logs-jTS_lHSo.mjs +248 -0
  85. package/dist/{macos-D7uDvO-z.mjs → macos-DVlSSyUg.mjs} +1 -1
  86. package/dist/macos-NfV2D7dO.mjs +694 -0
  87. package/dist/macos-run.mjs +1 -1
  88. package/dist/maintenance-run.mjs +123 -248
  89. package/dist/{metro-DnCEjCxs.mjs → metro-DiXtA3Ty.mjs} +107 -30
  90. package/dist/metro-gateway-CKZqKqx7.mjs +209 -0
  91. package/dist/{named-ports-4WopRPg-.mjs → named-ports-DkEzOfzO.mjs} +42 -90
  92. package/dist/native-android-CqgnOgsT.mjs +645 -0
  93. package/dist/native-gradle-artifact-inputs-DHFnmrVf.mjs +270 -0
  94. package/dist/native-gradle-inputs-Dnh84Zbd.mjs +211 -0
  95. package/dist/native-inputs-TRTTTRxt.mjs +91 -0
  96. package/dist/native-run-NwUuxbkg.mjs +276 -0
  97. package/dist/{native-runtime-k8dTIrbK.mjs → native-runtime-B7KIafpM.mjs} +11 -9
  98. package/dist/native-source-Y0yLhFyQ.mjs +133 -0
  99. package/dist/{native-xcode-inputs-CykopJdM.mjs → native-xcode-inputs-D_VOfFL7.mjs} +26 -18
  100. package/dist/{native-xcode-ios-Bbf30Gm0.mjs → native-xcode-ios-BYDOHWLN.mjs} +104 -60
  101. package/dist/{ndjson-GOnbyvso.mjs → ndjson-CgE_o3Dl.mjs} +3 -3
  102. package/dist/offload-worker.d.mts +59 -41
  103. package/dist/offload-worker.mjs +478 -115
  104. package/dist/operation-exec-BW0em61G.mjs +171 -0
  105. package/dist/{ownership-DCtw_2IA.mjs → ownership-C5fo5Edb.mjs} +3 -3
  106. package/dist/{page-DRHy329N.mjs → page-DBL2PiUU.mjs} +12 -5
  107. package/dist/paths-BsJMoPP2.mjs +12 -0
  108. package/dist/paths-DQtTgsBf.mjs +42 -0
  109. package/dist/{placement-log-MOfPVgaM.mjs → placement-log-BnGgJRRZ.mjs} +5 -5
  110. package/dist/{plan-placement-V0TdzYXp.mjs → plan-placement-DIsMtN-d.mjs} +15 -11
  111. package/dist/{ports-DdSUicVo.mjs → ports-Cy1RkmuQ.mjs} +3 -3
  112. package/dist/prebuild-D4JoEAEs.mjs +484 -0
  113. package/dist/{project-_phNIJfs.mjs → project-wM_XFTvE.mjs} +65 -37
  114. package/dist/{pull-request-CQ8sPbZa.mjs → pull-request-W1IuLXDt.mjs} +102 -20
  115. package/dist/pull-request-eODyIqZF.d.mts +124 -0
  116. package/dist/pull-requests.d.mts +2 -120
  117. package/dist/pull-requests.mjs +2 -2
  118. package/dist/{react-native-android-CM1XRDwv.mjs → react-native-android-6OZ7MSM7.mjs} +121 -72
  119. package/dist/{gradle-DSrXb6lG.mjs → react-native-build-Dvd8hC21.mjs} +292 -15
  120. package/dist/react-native-doctor-DsoSF1Y9.mjs +234 -0
  121. package/dist/{react-native-ios-Dhq_eiYQ.mjs → react-native-ios-4u1Rn-GR.mjs} +71 -39
  122. package/dist/{recordings-D0d5aQt0.mjs → recordings-CQmfzAh7.mjs} +12 -9
  123. package/dist/registration-BcRgF6Ox.mjs +51 -0
  124. package/dist/{reload-C8JhxjSh.mjs → reload-BzkYabB-.mjs} +94 -47
  125. package/dist/reload-D7AVlb8N.mjs +2 -0
  126. package/dist/{remote-BiR6aYjy.mjs → remote-DjGDmlTZ.mjs} +26 -18
  127. package/dist/result-D2Ykz_iD.mjs +435 -0
  128. package/dist/{run-BtPgpKks.mjs → run-DidHghD1.mjs} +5 -5
  129. package/dist/selection-DSMbWEX2.mjs +620 -0
  130. package/dist/{server-bare-R2m_gsH8.mjs → server-bare-CafzuyFB.mjs} +3 -4
  131. package/dist/{server-command-CTtCkmcQ.mjs → server-command-C6QjeupS.mjs} +14 -7
  132. package/dist/{server-expo-DsguMGUF.mjs → server-expo-CrjB29pq.mjs} +54 -11
  133. package/dist/server-expo-D58c9L0M.mjs +2 -0
  134. package/dist/{settings-B717odTD.mjs → settings-C7O8A6ZI.mjs} +309 -119
  135. package/dist/settings-DpR-1Wnn.mjs +114 -0
  136. package/dist/settings-write-CzD60rOD.mjs +360 -0
  137. package/dist/settings.schema.json +176 -16
  138. package/dist/{simslim-CCr3rE-A.mjs → simslim-BNckWpXi.mjs} +14 -12
  139. package/dist/{slot-launch-DPt0m9Nd.mjs → slot-launch-CbfmNgM6.mjs} +15 -20
  140. package/dist/{spawn-entry-Dcb7sDUz.mjs → spawn-entry-jw19m8Nl.mjs} +0 -1
  141. package/dist/stage-Bps5oius.mjs +200 -0
  142. package/dist/{start-TXeMmmO2.mjs → start-Br-oxqMD.mjs} +1 -1
  143. package/dist/start-EojN4WFz.mjs +1364 -0
  144. package/dist/{state-D1Icyjlu.mjs → state--smjFSTL.mjs} +55 -13
  145. package/dist/{state-CG_OFoaA.mjs → state-08I3hw3_.mjs} +3 -2
  146. package/dist/{stats-BoY5sEPU.mjs → stats-D3GerlFW.mjs} +7 -13
  147. package/dist/stats-report-BzaPrRm6.mjs +16 -0
  148. package/dist/{status-BTA7kKiQ.mjs → status-BRROykC8.mjs} +7 -5
  149. package/dist/status-EvrK72L2.mjs +2 -0
  150. package/dist/{status-WgFbkRzj.mjs → status-WBDajew2.mjs} +554 -452
  151. package/dist/{status-watch-C23ILtf9.mjs → status-watch-Bg_u-pwR.mjs} +222 -25
  152. package/dist/status-worker.d.mts +1 -0
  153. package/dist/status-worker.mjs +19 -0
  154. package/dist/stim-desktop-D5OGpYZM.mjs +112 -0
  155. package/dist/{stop-DR6VoDIk.mjs → stop-DTZ9uTw3.mjs} +2 -2
  156. package/dist/{stop-DPEhunlw.mjs → stop-Dky10AEJ.mjs} +33 -23
  157. package/dist/{stop-BNmBMi1F.mjs → stop-Mv6W9FAk.mjs} +137 -98
  158. package/dist/supervisor-run.d.mts +8 -17
  159. package/dist/supervisor-run.mjs +56 -28
  160. package/dist/{support-CwjbFs9H.mjs → support-CNioewsd.mjs} +14 -14
  161. package/dist/{support-DMTqj3Hm.mjs → support-yUiOjnVY.mjs} +20 -13
  162. package/dist/swiftpm-artifact-inputs-DFcGsXDP.mjs +153 -0
  163. package/dist/swiftpm-macos-BIak-Rxv.mjs +532 -0
  164. package/dist/toolchain-BY8X8HXx.mjs +2 -0
  165. package/dist/toolchain-DpJMHq0n.mjs +876 -0
  166. package/dist/{trigger-CigAYjeL.mjs → trigger-Cbyc41d_.mjs} +21 -6
  167. package/dist/trigger-yb_nFzPF.mjs +2 -0
  168. package/dist/{warm-progress-BuY-Fvfn.mjs → warm-progress-CA3TgT3-.mjs} +263 -156
  169. package/dist/web-CZ07gd77.mjs +2 -0
  170. package/dist/{web-BDBMxDpx.mjs → web-DKx6yoFA.mjs} +20 -14
  171. package/dist/web-run.mjs +13 -12
  172. package/dist/windows-report.d.mts +1 -0
  173. package/dist/windows-report.mjs +18 -0
  174. package/dist/windows-report.ps1 +43 -0
  175. package/dist/{workspace-state-DJt_MMvf.mjs → workspace-state-U08dEzhG.mjs} +62 -58
  176. package/dist/{workspaces-C36s2jb9.mjs → workspaces-CpANmBlq.mjs} +1723 -1286
  177. package/dist/{worktree-CgvJYJ-Q.mjs → worktree-CHecZ4Oq.mjs} +1097 -547
  178. package/dist/worktree-ZqZVjD9K.mjs +2 -0
  179. package/dist/xcode-BXn9-xYx.mjs +896 -0
  180. package/package.json +7 -5
  181. package/shim/android-audio/Main.java +24 -0
  182. package/shim/android-audio/README.md +17 -0
  183. package/shim/android-audio.jar +0 -0
  184. package/shim/android-optimizations.gradle +7 -5
  185. package/dist/activity-BSV745Kz.mjs +0 -629
  186. package/dist/api-qvOzWyfO.mjs +0 -154
  187. package/dist/api-run.mjs +0 -294
  188. package/dist/app-install-BIKtMfPq.mjs +0 -896
  189. package/dist/artifact-lifecycle-DzPpBYvK.mjs +0 -30
  190. package/dist/budget-f7516Zk0.mjs +0 -4106
  191. package/dist/build-facts-DcLv2HSd.d.mts +0 -111
  192. package/dist/cancellation-C_22VQTH.mjs +0 -24
  193. package/dist/client-qQAaXSUs.mjs +0 -1771
  194. package/dist/config-BYDxlMY3.mjs +0 -562
  195. package/dist/device-DuiPJQSn.mjs +0 -290
  196. package/dist/device-lease-BX1sJQ2E.mjs +0 -1224
  197. package/dist/device-remote-xRT0Vmo9.mjs +0 -1272
  198. package/dist/eas-session-ledger-Cm0Gwq2F.mjs +0 -207
  199. package/dist/exec-DqKo9GKJ.mjs +0 -268
  200. package/dist/git-DDfFzkMm.mjs +0 -45
  201. package/dist/launch-verify-B6Q8hZP-.mjs +0 -428
  202. package/dist/logs-BGrEUaEs.mjs +0 -383
  203. package/dist/macos-Ch5VJmcS.mjs +0 -584
  204. package/dist/metro-gateway-CX9Xlkq2.mjs +0 -103
  205. package/dist/miss-reason-mKzZ4VvN.mjs +0 -238
  206. package/dist/native-android-D5qc3-_v.mjs +0 -226
  207. package/dist/native-gradle-inputs-BsLRrl7u.mjs +0 -349
  208. package/dist/ndjson-Du3j0AQ9.d.mts +0 -17
  209. package/dist/plan-C4TjdPsR.mjs +0 -260
  210. package/dist/prebuild-DYbucPXy.mjs +0 -212
  211. package/dist/preview-78a9kR_-.mjs +0 -1011
  212. package/dist/react-native-build-CtCccJtb.mjs +0 -239
  213. package/dist/react-native-doctor-CfRnFfjs.mjs +0 -78
  214. package/dist/remote-cache-OyOyVIS3.mjs +0 -526
  215. package/dist/result-CaJg5Iat.mjs +0 -186
  216. package/dist/server-expo-Bigriskl.mjs +0 -2
  217. package/dist/settings-BORNaaCO.mjs +0 -402
  218. package/dist/settings-vk3mJGSm.d.mts +0 -13
  219. package/dist/spawn-claims-DVS5RkMS.mjs +0 -72
  220. package/dist/stage-KNTQopqv.mjs +0 -157
  221. package/dist/start-BWqzODpb.mjs +0 -1116
  222. package/dist/stim-desktop-BzBN2Em2.mjs +0 -63
  223. package/dist/swiftpm-macos-DRNVJWlb.mjs +0 -119
  224. package/dist/tailnet-Dh-qiYzG.mjs +0 -265
  225. package/dist/toolchain-BFkAcstd.mjs +0 -2
  226. package/dist/toolchain-DxSsNssu.mjs +0 -1657
  227. package/dist/trigger-9_USgmxz.mjs +0 -2
  228. package/dist/web-Dq-i3wzJ.mjs +0 -2
  229. package/dist/worktree-DpLdCHga.mjs +0 -2
  230. package/dist/{api-run.d.mts → doctor-fingerprint.d.mts} +0 -0
  231. package/dist/{errors-DzkMYh8Q.mjs → errors-ccaPc4ox.mjs} +2 -2
@@ -1,31 +1,32 @@
1
- import { G as resolveIosProjectDir, H as remoteIosSetting, L as publicUrlSetting, Q as settingShapeErrors, V as remoteEasFallbackSetting, a as SETTING_SHAPE_REMEDY, p as cacheProviderSettingError, tt as tunnelModeSetting } from "./settings-B717odTD.mjs";
2
- import { E as fingerprintDiffRecord, L as untrackedMissLine, M as refingerprintAfterMutation, O as inputsChangedDuringBuild, S as configInputsChanged, T as filesystemBuildCapability, b as buildCacheKey, x as changedDuringBuildLine } from "./device-lease-BX1sJQ2E.mjs";
3
- import { i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-BTy8hZ0F.mjs";
4
- import { It as statsProjectKey } from "./budget-f7516Zk0.mjs";
5
- import { d as optimizationBuildProfile, l as artifactCachePolicy, p as resolveOptimizations } from "./errors-DzkMYh8Q.mjs";
6
- import { n as fingerprintErrorMissReason, t as explainBuildMiss } from "./miss-reason-mKzZ4VvN.mjs";
7
- import { I as bundlerPin, r as iosToolchain } from "./toolchain-DxSsNssu.mjs";
8
- import { r as planPayload, t as planCachedBuild } from "./build-plan-B7SZsc2N.mjs";
9
- import { i as planEasDevelopmentBuild, n as easDeviceBuildRemedy } from "./eas-build-JyfqyHfC.mjs";
10
- import { i as staleNativeDirRefusal, n as recordPrebuild } from "./prebuild-DYbucPXy.mjs";
11
- 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-CwjbFs9H.mjs";
12
- import { t as IosRecipeRefusal } from "./ios-project-K9hY_Jab.mjs";
13
- import { i as hostedIosSelectors } from "./remote-BiR6aYjy.mjs";
14
- import { c as copyAppAside, i as DEFAULT_DEPS, n as iosMetroRuntime, r as iosProcessRuntime, u as writeIpTxt } from "./launch-C3qJ6Agb.mjs";
15
- import { t as planHostedDevice } from "./plan-placement-V0TdzYXp.mjs";
1
+ import { _ as reportSignal } from "./exec-DEoAhcze.mjs";
2
+ import { i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-gwpm28fu.mjs";
3
+ import { H as remoteEasFallbackSetting, K as resolveIosProjectDir, R as publicUrlSetting, U as remoteIosSetting, a as SETTING_SHAPE_REMEDY, et as settingShapeErrors, p as cacheProviderSettingError, rt as tunnelModeSetting } from "./settings-C7O8A6ZI.mjs";
4
+ import { Fn as processContext, Y as statsProjectKey } from "./budget-Cvwn54qV.mjs";
5
+ import { d as runCancellationSignal } from "./native-run-NwUuxbkg.mjs";
6
+ import { c as fingerprintDiffRecord, i as configInputsChanged, m as refingerprintAfterMutation, n as buildCacheKey, r as changedDuringBuildLine, s as filesystemBuildCapability, u as inputsChangedDuringBuild, y as untrackedMissLine } from "./build-cache-Dv7RN200.mjs";
7
+ import { d as optimizationBuildProfile, l as artifactCachePolicy, p as resolveOptimizations } from "./errors-ccaPc4ox.mjs";
8
+ import { b as bundlerPin } from "./xcode-BXn9-xYx.mjs";
9
+ import { a as iosToolchainAsync } from "./toolchain-DpJMHq0n.mjs";
10
+ 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-CNioewsd.mjs";
11
+ import { t as readDoctorFingerprint } from "./doctor-fingerprint-DZLoYFVb.mjs";
12
+ import { i as planEasDevelopmentBuild, n as easDeviceBuildRemedy } from "./eas-build-CwknaQYj.mjs";
13
+ import { a as staleNativeDirRefusal, o as explainBuildMiss, r as recordPrebuild, s as fingerprintErrorMissReason } from "./prebuild-D4JoEAEs.mjs";
14
+ import { r as planPayload, t as planCachedBuild } from "./build-plan-DUC8Ka9y.mjs";
15
+ import { t as IosRecipeRefusal } from "./ios-project-CZhKODF3.mjs";
16
+ import { a as hostedIosSelectors } from "./remote-DjGDmlTZ.mjs";
17
+ import { c as copyAppAside, i as DEFAULT_DEPS, n as iosMetroRuntime, r as iosProcessRuntime, u as writeIpTxt } from "./launch-BjxemNpK.mjs";
18
+ import { t as planHostedDevice } from "./plan-placement-DIsMtN-d.mjs";
16
19
  import { rmSync } from "node:fs";
17
20
  import chalk from "chalk";
18
21
  //#region src/integrations/react-native-ios-plan.ts
19
- function note(line) {
20
- console.error(line);
21
- }
22
22
  function refuse(refusal, lines = []) {
23
23
  return {
24
24
  refusal,
25
25
  lines
26
26
  };
27
27
  }
28
- async function planReactNativeIos(root, opts, d, schemeProblem, { context: settingsContext, settings }) {
28
+ async function planReactNativeIos(root, opts, d, schemeProblem, { context: settingsContext, settings }, operation = processContext(root)) {
29
+ const note = (line) => operation.output("stderr", `${line}\n`);
29
30
  const iosProject = resolveIosProjectDir(settings, root);
30
31
  const [shapeError, ...moreShapeErrors] = settingShapeErrors(settings);
31
32
  if (shapeError) return refuse({
@@ -65,7 +66,7 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
65
66
  const isExpo = d.detectIsExpo(root);
66
67
  const settingsLayersForOrigin = d.settingsLayers(settingsContext);
67
68
  const iosRemote = remoteIosSetting(settings);
68
- const modelRefusal = deviceModelRefusal({
69
+ const modelRefusal = await deviceModelRefusal({
69
70
  slot,
70
71
  deviceTypeFlag: opts.deviceType,
71
72
  runtimeFlag: opts.runtime,
@@ -76,11 +77,15 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
76
77
  physical: false,
77
78
  remoteBackend: iosRemote?.kind === "backend" ? iosRemote.backend : null,
78
79
  hosted: iosRemote?.kind === "machine",
79
- listRuntimes: d.listIosRuntimes
80
+ listRuntimes: d.listIosRuntimes,
81
+ signal: operation?.signal
80
82
  });
81
83
  if (modelRefusal) return refuse(modelRefusal);
82
84
  if (opts.easProfile !== void 0) {
83
85
  const eas = await planEasDevelopmentBuild({
86
+ context: operation,
87
+ env: operation?.env,
88
+ signal: operation?.signal,
84
89
  root,
85
90
  platform: "ios",
86
91
  profile: opts.easProfile,
@@ -106,7 +111,7 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
106
111
  remedy: "Run `stim ios` to build for the remote device, or unset ios.remote to plan the owned simulator."
107
112
  });
108
113
  const scheme = resolveSchemeSelection(opts, settings);
109
- const refusal = schemeProblem(scheme);
114
+ const refusal = await schemeProblem(scheme);
110
115
  if (refusal) return refuse({
111
116
  code: refusal.code,
112
117
  message: refusal.message ?? "",
@@ -117,11 +122,16 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
117
122
  const cachePolicy = artifactCachePolicy(optimizations, opts.buildCache !== false, isReleaseConfiguration(configuration));
118
123
  let fingerprint;
119
124
  try {
120
- fingerprint = await d.fingerprintProject(root, {
125
+ fingerprint = operation && reportSignal(operation) ? await readDoctorFingerprint(operation, {
126
+ root,
127
+ platform: "ios",
128
+ iosProjectPath: iosProject.relative
129
+ }) : await d.fingerprintProject(root, {
121
130
  platform: "ios",
122
131
  iosProjectPath: iosProject.relative
123
132
  });
124
133
  } catch (error) {
134
+ operation?.signal.throwIfAborted();
125
135
  note(chalk.dim(`Fingerprinting failed: ${error?.message || error}`));
126
136
  }
127
137
  if (!fingerprint?.hash) return refuse({
@@ -139,6 +149,7 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
139
149
  let placement;
140
150
  if (iosRemote?.kind === "machine") {
141
151
  const planned = await planHostedDevice({
152
+ operation,
142
153
  root,
143
154
  slot,
144
155
  platform: "ios",
@@ -146,6 +157,8 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
146
157
  selectors: hostedIosSelectors(resolveDeviceType(opts.deviceType, settings), resolveRuntime(opts.runtime, settings)),
147
158
  sameKey: (choice) => keyArch("runtime" in choice ? choice.architecture : null) === arch,
148
159
  ...remoteEasFallbackSetting(settings) ? { eas: () => d.checkEasFallback({
160
+ operation,
161
+ env: operation?.env,
149
162
  root,
150
163
  platform: "ios",
151
164
  slot,
@@ -182,6 +195,7 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
182
195
  providerConfig: d.resolveCacheProviderConfig(settingsContext),
183
196
  expoRemote: cachePolicy.remote && !buildProfile && !scheme ? { runOptions: iosProviderRunOptions(configuration, arch) } : null
184
197
  }, {
198
+ operation,
185
199
  loadCacheProvider: d.loadCacheProvider,
186
200
  loadProjectProvider: d.loadProjectProvider,
187
201
  checkEasAuth: d.checkEasAuth,
@@ -197,7 +211,7 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
197
211
  //#endregion
198
212
  //#region src/integrations/react-native-ios.ts
199
213
  const PLATFORM = "ios";
200
- function reactNativeIosSchemeProblem(root, iosDir, scheme, isExpo, d) {
214
+ async function reactNativeIosSchemeProblem(root, iosDir, scheme, isExpo, d) {
201
215
  if (scheme === void 0) return null;
202
216
  if (!scheme.trim()) return {
203
217
  code: "STIM_BAD_ARG",
@@ -207,7 +221,7 @@ function reactNativeIosSchemeProblem(root, iosDir, scheme, isExpo, d) {
207
221
  if (isExpo) return null;
208
222
  const project = d.discoverXcodeProject(root, iosDir);
209
223
  if (project.error) return project.error;
210
- return d.resolveScheme(project, { scheme }).error ?? null;
224
+ return (await d.resolveScheme(project, { scheme })).error ?? null;
211
225
  }
212
226
  const runtimeKind = (configuration) => isReleaseConfiguration(configuration) ? "embedded-js" : "metro";
213
227
  function reactNativeIosProject(root, settings, dependencies = {}) {
@@ -218,10 +232,10 @@ function reactNativeIosProject(root, settings, dependencies = {}) {
218
232
  const isExpo = d.detectIsExpo(root);
219
233
  const iosProject = resolveIosProjectDir(settings, root);
220
234
  return {
221
- plan: (options, resolved) => planReactNativeIos(root, options, {
235
+ plan: (options, resolved, operation) => planReactNativeIos(root, options, {
222
236
  ...DEFAULT_DEPS,
223
237
  ...dependencies
224
- }, (scheme) => reactNativeIosSchemeProblem(root, iosProject.dir, scheme, isExpo, d), resolved),
238
+ }, (scheme) => reactNativeIosSchemeProblem(root, iosProject.dir, scheme, isExpo, d), resolved, operation),
225
239
  isExpo,
226
240
  bundleId: () => d.detectBundleId(root, iosProject.dir),
227
241
  schemeProblem: (scheme) => reactNativeIosSchemeProblem(root, iosProject.dir, scheme, isExpo, d),
@@ -240,7 +254,11 @@ function reactNativeIosProject(root, settings, dependencies = {}) {
240
254
  function fail(failure) {
241
255
  throw new IosRecipeRefusal(failure);
242
256
  }
243
- function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, buildProfile, target, device, easProfile, optimizations, cache: cachePolicy, phase, note, logWriter, estimates, step, setPodsMs }, isExpo, iosProject, d) {
257
+ function reactNativeIosArtifact({ operation, root, logFile, configuration, buildScheme, buildProfile, target, device, easProfile, optimizations, cache: cachePolicy, phase, note, logWriter, estimates, step, setPodsMs }, isExpo, iosProject, d) {
258
+ const signingOptions = {
259
+ env: operation?.env,
260
+ signal: runCancellationSignal(operation) ?? operation?.signal
261
+ };
244
262
  const physical = device !== null;
245
263
  const { udid } = target;
246
264
  const release = isReleaseConfiguration(configuration);
@@ -275,8 +293,9 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
275
293
  note(chalk.dim(phaseLine("", remedy)));
276
294
  return null;
277
295
  };
278
- const gateProfile = () => {
279
- const gate = d.gateProfileForDevice({
296
+ const gateProfile = async () => {
297
+ const gate = await d.gateProfileForDevice({
298
+ ...signingOptions,
280
299
  appPath: path,
281
300
  udid: physicalDevice.udid,
282
301
  configuration
@@ -299,7 +318,8 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
299
318
  }
300
319
  ownTemporary(copy.tmpDir);
301
320
  writeIpTxt(copy.appPath, lanAddress, metroPort);
302
- const sealed = d.sealAppForDevice({
321
+ const sealed = await d.sealAppForDevice({
322
+ ...signingOptions,
303
323
  appPath: copy.appPath,
304
324
  udid: physicalDevice.udid,
305
325
  configuration,
@@ -324,6 +344,8 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
324
344
  if (!release) return cachedPath;
325
345
  phase("swap", `regenerating this workspace's JS for the cached ${configuration} app`);
326
346
  const swap = await d.swapJsBundle({
347
+ context: operation,
348
+ onHeartbeat: note,
327
349
  root,
328
350
  iosDir: iosProject.dir,
329
351
  isExpo,
@@ -373,13 +395,15 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
373
395
  return identity();
374
396
  },
375
397
  cache: () => filesystemBuildCapability({
398
+ context: operation,
376
399
  resolve: d.resolveBuild,
377
400
  store: d.storeBuild,
378
401
  sources: storeSources
379
402
  }),
380
- validateExternal(path) {
403
+ async validateExternal(path) {
381
404
  if (device) {
382
- const gate = d.gateProfileForDevice({
405
+ const gate = await d.gateProfileForDevice({
406
+ ...signingOptions,
383
407
  appPath: path,
384
408
  udid: device.udid,
385
409
  configuration
@@ -399,7 +423,7 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
399
423
  materialize,
400
424
  async prepare(beforePrepare) {
401
425
  mutatingSteps = [];
402
- const prebuild = d.planPrebuild(root, PLATFORM, {
426
+ const prebuild = await d.planPrebuild(root, PLATFORM, {
403
427
  isExpo,
404
428
  fingerprint,
405
429
  sources: fingerprintSources
@@ -426,7 +450,7 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
426
450
  if (isExpo && buildScheme !== void 0) {
427
451
  const project = d.discoverXcodeProject(root, iosProject.dir);
428
452
  if (project.error) fail({ ...project.error });
429
- const schemeError = d.resolveScheme(project, { scheme: buildScheme }).error;
453
+ const schemeError = (await d.resolveScheme(project, { scheme: buildScheme })).error;
430
454
  if (schemeError) fail({ ...schemeError });
431
455
  }
432
456
  const podState = d.readPodState(root, iosProject.dir);
@@ -435,6 +459,7 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
435
459
  if (action.install) {
436
460
  step("pods");
437
461
  const result = await d.runPodInstall(root, logWriter(), {
462
+ onHeartbeat: note,
438
463
  estimateMs: estimates().podsMs,
439
464
  directory: iosProject.dir
440
465
  });
@@ -511,6 +536,7 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
511
536
  return identity();
512
537
  },
513
538
  compile: () => d.buildIos({
539
+ context: operation,
514
540
  root,
515
541
  iosDir: iosProject.dir,
516
542
  scheme: buildScheme,
@@ -521,6 +547,8 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
521
547
  logWriter: logWriter(),
522
548
  ...configuration ? { configuration } : {},
523
549
  estimateMs: estimates().coldBuildMs,
550
+ onHeartbeat: note,
551
+ onNote: note,
524
552
  optimizations
525
553
  }),
526
554
  explain(rekeyedBy) {
@@ -548,8 +576,11 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
548
576
  projectRoot: root,
549
577
  iosProjectPath: iosProject.relative
550
578
  })),
551
- legacyCache: physical || !cachePolicy.remote || buildProfile || buildScheme ? null : {
552
- load: () => d.loadProjectProvider(root, { isExpo }),
579
+ expoCache: physical || !cachePolicy.remote || buildProfile || buildScheme ? null : {
580
+ load: () => d.loadProjectProvider(root, {
581
+ context: operation,
582
+ isExpo
583
+ }),
553
584
  runOptions: iosProviderRunOptions(configuration, target.keyArch)
554
585
  },
555
586
  offload: {
@@ -560,10 +591,10 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
560
591
  unsupported: target.offloadRefusal ?? (release ? `${configuration} builds build here` : !cachePolicy.write ? "the build cache is off" : !runtime ? udid ? `the runtime of simulator ${udid} is unknown` : "no simulator runtime is available for worker selection" : null)
561
592
  };
562
593
  },
563
- target: (runtime) => ({
594
+ target: async (runtime) => ({
564
595
  platform: "ios",
565
596
  local: {
566
- ...iosToolchain(root),
597
+ ...await iosToolchainAsync(root),
567
598
  ...target.hostedArchitecture ? { arch: target.hostedArchitecture === "x86_64" ? "x64" : "arm64" } : {}
568
599
  },
569
600
  runtime,
@@ -571,6 +602,7 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
571
602
  }),
572
603
  request: (runtime) => ({
573
604
  platform: "ios",
605
+ cacheArtifact: cachePolicy.write && cachePolicy.remote,
574
606
  runtime,
575
607
  configuration,
576
608
  scheme: buildScheme ?? null,
@@ -1,6 +1,7 @@
1
- import { gt as gitCommonDirOnDisk } from "./settings-B717odTD.mjs";
2
- import { existsSync, rmSync } from "node:fs";
1
+ import { yt as gitCommonDirOnDisk } from "./settings-C7O8A6ZI.mjs";
2
+ import { existsSync } from "node:fs";
3
3
  import { loadConfig, recordingEnabled, workspaceRecordingsDir } from "@stim-cli/core/state";
4
+ import { rm } from "node:fs/promises";
4
5
  //#region src/workspace/recordings.ts
5
6
  /** `recording.enabled` for one registered workspace, from `STIM_RECORDING` and its workspace, repo and machine layers. */
6
7
  function workspaceRecordingEnabled(path, project, config, env) {
@@ -21,17 +22,19 @@ function recordingLayers() {
21
22
  * (`before`, from {@link recordingLayers}) and after it, and returns those workspaces. stim-server stops
22
23
  * recording them once `stim status` shows the change.
23
24
  */
24
- function deleteTurnedOffRecordings(before) {
25
- return [...recordingLayers()].flatMap(([path, enabled]) => {
26
- if (enabled || before.get(path) === false) return [];
25
+ async function deleteTurnedOffRecordings(before) {
26
+ const deleted = [];
27
+ for (const [path, enabled] of recordingLayers()) {
28
+ if (enabled || before.get(path) === false) continue;
27
29
  const dir = workspaceRecordingsDir(path);
28
- if (!existsSync(dir)) return [];
29
- rmSync(dir, {
30
+ if (!existsSync(dir)) continue;
31
+ await rm(dir, {
30
32
  recursive: true,
31
33
  force: true
32
34
  });
33
- return [path];
34
- });
35
+ deleted.push(path);
36
+ }
37
+ return deleted;
35
38
  }
36
39
  //#endregion
37
40
  export { recordingLayers as n, workspaceRecordingEnabled as r, deleteTurnedOffRecordings as t };
@@ -0,0 +1,51 @@
1
+ import { g as process_identity_exports } from "./exec-DEoAhcze.mjs";
2
+ import { readMacosRecord } from "@stim-cli/core/state";
3
+ //#region src/macos/registration.ts
4
+ function waitForMacosRegistration(root, launchId, child, deadline) {
5
+ return new Promise((resolve, reject) => {
6
+ let settled = false;
7
+ let repairTimer;
8
+ let deadlineTimer;
9
+ const finish = (record, error) => {
10
+ if (settled) return;
11
+ settled = true;
12
+ clearTimeout(repairTimer);
13
+ clearTimeout(deadlineTimer);
14
+ child.removeListener("exit", onExit);
15
+ child.removeListener("error", onError);
16
+ child.removeListener("message", onMessage);
17
+ child.removeListener("disconnect", check);
18
+ if (child.connected) child.disconnect();
19
+ if (error) reject(error);
20
+ else resolve(record);
21
+ };
22
+ const check = () => {
23
+ if (settled) return;
24
+ if (Date.now() >= deadline) return finish(null);
25
+ const current = readMacosRecord(root);
26
+ if (current?.launchId === launchId && current.app && current.supervisor && (0, process_identity_exports.inspectProcessIdentity)(current.app) === "same" && (0, process_identity_exports.inspectProcessIdentity)(current.supervisor) === "same") finish(current);
27
+ else if (child.exitCode !== null || child.signalCode !== null) finish(null);
28
+ };
29
+ const onExit = () => {
30
+ check();
31
+ finish(null);
32
+ };
33
+ const onError = (error) => finish(null, error);
34
+ const onMessage = (message) => {
35
+ if (message === "macos-registered") check();
36
+ };
37
+ const repair = () => {
38
+ check();
39
+ if (!settled) repairTimer = setTimeout(repair, 1e3);
40
+ };
41
+ child.once("exit", onExit);
42
+ child.once("error", onError);
43
+ child.on("message", onMessage);
44
+ child.once("disconnect", check);
45
+ deadlineTimer = setTimeout(() => finish(null), Math.max(0, deadline - Date.now()));
46
+ check();
47
+ if (!settled) repairTimer = setTimeout(repair, 100);
48
+ });
49
+ }
50
+ //#endregion
51
+ export { waitForMacosRegistration as t };