stim 1.25.0 → 1.27.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 (182) hide show
  1. package/README.md +1 -1
  2. package/dist/{acquire-artifact-zA4S7RHE.mjs → acquire-artifact-BKN2Yuhg.mjs} +2 -2
  3. package/dist/{act-BbHS3oV8.mjs → act-ROviTF_t.mjs} +415 -118
  4. package/dist/{activity-BpjwrQXU.mjs → activity-Cd-ysFes.mjs} +6 -7
  5. package/dist/{agent-device-usage-output-Bnkerfod.mjs → agent-device-usage-output-C5nCKWp9.mjs} +5 -5
  6. package/dist/{android-CNZgRC-4.mjs → android--HBgpvpW.mjs} +5 -5
  7. package/dist/{android-BGwuK3Mc.mjs → android-Cd6w7_qw.mjs} +134 -57
  8. package/dist/{android-saBeB4lr.mjs → android-Deb9X3_Y.mjs} +37 -15
  9. package/dist/{android-Cjcj8MCw.mjs → android-DriNoAVy.mjs} +99 -47
  10. package/dist/{android-cas-BVqh2Zep.mjs → android-cas-D5e6ecUg.mjs} +4 -4
  11. package/dist/android-cas-compiler.mjs +1 -1
  12. package/dist/{android-project-CTYaETc0.d.mts → android-project-DUGMbq28.d.mts} +55 -1
  13. package/dist/api.d.mts +20 -7
  14. package/dist/api.mjs +42 -32
  15. package/dist/apk-signed-tail-BHQHx3Rm.mjs +142 -0
  16. package/dist/{artifact-Co8zixVx.mjs → artifact-0AGJYB9O.mjs} +28 -28
  17. package/dist/{artifact-DN8JNwqS.mjs → artifact-faemIZv5.mjs} +40 -30
  18. package/dist/{artifact-platform-CMRc0M_r.mjs → artifact-platform-BO2Uvk_A.mjs} +1 -1
  19. package/dist/{attempt-DW-mQqM7.mjs → attempt-ClyJlZPT.mjs} +4 -2
  20. package/dist/auto-placement-z-H5pJza.mjs +350 -0
  21. package/dist/{browser-web-CCgZsHmI.mjs → browser-web-slD8AvLp.mjs} +16 -17
  22. package/dist/{build-cache-CKCzxzxA.mjs → build-cache-gBJ-WKzA.mjs} +141 -37
  23. package/dist/{build-CAiw8Ezm.mjs → build-hS0QyFlQ.mjs} +38 -31
  24. package/dist/{build-plan-zCuHGlA8.mjs → build-plan-CBqYbzYM.mjs} +7 -6
  25. package/dist/{cache-manifest-BPXRONJz.mjs → cache-manifest-DEjqGGat.mjs} +1 -1
  26. package/dist/cache-manifest.mjs +1 -1
  27. package/dist/{budget-HyShrIpL.mjs → ccache-BWTze1Ls.mjs} +634 -1514
  28. package/dist/{cdp-BG3FJCCx.mjs → cdp-C3svvXiE.mjs} +1 -1
  29. package/dist/{chrome-BvV8ssI3.mjs → chrome-DyDWurWG.mjs} +1 -1
  30. package/dist/{cli-C4w607Pz.mjs → cli-ftXDLto1.mjs} +24 -23
  31. package/dist/cli.mjs +1 -1
  32. package/dist/{client-BQsmyp_-.mjs → client-xsdxrhWA.mjs} +77 -116
  33. package/dist/collector-run.d.mts +10 -9
  34. package/dist/collector-run.mjs +42 -27
  35. package/dist/{command-output-BBvS1H6v.mjs → command-output-Dj-WT4BP.mjs} +1 -1
  36. package/dist/{config-BZhXY15H.mjs → config-Cn94Jc0g.mjs} +343 -18
  37. package/dist/{launch-DscF1QfM.mjs → dependencies-BGokZ-Ng.mjs} +330 -279
  38. package/dist/{dependency-state-BwNCYG5Q.mjs → dependency-state-C3OtgG94.mjs} +14 -7
  39. package/dist/{detached-entry-KmieOKgN.mjs → detached-entry-BPlSaCwC.mjs} +1 -1
  40. package/dist/{dev-client-CHoXXZeg.mjs → dev-client-BMca82xo.mjs} +2 -2
  41. package/dist/{device-F5-4z9ef.mjs → device-BJm0irrq.mjs} +16 -16
  42. package/dist/{device-capacity-ZYaRALv5.mjs → device-capacity-6LP7QsaA.mjs} +103 -25
  43. package/dist/device-host-worker.mjs +19 -21
  44. package/dist/{device-ios-DkHBrmvH.mjs → device-ios-534c14fz.mjs} +288 -28
  45. package/dist/{device-lease-run-ogEeJ62K.mjs → device-lease-run-DwsGfjUN.mjs} +5 -5
  46. package/dist/{device-pool-BIg8MU8l.mjs → device-pool-BnQqvs6o.mjs} +3 -3
  47. package/dist/{device-B9FqTBYW.mjs → device-tM41-TUq.mjs} +25 -24
  48. package/dist/{doctor-A_Nr_fDe.mjs → doctor-Dbx1ZpD2.mjs} +1 -1
  49. package/dist/{doctor-k3P3PizH.mjs → doctor-DyqE9n1J.mjs} +28 -16
  50. package/dist/{doctor-Bm8TVpGn.mjs → doctor-F-3VUUyN.mjs} +128 -35
  51. package/dist/{doctor-fingerprint-zlujA1Gs.mjs → doctor-fingerprint-o7ZI9YLn.mjs} +9 -3
  52. package/dist/doctor-fingerprint.mjs +1 -1
  53. package/dist/{doctor-watchman-BovI1y3-.mjs → doctor-watchman-CxDbyrrt.mjs} +5 -5
  54. package/dist/{eas-build-CyDKNTBP.mjs → eas-build-CjNSWmjo.mjs} +4 -4
  55. package/dist/eas-fallback-9fqb46kW.mjs +87 -0
  56. package/dist/{eas-session-ledger-BMCA1gdO.mjs → eas-session-ledger-DrP4OuuM.mjs} +6 -6
  57. package/dist/{error-diagnostics-B1Mj_-7h.mjs → error-diagnostics-snej9k4j.mjs} +51 -25
  58. package/dist/{exec-VFRpu1iA.mjs → exec-aULwtNly.mjs} +57 -6
  59. package/dist/{gc-eaz403W6.mjs → gc-BRwAY3qT.mjs} +2 -2
  60. package/dist/{gc-B9jcnmIk.mjs → gc-CGZ1Yg88.mjs} +218 -72
  61. package/dist/{guide-DR0K0xW9.mjs → guide-_rfEh_zM.mjs} +839 -222
  62. package/dist/{hosted-android-Bvb2-ZxD.mjs → hosted-android-BMKzUNnY.mjs} +4 -4
  63. package/dist/{hosted-client-rsRqysJc.mjs → hosted-client-D7Pk_Oo1.mjs} +13 -9
  64. package/dist/{hosted-logs-CWKGYWNX.mjs → hosted-logs-B1gqQuva.mjs} +18 -12
  65. package/dist/hosted-logs-sync-Dg3qrZmV.mjs +195 -0
  66. package/dist/{hosted-macos-d0pv9Tth.mjs → hosted-macos-B9w4H8hc.mjs} +6 -6
  67. package/dist/{hosted-native-BxTizGU2.mjs → hosted-native-CdgaiuyP.mjs} +17 -17
  68. package/dist/{idle-shutdown-BIyfl0Zj.mjs → idle-shutdown-Cbvo5KEh.mjs} +21 -9
  69. package/dist/{ios-BRVM8b0P.mjs → ios-B5HlVMhQ.mjs} +138 -55
  70. package/dist/{ios-Dvt97HgQ.mjs → ios-Bk4mWbtS.mjs} +8 -8
  71. package/dist/{ios-ENC4sRPA.mjs → ios-CsRVik64.mjs} +7 -1
  72. package/dist/{ios-BQzvJlzw.mjs → ios-E26qSpkb.mjs} +94 -11
  73. package/dist/{ios-device-CKSvk0bu.mjs → ios-device-C_QkIf1Z.mjs} +3 -3
  74. package/dist/{ios-device-B6HK951C.mjs → ios-device-CiBA-er9.mjs} +1 -1
  75. package/dist/{ios-project-DCUDo06I.mjs → ios-project-D8Jcy_br.mjs} +22 -9
  76. package/dist/{ios-signing-4c_qXvQm.mjs → ios-signing-BJzvDPfU.mjs} +2 -2
  77. package/dist/{ios-state-CT9nV5SP.mjs → ios-state-BZ03NFgF.mjs} +1 -1
  78. package/dist/{js-swap-Z9HbC4cj.mjs → js-swap-Dg2a945i.mjs} +8 -7
  79. package/dist/{launch-D0lPvFFu.mjs → launch-CRyBeNsA.mjs} +53 -44
  80. package/dist/lightened-BCsdAGj_.mjs +171 -0
  81. package/dist/{logs-BsIRre8x.mjs → logs-CC_-ZzEE.mjs} +10 -174
  82. package/dist/{logs-Crs9y34Z.mjs → logs-aJQb-RDg.mjs} +112 -38
  83. package/dist/{macos-CcUlJPMu.mjs → macos-BGmTpnv9.mjs} +1 -1
  84. package/dist/{macos-D477nfzH.mjs → macos-DlCBhMw5.mjs} +73 -39
  85. package/dist/macos-run.mjs +1 -1
  86. package/dist/maintenance-run.mjs +30 -13
  87. package/dist/{metro-1pJgCX4U.mjs → metro-CvyD-xwe.mjs} +4 -4
  88. package/dist/{metro-gateway-Bp9gJQAN.mjs → metro-gateway-BnHdqMO_.mjs} +3 -4
  89. package/dist/{named-ports-BVbn8SvC.mjs → named-ports-BCyMWA6b.mjs} +3 -3
  90. package/dist/{native-android-BvMizJn1.mjs → native-android-DlpxCyOP.mjs} +17 -18
  91. package/dist/{native-gradle-artifact-inputs-BJscK4vN.mjs → native-gradle-artifact-inputs-C13qT7R_.mjs} +5 -5
  92. package/dist/{native-runtime-B9w_Qyz3.mjs → native-runtime-DqaIBO5w.mjs} +9 -9
  93. package/dist/{native-source-D-4Dh4JU.mjs → native-source-D1AzWiuP.mjs} +1 -1
  94. package/dist/{native-xcode-inputs-Cv4l-obn.mjs → native-xcode-inputs-B1W8SrxB.mjs} +3 -3
  95. package/dist/{native-xcode-ios-DGrg90hE.mjs → native-xcode-ios-QPP0Rm68.mjs} +17 -18
  96. package/dist/{ndjson-CgE_o3Dl.mjs → ndjson-Dy2W4vRa.mjs} +2 -2
  97. package/dist/offload-worker.d.mts +3 -1
  98. package/dist/offload-worker.mjs +34 -25
  99. package/dist/{operation-exec-CUZifp6Z.mjs → operation-exec-Dp4FuIGR.mjs} +1 -1
  100. package/dist/{ownership-jxxz-19m.mjs → ownership-Bx-0cku-.mjs} +3 -3
  101. package/dist/{page-CzEA_-5_.mjs → page-CQJlcj3x.mjs} +2 -2
  102. package/dist/{phone-reverses-CYb7RRAx.mjs → phone-reverses-C9yAaKEv.mjs} +18 -4
  103. package/dist/{placement-log-DjOXJRIH.mjs → placement-log-BXUbiZM6.mjs} +3 -3
  104. package/dist/{plan-placement-BqKgKHCi.mjs → plan-placement-UxnQjv5Z.mjs} +36 -10
  105. package/dist/{ports-DtS1Amb0.mjs → ports-uUrghqWN.mjs} +3 -3
  106. package/dist/prebuild-BDpToDgR.mjs +1246 -0
  107. package/dist/{project-BiC68mIp.mjs → project-DYj-HVx6.mjs} +17 -18
  108. package/dist/{pull-request-CbNlkFok.mjs → pull-request-BzLmzAIQ.mjs} +2 -2
  109. package/dist/pull-requests.mjs +1 -1
  110. package/dist/{react-native-android-DRYqoJc4.mjs → react-native-android-DDBccgJw.mjs} +56 -36
  111. package/dist/{react-native-build-CwZB-agu.mjs → react-native-build-DaK2IFyP.mjs} +9 -9
  112. package/dist/{react-native-doctor-BCrytK7h.mjs → react-native-doctor-B-Mw6DcR.mjs} +50 -9
  113. package/dist/{react-native-ios-Cr1buNFo.mjs → react-native-ios-DjYwUF9U.mjs} +45 -25
  114. package/dist/{recordings-BaoQ0t-J.mjs → recordings-C20iUZfp.mjs} +1 -1
  115. package/dist/{registration-CN6nlhcD.mjs → registration-BwCe64PH.mjs} +1 -1
  116. package/dist/{reload-Beftw2X3.mjs → reload-DJBeF_rC.mjs} +1 -1
  117. package/dist/{reload-FbSgMF8x.mjs → reload-fUdkH2_p.mjs} +16 -16
  118. package/dist/{remote-BuZj6AyU.mjs → remote-y6n99WMW.mjs} +22 -9
  119. package/dist/{result-CR2vk2cj.mjs → result-CTqBw2Te.mjs} +32 -21
  120. package/dist/{run-BtzE09Dl.mjs → run-DaCeNKRm.mjs} +3 -3
  121. package/dist/{selection-D5cxEl3t.mjs → selection-Bs8phwhN.mjs} +183 -62
  122. package/dist/{server-bare-CH9X0RLn.mjs → server-bare-BOh-iZEj.mjs} +2 -2
  123. package/dist/{server-command-CaBbDNU2.mjs → server-command-8CuA51Cv.mjs} +6 -6
  124. package/dist/{server-expo-Ck8EIidM.mjs → server-expo-ABQs2XFA.mjs} +4 -4
  125. package/dist/server-expo-Ba_Y21vB.mjs +2 -0
  126. package/dist/{settings-B5tCoq9N.mjs → settings-BDVI8Ivc.mjs} +331 -62
  127. package/dist/{settings-DzH9mGQZ.mjs → settings-CMHhQNwI.mjs} +24 -3
  128. package/dist/settings-payload-cm60Zhib.mjs +257 -0
  129. package/dist/settings-write-BdNRLlBn.mjs +185 -0
  130. package/dist/settings.schema.json +84 -39
  131. package/dist/{simslim-BjxszUAb.mjs → simslim-DCQwzoPy.mjs} +4 -3
  132. package/dist/{slot-launch-QeuJMlnJ.mjs → slot-launch-0l7RqSpr.mjs} +6 -6
  133. package/dist/{stage-D8xlRU2D.mjs → stage-F4cAfJGi.mjs} +2 -2
  134. package/dist/{start-C1JLjkNw.mjs → start-DcqnF9p8.mjs} +1 -1
  135. package/dist/{start-YMpNwLhh.mjs → start-DrPwER_2.mjs} +27 -23
  136. package/dist/{state-DMRNP7-4.mjs → state-BX1y5syV.mjs} +4 -5
  137. package/dist/{state-DPaM3u5K.mjs → state-CZxLyetD.mjs} +2 -3
  138. package/dist/{stats-CP7STzZw.mjs → stats-GxuCbles.mjs} +5 -5
  139. package/dist/{stats-report-n2U5plhk.mjs → stats-report-B86Cv7Uc.mjs} +1 -1
  140. package/dist/{status-Fect2w9R.mjs → status-7ULDEJ1e.mjs} +1 -1
  141. package/dist/{status-CRLiJ-O_.mjs → status-BfnK9pUd.mjs} +25 -26
  142. package/dist/{status-cNw6i0_t.mjs → status-Bj7ZYvvc.mjs} +1 -1
  143. package/dist/{status-watch-Bc2J4TZn.mjs → status-watch-BfabQn03.mjs} +5 -5
  144. package/dist/status-worker.mjs +1 -1
  145. package/dist/{stim-desktop-DS0mzR8U.mjs → stim-desktop-CbWo21kb.mjs} +2 -2
  146. package/dist/{stop-COP6PQqw.mjs → stop-CH79S3IZ.mjs} +5 -6
  147. package/dist/{stop-Db9Kh-UA.mjs → stop-D-EAr25B.mjs} +25 -22
  148. package/dist/{stop-Br7LKxBE.mjs → stop-x1Yu3He4.mjs} +2 -2
  149. package/dist/supervisor-run.d.mts +1 -0
  150. package/dist/supervisor-run.mjs +17 -18
  151. package/dist/{support-qKcbgmI5.mjs → support-Be0UeVZU.mjs} +10 -10
  152. package/dist/{support-Cxj9CmII.mjs → support-CNg_YsOk.mjs} +6 -6
  153. package/dist/{swiftpm-artifact-inputs-iY9fsmOc.mjs → swiftpm-artifact-inputs-uPqYvGBv.mjs} +4 -4
  154. package/dist/{swiftpm-macos-Bp_sn9P4.mjs → swiftpm-macos-Ch4YjY_A.mjs} +11 -12
  155. package/dist/toolchain-CbCG6C5Z.mjs +2413 -0
  156. package/dist/toolchain-JYAOquPg.mjs +2 -0
  157. package/dist/{trigger-CBMe2YLH.mjs → trigger-DMou-X7j.mjs} +3 -3
  158. package/dist/trigger-qp2ji5wE.mjs +2 -0
  159. package/dist/{warm-progress-BV3ZPmcY.mjs → warm-progress-C0RsbngN.mjs} +731 -728
  160. package/dist/{web-B4Yjyt1G.mjs → web-Cq_AQ4DK.mjs} +9 -10
  161. package/dist/web-Je6abcpz.mjs +2 -0
  162. package/dist/web-run.mjs +9 -9
  163. package/dist/windows-report.mjs +1 -1
  164. package/dist/{workspace-state-CPSp3mav.mjs → workspace-state-BjqdjnJR.mjs} +46 -8
  165. package/dist/{workspaces-C9w4aeXF.mjs → workspaces-DFbj07jp.mjs} +1801 -76
  166. package/dist/{worktree-CclFIe1Z.mjs → worktree-COAJ3-OD.mjs} +934 -511
  167. package/dist/{worktree-Ct9Gk3KL.mjs → worktree-JGUd_53L.mjs} +1 -1
  168. package/package.json +8 -8
  169. package/dist/ccache-h1FKhZeg.mjs +0 -143
  170. package/dist/created-devices-D2Aca-xu.mjs +0 -52
  171. package/dist/eas-fallback-gaZi-dJL.mjs +0 -381
  172. package/dist/hosted-ios-RtVcJH3u.mjs +0 -15
  173. package/dist/native-run-D5OJsGwA.mjs +0 -276
  174. package/dist/paths-DQtTgsBf.mjs +0 -42
  175. package/dist/prebuild-JUaqOLpc.mjs +0 -501
  176. package/dist/server-expo-C16Zf2k7.mjs +0 -2
  177. package/dist/settings-write-n0zwfohx.mjs +0 -360
  178. package/dist/toolchain-DB1aeqxO.mjs +0 -2
  179. package/dist/toolchain-VzLJzZ7O.mjs +0 -908
  180. package/dist/trigger-BLsHgAGR.mjs +0 -2
  181. package/dist/web-DS4UDWvf.mjs +0 -2
  182. package/dist/xcode-CiIIDnuD.mjs +0 -910
@@ -1,9 +1,8 @@
1
- import { D as ownership_claim_exports, S as process_identity_exports, u as withWorkspaceProcessLock } from "./exec-VFRpu1iA.mjs";
2
- import { d as workspaceDir } from "./paths-DQtTgsBf.mjs";
3
- import { d as writeWorkspaceState, l as withWorkspaceStateLockAsync } from "./workspace-state-CPSp3mav.mjs";
4
- import { a as macosRuntimeClaim, o as requiredMacosRecord } from "./state-DPaM3u5K.mjs";
5
- import { w as runningBundleInstancesAsync } from "./workspaces-C9w4aeXF.mjs";
6
- import { n as stopHostedMacos } from "./hosted-macos-d0pv9Tth.mjs";
1
+ import { D as ownership_claim_exports, S as process_identity_exports, u as withWorkspaceProcessLock } from "./exec-aULwtNly.mjs";
2
+ import { E as workspaceDir, d as writeWorkspaceState, l as withWorkspaceStateLockAsync } from "./workspace-state-BjqdjnJR.mjs";
3
+ import { a as macosRuntimeClaim, o as requiredMacosRecord } from "./state-CZxLyetD.mjs";
4
+ import { O as runningBundleInstancesAsync } from "./workspaces-DFbj07jp.mjs";
5
+ import { n as stopHostedMacos } from "./hosted-macos-B9w4H8hc.mjs";
7
6
  import { readMacosRecord } from "@stim-cli/core/state";
8
7
  //#region src/macos/stop.ts
9
8
  const APP_EXIT_MS = 5e3;
@@ -1,21 +1,19 @@
1
- import { D as ownership_claim_exports, E as debugLog, S as process_identity_exports, u as withWorkspaceProcessLock } from "./exec-VFRpu1iA.mjs";
2
- import { d as workspaceDir } from "./paths-DQtTgsBf.mjs";
3
- import { E as upsertProject, G as projectDeviceSlots, H as deviceSlotPlatforms, O as withConfigLockAsync$1, U as parseDeviceSlotKey, W as parseDeviceSlotOption, o as clearSupervisor, p as getProject, q as validateDeviceSlot } from "./config-BZhXY15H.mjs";
4
- import { f as refuseNoProject, l as phaseLine, p as releasedLeaseFact, u as plural } from "./command-output-BBvS1H6v.mjs";
5
- import { c as withWorkspaceStateLock, d as writeWorkspaceState, l as withWorkspaceStateLockAsync, n as clearWorkspaceStateKeys, r as readWorkspaceState$1, s as updateWorkspaceStateAsync } from "./workspace-state-CPSp3mav.mjs";
6
- import { A as clearWorkspaceLaunches, M as readMetroTunnel, O as clearManagedMetroTunnel, P as readRemoteSession, T as MODE_COMMAND, j as clearWorkspaceSupervisor, k as clearRemoteSession, n as findCommandWorkspace } from "./project-BiC68mIp.mjs";
7
- import { t as macosAppPresent } from "./state-DPaM3u5K.mjs";
8
- import { et as removeOwnedEmulatorMetroReverses } from "./android-Cjcj8MCw.mjs";
9
- import { a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, h as isMetroRunning, p as signalProcessTreeAsync, r as killMetroTreeAsync, u as processCwds } from "./metro-1pJgCX4U.mjs";
10
- import { S as withdrawDevServerStopRequest, Vt as endRecordedSession, Xn as resolveEasCliBin, b as requestDevServerStop, v as logVanishedSupervisor } from "./budget-HyShrIpL.mjs";
11
- import { a as decideStopAction, c as nativeRunWaitNotice, i as clearNativeRunCancel, l as requestNativeRunCancel, n as NATIVE_RUN_WAIT_MS, o as describeNativeRunHolder, s as nativeRunHolder, t as NATIVE_RUN_LOCK } from "./native-run-D5OJsGwA.mjs";
12
- import { A as teardownOwnedIosSim, O as teardownOwnedAvd, g as resolveSupervisorTarget, k as teardownOwnedBrowser, v as stopTunnel } from "./workspaces-C9w4aeXF.mjs";
13
- import { O as releaseWorkspaceLeasesAsync, y as fileLeaseIo } from "./activity-BpjwrQXU.mjs";
14
- import { i as stopHostedAndroid } from "./hosted-android-Bvb2-ZxD.mjs";
15
- import { r as stopHostedIos } from "./hosted-ios-RtVcJH3u.mjs";
16
- import { n as stopMacosApp } from "./stop-COP6PQqw.mjs";
17
- import { n as verifyCollectorOwnership } from "./ownership-jxxz-19m.mjs";
18
- import { n as removePhoneReverses } from "./phone-reverses-CYb7RRAx.mjs";
1
+ import { D as ownership_claim_exports, E as debugLog, S as process_identity_exports, l as WorkspaceProcessCleanupError, u as withWorkspaceProcessLock } from "./exec-aULwtNly.mjs";
2
+ import { E as workspaceDir, c as withWorkspaceStateLock, d as writeWorkspaceState, l as withWorkspaceStateLockAsync, n as clearWorkspaceStateKeys, r as readWorkspaceState$1, s as updateWorkspaceStateAsync } from "./workspace-state-BjqdjnJR.mjs";
3
+ import { E as upsertProject, G as projectDeviceSlots, H as deviceSlotPlatforms, O as withConfigLockAsync$1, U as parseDeviceSlotKey, W as parseDeviceSlotOption, o as clearSupervisor, p as getProject, q as validateDeviceSlot } from "./config-Cn94Jc0g.mjs";
4
+ import { f as refuseNoProject, l as phaseLine, p as releasedLeaseFact, u as plural } from "./command-output-Dj-WT4BP.mjs";
5
+ import { A as clearWorkspaceLaunches, M as readMetroTunnel, O as clearManagedMetroTunnel, P as readRemoteSession, T as MODE_COMMAND, j as clearWorkspaceSupervisor, k as clearRemoteSession, n as findCommandWorkspace } from "./project-DYj-HVx6.mjs";
6
+ import { t as macosAppPresent } from "./state-CZxLyetD.mjs";
7
+ import { et as removeOwnedEmulatorMetroReverses } from "./android-DriNoAVy.mjs";
8
+ import { a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, h as isMetroRunning, p as signalProcessTreeAsync, r as killMetroTreeAsync, u as processCwds } from "./metro-CvyD-xwe.mjs";
9
+ import { D as requestDevServerStop, Ln as resolveEasCliBin, Ot as endRecordedSession, T as logVanishedSupervisor, k as withdrawDevServerStopRequest } from "./ccache-BWTze1Ls.mjs";
10
+ import { S as stopTunnel, b as resolveSupervisorTarget, dt as teardownOwnedBrowser, ft as teardownOwnedIosSim, ut as teardownOwnedAvd } from "./workspaces-DFbj07jp.mjs";
11
+ import { $ as clearNativeRunCancel, X as NATIVE_RUN_LOCK, Z as NATIVE_RUN_WAIT_MS, et as decideStopAction, it as requestNativeRunCancel, nt as nativeRunHolder, rt as nativeRunWaitNotice, tt as describeNativeRunHolder } from "./toolchain-CbCG6C5Z.mjs";
12
+ import { O as releaseWorkspaceLeasesAsync, y as fileLeaseIo } from "./activity-Cd-ysFes.mjs";
13
+ import { i as stopHostedAndroid } from "./hosted-android-BMKzUNnY.mjs";
14
+ import { a as stopHostedIos, n as removePhoneReverses } from "./phone-reverses-C9yAaKEv.mjs";
15
+ import { n as stopMacosApp } from "./stop-CH79S3IZ.mjs";
16
+ import { n as verifyCollectorOwnership } from "./ownership-Bx-0cku-.mjs";
19
17
  import { hostedAndroidDeviceName, hostedAndroidRecords, hostedIosRecords, hostedNativeRecords, isJsonObject, parseHostedNativePlacement } from "@stim-cli/core/state";
20
18
  import chalk from "chalk";
21
19
  //#region src/commands/stop.ts
@@ -219,7 +217,8 @@ async function stopBrowserOnly({ root, project = void 0, teardownBrowser = (proj
219
217
  summary: summarize(root, outcomes, ok)
220
218
  };
221
219
  }
222
- async function stopWorkspaceHostedNative(root, slot, report, failed) {
220
+ async function stopWorkspaceHostedNative(root, slot, report, failed, operation) {
221
+ const signal = operation?.signal;
223
222
  const devices = {};
224
223
  let anyFailed = false;
225
224
  for (const platform of ["ios", "android"]) for (const [name, record] of Object.entries(hostedNativeRecords(readWorkspaceState$1(root), platform))) {
@@ -227,13 +226,14 @@ async function stopWorkspaceHostedNative(root, slot, report, failed) {
227
226
  const placement = parseHostedNativePlacement(record, platform);
228
227
  const label = placement ? `${placement.device ? "udid" in placement.device ? placement.device.name : hostedAndroidDeviceName(placement.device) : `${platform} device`} on ${placement.machine}` : `hosted ${platform === "ios" ? "iOS simulator" : "Android emulator"} for slot ${name}`;
229
228
  try {
230
- await (platform === "ios" ? stopHostedIos : stopHostedAndroid)(root, name);
229
+ await (platform === "ios" ? stopHostedIos : stopHostedAndroid)(root, name, signal);
231
230
  devices[`${platform}:host:${name}`] = {
232
231
  status: "shut-down",
233
232
  label
234
233
  };
235
234
  report(chalk.dim(phaseLine("device", `stopped ${label}`)));
236
235
  } catch (error) {
236
+ signal?.throwIfAborted();
237
237
  const reason = error.message;
238
238
  devices[`${platform}:host:${name}`] = {
239
239
  status: "failed",
@@ -479,7 +479,7 @@ async function stopWorkspace({ root, operation, project = void 0, state = void 0
479
479
  }, stopMacos);
480
480
  const hosted = await stopWorkspaceHostedNative(root, hostedSlot, report, () => {
481
481
  ok = false;
482
- });
482
+ }, operation);
483
483
  Object.assign(outcomes.device, hosted.devices);
484
484
  await updateWorkspaceStateAsync(root, (workspace) => {
485
485
  const slots = isJsonObject(workspace.deviceSlots) ? workspace.deviceSlots : {};
@@ -868,7 +868,10 @@ async function shutDownDevices(project, workspace, { teardownIos, teardownAvd, r
868
868
  }
869
869
  device[key] = reportDevice(label, outcome.value, report, kind);
870
870
  });
871
- for (const outcome of settled) if (outcome.status === "rejected") throw outcome.reason;
871
+ const rejected = settled.flatMap((outcome) => outcome.status === "rejected" ? [outcome.reason] : []);
872
+ const cleanup = rejected.filter((reason) => reason instanceof WorkspaceProcessCleanupError);
873
+ if (cleanup.length > 1) throw Object.assign(new WorkspaceProcessCleanupError([...new Set(cleanup.flatMap((error) => error.claims))], cleanup.map((error) => error.message).join(" "), "Verify the device operations and their descendants have stopped."), { reportCleanup: true });
874
+ if (rejected.length > 0) throw cleanup[0] ?? rejected[0];
872
875
  return device;
873
876
  }
874
877
  function deviceShutdownRemedy(kind, label) {
@@ -1,3 +1,3 @@
1
- import { g as resolveSupervisorTarget } from "./workspaces-C9w4aeXF.mjs";
2
- import { a as resolveCollectorTargets, c as stopWorkspaceNow, i as readSupervisorState, n as clearSupervisorState, o as runStop, r as readCollectorState, s as stopCommand, t as clearCollectorState } from "./stop-Db9Kh-UA.mjs";
1
+ import { b as resolveSupervisorTarget } from "./workspaces-DFbj07jp.mjs";
2
+ import { a as resolveCollectorTargets, c as stopWorkspaceNow, i as readSupervisorState, n as clearSupervisorState, o as runStop, r as readCollectorState, s as stopCommand, t as clearCollectorState } from "./stop-D-EAr25B.mjs";
3
3
  export { clearCollectorState, clearSupervisorState, stopCommand as default, readCollectorState, readSupervisorState, resolveCollectorTargets, resolveSupervisorTarget, runStop, stopWorkspaceNow };
@@ -45,6 +45,7 @@ interface IdleShutdownEvent {
45
45
  level: "info" | "warn";
46
46
  event: "device_idle_shutdown" | "device_idle_shutdown_failed";
47
47
  msg: string;
48
+ skipped?: true;
48
49
  }
49
50
  /**
50
51
  * Shuts down, through centralized teardown, each of the workspace's owned devices that is still idle for `idleMs`,
@@ -1,21 +1,20 @@
1
- import { S as process_identity_exports, u as withWorkspaceProcessLock } from "./exec-VFRpu1iA.mjs";
2
- import { g as workspaceStateFile$1, m as workspaceLogsDir$1 } from "./paths-DQtTgsBf.mjs";
3
- import { G as projectDeviceSlots, T as setSupervisor, U as parseDeviceSlotKey, o as clearSupervisor, p as getProject } from "./config-BZhXY15H.mjs";
4
- import { c as withWorkspaceStateLock, d as writeWorkspaceState, n as clearWorkspaceStateKeys, o as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-CPSp3mav.mjs";
5
- import { J as resolveProjectSettings, Z as runnableMetroCommand } from "./settings-B5tCoq9N.mjs";
6
- import { D as clearExpoMetroTunnel, E as MODE_EXPO, N as readPidFile, R as writePidFile, T as MODE_COMMAND, d as nativeProjectIntegration, j as clearWorkspaceSupervisor, v as detectIsExpo, w as MODE_BARE } from "./project-BiC68mIp.mjs";
7
- import { W as ownedAvdSerialResolver } from "./android-Cjcj8MCw.mjs";
8
- import { r as createNdjsonWriter } from "./ndjson-CgE_o3Dl.mjs";
9
- import { d as parseWatchRoots, l as parseSubscriberNames, m as runWatchman, u as parseTriggerCount } from "./eas-session-ledger-BMCA1gdO.mjs";
10
- import { A as workspaceBuildInProgress, _ as devServerStopRecord, g as devServerStopLevel, m as describeDevServerStop, x as vanishedSupervisorMessage } from "./budget-HyShrIpL.mjs";
11
- import { p as withIdleWorkspace } from "./workspaces-C9w4aeXF.mjs";
12
- import { S as parseLease, _ as workspaceDeviceLastUseAt, b as leaseIsExpired, r as createActivityReader, v as deviceLeasePath, w as parseWorkspaceLeases } from "./activity-BpjwrQXU.mjs";
1
+ import { S as process_identity_exports, u as withWorkspaceProcessLock } from "./exec-aULwtNly.mjs";
2
+ import { c as withWorkspaceStateLock, d as writeWorkspaceState, j as workspaceStateFile$1, k as workspaceLogsDir$1, n as clearWorkspaceStateKeys, o as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-BjqdjnJR.mjs";
3
+ import { G as projectDeviceSlots, T as setSupervisor, U as parseDeviceSlotKey, o as clearSupervisor, p as getProject } from "./config-Cn94Jc0g.mjs";
4
+ import { $ as runnableMetroCommand, X as resolveProjectSettings } from "./settings-BDVI8Ivc.mjs";
5
+ import { D as clearExpoMetroTunnel, E as MODE_EXPO, N as readPidFile, R as writePidFile, T as MODE_COMMAND, d as nativeProjectIntegration, j as clearWorkspaceSupervisor, v as detectIsExpo, w as MODE_BARE } from "./project-DYj-HVx6.mjs";
6
+ import { W as ownedAvdSerialResolver } from "./android-DriNoAVy.mjs";
7
+ import { i as createNdjsonWriter } from "./ndjson-Dy2W4vRa.mjs";
8
+ import { C as devServerStopLevel, O as vanishedSupervisorMessage, w as devServerStopRecord, x as describeDevServerStop } from "./ccache-BWTze1Ls.mjs";
9
+ import { d as parseWatchRoots, l as parseSubscriberNames, m as runWatchman, u as parseTriggerCount } from "./eas-session-ledger-DrP4OuuM.mjs";
10
+ import { L as workspaceBuildInProgress, _ as withIdleWorkspace } from "./workspaces-DFbj07jp.mjs";
11
+ import { S as parseLease, _ as workspaceDeviceLastUseAt, b as leaseIsExpired, r as createActivityReader, v as deviceLeasePath, w as parseWorkspaceLeases } from "./activity-Cd-ysFes.mjs";
13
12
  import { t as describeError } from "./errors-DHm_U5gv.mjs";
14
- import { f as probeHostedSession } from "./hosted-client-rsRqysJc.mjs";
15
- import { o as watchWorkspaceState, t as clearHostedMetro } from "./metro-gateway-Bp9gJQAN.mjs";
16
- import { t as relaunchWithLogFile } from "./detached-entry-KmieOKgN.mjs";
17
- import { n as dueIdleDevices, r as shutDownIdleDevices } from "./idle-shutdown-BIyfl0Zj.mjs";
18
- import { t as triggerMaintenance } from "./trigger-CBMe2YLH.mjs";
13
+ import { f as probeHostedSession } from "./hosted-client-D7Pk_Oo1.mjs";
14
+ import { o as watchWorkspaceState, t as clearHostedMetro } from "./metro-gateway-BnHdqMO_.mjs";
15
+ import { t as relaunchWithLogFile } from "./detached-entry-BPlSaCwC.mjs";
16
+ import { n as dueIdleDevices, r as shutDownIdleDevices } from "./idle-shutdown-Cbvo5KEh.mjs";
17
+ import { t as triggerMaintenance } from "./trigger-DMou-X7j.mjs";
19
18
  import { existsSync, readFileSync, realpathSync, statSync } from "node:fs";
20
19
  import { dirname, isAbsolute, join, resolve, sep } from "node:path";
21
20
  import { LOG_ROTATE_BYTES, createMetroGateway } from "@stim-cli/core";
@@ -629,7 +628,7 @@ async function runSupervisor({ root, port, tunnel = false, resetCache = false, i
629
628
  try {
630
629
  let start;
631
630
  if (command) {
632
- const startServer = startCommand ?? (await import("./server-command-CaBbDNU2.mjs")).startCommandServer;
631
+ const startServer = startCommand ?? (await import("./server-command-8CuA51Cv.mjs")).startCommandServer;
633
632
  start = (opts) => startServer({
634
633
  ...opts,
635
634
  command
@@ -1,13 +1,13 @@
1
- import { m as workspaceLogsDir } from "./paths-DQtTgsBf.mjs";
2
- import { h as shortUdid, l as phaseLine } from "./command-output-BBvS1H6v.mjs";
3
- import { a as SETTING_SHAPE_REMEDY, at as unknownSettingKeys, b as iosProjectDirSettingError, p as cacheProviderSettingError, tt as settingShapeErrors, y as iosProjectDirSetting } from "./settings-B5tCoq9N.mjs";
4
- import { M as parseIosSimulatorApp } from "./ios-BQzvJlzw.mjs";
1
+ import { k as workspaceLogsDir } from "./workspace-state-BjqdjnJR.mjs";
2
+ import { h as shortUdid, l as phaseLine } from "./command-output-Dj-WT4BP.mjs";
3
+ import { _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, b as iosProjectDirSetting, p as cacheProviderSettingError, rt as settingShapeErrors, st as unknownSettingKeys, x as iosProjectDirSettingError } from "./settings-BDVI8Ivc.mjs";
4
+ import { q as describeDiagnostic } from "./toolchain-CbCG6C5Z.mjs";
5
+ import { P as parseIosSimulatorApp } from "./ios-E26qSpkb.mjs";
5
6
  import { p as resolveOptimizations } from "./errors-DHm_U5gv.mjs";
6
- import { y as describeDiagnostic } from "./xcode-CiIIDnuD.mjs";
7
- import { c as resolveBuildPlacement } from "./selection-D5cxEl3t.mjs";
8
- import { l as parseDeviceWait } from "./device-lease-run-ogEeJ62K.mjs";
9
- import { f as unknownIosDeviceTypeRefusal, p as unknownIosRuntimeRefusal, s as layerNote, t as DEFAULT_DEVICE_SLOT_WAIT_MS } from "./device-capacity-ZYaRALv5.mjs";
10
- import { t as IosDeviceMismatchError } from "./device-ios-DkHBrmvH.mjs";
7
+ import { d as resolveBuildPlacement } from "./selection-Bs8phwhN.mjs";
8
+ import { l as parseDeviceWait } from "./device-lease-run-DwsGfjUN.mjs";
9
+ import { c as layerNote, m as unknownIosRuntimeRefusal, p as unknownIosDeviceTypeRefusal, t as DEFAULT_DEVICE_SLOT_WAIT_MS } from "./device-capacity-6LP7QsaA.mjs";
10
+ import { t as IosDeviceMismatchError } from "./device-ios-534c14fz.mjs";
11
11
  import { basename, join } from "node:path";
12
12
  import chalk from "chalk";
13
13
  function buildLogFile(root) {
@@ -50,7 +50,7 @@ function resolveIosBuildSetup(remoteBuild, settings, warn, env) {
50
50
  }
51
51
  };
52
52
  }
53
- for (const key of unknownSettingKeys(settings)) warn("setting", `Warning: setting "${key}" is not read by Stim and will be ignored.`);
53
+ for (const key of unknownSettingKeys(settings)) warn("setting", inertSettingWarning(settings, key));
54
54
  const cacheProviderError = cacheProviderSettingError(settings);
55
55
  if (cacheProviderError) warn("cache", `${cacheProviderError} Using the local cache.`);
56
56
  return {
@@ -1,9 +1,9 @@
1
- import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
- import { a as killOnAbort } from "./operation-exec-CUZifp6Z.mjs";
3
- import { C as emulatorDiskSpaceRemedy, E as findBuildTool, Q as profileNeedsFoldFeature, R as memoizeEmulatorProbe, T as extractEmulatorFailure, X as pickDefaultSystemImage, c as androidPoolNoCandidatesRefusal, k as hostSystemImageArch, l as androidSystemImageAbi, o as androidHome, s as androidPoolCandidates, w as emulatorFailureRemedy } from "./android-Cjcj8MCw.mjs";
4
- import { Mn as pickDevClientScheme } from "./budget-HyShrIpL.mjs";
5
- import { d as unknownAndroidSystemImageRefusal, s as layerNote, u as unknownAndroidDeviceProfileRefusal } from "./device-capacity-ZYaRALv5.mjs";
6
- import { t as devClientScheme } from "./dev-client-CHoXXZeg.mjs";
1
+ import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
+ import { a as killOnAbort } from "./operation-exec-Dp4FuIGR.mjs";
3
+ import { C as emulatorDiskSpaceRemedy, E as findBuildTool, Q as profileNeedsFoldFeature, R as memoizeEmulatorProbe, T as extractEmulatorFailure, X as pickDefaultSystemImage, c as androidPoolNoCandidatesRefusal, k as hostSystemImageArch, l as androidSystemImageAbi, o as androidHome, s as androidPoolCandidates, w as emulatorFailureRemedy } from "./android-DriNoAVy.mjs";
4
+ import { yn as pickDevClientScheme } from "./ccache-BWTze1Ls.mjs";
5
+ import { c as layerNote, d as unknownAndroidDeviceProfileRefusal, f as unknownAndroidSystemImageRefusal } from "./device-capacity-6LP7QsaA.mjs";
6
+ import { t as devClientScheme } from "./dev-client-BMca82xo.mjs";
7
7
  import { existsSync, readFileSync, readdirSync } from "node:fs";
8
8
  import { relative } from "node:path";
9
9
  //#region src/commands/android/support.ts
@@ -1,8 +1,8 @@
1
- import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
- import { s as gitAsync } from "./operation-exec-CUZifp6Z.mjs";
3
- import { n as buildCacheKey } from "./build-cache-CKCzxzxA.mjs";
1
+ import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
+ import { s as gitAsync } from "./operation-exec-Dp4FuIGR.mjs";
3
+ import { n as buildCacheKey } from "./build-cache-gBJ-WKzA.mjs";
4
4
  import { n as fingerprintNativeInputs, r as manifestDigest } from "./native-inputs-TRTTTRxt.mjs";
5
- import { a as sourceManifest, r as nativeFileDigest } from "./native-source-D-4Dh4JU.mjs";
5
+ import { a as sourceManifest, r as nativeFileDigest } from "./native-source-D1AzWiuP.mjs";
6
6
  import { createHash } from "node:crypto";
7
7
  import { join, relative, resolve, sep } from "node:path";
8
8
  import { isJsonObject } from "@stim-cli/core/state";
@@ -1,16 +1,15 @@
1
- import { T as trackReportResource, _ as spawnDeclared, t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
- import { i as sharedBuildCache } from "./paths-DQtTgsBf.mjs";
3
- import { K as resolveCacheProviderConfig, Pt as repoRootAsync, R as projectSettingsContextAsync, nt as settingValueAt } from "./settings-B5tCoq9N.mjs";
4
- import { r as register } from "./cache-manifest-BPXRONJz.mjs";
5
- import { d as runCancellationSignal } from "./native-run-D5OJsGwA.mjs";
6
- import "./build-cache-CKCzxzxA.mjs";
1
+ import { T as trackReportResource, _ as spawnDeclared, t as getExecutor } from "./exec-aULwtNly.mjs";
2
+ import { y as sharedBuildCache } from "./workspace-state-BjqdjnJR.mjs";
3
+ import { J as resolveCacheProviderConfig, Lt as repoRootAsync, it as settingValueAt, z as projectSettingsContextAsync } from "./settings-BDVI8Ivc.mjs";
4
+ import { r as register } from "./cache-manifest-DEjqGGat.mjs";
5
+ import { m as macosToolchainAsync, ot as runCancellationSignal } from "./toolchain-CbCG6C5Z.mjs";
6
+ import "./build-cache-gBJ-WKzA.mjs";
7
7
  import { l as artifactCachePolicy, p as resolveOptimizations } from "./errors-DHm_U5gv.mjs";
8
- import { l as macosToolchainAsync } from "./toolchain-VzLJzZ7O.mjs";
9
- import { r as nativeFileDigest } from "./native-source-D-4Dh4JU.mjs";
10
- import { a as validateInfoPlist, i as stageBundle, n as resolveBundleExtras, r as setBundleName, t as reidentifyBundle } from "./stage-D8xlRU2D.mjs";
11
- import { t as validateMacosArtifactPlatform } from "./artifact-platform-CMRc0M_r.mjs";
12
- import { t as logLines } from "./run-BtzE09Dl.mjs";
13
- import { n as swiftpmArtifactInputs, r as swiftpmArtifactSnapshot, t as readSwiftpmArtifactToolchain } from "./swiftpm-artifact-inputs-iY9fsmOc.mjs";
8
+ import { r as nativeFileDigest } from "./native-source-D1AzWiuP.mjs";
9
+ import { a as validateInfoPlist, i as stageBundle, n as resolveBundleExtras, r as setBundleName, t as reidentifyBundle } from "./stage-F4cAfJGi.mjs";
10
+ import { t as validateMacosArtifactPlatform } from "./artifact-platform-BO2Uvk_A.mjs";
11
+ import { t as logLines } from "./run-DaCeNKRm.mjs";
12
+ import { n as swiftpmArtifactInputs, r as swiftpmArtifactSnapshot, t as readSwiftpmArtifactToolchain } from "./swiftpm-artifact-inputs-uPqYvGBv.mjs";
14
13
  import { createHash } from "node:crypto";
15
14
  import { createReadStream, createWriteStream, existsSync, realpathSync } from "node:fs";
16
15
  import { tmpdir } from "node:os";