stim 1.30.0 → 1.31.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-P84h3ssa.mjs} +1 -1
  2. package/dist/{act-BaKjDWGw.mjs → act-lcOIEy32.mjs} +18 -18
  3. package/dist/{activity-BTaUf0tc.mjs → activity-Dw4N_RFe.mjs} +4 -4
  4. package/dist/{agent-device-usage-output-DYBpO17K.mjs → agent-device-usage-output-Boie2yB-.mjs} +4 -4
  5. package/dist/{android-BEQUDpOg.mjs → android-BeeC15Ve.mjs} +1 -1
  6. package/dist/{android-BWqdDK6R.mjs → android-DhiWSOFU.mjs} +41 -39
  7. package/dist/{android-DdKG6lyD.mjs → android-DsEj2CCs.mjs} +27 -6
  8. package/dist/{android-BCYLwmH6.mjs → android-aIuJZoDu.mjs} +5 -5
  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-DTHXcmQ3.mjs → artifact-Cr34-Yyy.mjs} +12 -12
  13. package/dist/{artifact-M6W2l-xh.mjs → artifact-ta3xA0c4.mjs} +12 -12
  14. package/dist/{auto-placement-CZaWDmcY.mjs → auto-placement-DtTRG0rk.mjs} +10 -10
  15. package/dist/{browser-web-JQ7lFej3.mjs → browser-web-DuULNZrS.mjs} +11 -11
  16. package/dist/{build-C2ZWoCmg.mjs → build-BpFFbdXD.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-DH1rT11x.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-DVDO2ocE.mjs} +15 -15
  22. package/dist/{cli-xRPXJPtA.mjs → cli-C0jjwTuM.mjs} +18 -18
  23. package/dist/cli.mjs +1 -1
  24. package/dist/{client-DrHykA24.mjs → client-DhJOvSvh.mjs} +4 -4
  25. package/dist/collector-run.mjs +4 -4
  26. package/dist/{command-output-BBW8eWPL.mjs → command-output-VrXd6qPX.mjs} +1 -1
  27. package/dist/{config-AbUjIBOQ.mjs → config-D5qNWJEP.mjs} +2 -2
  28. package/dist/{dependencies-vUh9mp5z.mjs → dependencies-DIU-5rnG.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-DeAg0fso.mjs} +2 -2
  31. package/dist/{device-ChnO7bR9.mjs → device-C2WsPgFt.mjs} +12 -12
  32. package/dist/{device-CsIdRXfm.mjs → device-DuNLOlR6.mjs} +11 -11
  33. package/dist/{device-android-CcdQqQWg.mjs → device-android-BjhH0Ru3.mjs} +20 -14
  34. package/dist/{device-capacity-C5C_jOQd.mjs → device-capacity-Du5wBTNJ.mjs} +173 -74
  35. package/dist/device-host-worker.mjs +19 -15
  36. package/dist/{device-ios-DbmtPIiw.mjs → device-ios-CUYUhSYO.mjs} +8 -8
  37. package/dist/{device-lease-run-Do6zYA7y.mjs → device-lease-run-CHXQEn-7.mjs} +4 -4
  38. package/dist/{device-pool-CpoYiCGO.mjs → device-pool-kUHO7MHO.mjs} +3 -3
  39. package/dist/{device-provision-B5Ms94qY.mjs → device-provision-e7bKS7lx.mjs} +8 -8
  40. package/dist/{doctor-CpfbYh3Q.mjs → doctor-B6kIVgU9.mjs} +1 -1
  41. package/dist/{doctor-CLE4AZEI.mjs → doctor-BGcsAgAV.mjs} +15 -15
  42. package/dist/doctor-fingerprint.mjs +1 -1
  43. package/dist/{doctor-CJSB5q-s.mjs → doctor-hva3sd9f.mjs} +36 -25
  44. package/dist/{doctor-watchman-D1IyMle9.mjs → doctor-watchman-DJY550yz.mjs} +4 -4
  45. package/dist/{eas-build-DIDOHw2P.mjs → eas-build-CBFgseh1.mjs} +2 -2
  46. package/dist/{eas-fallback-DVS9oBSc.mjs → eas-fallback-DFXdz4d6.mjs} +4 -4
  47. package/dist/{eas-session-ledger-CW3l-inB.mjs → eas-session-ledger-aFBLTZr2.mjs} +19 -6
  48. package/dist/{error-diagnostics-XJ9eWdtq.mjs → error-diagnostics-CCsq_3uG.mjs} +8 -8
  49. package/dist/{gc-Co7PE36D.mjs → gc-B0K4d_PL.mjs} +17 -17
  50. package/dist/{gc-BVIcxCxE.mjs → gc-DASUa3Z_.mjs} +2 -2
  51. package/dist/{guide-DkepBgHT.mjs → guide-Civo5-zV.mjs} +74 -21
  52. package/dist/{hosted-android-Du7NxufJ.mjs → hosted-android-CH1Sm4wo.mjs} +3 -3
  53. package/dist/{hosted-client-Cect92SZ.mjs → hosted-client-5ur3YpxY.mjs} +36 -12
  54. package/dist/{hosted-logs-Opcjv1Lr.mjs → hosted-logs-BYg4yeti.mjs} +6 -6
  55. package/dist/{hosted-logs-sync-wsI7N1Hv.mjs → hosted-logs-sync-BPe8xnMu.mjs} +5 -5
  56. package/dist/{hosted-macos-BP9Kucat.mjs → hosted-macos-BagT0Gn3.mjs} +5 -5
  57. package/dist/{hosted-native-DmdLSmvu.mjs → hosted-native-kaR4nUHk.mjs} +6 -6
  58. package/dist/{idle-shutdown-BcMN_cLm.mjs → idle-shutdown-BWHQ7mQG.mjs} +6 -6
  59. package/dist/{ios-BFkBHuRT.mjs → ios-BKR-Dq46.mjs} +8 -8
  60. package/dist/{ios-CXnoVO_z.mjs → ios-CdAV4-1E.mjs} +4 -4
  61. package/dist/{ios-CG0IsLtt.mjs → ios-DUL68MI5.mjs} +32 -31
  62. package/dist/{ios-device-ClSfuu-_.mjs → ios-device-Dz8gFZ0K.mjs} +1 -1
  63. package/dist/{ios-project-BM9TbTE7.mjs → ios-project-Br1tVYWX.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-BfG8XpyS.mjs} +4 -4
  66. package/dist/{launch-DvJV1Mx4.mjs → launch-CrGndh8T.mjs} +19 -19
  67. package/dist/{lightened-23pqe7LS.mjs → lightened-DZ9Ip0T3.mjs} +4 -4
  68. package/dist/{logs-Pkeh3wZk.mjs → logs-C-hfMsxK.mjs} +5 -5
  69. package/dist/{logs-DJgZlf2K.mjs → logs-DpIKWT3A.mjs} +7 -7
  70. package/dist/{macos-Du07NsOB.mjs → macos-DNmKwfDy.mjs} +1 -1
  71. package/dist/{macos-DPvPQadc.mjs → macos-DZ9ZSolN.mjs} +19 -19
  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-RDhyx85c.mjs} +1 -1
  76. package/dist/{named-ports-DcktE2Pw.mjs → named-ports-B0hCk2v-.mjs} +2 -2
  77. package/dist/{native-android-CBOM1_gB.mjs → native-android-DExhFqR6.mjs} +16 -16
  78. package/dist/{native-gradle-artifact-inputs-D_iAfPuS.mjs → native-gradle-artifact-inputs-Bcmbdc23.mjs} +3 -3
  79. package/dist/{native-runtime-D4cTwU0Z.mjs → native-runtime-D4qgnjK_.mjs} +6 -6
  80. package/dist/{native-xcode-inputs-BF-ogSnG.mjs → native-xcode-inputs-EWma1lXh.mjs} +2 -2
  81. package/dist/{native-xcode-ios-DwJBfMP6.mjs → native-xcode-ios-Y6rzmWTc.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-Drj5QQCh.mjs} +4 -4
  85. package/dist/{placement-log-CRR_TE1r.mjs → placement-log-CFT8SnlS.mjs} +1 -1
  86. package/dist/{plan-placement-CdLc-pTb.mjs → plan-placement-DhKCH_wF.mjs} +6 -6
  87. package/dist/{ports-g4N_cfyg.mjs → ports-BNtJ5DCj.mjs} +3 -3
  88. package/dist/{prebuild-DBJMhwSS.mjs → prebuild-D0hvmO4j.mjs} +9 -9
  89. package/dist/{project-DPQjnpcI.mjs → project-DCLkDM8C.mjs} +15 -15
  90. package/dist/{react-native-android-idMWOwkX.mjs → react-native-android-Dp7vctEA.mjs} +22 -22
  91. package/dist/{react-native-build-BSoh4HkH.mjs → react-native-build-vK2lFYfN.mjs} +7 -7
  92. package/dist/{react-native-doctor-CYibY8-4.mjs → react-native-doctor-BtWzwZHU.mjs} +5 -5
  93. package/dist/{react-native-ios-13KIIOOy.mjs → react-native-ios-DW1Ax3Yv.mjs} +14 -14
  94. package/dist/{recordings-CHMaF73C.mjs → recordings-BWnIlhZH.mjs} +1 -1
  95. package/dist/{reload-BUQI3dSu.mjs → reload-B-d7-CsI.mjs} +14 -14
  96. package/dist/{reload-B9DZOjcV.mjs → reload-BS_ntVV_.mjs} +1 -1
  97. package/dist/{remote-C-RGHhAP.mjs → remote-DScVlaMz.mjs} +8 -8
  98. package/dist/{result-W4HCum4A.mjs → result-Epkl6gyG.mjs} +16 -16
  99. package/dist/{run-BQAmrohh.mjs → run-2CHAJ9Oj.mjs} +1 -1
  100. package/dist/{selection-PCMT97XD.mjs → selection-C95m--1_.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-B1gDRJB2.mjs} +4 -4
  103. package/dist/{server-expo-C1K07shx.mjs → server-expo-CP4dURQp.mjs} +2 -2
  104. package/dist/server-expo-D3k9mvP8.mjs +2 -0
  105. package/dist/{settings-D776ygML.mjs → settings-C6UTYW2K.mjs} +1 -1
  106. package/dist/{settings-CKlMOmhj.mjs → settings-CjTRNCi3.mjs} +2 -2
  107. package/dist/{settings-payload-CE-NZ6Lq.mjs → settings-payload-zf5EnCTg.mjs} +4 -4
  108. package/dist/{settings-write-D7Xwa_-M.mjs → settings-write-Fe0K6BeC.mjs} +5 -5
  109. package/dist/settings.schema.json +45 -3
  110. package/dist/{simslim-CbpHERcv.mjs → simslim-93xmPh-d.mjs} +1 -1
  111. package/dist/{slot-launch-CeIK1iUI.mjs → slot-launch-B4MHzVX2.mjs} +6 -6
  112. package/dist/{stage-Blqe6bWb.mjs → stage-DDrnM0CY.mjs} +1 -1
  113. package/dist/{start-CvP2pJjc.mjs → start-BXl5tkv8.mjs} +1 -1
  114. package/dist/{start-B7J5a9nS.mjs → start-LSwIFlBv.mjs} +10 -10
  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-EgpYD536.mjs} +4 -4
  118. package/dist/{status-_rWXFSO7.mjs → status-BLDvhatv.mjs} +26 -25
  119. package/dist/{status-CqJI1TgG.mjs → status-DBMD7ZQT.mjs} +1 -1
  120. package/dist/{status-CK7ZoEhV.mjs → status-GQ-JqvRi.mjs} +1 -1
  121. package/dist/{status-watch-CnSyXUmj.mjs → status-watch-BwG4lJ1q.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-Bogo9oO2.mjs → stop-4SAV_RR8.mjs} +2 -2
  125. package/dist/{stop-CMVfaA-6.mjs → stop-BfNhzvXO.mjs} +4 -4
  126. package/dist/{stop-CnF9ixYe.mjs → stop-WyrZQuX6.mjs} +15 -15
  127. package/dist/supervisor-run.mjs +13 -13
  128. package/dist/{support-BGqpYMV8.mjs → support-Cffz6_Ft.mjs} +4 -4
  129. package/dist/{support-DUevTPur.mjs → support-Cs24xRQa.mjs} +9 -9
  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-D0CzQtpp.mjs} +8 -8
  132. package/dist/{toolchain-Cw9VVHOY.mjs → toolchain-BEra9AIX.mjs} +1 -1
  133. package/dist/{toolchain-DLdoyxIt.mjs → toolchain-CGdgD4x4.mjs} +4 -4
  134. package/dist/{warm-progress-DQ2wQZKp.mjs → warm-progress-_aTMvkIH.mjs} +3 -3
  135. package/dist/{web-g9U7L1sR.mjs → web-BE89ONcc.mjs} +8 -8
  136. package/dist/web-DQPxvFVD.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-BNEyJ1B_.mjs} +15 -12
  140. package/dist/{worktree-qKJ3x07S.mjs → worktree-BTrii9e_.mjs} +24 -24
  141. package/dist/{worktree-DEet9H3p.mjs → worktree-DB3Ypdj6.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
@@ -1,5 +1,5 @@
1
1
  import { D as ownership_claim_exports, c as throwIfCancelled, l as WorkspaceProcessCleanupError, n as isTimeoutError, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { _ as loadConfig$1, d as getConfigDir, f as getConfigPath$1, h as getRepoSettings, m as getProjectSettings } from "./config-AbUjIBOQ.mjs";
2
+ import { d as getConfigDir, f as getConfigPath$1, g as getRepoSettings, h as getProjectSettings, v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
3
3
  import { c as gitQuiet, l as gitQuietAsync, n as runOperationFileQuiet, o as git, r as childEnvironment, s as gitAsync, t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
4
4
  import { accessSync, chmodSync, constants, existsSync, lstatSync, mkdirSync, mkdtempSync, readdirSync, realpathSync, rmSync, statSync } from "node:fs";
5
5
  import { tmpdir } from "node:os";
@@ -1,5 +1,5 @@
1
- import { c as readSettingsPayload, l as settingEntry, o as layerFile, s as readSettingsContext, t as SettingsRefusal } from "./settings-payload-CE-NZ6Lq.mjs";
2
- import { i as unsetReplacedSetting, n as readScope, r as requireSetting, t as mutateSetting } from "./settings-write-D7Xwa_-M.mjs";
1
+ import { c as readSettingsPayload, l as settingEntry, o as layerFile, s as readSettingsContext, t as SettingsRefusal } from "./settings-payload-zf5EnCTg.mjs";
2
+ import { i as unsetReplacedSetting, n as readScope, r as requireSetting, t as mutateSetting } from "./settings-write-Fe0K6BeC.mjs";
3
3
  import { REPLACED_SETTINGS, SETTING_SCOPES } from "@stim-cli/core/state";
4
4
  import chalk from "chalk";
5
5
  //#region src/commands/settings.ts
@@ -1,8 +1,8 @@
1
- import { _ as loadConfig$1, f as getConfigPath$1, h as getRepoSettings, m as getProjectSettings } from "./config-AbUjIBOQ.mjs";
1
+ import { f as getConfigPath$1, g as getRepoSettings, h as getProjectSettings, v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
2
2
  import { a as killOnAbort, i as gitPath } from "./operation-exec-Dp4FuIGR.mjs";
3
- import { K as removedMachineSettings, V as readCommittedSettings, st as unknownSettingKeys } from "./settings-D776ygML.mjs";
4
- import { r as findCommandWorkspaceAsync } from "./project-DPQjnpcI.mjs";
5
- import { i as stimDesktopInstalledAsync, n as settingDefault, r as stimDesktopInstalled } from "./stim-desktop-CYXLFpFS.mjs";
3
+ import { K as removedMachineSettings, V as readCommittedSettings, st as unknownSettingKeys } from "./settings-C6UTYW2K.mjs";
4
+ import { r as findCommandWorkspaceAsync } from "./project-DCLkDM8C.mjs";
5
+ import { i as stimDesktopInstalledAsync, n as settingDefault, r as stimDesktopInstalled } from "./stim-desktop-1XxET4S8.mjs";
6
6
  import { join } from "node:path";
7
7
  import { SETTINGS, SETTING_SCOPES, coerceSettingText, isJsonObject, replacementAdvice, settingDefinition, settingValueError } from "@stim-cli/core/state";
8
8
  //#region src/workspace/settings-payload.ts
@@ -1,9 +1,9 @@
1
1
  import { u as withWorkspaceProcessLock } from "./exec-aULwtNly.mjs";
2
- import { A as writeConfigSettingAsync, O as withConfigLockAsync$1, f as getConfigPath$1 } from "./config-AbUjIBOQ.mjs";
3
- import { t as NO_PROJECT_REFUSAL } from "./project-DPQjnpcI.mjs";
4
- import { i as stimDesktopInstalledAsync } from "./stim-desktop-CYXLFpFS.mjs";
5
- import { n as recordingLayers, t as deleteTurnedOffRecordings } from "./recordings-CHMaF73C.mjs";
6
- import { d as unknownEntries, l as settingEntry, o as layerFile, r as committedDirectory, s as readSettingsContext, t as SettingsRefusal, u as settingExample } from "./settings-payload-CE-NZ6Lq.mjs";
2
+ import { f as getConfigPath$1, j as writeConfigSettingAsync, k as withConfigLockAsync$1 } from "./config-D5qNWJEP.mjs";
3
+ import { t as NO_PROJECT_REFUSAL } from "./project-DCLkDM8C.mjs";
4
+ import { i as stimDesktopInstalledAsync } from "./stim-desktop-1XxET4S8.mjs";
5
+ import { n as recordingLayers, t as deleteTurnedOffRecordings } from "./recordings-BWnIlhZH.mjs";
6
+ import { d as unknownEntries, l as settingEntry, o as layerFile, r as committedDirectory, s as readSettingsContext, t as SettingsRefusal, u as settingExample } from "./settings-payload-zf5EnCTg.mjs";
7
7
  import { existsSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
8
8
  import { join } from "node:path";
9
9
  import { configDir } from "@stim-cli/core";
@@ -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
@@ -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-DVDO2ocE.mjs";
5
+ import { y as fileLeaseIo } from "./activity-Dw4N_RFe.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-CGdgD4x4.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,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-LSwIFlBv.mjs";
2
2
  export { startCommand as default, failureEvidence, liveSupervisor, parseWait, readLogTail, registerStart, resolveWorkspaceMetroPort, startDevServer, startFacts, supervisorEntry, supervisorSignalable, tailLines, wantsExpoOwnTunnel };
@@ -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-VrXd6qPX.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-DCLkDM8C.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-DVDO2ocE.mjs";
11
+ import { C as stopTunnel, D as withManagedTunnelLock, S as startTunnelSequence, T as withManagedRemoteWorktreeLock, w as terminateChild, x as resolveSupervisorTarget } from "./workspaces-BNEyJ1B_.mjs";
12
+ import { i as restoreLightenedDependencies } from "./lightened-DZ9Ip0T3.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,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-VrXd6qPX.mjs";
3
+ import { i as findProjectRoot$1 } from "./project-DCLkDM8C.mjs";
4
+ import { i as getSwiftpmCacheUsage, n as swiftpmCacheLines, r as getAgentDeviceUsage, t as agentDeviceLines } from "./agent-device-usage-output-Boie2yB-.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,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-VrXd6qPX.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-DCLkDM8C.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-DVDO2ocE.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-aFBLTZr2.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-BNEyJ1B_.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-Dw4N_RFe.mjs";
16
+ import { b as parseSimctlList, f as listAllIosSimsAsync } from "./ios-CdAV4-1E.mjs";
17
+ import { p as probeHostedSession } from "./hosted-client-5ur3YpxY.mjs";
18
+ import "./hosted-macos-BagT0Gn3.mjs";
19
+ import { i as readSupervisorState } from "./stop-WyrZQuX6.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-Du5wBTNJ.mjs";
24
+ import { d as readIosDevices, s as isReachable } from "./ios-device-Dz8gFZ0K.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-BwG4lJ1q.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,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-BLDvhatv.mjs";
2
2
  export { statusCommand as default, readVolumes, runStatusWatch };
@@ -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-aFBLTZr2.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-BLDvhatv.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,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-BNEyJ1B_.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-WyrZQuX6.mjs";
3
3
  export { clearCollectorState, clearSupervisorState, stopCommand as default, readCollectorState, readSupervisorState, resolveCollectorTargets, resolveSupervisorTarget, runStop, stopWorkspaceNow };
@@ -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-BNEyJ1B_.mjs";
5
+ import { n as stopHostedMacos } from "./hosted-macos-BagT0Gn3.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,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-VrXd6qPX.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-DCLkDM8C.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-DVDO2ocE.mjs";
10
+ import { C as stopTunnel, ht as teardownOwnedIosSim, mt as teardownOwnedBrowser, pt as teardownOwnedAvd, x as resolveSupervisorTarget } from "./workspaces-BNEyJ1B_.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-CGdgD4x4.mjs";
12
+ import { O as releaseWorkspaceLeasesAsync, y as fileLeaseIo } from "./activity-Dw4N_RFe.mjs";
13
+ import { i as stopHostedAndroid } from "./hosted-android-CH1Sm4wo.mjs";
14
+ import { a as stopHostedIos, n as removePhoneReverses } from "./phone-reverses-Drj5QQCh.mjs";
15
+ import { r as stopMacosApp } from "./stop-BfNhzvXO.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
@@ -1,19 +1,19 @@
1
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-DGwkPXwq.mjs";
3
- import { G as projectDeviceSlots, T as setSupervisor, U as parseDeviceSlotKey, o as clearSupervisor, p as getProject } from "./config-AbUjIBOQ.mjs";
4
- import { $ as runnableMetroCommand, X as resolveProjectSettings } from "./settings-D776ygML.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-DPQjnpcI.mjs";
6
- import { W as ownedAvdSerialResolver } from "./android-DdKG6lyD.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-3bF4TB8P.mjs";
3
+ import { E as setSupervisor, K as projectDeviceSlots, W as parseDeviceSlotKey, m as getProject, o as clearSupervisor } from "./config-D5qNWJEP.mjs";
4
+ import { $ as runnableMetroCommand, X as resolveProjectSettings } from "./settings-C6UTYW2K.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-DCLkDM8C.mjs";
6
+ import { K as ownedAvdSerialResolver } from "./android-DsEj2CCs.mjs";
7
7
  import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
8
- import { C as devServerStopLevel, O as vanishedSupervisorMessage, w as devServerStopRecord, x as describeDevServerStop } from "./ccache-B8gY50-h.mjs";
9
- import { d as parseWatchRoots, l as parseSubscriberNames, m as runWatchman, u as parseTriggerCount } from "./eas-session-ledger-CW3l-inB.mjs";
10
- import { B as workspaceBuildInProgress, v as withIdleWorkspace } from "./workspaces-7_RWoi6c.mjs";
11
- import { S as parseLease, _ as workspaceDeviceLastUseAt, b as leaseIsExpired, r as createActivityReader, v as deviceLeasePath, w as parseWorkspaceLeases } from "./activity-BTaUf0tc.mjs";
8
+ import { C as devServerStopLevel, O as vanishedSupervisorMessage, w as devServerStopRecord, x as describeDevServerStop } from "./ccache-DVDO2ocE.mjs";
9
+ import { d as parseWatchRoots, l as parseSubscriberNames, m as runWatchman, u as parseTriggerCount } from "./eas-session-ledger-aFBLTZr2.mjs";
10
+ import { B as workspaceBuildInProgress, v as withIdleWorkspace } from "./workspaces-BNEyJ1B_.mjs";
11
+ import { S as parseLease, _ as workspaceDeviceLastUseAt, b as leaseIsExpired, r as createActivityReader, v as deviceLeasePath, w as parseWorkspaceLeases } from "./activity-Dw4N_RFe.mjs";
12
12
  import { t as describeError } from "./errors-DHm_U5gv.mjs";
13
- import { d as hostConnector, p as probeHostedSession } from "./hosted-client-Cect92SZ.mjs";
14
- import { o as watchWorkspaceState, t as clearHostedMetro } from "./metro-request-BtF7ox53.mjs";
13
+ import { d as hostConnector, p as probeHostedSession } from "./hosted-client-5ur3YpxY.mjs";
14
+ import { o as watchWorkspaceState, t as clearHostedMetro } from "./metro-request-RDhyx85c.mjs";
15
15
  import { t as relaunchWithLogFile } from "./detached-entry-BPlSaCwC.mjs";
16
- import { n as dueIdleDevices, r as shutDownIdleDevices } from "./idle-shutdown-BcMN_cLm.mjs";
16
+ import { n as dueIdleDevices, r as shutDownIdleDevices } from "./idle-shutdown-BWHQ7mQG.mjs";
17
17
  import { t as triggerMaintenance } from "./trigger-CfnOfpDd.mjs";
18
18
  import { existsSync, readFileSync, realpathSync, statSync } from "node:fs";
19
19
  import { dirname, isAbsolute, join, resolve, sep } from "node:path";
@@ -802,7 +802,7 @@ async function runSupervisor({ root, port, tunnel = false, resetCache = false, i
802
802
  try {
803
803
  let start;
804
804
  if (command) {
805
- const startServer = startCommand ?? (await import("./server-command-oqi3TDy7.mjs")).startCommandServer;
805
+ const startServer = startCommand ?? (await import("./server-command-B1gDRJB2.mjs")).startCommandServer;
806
806
  start = (opts) => startServer({
807
807
  ...opts,
808
808
  command
@@ -1,9 +1,9 @@
1
1
  import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
2
  import { a as killOnAbort } from "./operation-exec-Dp4FuIGR.mjs";
3
- import { A as hostSystemImageArch, C as emulatorDiskSpaceRemedy, D as findBuildTool, E as extractEmulatorFailure, Q as profileNeedsFoldFeature, T as emulatorProbeSession, X as pickDefaultSystemImage, c as androidPoolNoCandidatesRefusal, l as androidSystemImageAbi, o as androidHome, s as androidPoolCandidates, w as emulatorFailureRemedy } from "./android-DdKG6lyD.mjs";
4
- import { yn as pickDevClientScheme } from "./ccache-B8gY50-h.mjs";
5
- import { f as unknownAndroidDeviceProfileRefusal, l as layerNote, p as unknownAndroidSystemImageRefusal } from "./device-capacity-C5C_jOQd.mjs";
6
- import { t as devClientScheme } from "./dev-client-CASgAOu7.mjs";
3
+ import { D as extractEmulatorFailure, E as emulatorProbeSession, O as findBuildTool, Q as pickDefaultSystemImage, T as emulatorFailureRemedy, c as androidPoolNoCandidatesRefusal, et as profileNeedsFoldFeature, j as hostSystemImageArch, l as androidSystemImageAbi, o as androidHome, s as androidPoolCandidates, w as emulatorDiskSpaceRemedy } from "./android-DsEj2CCs.mjs";
4
+ import { yn as pickDevClientScheme } from "./ccache-DVDO2ocE.mjs";
5
+ import { m as unknownAndroidSystemImageRefusal, p as unknownAndroidDeviceProfileRefusal, u as layerNote } from "./device-capacity-Du5wBTNJ.mjs";
6
+ import { t as devClientScheme } from "./dev-client-DeAg0fso.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,13 +1,13 @@
1
- import { k as workspaceLogsDir } from "./workspace-state-DGwkPXwq.mjs";
2
- import { h as shortUdid, l as phaseLine } from "./command-output-BBW8eWPL.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-D776ygML.mjs";
4
- import { J as describeDiagnostic } from "./toolchain-DLdoyxIt.mjs";
5
- import { P as parseIosSimulatorApp } from "./ios-CXnoVO_z.mjs";
1
+ import { k as workspaceLogsDir } from "./workspace-state-3bF4TB8P.mjs";
2
+ import { h as shortUdid, l as phaseLine } from "./command-output-VrXd6qPX.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-C6UTYW2K.mjs";
4
+ import { J as describeDiagnostic } from "./toolchain-CGdgD4x4.mjs";
5
+ import { P as parseIosSimulatorApp } from "./ios-CdAV4-1E.mjs";
6
6
  import { p as resolveOptimizations } from "./errors-DHm_U5gv.mjs";
7
- import { d as resolveBuildPlacement } from "./selection-PCMT97XD.mjs";
8
- import { l as parseDeviceWait } from "./device-lease-run-Do6zYA7y.mjs";
9
- import { h as unknownIosRuntimeRefusal, l as layerNote, m as unknownIosDeviceTypeRefusal, t as DEFAULT_DEVICE_SLOT_WAIT_MS } from "./device-capacity-C5C_jOQd.mjs";
10
- import { t as IosDeviceMismatchError } from "./device-ios-DbmtPIiw.mjs";
7
+ import { d as resolveBuildPlacement } from "./selection-C95m--1_.mjs";
8
+ import { l as parseDeviceWait } from "./device-lease-run-CHXQEn-7.mjs";
9
+ import { g as unknownIosRuntimeRefusal, h as unknownIosDeviceTypeRefusal, t as DEFAULT_DEVICE_SLOT_WAIT_MS, u as layerNote } from "./device-capacity-Du5wBTNJ.mjs";
10
+ import { t as IosDeviceMismatchError } from "./device-ios-CUYUhSYO.mjs";
11
11
  import { basename, join } from "node:path";
12
12
  import chalk from "chalk";
13
13
  function buildLogFile(root) {
@@ -1,6 +1,6 @@
1
1
  import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
2
  import { s as gitAsync } from "./operation-exec-Dp4FuIGR.mjs";
3
- import { n as buildCacheKey } from "./build-cache-DlC3owap.mjs";
3
+ import { n as buildCacheKey } from "./build-cache-BsKim4V7.mjs";
4
4
  import { n as fingerprintNativeInputs, r as manifestDigest } from "./native-inputs-TRTTTRxt.mjs";
5
5
  import { a as sourceManifest, r as nativeFileDigest } from "./native-source-D1AzWiuP.mjs";
6
6
  import { createHash } from "node:crypto";
@@ -1,15 +1,15 @@
1
1
  import { T as trackReportResource, _ as spawnDeclared, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { y as sharedBuildCache } from "./workspace-state-DGwkPXwq.mjs";
3
- import { J as resolveCacheProviderConfig, Vt as repoRootAsync, it as settingValueAt, z as projectSettingsContextAsync } from "./settings-D776ygML.mjs";
4
- import { r as register } from "./cache-manifest-evF_zJ9U.mjs";
5
- import { h as macosToolchainAsync, st as runCancellationSignal } from "./toolchain-DLdoyxIt.mjs";
6
- import "./build-cache-DlC3owap.mjs";
2
+ import { y as sharedBuildCache } from "./workspace-state-3bF4TB8P.mjs";
3
+ import { J as resolveCacheProviderConfig, Vt as repoRootAsync, it as settingValueAt, z as projectSettingsContextAsync } from "./settings-C6UTYW2K.mjs";
4
+ import { r as register } from "./cache-manifest-CfiEny4T.mjs";
5
+ import { h as macosToolchainAsync, st as runCancellationSignal } from "./toolchain-CGdgD4x4.mjs";
6
+ import "./build-cache-BsKim4V7.mjs";
7
7
  import { l as artifactCachePolicy, p as resolveOptimizations } from "./errors-DHm_U5gv.mjs";
8
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-Blqe6bWb.mjs";
9
+ import { a as validateInfoPlist, i as stageBundle, n as resolveBundleExtras, r as setBundleName, t as reidentifyBundle } from "./stage-DDrnM0CY.mjs";
10
10
  import { t as validateMacosArtifactPlatform } from "./artifact-platform-BO2Uvk_A.mjs";
11
- import { t as logLines } from "./run-BQAmrohh.mjs";
12
- import { n as swiftpmArtifactInputs, r as swiftpmArtifactSnapshot, t as readSwiftpmArtifactToolchain } from "./swiftpm-artifact-inputs-BcJk6-3u.mjs";
11
+ import { t as logLines } from "./run-2CHAJ9Oj.mjs";
12
+ import { n as swiftpmArtifactInputs, r as swiftpmArtifactSnapshot, t as readSwiftpmArtifactToolchain } from "./swiftpm-artifact-inputs-yp8D5LE4.mjs";
13
13
  import { createHash } from "node:crypto";
14
14
  import { createReadStream, createWriteStream, existsSync, realpathSync } from "node:fs";
15
15
  import { tmpdir } from "node:os";
@@ -1,2 +1,2 @@
1
- import { h as macosToolchainAsync, m as macosToolchain } from "./toolchain-DLdoyxIt.mjs";
1
+ import { h as macosToolchainAsync, m as macosToolchain } from "./toolchain-CGdgD4x4.mjs";
2
2
  export { macosToolchain, macosToolchainAsync };
@@ -1,12 +1,12 @@
1
1
  import { D as ownership_claim_exports, _ as spawnDeclared, b as operationState, g as signalDeclaredSpawns, h as refuseDeclaredSpawns, m as declareSpawnsOn, p as allowDeclaredSpawns, t as getExecutor, u as withWorkspaceProcessLock, v as stopDeclaringSpawnsOn, y as isTermination } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir, T as workspaceDerivedData, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-DGwkPXwq.mjs";
2
+ import { E as workspaceDir, T as workspaceDerivedData, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-3bF4TB8P.mjs";
3
3
  import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
4
- import { a as formatElapsed, l as phaseLine } from "./command-output-BBW8eWPL.mjs";
4
+ import { a as formatElapsed, l as phaseLine } from "./command-output-VrXd6qPX.mjs";
5
5
  import { a as killOnAbort } from "./operation-exec-Dp4FuIGR.mjs";
6
- import { o as androidHome } from "./android-DdKG6lyD.mjs";
6
+ import { o as androidHome } from "./android-DsEj2CCs.mjs";
7
7
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
8
8
  import { p as resolveOptimizations } from "./errors-DHm_U5gv.mjs";
9
- import { t as cleanLine } from "./server-expo-C1K07shx.mjs";
9
+ import { t as cleanLine } from "./server-expo-CP4dURQp.mjs";
10
10
  import { createRequire } from "node:module";
11
11
  import { createHash } from "node:crypto";
12
12
  import { existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, realpathSync, rmSync, statSync, writeFileSync } from "node:fs";