stim 1.30.0 → 1.32.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 (144) hide show
  1. package/dist/{acquire-artifact-CrZ4rEbI.mjs → acquire-artifact-CI9fIokp.mjs} +1 -1
  2. package/dist/{act-BaKjDWGw.mjs → act-BfChMxcU.mjs} +71 -22
  3. package/dist/{activity-BTaUf0tc.mjs → activity-yjH7Q3zn.mjs} +4 -4
  4. package/dist/{agent-device-usage-output-DYBpO17K.mjs → agent-device-usage-output-DO412bsG.mjs} +4 -4
  5. package/dist/{android-BWqdDK6R.mjs → android-BNm5A40S.mjs} +41 -39
  6. package/dist/{android-BEQUDpOg.mjs → android-BeeC15Ve.mjs} +1 -1
  7. package/dist/{android-BCYLwmH6.mjs → android-D56S_GX3.mjs} +5 -5
  8. package/dist/{android-DdKG6lyD.mjs → android-DsEj2CCs.mjs} +27 -6
  9. package/dist/{android-cas-BH6K12__.mjs → android-cas-CbumHXIq.mjs} +4 -4
  10. package/dist/api.mjs +26 -26
  11. package/dist/{apk-signed-tail-B8kw4a8K.mjs → apk-signed-tail-B9Usseps.mjs} +2 -2
  12. package/dist/{artifact-M6W2l-xh.mjs → artifact-C8Nvp07y.mjs} +12 -12
  13. package/dist/{artifact-DTHXcmQ3.mjs → artifact-k1x9Jrn0.mjs} +12 -12
  14. package/dist/{auto-placement-CZaWDmcY.mjs → auto-placement--nfdQ9rp.mjs} +10 -10
  15. package/dist/{browser-web-JQ7lFej3.mjs → browser-web-6RDAeH0z.mjs} +11 -11
  16. package/dist/{build-C2ZWoCmg.mjs → build-VXX_dtl5.mjs} +22 -22
  17. package/dist/{build-cache-DlC3owap.mjs → build-cache-BsKim4V7.mjs} +4 -4
  18. package/dist/{build-plan-J3iRR3gI.mjs → build-plan-BK34X2iY.mjs} +6 -6
  19. package/dist/{cache-manifest-evF_zJ9U.mjs → cache-manifest-CfiEny4T.mjs} +1 -1
  20. package/dist/cache-manifest.mjs +1 -1
  21. package/dist/{ccache-B8gY50-h.mjs → ccache-BrwGIxmV.mjs} +15 -15
  22. package/dist/{cli-xRPXJPtA.mjs → cli-Jc7obreB.mjs} +18 -18
  23. package/dist/cli.mjs +1 -1
  24. package/dist/{client-DrHykA24.mjs → client-lDmA-5jx.mjs} +4 -4
  25. package/dist/collector-run.mjs +4 -4
  26. package/dist/{command-output-BBW8eWPL.mjs → command-output-CfPW1bKP.mjs} +1 -1
  27. package/dist/{config-AbUjIBOQ.mjs → config-D5qNWJEP.mjs} +2 -2
  28. package/dist/{dependencies-vUh9mp5z.mjs → dependencies-DkZ8681S.mjs} +37 -37
  29. package/dist/{dependency-state-CPKAKCZ8.mjs → dependency-state-DZVln1P9.mjs} +1 -1
  30. package/dist/{dev-client-CASgAOu7.mjs → dev-client-eDZy6RoX.mjs} +2 -2
  31. package/dist/{device-CsIdRXfm.mjs → device-CTozKhU0.mjs} +11 -11
  32. package/dist/{device-ChnO7bR9.mjs → device-CeIikWac.mjs} +12 -12
  33. package/dist/{device-android-CcdQqQWg.mjs → device-android-zgD9We85.mjs} +20 -14
  34. package/dist/{device-capacity-C5C_jOQd.mjs → device-capacity-Bki6B-7h.mjs} +173 -74
  35. package/dist/device-host-worker.mjs +19 -15
  36. package/dist/{device-ios-DbmtPIiw.mjs → device-ios-TE5ejeXx.mjs} +8 -8
  37. package/dist/{device-lease-run-Do6zYA7y.mjs → device-lease-run-DeNGjJZM.mjs} +4 -4
  38. package/dist/{device-pool-CpoYiCGO.mjs → device-pool-mjyUYaau.mjs} +3 -3
  39. package/dist/{device-provision-B5Ms94qY.mjs → device-provision-j_B7G0e6.mjs} +8 -8
  40. package/dist/{doctor-CJSB5q-s.mjs → doctor-BlrcoQ7B.mjs} +36 -25
  41. package/dist/{doctor-CpfbYh3Q.mjs → doctor-CNZuvTSe.mjs} +1 -1
  42. package/dist/doctor-fingerprint.mjs +1 -1
  43. package/dist/{doctor-CLE4AZEI.mjs → doctor-sSLtn-j1.mjs} +15 -15
  44. package/dist/{doctor-watchman-D1IyMle9.mjs → doctor-watchman-CCuboyj1.mjs} +4 -4
  45. package/dist/{eas-build-DIDOHw2P.mjs → eas-build-CaG-Sfs9.mjs} +2 -2
  46. package/dist/{eas-fallback-DVS9oBSc.mjs → eas-fallback-BpX1lpco.mjs} +4 -4
  47. package/dist/{eas-session-ledger-CW3l-inB.mjs → eas-session-ledger-B-nTfdfk.mjs} +19 -6
  48. package/dist/{error-diagnostics-XJ9eWdtq.mjs → error-diagnostics-q56Im4D8.mjs} +8 -8
  49. package/dist/{gc-BVIcxCxE.mjs → gc-By2Kc-Ek.mjs} +2 -2
  50. package/dist/{gc-Co7PE36D.mjs → gc-Dv6nb9nf.mjs} +17 -17
  51. package/dist/{guide-DkepBgHT.mjs → guide-CwpsGWTJ.mjs} +141 -39
  52. package/dist/{hosted-android-Du7NxufJ.mjs → hosted-android-c5nPJA6S.mjs} +3 -3
  53. package/dist/{hosted-client-Cect92SZ.mjs → hosted-client-Hs-fD4L3.mjs} +36 -12
  54. package/dist/{hosted-logs-Opcjv1Lr.mjs → hosted-logs-BteXG8rm.mjs} +16 -10
  55. package/dist/{hosted-logs-sync-wsI7N1Hv.mjs → hosted-logs-sync-B8bjLEMs.mjs} +5 -5
  56. package/dist/{hosted-macos-BP9Kucat.mjs → hosted-macos-B4byscei.mjs} +5 -5
  57. package/dist/{hosted-native-DmdLSmvu.mjs → hosted-native-Bh9IJ_t5.mjs} +7 -7
  58. package/dist/{idle-shutdown-BcMN_cLm.mjs → idle-shutdown-BaeCo4ps.mjs} +6 -6
  59. package/dist/{ios-CXnoVO_z.mjs → ios-CdAV4-1E.mjs} +4 -4
  60. package/dist/{ios-BFkBHuRT.mjs → ios-D1XKSITX.mjs} +8 -8
  61. package/dist/{ios-CG0IsLtt.mjs → ios-D3oK9-O4.mjs} +32 -31
  62. package/dist/{ios-device-ClSfuu-_.mjs → ios-device-D7Gi3e1I.mjs} +1 -1
  63. package/dist/{ios-project-BM9TbTE7.mjs → ios-project-DDQlX_jX.mjs} +7 -7
  64. package/dist/{ios-state-Ce_dystM.mjs → ios-state-BEIJRJ7P.mjs} +1 -1
  65. package/dist/{js-swap-9Rx-5Nqz.mjs → js-swap-C8N5DXHl.mjs} +4 -4
  66. package/dist/{launch-DvJV1Mx4.mjs → launch-DxpvL6il.mjs} +19 -19
  67. package/dist/{lightened-23pqe7LS.mjs → lightened-Df6II_XI.mjs} +4 -4
  68. package/dist/{logs-DJgZlf2K.mjs → logs-CuWJWF88.mjs} +7 -7
  69. package/dist/{logs-Pkeh3wZk.mjs → logs-zv3ge7c6.mjs} +5 -5
  70. package/dist/{macos-DPvPQadc.mjs → macos-C6U-4Iip.mjs} +19 -19
  71. package/dist/{macos-Du07NsOB.mjs → macos-CbRZheLw.mjs} +1 -1
  72. package/dist/macos-run.mjs +1 -1
  73. package/dist/maintenance-run.mjs +5 -5
  74. package/dist/{metro-BMQHczcf.mjs → metro-mKHEMO-a.mjs} +2 -2
  75. package/dist/{metro-request-BtF7ox53.mjs → metro-request-DODHNXCN.mjs} +8 -2
  76. package/dist/{named-ports-DcktE2Pw.mjs → named-ports-B0hCk2v-.mjs} +2 -2
  77. package/dist/{native-android-CBOM1_gB.mjs → native-android-9dVFqvTT.mjs} +16 -16
  78. package/dist/{native-gradle-artifact-inputs-D_iAfPuS.mjs → native-gradle-artifact-inputs-BlY97pt8.mjs} +3 -3
  79. package/dist/{native-runtime-D4cTwU0Z.mjs → native-runtime-DQfxW5Au.mjs} +6 -6
  80. package/dist/{native-xcode-inputs-BF-ogSnG.mjs → native-xcode-inputs-tDuUvSU8.mjs} +2 -2
  81. package/dist/{native-xcode-ios-DwJBfMP6.mjs → native-xcode-ios-CG-PD-7g.mjs} +15 -15
  82. package/dist/offload-worker.mjs +19 -19
  83. package/dist/{ownership-Dtz9G5Gl.mjs → ownership-CCfiBfOP.mjs} +2 -2
  84. package/dist/{phone-reverses-CvhhkGMH.mjs → phone-reverses-CnNwdz9A.mjs} +4 -4
  85. package/dist/{placement-log-CRR_TE1r.mjs → placement-log-CRL0IY-k.mjs} +1 -1
  86. package/dist/{plan-placement-CdLc-pTb.mjs → plan-placement-2imvnlWP.mjs} +6 -6
  87. package/dist/{ports-g4N_cfyg.mjs → ports-CKktj5lV.mjs} +3 -3
  88. package/dist/{prebuild-DBJMhwSS.mjs → prebuild-CyNrUWgV.mjs} +9 -9
  89. package/dist/{project-DPQjnpcI.mjs → project-Crtcbfl0.mjs} +15 -15
  90. package/dist/{react-native-android-idMWOwkX.mjs → react-native-android-Cabe2YER.mjs} +22 -22
  91. package/dist/{react-native-build-BSoh4HkH.mjs → react-native-build-DhWBUV_H.mjs} +7 -7
  92. package/dist/{react-native-doctor-CYibY8-4.mjs → react-native-doctor-D-twmBon.mjs} +5 -5
  93. package/dist/{react-native-ios-13KIIOOy.mjs → react-native-ios-u_ley41B.mjs} +14 -14
  94. package/dist/{recordings-CHMaF73C.mjs → recordings-BWnIlhZH.mjs} +1 -1
  95. package/dist/{reload-BUQI3dSu.mjs → reload-D2TpUlns.mjs} +14 -14
  96. package/dist/{reload-B9DZOjcV.mjs → reload-f9hvEHE9.mjs} +1 -1
  97. package/dist/{remote-C-RGHhAP.mjs → remote-BsBAjlD2.mjs} +8 -8
  98. package/dist/{result-W4HCum4A.mjs → result-EOsWV6sp.mjs} +16 -16
  99. package/dist/{run-BQAmrohh.mjs → run-2CHAJ9Oj.mjs} +1 -1
  100. package/dist/{selection-PCMT97XD.mjs → selection-C4ZQz_ER.mjs} +3 -3
  101. package/dist/{server-bare-CEQdB_F4.mjs → server-bare-CFyVFZXJ.mjs} +1 -1
  102. package/dist/{server-command-oqi3TDy7.mjs → server-command-BMyKtnjH.mjs} +4 -4
  103. package/dist/{server-expo-C1K07shx.mjs → server-expo-BLxcN2x2.mjs} +2 -2
  104. package/dist/server-expo-DwR3eD-a.mjs +2 -0
  105. package/dist/{settings-D776ygML.mjs → settings-C6UTYW2K.mjs} +1 -1
  106. package/dist/{settings-CKlMOmhj.mjs → settings-jeS0WmUF.mjs} +2 -2
  107. package/dist/{settings-payload-CE-NZ6Lq.mjs → settings-payload-CrX933Xi.mjs} +4 -4
  108. package/dist/{settings-write-D7Xwa_-M.mjs → settings-write-DMcT23Kl.mjs} +5 -5
  109. package/dist/settings.schema.json +47 -5
  110. package/dist/{simslim-CbpHERcv.mjs → simslim-93xmPh-d.mjs} +1 -1
  111. package/dist/{slot-launch-CeIK1iUI.mjs → slot-launch-CSpQcFZw.mjs} +6 -6
  112. package/dist/{stage-Blqe6bWb.mjs → stage-Cf9uSM1a.mjs} +1 -1
  113. package/dist/{start-B7J5a9nS.mjs → start-CLN_r9EG.mjs} +10 -10
  114. package/dist/{start-CvP2pJjc.mjs → start-CquYgzVf.mjs} +1 -1
  115. package/dist/{state-D5ZxwCGJ.mjs → state-CM_HvvkS.mjs} +2 -2
  116. package/dist/{state-C2AUjjhg.mjs → state-CiflgxTP.mjs} +1 -1
  117. package/dist/{stats-Uo7l8OAk.mjs → stats-BVEZuSlg.mjs} +4 -4
  118. package/dist/{status-CqJI1TgG.mjs → status-Bhdy07v0.mjs} +1 -1
  119. package/dist/{status-_rWXFSO7.mjs → status-D0ruTmPl.mjs} +26 -25
  120. package/dist/{status-CK7ZoEhV.mjs → status-GQ-JqvRi.mjs} +1 -1
  121. package/dist/{status-watch-CnSyXUmj.mjs → status-watch-DSu_hhg6.mjs} +4 -4
  122. package/dist/status-worker.mjs +1 -1
  123. package/dist/{stim-desktop-CYXLFpFS.mjs → stim-desktop-1XxET4S8.mjs} +1 -1
  124. package/dist/{stop-CMVfaA-6.mjs → stop-B616ZyTv.mjs} +4 -4
  125. package/dist/{stop-Bogo9oO2.mjs → stop-RZqER_Ww.mjs} +2 -2
  126. package/dist/{stop-CnF9ixYe.mjs → stop-W4DK8qZq.mjs} +15 -15
  127. package/dist/supervisor-run.mjs +134 -42
  128. package/dist/{support-DUevTPur.mjs → support-NxnD8QXd.mjs} +9 -9
  129. package/dist/{support-BGqpYMV8.mjs → support-S_5nkkzs.mjs} +4 -4
  130. package/dist/{swiftpm-artifact-inputs-BcJk6-3u.mjs → swiftpm-artifact-inputs-yp8D5LE4.mjs} +1 -1
  131. package/dist/{swiftpm-macos-DBrmoocG.mjs → swiftpm-macos-Gtq9bNQb.mjs} +8 -8
  132. package/dist/{toolchain-Cw9VVHOY.mjs → toolchain-B2bN8jEo.mjs} +1 -1
  133. package/dist/{toolchain-DLdoyxIt.mjs → toolchain-Bnm8vUCV.mjs} +4 -4
  134. package/dist/{warm-progress-DQ2wQZKp.mjs → warm-progress-_aTMvkIH.mjs} +3 -3
  135. package/dist/{web-g9U7L1sR.mjs → web-BdWG8b5_.mjs} +8 -8
  136. package/dist/web-DwuluWJt.mjs +2 -0
  137. package/dist/web-run.mjs +4 -4
  138. package/dist/{workspace-state-DGwkPXwq.mjs → workspace-state-3bF4TB8P.mjs} +2 -2
  139. package/dist/{workspaces-7_RWoi6c.mjs → workspaces-C59v9bpD.mjs} +19 -15
  140. package/dist/{worktree-qKJ3x07S.mjs → worktree-CinoSsGy.mjs} +24 -24
  141. package/dist/{worktree-DEet9H3p.mjs → worktree-K9F50fD_.mjs} +1 -1
  142. package/package.json +7 -7
  143. package/dist/server-expo-BUFAq2In.mjs +0 -2
  144. package/dist/web-CI_qCRPw.mjs +0 -2
@@ -1001,7 +1001,7 @@
1001
1001
  "type": "object",
1002
1002
  "properties": {
1003
1003
  "idleStopHours": {
1004
- "description": "Hours with no native run, Metro bundle or HMR request, agent-device command, Stim command or live view before automatic maintenance and gc --delete stop a workspace's dev server and shut down its owned simulators and emulators, as stim stop does; device and app log lines do not count; 0 never",
1004
+ "description": "Hours with no native run, Metro bundle or HMR request, agent-device command, Stim command or live view of a local device before automatic maintenance and gc --delete stop a workspace's dev server and shut down its owned or hosted simulators and emulators, as stim stop does, and stim-server stops a hosted session whose client has been gone that long; device and app log lines do not count; 0 never",
1005
1005
  "type": "number",
1006
1006
  "minimum": 0,
1007
1007
  "default": 6,
@@ -1038,7 +1038,7 @@
1038
1038
  "type": "object",
1039
1039
  "properties": {
1040
1040
  "easFallback": {
1041
- "description": "When ios.remote or android.remote is auto or remote, this machine is at its concurrency.maxDevices cap and no remote.machines entry takes the run, run the simulator or emulator on a billed EAS Simulator instead of waiting or refusing, when eas-cli can; remote-only never uses it",
1041
+ "description": "When ios.remote or android.remote is auto or remote, this machine is at a device cap (concurrency.maxDevices or a per-platform cap) and no remote.machines entry takes the run, run the simulator or emulator on a billed EAS Simulator instead of waiting or refusing, when eas-cli can; remote-only never uses it",
1042
1042
  "type": "boolean",
1043
1043
  "default": false,
1044
1044
  "x-stim": {
@@ -1730,7 +1730,7 @@
1730
1730
  }
1731
1731
  },
1732
1732
  "maxDevices": {
1733
- "description": "Booted owned devices; 0 means no limit",
1733
+ "description": "Booted owned iOS simulators and Android emulators together, and, separately, hosted macOS apps; 0 means no limit",
1734
1734
  "type": "integer",
1735
1735
  "minimum": 0,
1736
1736
  "default": 0,
@@ -1742,6 +1742,48 @@
1742
1742
  ],
1743
1743
  "env": "STIM_MAX_DEVICES"
1744
1744
  }
1745
+ },
1746
+ "maxIosDevices": {
1747
+ "description": "Booted owned iOS simulators, also bounded by concurrency.maxDevices; 0 means no per-platform limit",
1748
+ "type": "integer",
1749
+ "minimum": 0,
1750
+ "default": 0,
1751
+ "x-stim": {
1752
+ "key": "concurrency.maxIosDevices",
1753
+ "kind": "number",
1754
+ "scopes": [
1755
+ "machine"
1756
+ ],
1757
+ "env": "STIM_MAX_IOS_DEVICES"
1758
+ }
1759
+ },
1760
+ "maxAndroidDevices": {
1761
+ "description": "Booted owned Android emulators, also bounded by concurrency.maxDevices; 0 means no per-platform limit",
1762
+ "type": "integer",
1763
+ "minimum": 0,
1764
+ "default": 0,
1765
+ "x-stim": {
1766
+ "key": "concurrency.maxAndroidDevices",
1767
+ "kind": "number",
1768
+ "scopes": [
1769
+ "machine"
1770
+ ],
1771
+ "env": "STIM_MAX_ANDROID_DEVICES"
1772
+ }
1773
+ },
1774
+ "maxMacosApps": {
1775
+ "description": "Hosted macOS apps, also bounded by concurrency.maxDevices; 0 means no per-platform limit",
1776
+ "type": "integer",
1777
+ "minimum": 0,
1778
+ "default": 0,
1779
+ "x-stim": {
1780
+ "key": "concurrency.maxMacosApps",
1781
+ "kind": "number",
1782
+ "scopes": [
1783
+ "machine"
1784
+ ],
1785
+ "env": "STIM_MAX_MACOS_APPS"
1786
+ }
1745
1787
  }
1746
1788
  },
1747
1789
  "additionalProperties": false
@@ -1999,7 +2041,7 @@
1999
2041
  }
2000
2042
  },
2001
2043
  "idleStopHours": {
2002
- "description": "Hours with no native run, Metro bundle or HMR request, agent-device command, Stim command or live view before automatic maintenance and gc --delete stop a workspace's dev server and shut down its owned simulators and emulators, as stim stop does; device and app log lines do not count; 0 never",
2044
+ "description": "Hours with no native run, Metro bundle or HMR request, agent-device command, Stim command or live view of a local device before automatic maintenance and gc --delete stop a workspace's dev server and shut down its owned or hosted simulators and emulators, as stim stop does, and stim-server stops a hosted session whose client has been gone that long; device and app log lines do not count; 0 never",
2003
2045
  "type": "number",
2004
2046
  "minimum": 0,
2005
2047
  "default": 6,
@@ -2497,7 +2539,7 @@
2497
2539
  }
2498
2540
  },
2499
2541
  "easFallback": {
2500
- "description": "When ios.remote or android.remote is auto or remote, this machine is at its concurrency.maxDevices cap and no remote.machines entry takes the run, run the simulator or emulator on a billed EAS Simulator instead of waiting or refusing, when eas-cli can; remote-only never uses it",
2542
+ "description": "When ios.remote or android.remote is auto or remote, this machine is at a device cap (concurrency.maxDevices or a per-platform cap) and no remote.machines entry takes the run, run the simulator or emulator on a billed EAS Simulator instead of waiting or refusing, when eas-cli can; remote-only never uses it",
2501
2543
  "type": "boolean",
2502
2544
  "default": false,
2503
2545
  "x-stim": {
@@ -1,5 +1,5 @@
1
1
  import { D as ownership_claim_exports, S as process_identity_exports, b as operationState, t as getExecutor, y as isTermination } from "./exec-aULwtNly.mjs";
2
- import { d as getConfigDir } from "./config-AbUjIBOQ.mjs";
2
+ import { d as getConfigDir } from "./config-D5qNWJEP.mjs";
3
3
  import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
4
4
  import { join } from "node:path";
5
5
  //#region src/engine/simslim.ts
@@ -1,9 +1,9 @@
1
- import { r as readWorkspaceState$1 } from "./workspace-state-DGwkPXwq.mjs";
2
- import { G as projectDeviceSlots, U as parseDeviceSlotKey, p as getProject } from "./config-AbUjIBOQ.mjs";
3
- import { M as listAdbDevicesAsync, k as getAvdNameForSerialAsync } from "./android-DdKG6lyD.mjs";
4
- import { on as deviceShellArg } from "./ccache-B8gY50-h.mjs";
5
- import { y as fileLeaseIo } from "./activity-BTaUf0tc.mjs";
6
- import { f as listAllIosSimsAsync } from "./ios-CXnoVO_z.mjs";
1
+ import { r as readWorkspaceState$1 } from "./workspace-state-3bF4TB8P.mjs";
2
+ import { K as projectDeviceSlots, W as parseDeviceSlotKey, m as getProject } from "./config-D5qNWJEP.mjs";
3
+ import { A as getAvdNameForSerialAsync, P as listAdbDevicesAsync } from "./android-DsEj2CCs.mjs";
4
+ import { on as deviceShellArg } from "./ccache-BrwGIxmV.mjs";
5
+ import { y as fileLeaseIo } from "./activity-yjH7Q3zn.mjs";
6
+ import { f as listAllIosSimsAsync } from "./ios-CdAV4-1E.mjs";
7
7
  import { hostedNativeRecords } from "@stim-cli/core/state";
8
8
  //#region src/engine/slot-launch.ts
9
9
  function launchSlotScope(root, slot = "default") {
@@ -1,5 +1,5 @@
1
1
  import { c as throwIfCancelled, t as getExecutor, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
2
- import { st as runCancellationSignal } from "./toolchain-DLdoyxIt.mjs";
2
+ import { st as runCancellationSignal } from "./toolchain-Bnm8vUCV.mjs";
3
3
  import { existsSync, lstatSync, promises, readdirSync, realpathSync, statSync } from "node:fs";
4
4
  import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
5
5
  import { validMacosResourceDestination } from "@stim-cli/core";
@@ -1,15 +1,15 @@
1
1
  import { D as ownership_claim_exports, S as process_identity_exports, a as waitForGroupExit, c as throwIfCancelled, d as workspaceProcessLockError, l as WorkspaceProcessCleanupError, o as cancellableSleep, r as groupExitBudgetMs, t as getExecutor, u as withWorkspaceProcessLock, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
2
- import { S as supervisorLogFile, _ as ensureWorkspaceStorage, i as recordWorkspaceUse, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, n as clearWorkspaceStateKeys, r as readWorkspaceState$1, s as updateWorkspaceStateAsync, w as workspaceAgentDeviceDir } from "./workspace-state-DGwkPXwq.mjs";
3
- import { E as upsertProject, O as withConfigLockAsync$1, p as getProject, x as releaseMetroPort } from "./config-AbUjIBOQ.mjs";
4
- import { _ as stepTimer, l as phaseLine } from "./command-output-BBW8eWPL.mjs";
5
- import { A as metroCommandSetting, B as publicUrlSetting, G as remoteIosSetting, I as ngrokUrlSetting, J as resolveCacheProviderConfig, M as metroIdleStopMinutesSetting, N as metroPortSetting, P as metroTunnelSettingError, U as remoteAndroidSetting, Y as resolveIosProjectDir, Z as resolveProjectSettingsAsync, _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, dt as detectProviders, ft as planMetroReach, h as deviceIdleShutdownMinutesSetting, j as metroCommandSettingError, m as defaultAndroidLayout, ot as tunnelModeSetting, p as cacheProviderSettingError, q as resolveAndroidLayout, rt as settingShapeErrors, st as unknownSettingKeys, ut as PUBLIC_METRO_ENV } from "./settings-D776ygML.mjs";
6
- import { E as MODE_EXPO, M as readMetroTunnel, O as clearManagedMetroTunnel, S as readAppJson, T as MODE_COMMAND, c as projectProblem, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL, v as detectIsExpo, w as MODE_BARE, x as readAppConfigText } from "./project-DPQjnpcI.mjs";
7
- import { a as workspaceLinkLine, o as workspaceLinks } from "./stim-desktop-CYXLFpFS.mjs";
8
- import { _ as PORT_INSPECTION_REMEDY, a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, f as signalProcessTree, g as reserveMetroPort, h as isMetroRunning, m as createPortProbe, u as processCwds, v as PortInspectionError } from "./metro-BMQHczcf.mjs";
2
+ import { S as supervisorLogFile, _ as ensureWorkspaceStorage, i as recordWorkspaceUse, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, n as clearWorkspaceStateKeys, r as readWorkspaceState$1, s as updateWorkspaceStateAsync, w as workspaceAgentDeviceDir } from "./workspace-state-3bF4TB8P.mjs";
3
+ import { D as upsertProject, S as releaseMetroPort, k as withConfigLockAsync$1, m as getProject } from "./config-D5qNWJEP.mjs";
4
+ import { _ as stepTimer, l as phaseLine } from "./command-output-CfPW1bKP.mjs";
5
+ import { A as metroCommandSetting, B as publicUrlSetting, G as remoteIosSetting, I as ngrokUrlSetting, J as resolveCacheProviderConfig, M as metroIdleStopMinutesSetting, N as metroPortSetting, P as metroTunnelSettingError, U as remoteAndroidSetting, Y as resolveIosProjectDir, Z as resolveProjectSettingsAsync, _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, dt as detectProviders, ft as planMetroReach, h as deviceIdleShutdownMinutesSetting, j as metroCommandSettingError, m as defaultAndroidLayout, ot as tunnelModeSetting, p as cacheProviderSettingError, q as resolveAndroidLayout, rt as settingShapeErrors, st as unknownSettingKeys, ut as PUBLIC_METRO_ENV } from "./settings-C6UTYW2K.mjs";
6
+ import { E as MODE_EXPO, M as readMetroTunnel, O as clearManagedMetroTunnel, S as readAppJson, T as MODE_COMMAND, c as projectProblem, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL, v as detectIsExpo, w as MODE_BARE, x as readAppConfigText } from "./project-Crtcbfl0.mjs";
7
+ import { a as workspaceLinkLine, o as workspaceLinks } from "./stim-desktop-1XxET4S8.mjs";
8
+ import { _ as PORT_INSPECTION_REMEDY, a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, f as signalProcessTree, g as reserveMetroPort, h as isMetroRunning, m as createPortProbe, u as processCwds, v as PortInspectionError } from "./metro-mKHEMO-a.mjs";
9
9
  import { a as levelRank } from "./ndjson-CrjIsGzw.mjs";
10
- import { En as runProcessOperation, In as readProjectConfig, Vn as remoteCliInvocation, b as stopOwnedMetroForReset, c as budgetGate, wn as exitAfterFlush } from "./ccache-B8gY50-h.mjs";
11
- import { C as stopTunnel, D as withManagedTunnelLock, S as startTunnelSequence, T as withManagedRemoteWorktreeLock, w as terminateChild, x as resolveSupervisorTarget } from "./workspaces-7_RWoi6c.mjs";
12
- import { i as restoreLightenedDependencies } from "./lightened-23pqe7LS.mjs";
10
+ import { En as runProcessOperation, In as readProjectConfig, Vn as remoteCliInvocation, b as stopOwnedMetroForReset, c as budgetGate, wn as exitAfterFlush } from "./ccache-BrwGIxmV.mjs";
11
+ import { C as stopTunnel, D as withManagedTunnelLock, S as startTunnelSequence, T as withManagedRemoteWorktreeLock, w as terminateChild, x as resolveSupervisorTarget } from "./workspaces-C59v9bpD.mjs";
12
+ import { i as restoreLightenedDependencies } from "./lightened-Df6II_XI.mjs";
13
13
  import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
14
14
  import { n as windowsLauncherArgs } from "./detached-entry-BPlSaCwC.mjs";
15
15
  import { appendFileSync, closeSync, mkdirSync, openSync, readFileSync } from "node:fs";
@@ -1,2 +1,2 @@
1
- import { a as registerStart, c as startDevServer, d as supervisorSignalable, f as tailLines, i as readLogTail, l as startFacts, n as liveSupervisor, o as resolveWorkspaceMetroPort, p as wantsExpoOwnTunnel, r as parseWait, s as startCommand, t as failureEvidence, u as supervisorEntry } from "./start-B7J5a9nS.mjs";
1
+ import { a as registerStart, c as startDevServer, d as supervisorSignalable, f as tailLines, i as readLogTail, l as startFacts, n as liveSupervisor, o as resolveWorkspaceMetroPort, p as wantsExpoOwnTunnel, r as parseWait, s as startCommand, t as failureEvidence, u as supervisorEntry } from "./start-CLN_r9EG.mjs";
2
2
  export { startCommand as default, failureEvidence, liveSupervisor, parseWait, readLogTail, registerStart, resolveWorkspaceMetroPort, startDevServer, startFacts, supervisorEntry, supervisorSignalable, tailLines, wantsExpoOwnTunnel };
@@ -1,7 +1,7 @@
1
1
  import { D as ownership_claim_exports, S as process_identity_exports, l as WorkspaceProcessCleanupError, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir, d as writeWorkspaceState, k as workspaceLogsDir$1, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-DGwkPXwq.mjs";
2
+ import { E as workspaceDir, d as writeWorkspaceState, k as workspaceLogsDir$1, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-3bF4TB8P.mjs";
3
3
  import { t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
4
- import { c as pidExists } from "./metro-BMQHczcf.mjs";
4
+ import { c as pidExists } from "./metro-mKHEMO-a.mjs";
5
5
  import { readFileSync, readlinkSync, rmSync } from "node:fs";
6
6
  import { hostname } from "node:os";
7
7
  import { join } from "node:path";
@@ -1,5 +1,5 @@
1
1
  import { S as process_identity_exports } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir, k as workspaceLogsDir$1, o as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-DGwkPXwq.mjs";
2
+ import { E as workspaceDir, k as workspaceLogsDir$1, o as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-3bF4TB8P.mjs";
3
3
  import { existsSync } from "node:fs";
4
4
  import { join } from "node:path";
5
5
  import { readMacosRecord } from "@stim-cli/core/state";
@@ -1,7 +1,7 @@
1
- import { P as formatBytes } from "./config-AbUjIBOQ.mjs";
2
- import { o as formatLongDuration } from "./command-output-BBW8eWPL.mjs";
3
- import { i as findProjectRoot$1 } from "./project-DPQjnpcI.mjs";
4
- import { i as getSwiftpmCacheUsage, n as swiftpmCacheLines, r as getAgentDeviceUsage, t as agentDeviceLines } from "./agent-device-usage-output-DYBpO17K.mjs";
1
+ import { F as formatBytes } from "./config-D5qNWJEP.mjs";
2
+ import { o as formatLongDuration } from "./command-output-CfPW1bKP.mjs";
3
+ import { i as findProjectRoot$1 } from "./project-Crtcbfl0.mjs";
4
+ import { i as getSwiftpmCacheUsage, n as swiftpmCacheLines, r as getAgentDeviceUsage, t as agentDeviceLines } from "./agent-device-usage-output-DO412bsG.mjs";
5
5
  import { t as readProjectStats } from "./stats-report-B86Cv7Uc.mjs";
6
6
  import { archivedUsage, readArchives } from "@stim-cli/core/state";
7
7
  import chalk from "chalk";
@@ -1,2 +1,2 @@
1
- import { n as runStatusWatch, r as statusCommand, t as readVolumes } from "./status-_rWXFSO7.mjs";
1
+ import { n as runStatusWatch, r as statusCommand, t as readVolumes } from "./status-D0ruTmPl.mjs";
2
2
  export { statusCommand as default, readVolumes, runStatusWatch };
@@ -1,29 +1,29 @@
1
1
  import { S as process_identity_exports, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { O as workspaceLogErrorIndex, k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-DGwkPXwq.mjs";
3
- import { G as projectDeviceSlots, P as formatBytes, R as volumeRootFor, U as parseDeviceSlotKey, V as deviceSlotKey, _ as loadConfig$1, d as getConfigDir, u as getConcurrencyLimits } from "./config-AbUjIBOQ.mjs";
4
- import { a as formatElapsed, i as formatDuration, r as clockTime, u as plural } from "./command-output-BBW8eWPL.mjs";
2
+ import { O as workspaceLogErrorIndex, k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-3bF4TB8P.mjs";
3
+ import { F as formatBytes, H as deviceSlotKey, K as projectDeviceSlots, W as parseDeviceSlotKey, d as getConfigDir, p as getPlatformDeviceLimits, u as getConcurrencyLimits, v as loadConfig$1, z as volumeRootFor } from "./config-D5qNWJEP.mjs";
4
+ import { a as formatElapsed, i as formatDuration, r as clockTime, u as plural } from "./command-output-CfPW1bKP.mjs";
5
5
  import { s as gitAsync } from "./operation-exec-Dp4FuIGR.mjs";
6
- import { Bt as repoRoot, Ct as gitCommonDirOnDisk, Ot as linkedWorktreesOnDisk, Q as resolveSettings, lt as workspaceHiddenSetting, xt as gitCommonDir } from "./settings-D776ygML.mjs";
7
- import { I as readWorkspaceLaunches, M as readMetroTunnel, P as readRemoteSession, S as readAppJson, a as findServerWorkspace, l as projectShortcut, u as detectPlatforms, v as detectIsExpo, y as detectTutorial } from "./project-DPQjnpcI.mjs";
8
- import { B as ownedAvdDeviceProfile, M as listAdbDevicesAsync, W as ownedAvdSerialResolver, ft as POOL_SETTING_REMEDY, j as listAdbDevices, vt as parkedMaxSetting, yt as readParked } from "./android-DdKG6lyD.mjs";
9
- import { c as pidExists, d as resolveProjectMetro, h as isMetroRunning, i as listeningPids, l as processCwd, o as listeningPidsByPort, u as processCwds } from "./metro-BMQHczcf.mjs";
6
+ import { Bt as repoRoot, Ct as gitCommonDirOnDisk, Ot as linkedWorktreesOnDisk, Q as resolveSettings, lt as workspaceHiddenSetting, xt as gitCommonDir } from "./settings-C6UTYW2K.mjs";
7
+ import { I as readWorkspaceLaunches, M as readMetroTunnel, P as readRemoteSession, S as readAppJson, a as findServerWorkspace, l as projectShortcut, u as detectPlatforms, v as detectIsExpo, y as detectTutorial } from "./project-Crtcbfl0.mjs";
8
+ import { H as ownedAvdDeviceProfile, K as ownedAvdSerialResolver, N as listAdbDevices, P as listAdbDevicesAsync, bt as parkedMaxSetting, mt as POOL_SETTING_REMEDY, xt as readParked } from "./android-DsEj2CCs.mjs";
9
+ import { c as pidExists, d as resolveProjectMetro, h as isMetroRunning, i as listeningPids, l as processCwd, o as listeningPidsByPort, u as processCwds } from "./metro-mKHEMO-a.mjs";
10
10
  import { o as parseNdjsonLine } from "./ndjson-CrjIsGzw.mjs";
11
- import { E as metroLastStop, S as describeMetroLastStop, cn as hasMetroReverse, cr as attributeMachineUsage, lr as readFootprints, p as machineNumber } from "./ccache-B8gY50-h.mjs";
12
- import { a as readWebPage, o as readWebRecord, u as webFacts } from "./state-D5ZxwCGJ.mjs";
13
- import { A as poolLine, C as diskLine, D as loadLine, E as gitSummaryText, F as tightVolumes, I as unprovisionedWorktrees, L as withWebFacts, M as remoteDeviceState, N as slotUsageLines, O as metroReverseTargets, P as statusActivity, S as deviceLeaseStates, _ as addReverseMissingIssue, b as capacityLoad, g as activityLabel, j as remoteDeviceLine, k as parseDfFree, r as readEasSessionLedger$1, v as applyMachineMemory, w as environmentState, x as deviceLeaseLines, y as capacity } from "./eas-session-ledger-CW3l-inB.mjs";
14
- import { Ct as buildSlotUsage, G as buildStatusLine, J as parseActiveBuild, K as bundlingActivity, U as activeBuildState, V as ACTIVE_BUILD_KEY, W as buildReport, at as readStats$1, lt as statsProjectKey$1, x as resolveSupervisorTarget } from "./workspaces-7_RWoi6c.mjs";
15
- import { a as createDeviceProcessTables, b as leaseIsExpired, h as tailLines, m as readWebActivity, r as createActivityReader, w as parseWorkspaceLeases, x as listLeaseFiles } from "./activity-BTaUf0tc.mjs";
16
- import { b as parseSimctlList, f as listAllIosSimsAsync } from "./ios-CXnoVO_z.mjs";
17
- import { p as probeHostedSession } from "./hosted-client-Cect92SZ.mjs";
18
- import "./hosted-macos-BP9Kucat.mjs";
19
- import { i as readSupervisorState } from "./stop-CnF9ixYe.mjs";
20
- import { l as applyStatusMeasures, n as workspacePhase, s as mergeState, u as createStatusMeasurer } from "./warm-progress-DQ2wQZKp.mjs";
21
- import { r as workspaceRecordingEnabled } from "./recordings-CHMaF73C.mjs";
22
- import { n as maintenanceLines, r as maintenanceStatus } from "./status-CK7ZoEhV.mjs";
23
- import { s as deviceSlotUsage } from "./device-capacity-C5C_jOQd.mjs";
24
- import { d as readIosDevices, s as isReachable } from "./ios-device-ClSfuu-_.mjs";
11
+ import { E as metroLastStop, S as describeMetroLastStop, cn as hasMetroReverse, cr as attributeMachineUsage, lr as readFootprints, p as machineNumber } from "./ccache-BrwGIxmV.mjs";
12
+ import { a as readWebPage, o as readWebRecord, u as webFacts } from "./state-CM_HvvkS.mjs";
13
+ import { A as poolLine, C as diskLine, D as loadLine, E as gitSummaryText, F as tightVolumes, I as unprovisionedWorktrees, L as withWebFacts, M as remoteDeviceState, N as slotUsageLines, O as metroReverseTargets, P as statusActivity, S as deviceLeaseStates, _ as addReverseMissingIssue, b as capacityLoad, g as activityLabel, j as remoteDeviceLine, k as parseDfFree, r as readEasSessionLedger$1, v as applyMachineMemory, w as environmentState, x as deviceLeaseLines, y as capacity } from "./eas-session-ledger-B-nTfdfk.mjs";
14
+ import { Ct as buildSlotUsage, G as buildStatusLine, J as parseActiveBuild, K as bundlingActivity, U as activeBuildState, V as ACTIVE_BUILD_KEY, W as buildReport, at as readStats$1, lt as statsProjectKey$1, x as resolveSupervisorTarget } from "./workspaces-C59v9bpD.mjs";
15
+ import { a as createDeviceProcessTables, b as leaseIsExpired, h as tailLines, m as readWebActivity, r as createActivityReader, w as parseWorkspaceLeases, x as listLeaseFiles } from "./activity-yjH7Q3zn.mjs";
16
+ import { b as parseSimctlList, f as listAllIosSimsAsync } from "./ios-CdAV4-1E.mjs";
17
+ import { p as probeHostedSession } from "./hosted-client-Hs-fD4L3.mjs";
18
+ import "./hosted-macos-B4byscei.mjs";
19
+ import { i as readSupervisorState } from "./stop-W4DK8qZq.mjs";
20
+ import { l as applyStatusMeasures, n as workspacePhase, s as mergeState, u as createStatusMeasurer } from "./warm-progress-_aTMvkIH.mjs";
21
+ import { r as workspaceRecordingEnabled } from "./recordings-BWnIlhZH.mjs";
22
+ import { n as maintenanceLines, r as maintenanceStatus } from "./status-GQ-JqvRi.mjs";
23
+ import { c as deviceSlotUsages } from "./device-capacity-Bki6B-7h.mjs";
24
+ import { d as readIosDevices, s as isReachable } from "./ios-device-D7Gi3e1I.mjs";
25
25
  import { t as triggerMaintenance } from "./trigger-CfnOfpDd.mjs";
26
- import { a as createRefreshScheduler, c as watchStatusSources, n as WATCH_LIGHT_INTERVAL_MS, o as watchChangeKey, r as WATCH_MACHINE_INTERVAL_MS, s as watchPayload, t as WATCH_FALLBACK_MS } from "./status-watch-CnSyXUmj.mjs";
26
+ import { a as createRefreshScheduler, c as watchStatusSources, n as WATCH_LIGHT_INTERVAL_MS, o as watchChangeKey, r as WATCH_MACHINE_INTERVAL_MS, s as watchPayload, t as WATCH_FALLBACK_MS } from "./status-watch-DSu_hhg6.mjs";
27
27
  import { t as watchStdoutReader } from "./stdout-reader-C8yjre1x.mjs";
28
28
  import { createHash, randomUUID } from "node:crypto";
29
29
  import { mkdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
@@ -834,7 +834,7 @@ function doctorRunTimes(proj) {
834
834
  */
835
835
  function liveProbes({ simctlListing = null, gitMaxAgeMs = 0, archives } = {}) {
836
836
  return {
837
- simulators: () => simctlListing === null ? listAllIosSimsAsync() : Promise.resolve().then(() => parseSimctlList(simctlListing)),
837
+ simulators: () => process.platform !== "darwin" ? Promise.resolve([]) : simctlListing === null ? listAllIosSimsAsync() : Promise.resolve().then(() => parseSimctlList(simctlListing)),
838
838
  metro: readMetroFacts,
839
839
  hostedIos: readHostedIosStatus,
840
840
  hostedAndroid: readHostedAndroidStatus,
@@ -1038,15 +1038,16 @@ async function readStatusFacts(probes, gitScope, cwd) {
1038
1038
  probes
1039
1039
  });
1040
1040
  const { maxBuilds, maxDevices } = getConcurrencyLimits();
1041
+ const platformLimits = getPlatformDeviceLimits();
1041
1042
  const slotUsage = {
1042
1043
  ...maxBuilds > 0 ? { builds: buildSlotUsage(maxBuilds) } : {},
1043
- ...maxDevices > 0 ? { devices: await deviceSlotUsage(maxDevices, {
1044
+ ...maxDevices > 0 || platformLimits.ios > 0 || platformLimits.android > 0 ? await deviceSlotUsages(maxDevices, platformLimits, {
1044
1045
  config: cfg,
1045
1046
  sims: process.platform !== "darwin" ? [] : simsAvailable ? sims : () => {
1046
1047
  throw simctlFailure;
1047
1048
  },
1048
1049
  adb: () => listAdbDevicesAsync({ timeoutMs: PHYSICAL_DEVICE_LIST_TIMEOUT_MS })
1049
- }) } : {}
1050
+ }) : {}
1050
1051
  };
1051
1052
  const archives = probes.archives();
1052
1053
  const maxCount = machineNumber("archive.maxCount", cfg, process.env);
@@ -1,4 +1,4 @@
1
- import { P as formatBytes } from "./config-AbUjIBOQ.mjs";
1
+ import { F as formatBytes } from "./config-D5qNWJEP.mjs";
2
2
  import { t as resolveMaintenanceSettings } from "./settings-D9LtQaUw.mjs";
3
3
  import { claimRemoveCommand, readClaimSet } from "@stim-cli/core/ownership-claim";
4
4
  import { maintenanceRunClaims, readMaintenanceState } from "@stim-cli/core/state";
@@ -1,8 +1,8 @@
1
1
  import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { d as androidToolPath } from "./android-DdKG6lyD.mjs";
3
- import { c as pidExists } from "./metro-BMQHczcf.mjs";
4
- import { n as easMachineStateRoot } from "./eas-session-ledger-CW3l-inB.mjs";
5
- import { b as parseSimctlList } from "./ios-CXnoVO_z.mjs";
2
+ import { d as androidToolPath } from "./android-DsEj2CCs.mjs";
3
+ import { c as pidExists } from "./metro-mKHEMO-a.mjs";
4
+ import { n as easMachineStateRoot } from "./eas-session-ledger-B-nTfdfk.mjs";
5
+ import { b as parseSimctlList } from "./ios-CdAV4-1E.mjs";
6
6
  import { existsSync, readdirSync, statSync, watch } from "node:fs";
7
7
  import { basename, dirname, join } from "node:path";
8
8
  //#region src/status-watch.ts
@@ -1,4 +1,4 @@
1
- import { n as runStatusWatch } from "./status-_rWXFSO7.mjs";
1
+ import { n as runStatusWatch } from "./status-D0ruTmPl.mjs";
2
2
  import { parentPort, workerData } from "node:worker_threads";
3
3
  //#region src/status-worker.ts
4
4
  const STOP_EXIT_MS = 500;
@@ -1,5 +1,5 @@
1
1
  import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { C as saveConfig, c as ensureConfig } from "./config-AbUjIBOQ.mjs";
2
+ import { c as ensureConfig, w as saveConfig } from "./config-D5qNWJEP.mjs";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { workspaceId } from "@stim-cli/core";
5
5
  import { readHomeIdentity, withConfigLockAsync } from "@stim-cli/core/state";
@@ -1,8 +1,8 @@
1
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-DGwkPXwq.mjs";
3
- import { a as macosRuntimeClaim, o as requiredMacosRecord } from "./state-C2AUjjhg.mjs";
4
- import { A as runningBundleInstancesAsync, j as runningInstancesInAsync, k as hostedBundleDirs } from "./workspaces-7_RWoi6c.mjs";
5
- import { n as stopHostedMacos } from "./hosted-macos-BP9Kucat.mjs";
2
+ import { E as workspaceDir, d as writeWorkspaceState, l as withWorkspaceStateLockAsync } from "./workspace-state-3bF4TB8P.mjs";
3
+ import { a as macosRuntimeClaim, o as requiredMacosRecord } from "./state-CiflgxTP.mjs";
4
+ import { A as runningBundleInstancesAsync, j as runningInstancesInAsync, k as hostedBundleDirs } from "./workspaces-C59v9bpD.mjs";
5
+ import { n as stopHostedMacos } from "./hosted-macos-B4byscei.mjs";
6
6
  import { readMacosRecord } from "@stim-cli/core/state";
7
7
  //#region src/macos/stop.ts
8
8
  const APP_EXIT_MS = 5e3;
@@ -1,3 +1,3 @@
1
- import { x as resolveSupervisorTarget } from "./workspaces-7_RWoi6c.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-CnF9ixYe.mjs";
1
+ import { x as resolveSupervisorTarget } from "./workspaces-C59v9bpD.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-W4DK8qZq.mjs";
3
3
  export { clearCollectorState, clearSupervisorState, stopCommand as default, readCollectorState, readSupervisorState, resolveCollectorTargets, resolveSupervisorTarget, runStop, stopWorkspaceNow };
@@ -1,19 +1,19 @@
1
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-DGwkPXwq.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-AbUjIBOQ.mjs";
4
- import { f as refuseNoProject, l as phaseLine, p as releasedLeaseFact, u as plural } from "./command-output-BBW8eWPL.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-DPQjnpcI.mjs";
6
- import { t as macosAppPresent } from "./state-C2AUjjhg.mjs";
7
- import { et as removeOwnedEmulatorMetroReverses } from "./android-DdKG6lyD.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-BMQHczcf.mjs";
9
- import { D as requestDevServerStop, Ln as resolveEasCliBin, Ot as endRecordedSession, T as logVanishedSupervisor, k as withdrawDevServerStopRequest } from "./ccache-B8gY50-h.mjs";
10
- import { C as stopTunnel, ht as teardownOwnedIosSim, mt as teardownOwnedBrowser, pt as teardownOwnedAvd, x as resolveSupervisorTarget } from "./workspaces-7_RWoi6c.mjs";
11
- import { Q as NATIVE_RUN_WAIT_MS, Z as NATIVE_RUN_LOCK, at as requestNativeRunCancel, et as clearNativeRunCancel, it as nativeRunWaitNotice, nt as describeNativeRunHolder, rt as nativeRunHolder, tt as decideStopAction } from "./toolchain-DLdoyxIt.mjs";
12
- import { O as releaseWorkspaceLeasesAsync, y as fileLeaseIo } from "./activity-BTaUf0tc.mjs";
13
- import { i as stopHostedAndroid } from "./hosted-android-Du7NxufJ.mjs";
14
- import { a as stopHostedIos, n as removePhoneReverses } from "./phone-reverses-CvhhkGMH.mjs";
15
- import { r as stopMacosApp } from "./stop-CMVfaA-6.mjs";
16
- import { n as verifyCollectorOwnership } from "./ownership-Dtz9G5Gl.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-3bF4TB8P.mjs";
3
+ import { D as upsertProject, G as parseDeviceSlotOption, J as validateDeviceSlot, K as projectDeviceSlots, U as deviceSlotPlatforms, W as parseDeviceSlotKey, k as withConfigLockAsync$1, m as getProject, o as clearSupervisor } from "./config-D5qNWJEP.mjs";
4
+ import { f as refuseNoProject, l as phaseLine, p as releasedLeaseFact, u as plural } from "./command-output-CfPW1bKP.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-Crtcbfl0.mjs";
6
+ import { t as macosAppPresent } from "./state-CiflgxTP.mjs";
7
+ import { nt as removeOwnedEmulatorMetroReverses } from "./android-DsEj2CCs.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-mKHEMO-a.mjs";
9
+ import { D as requestDevServerStop, Ln as resolveEasCliBin, Ot as endRecordedSession, T as logVanishedSupervisor, k as withdrawDevServerStopRequest } from "./ccache-BrwGIxmV.mjs";
10
+ import { C as stopTunnel, ht as teardownOwnedIosSim, mt as teardownOwnedBrowser, pt as teardownOwnedAvd, x as resolveSupervisorTarget } from "./workspaces-C59v9bpD.mjs";
11
+ import { Q as NATIVE_RUN_WAIT_MS, Z as NATIVE_RUN_LOCK, at as requestNativeRunCancel, et as clearNativeRunCancel, it as nativeRunWaitNotice, nt as describeNativeRunHolder, rt as nativeRunHolder, tt as decideStopAction } from "./toolchain-Bnm8vUCV.mjs";
12
+ import { O as releaseWorkspaceLeasesAsync, y as fileLeaseIo } from "./activity-yjH7Q3zn.mjs";
13
+ import { i as stopHostedAndroid } from "./hosted-android-c5nPJA6S.mjs";
14
+ import { a as stopHostedIos, n as removePhoneReverses } from "./phone-reverses-CnNwdz9A.mjs";
15
+ import { r as stopMacosApp } from "./stop-B616ZyTv.mjs";
16
+ import { n as verifyCollectorOwnership } from "./ownership-CCfiBfOP.mjs";
17
17
  import { hostedAndroidDeviceName, hostedAndroidRecords, hostedIosRecords, hostedNativeRecords, isJsonObject, parseHostedNativePlacement } from "@stim-cli/core/state";
18
18
  import chalk from "chalk";
19
19
  //#region src/commands/stop.ts