stim 1.37.0 → 1.38.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 (140) hide show
  1. package/dist/{acquire-artifact-zBUbPuDP.mjs → acquire-artifact-QKPDkesw.mjs} +1 -1
  2. package/dist/{act-BGAFjY8f.mjs → act-Bh3t-NuH.mjs} +23 -29
  3. package/dist/{activity-CdpXXSq2.mjs → activity-CANftndU.mjs} +3 -3
  4. package/dist/{agent-device-usage-output-D0582GHy.mjs → agent-device-usage-output-CuROXefb.mjs} +3 -3
  5. package/dist/{android-CGctfYpv.mjs → android-27_JgJ1T.mjs} +3 -3
  6. package/dist/{android-CaSsewbu.mjs → android-Biwc4Dck.mjs} +5 -5
  7. package/dist/{android-BPBARZMR.mjs → android-DGLG_VQ3.mjs} +1 -1
  8. package/dist/{android-BBwLpxRh.mjs → android-Z6Eev9rL.mjs} +44 -38
  9. package/dist/{android-cas-p8gna03x.mjs → android-cas-BDAwwL82.mjs} +2 -2
  10. package/dist/{android-image-DY8KxK2m.mjs → android-image-BcUD6bPi.mjs} +2 -2
  11. package/dist/api.d.mts +2 -2
  12. package/dist/api.mjs +25 -25
  13. package/dist/{apk-signed-tail-BMv-KLcB.mjs → apk-signed-tail-DHMkXs4s.mjs} +2 -2
  14. package/dist/{artifact-BsimBWxG.mjs → artifact-Dc1GsK7o.mjs} +28 -14
  15. package/dist/{artifact-BrNZTZtA.mjs → artifact-sGoFVK1q.mjs} +11 -11
  16. package/dist/{auto-placement-CFKNrWLU.mjs → auto-placement-RNh4kx2T.mjs} +6 -6
  17. package/dist/{browser-web-YFsgCP_a.mjs → browser-web-7Oj57Roa.mjs} +10 -10
  18. package/dist/{build-DIhuoozz.mjs → build-DkE5vjp1.mjs} +22 -22
  19. package/dist/{build-cache-Dt-dhCJF.mjs → build-cache-CJ65Efv7.mjs} +7 -4
  20. package/dist/{build-plan-CgnLDof9.mjs → build-plan-DWajg5l_.mjs} +7 -6
  21. package/dist/{cli-BGUrlSH3.mjs → cli-BSlwv9hI.mjs} +18 -18
  22. package/dist/cli.mjs +1 -1
  23. package/dist/{client-DU6dnGX1.mjs → client-qwmHFSga.mjs} +12 -8
  24. package/dist/collector-run.mjs +3 -3
  25. package/dist/{command-output-ByEmIwur.mjs → command-output-DsjhOzJ3.mjs} +1 -1
  26. package/dist/{dependencies-BozoTBqa.mjs → dependencies-oku1ZLep.mjs} +76 -41
  27. package/dist/{dependency-state-BQeC4FVn.mjs → dependency-state-CBhPJAs_.mjs} +1 -1
  28. package/dist/{dev-client-3SQzMRXZ.mjs → dev-client-DL5UtVdx.mjs} +2 -2
  29. package/dist/{device-DGMvzoZZ.mjs → device-CxMwX0VO.mjs} +15 -14
  30. package/dist/{device-android-CBat355q.mjs → device-android-CSlBXuh_.mjs} +7 -7
  31. package/dist/{device-capacity-DWUOvY13.mjs → device-capacity-D_IlxZRL.mjs} +78 -31
  32. package/dist/device-host-worker.mjs +24 -12
  33. package/dist/{device-pool-B8IqZKqm.mjs → device-pool-BEaTdtss.mjs} +2 -2
  34. package/dist/{device-provision-DWAoSKEw.mjs → device-provision-C9NPdCne.mjs} +8 -8
  35. package/dist/{device-BIg1iExg.mjs → device-yfuJ-v4s.mjs} +9 -9
  36. package/dist/{doctor-CxgR5vPi.mjs → doctor-BAA3zN5U.mjs} +1 -1
  37. package/dist/{doctor-CPzwqcXY.mjs → doctor-BQ1Kl44s.mjs} +13 -19
  38. package/dist/{doctor-Bknt0121.mjs → doctor-QNzDE4aW.mjs} +18 -18
  39. package/dist/doctor-fingerprint.mjs +1 -1
  40. package/dist/{doctor-watchman-CPE4C8KV.mjs → doctor-watchman-B8e3s9ko.mjs} +3 -3
  41. package/dist/{eas-build-CwOXKJwa.mjs → eas-build-4rg9WpEg.mjs} +2 -2
  42. package/dist/{eas-fallback-Cnb12a50.mjs → eas-fallback-UGo0SG7T.mjs} +3 -3
  43. package/dist/{eas-session-ledger-TE1miVz5.mjs → eas-session-ledger-BDpSdFDM.mjs} +4 -4
  44. package/dist/{error-diagnostics-CXTT3bYC.mjs → error-diagnostics-CW9xl6ot.mjs} +7 -7
  45. package/dist/{gc-0jdcnDHs.mjs → gc-3DHVCn-k.mjs} +49 -33
  46. package/dist/{gc-1ZLq1djg.mjs → gc-BQ5dXnC7.mjs} +2 -2
  47. package/dist/{guide-COxIANZu.mjs → guide-DqJCc4vW.mjs} +138 -43
  48. package/dist/{hosted-android-D8JbIzgC.mjs → hosted-android-gwLspaz6.mjs} +3 -3
  49. package/dist/{hosted-client-BLwuXEZS.mjs → hosted-client-B_h_bTlz.mjs} +2 -2
  50. package/dist/{hosted-logs-BWEQNJx_.mjs → hosted-logs-BpQSRDRU.mjs} +15 -8
  51. package/dist/{hosted-logs-sync-uWSrH2mf.mjs → hosted-logs-sync-D3L1hDpM.mjs} +5 -5
  52. package/dist/{hosted-macos-BnCYAv1y.mjs → hosted-macos-GK4O1s7x.mjs} +5 -5
  53. package/dist/{hosted-native-OBT2sJxn.mjs → hosted-native-B6ur_0OJ.mjs} +7 -7
  54. package/dist/{ios-Bjz7aPLy.mjs → ios-Bi0bQiZ_.mjs} +8 -8
  55. package/dist/{ios-BveW7qK1.mjs → ios-DQEzde6f.mjs} +9 -6
  56. package/dist/{ios-CGyx4PA7.mjs → ios-M7nRVb33.mjs} +94 -32
  57. package/dist/{ios-device-ByrDWSpC.mjs → ios-device-BLm1BZB4.mjs} +1 -1
  58. package/dist/{ios-project-XHg87vyQ.mjs → ios-project-Bsm-eqwv.mjs} +6 -6
  59. package/dist/ios-runtime-DLiKoOkd.mjs +150 -0
  60. package/dist/{ios-signing-CRYQ1W42.mjs → ios-signing-rWR_Mu5Z.mjs} +1 -1
  61. package/dist/{ios-state-enWc5P6U.mjs → ios-state-tzD0s7pt.mjs} +1 -1
  62. package/dist/{js-swap-C6vl3vEd.mjs → js-swap-Cuky0ZAQ.mjs} +5 -5
  63. package/dist/{launch-f3RnbFW5.mjs → launch-B-pkNlqg.mjs} +17 -17
  64. package/dist/{lightened-Cdfmo8MO.mjs → lightened-KHWHmzGs.mjs} +4 -4
  65. package/dist/{logs-x3em2-oI.mjs → logs-B0etn-BD.mjs} +6 -6
  66. package/dist/{logs-DAjxBF3c.mjs → logs-HomiqPhV.mjs} +4 -4
  67. package/dist/{macos-ZfpWlzBO.mjs → macos-C5liDnbP.mjs} +1 -1
  68. package/dist/macos-run.mjs +1 -1
  69. package/dist/{macos-D_LAseN9.mjs → macos-zMxSibx5.mjs} +18 -19
  70. package/dist/maintenance-run.mjs +4 -4
  71. package/dist/{metro-TIQ1Wft-.mjs → metro-Cj6W4qOO.mjs} +1 -1
  72. package/dist/{metro-request-DcUxyaq8.mjs → metro-request-BWCl3Zco.mjs} +1 -1
  73. package/dist/{prebuild-BKkj3OyL.mjs → miss-reason-CeHvzeVm.mjs} +10 -270
  74. package/dist/{named-ports-BfEMi9bK.mjs → named-ports-DZ8DrkH1.mjs} +1 -1
  75. package/dist/{native-android-COOrNDk2.mjs → native-android-DtWLzg6g.mjs} +15 -15
  76. package/dist/{native-gradle-artifact-inputs-B4Mwydmf.mjs → native-gradle-artifact-inputs-D4w20_6d.mjs} +3 -3
  77. package/dist/{native-runtime-UxUBU8up.mjs → native-runtime-BfvvAJLd.mjs} +6 -6
  78. package/dist/{native-xcode-inputs-DUv7Q3ok.mjs → native-xcode-inputs-BHvnAq4o.mjs} +2 -2
  79. package/dist/{native-xcode-ios-DXcteLVi.mjs → native-xcode-ios-CYxrg_kK.mjs} +15 -15
  80. package/dist/offload-worker.mjs +19 -18
  81. package/dist/{ownership-CQTg6v1d.mjs → ownership-BLgOimfp.mjs} +2 -2
  82. package/dist/{phone-reverses-CHtco460.mjs → phone-reverses-vRveZKSG.mjs} +3 -3
  83. package/dist/{placement-log-oQnELAvQ.mjs → placement-log-CM0DSELs.mjs} +1 -1
  84. package/dist/{plan-placement-45EOlIG1.mjs → plan-placement-CIrvKq8y.mjs} +5 -5
  85. package/dist/{ports-DKO7EUNt.mjs → ports-CKORWlC0.mjs} +2 -2
  86. package/dist/{project-BCtQz48d.mjs → project-DIo71tGq.mjs} +14 -14
  87. package/dist/{react-native-android-MI4ktuhL.mjs → react-native-android-B7VYSlKj.mjs} +36 -27
  88. package/dist/{react-native-build-dixAL2G8.mjs → react-native-build-CFYTYmG4.mjs} +10 -7
  89. package/dist/{react-native-doctor-CvkWincj.mjs → react-native-doctor-CnpVfE0k.mjs} +5 -5
  90. package/dist/{react-native-ios-DF5otoBR.mjs → react-native-ios-ByeXo_NP.mjs} +15 -14
  91. package/dist/{recorded-build-CGHGCO8m.mjs → recorded-build-B4prJjSD.mjs} +1 -1
  92. package/dist/{recordings-BcOzqFD1.mjs → recordings-Byu5SzlI.mjs} +1 -1
  93. package/dist/{reload-DWxmO9dY.mjs → reload-DANrKhQR.mjs} +1 -1
  94. package/dist/{reload-DGWfNFwQ.mjs → reload-DTd9g1EG.mjs} +13 -13
  95. package/dist/{remote-DWYGW2f5.mjs → remote-BWuq9qHV.mjs} +3 -3
  96. package/dist/{remote-CV2jBcLv.mjs → remote-NOM82XE0.mjs} +8 -8
  97. package/dist/{result-CWyxwPvZ.mjs → result-C-ISEJ5F.mjs} +15 -15
  98. package/dist/{run-FZtMQgrx.mjs → run-DQwx6djG.mjs} +1 -1
  99. package/dist/{server-bare-Ksh1NKeI.mjs → server-bare-B_wRfchQ.mjs} +1 -1
  100. package/dist/{server-command-BO2DIsJV.mjs → server-command-DgXYowQf.mjs} +5 -5
  101. package/dist/{server-expo-ZS9_WaNG.mjs → server-expo-ByBM8DVv.mjs} +9 -7
  102. package/dist/server-expo-D7rwjAFp.mjs +2 -0
  103. package/dist/{settings-TYrzDh8T.mjs → settings-BthPoY3t.mjs} +2 -2
  104. package/dist/{settings-Ag4pbs0z.mjs → settings-Cz8kQJzr.mjs} +44 -8
  105. package/dist/{settings-payload-CUM0DYwz.mjs → settings-payload-BOcxsZ6k.mjs} +2 -2
  106. package/dist/{settings-write-D_9_IEx7.mjs → settings-write-BuMPL1rd.mjs} +3 -3
  107. package/dist/settings.schema.json +32 -2
  108. package/dist/{slot-launch-DW_29Bmu.mjs → slot-launch-BIm9w8kH.mjs} +5 -5
  109. package/dist/{stage-_8k8p7uq.mjs → stage-CX1Byp3n.mjs} +5 -4
  110. package/dist/{start-CdgtOksb.mjs → start-BZWr85b2.mjs} +1 -1
  111. package/dist/{start-CzBB5R7N.mjs → start-DI0ofPO-.mjs} +8 -8
  112. package/dist/{state-DsrFh3yv.mjs → state-45P8Kd6Z.mjs} +1 -1
  113. package/dist/{state-CfP-ccP8.mjs → state-C2vELPyr.mjs} +2 -2
  114. package/dist/{stats-BgTyuzib.mjs → stats-BDljWVWU.mjs} +3 -3
  115. package/dist/{status-C7Zzb-Eh.mjs → status-BG2S-a1d.mjs} +1 -1
  116. package/dist/{status-Bcdy5eHt.mjs → status-DEZjHP4q.mjs} +27 -29
  117. package/dist/{status-watch-DY0EZcmg.mjs → status-watch-Cs18eFkQ.mjs} +4 -4
  118. package/dist/status-worker.mjs +1 -1
  119. package/dist/{stop-iGkvEvDn.mjs → stop-B2zDplJa.mjs} +2 -2
  120. package/dist/{stop-CkmBkNyg.mjs → stop-BPrTEOaz.mjs} +14 -14
  121. package/dist/{stop-CbxsTKyZ.mjs → stop-DrxHVVX9.mjs} +4 -4
  122. package/dist/supervisor-run.mjs +11 -11
  123. package/dist/{support-CfYmOdQs.mjs → support-BeVRaMWT.mjs} +9 -9
  124. package/dist/{support-JZ4KRW0C.mjs → support-DBKG3Yyb.mjs} +5 -5
  125. package/dist/{swiftpm-artifact-inputs-C1rZDRDs.mjs → swiftpm-artifact-inputs-CfNAb6Vm.mjs} +1 -1
  126. package/dist/{swiftpm-macos-DRTjC7Ff.mjs → swiftpm-macos-xdHjJHIj.mjs} +7 -7
  127. package/dist/toolchain-CTsPS5tL.mjs +2 -0
  128. package/dist/{toolchain-BeD7tbBW.mjs → toolchain-CZvtCZ-m.mjs} +9 -6
  129. package/dist/{warm-progress-CJQ8tk5O.mjs → warm-progress-D3a0KviW.mjs} +17 -13
  130. package/dist/{web-BXbmysa1.mjs → web-BvAweypa.mjs} +6 -6
  131. package/dist/web-DDL3usMb.mjs +2 -0
  132. package/dist/web-run.mjs +4 -4
  133. package/dist/{workspace-state-DOPXG2Gp.mjs → workspace-state-CHEN_xzy.mjs} +1 -1
  134. package/dist/{workspaces-DCzDzydB.mjs → workspaces-BgAYIccE.mjs} +213 -50
  135. package/dist/{worktree-6ngObKkw.mjs → worktree-C0YZ6mnk.mjs} +1 -1
  136. package/dist/{worktree-BAC43Kio.mjs → worktree-kGPE9Pcw.mjs} +335 -33
  137. package/package.json +7 -7
  138. package/dist/server-expo-9hQwyLze.mjs +0 -2
  139. package/dist/toolchain-CNlKc9pH.mjs +0 -2
  140. package/dist/web-BcaySU05.mjs +0 -2
@@ -1,5 +1,5 @@
1
1
  import { f as WorkspaceProcessCleanupError } from "./exec-L37dbiIb.mjs";
2
- import { I as waitForSharedBuild } from "./activity-CdpXXSq2.mjs";
2
+ import { I as waitForSharedBuild } from "./activity-CANftndU.mjs";
3
3
  import { copyFileSync, rmSync } from "node:fs";
4
4
  //#region src/engine/failed-transcript.ts
5
5
  /**
@@ -1,27 +1,27 @@
1
1
  import { T as process_identity_exports, f as WorkspaceProcessCleanupError, m as workspaceProcessLockError, n as isTimeoutError, p as withWorkspaceProcessLock, t as getExecutor } from "./exec-L37dbiIb.mjs";
2
- import { E as workspaceDir, j as workspaceStateFile$1, k as workspaceLogsDir$1, r as readWorkspaceState$1, u as workspaceLastUsed, w as workspaceAgentDeviceDir } from "./workspace-state-DOPXG2Gp.mjs";
3
- import { o as formatLongDuration, u as plural } from "./command-output-ByEmIwur.mjs";
2
+ import { E as workspaceDir, j as workspaceStateFile$1, k as workspaceLogsDir$1, r as readWorkspaceState$1, u as workspaceLastUsed, w as workspaceAgentDeviceDir } from "./workspace-state-CHEN_xzy.mjs";
3
+ import { o as formatLongDuration, u as plural } from "./command-output-DsjhOzJ3.mjs";
4
4
  import { ct as measuredDirectorySizeAsync, gt as projectDeviceSlots, it as formatBytes, m as getProject, ot as isOnMountedVolume, rt as directorySizeAsync, st as listMountedVolumes, v as loadConfig$1 } from "./config-CNmN-ndb.mjs";
5
5
  import { c as gitQuiet, l as gitQuietAsync, n as runOperationFileQuiet, r as childEnvironment } from "./operation-exec-DNynwpqO.mjs";
6
- import { At as listWorktrees, Et as hasUncommittedWorkAsync, Ft as matchWorktreeEntry, Kt as sourceCheckoutOf, O as maintenanceKeepSetting, Pt as lockReason, Ut as resolveFullRefAsync, Wt as resolveSourceCheckoutAsync, X as resolveProjectSettings, Xt as worktreeLockAsync, Z as resolveProjectSettingsAsync, bt as dirtyPathsAsync, h as deviceIdleShutdownMinutesSetting, it as settingValueAt, jt as listWorktreesAsync, mt as LOCKED_REASON, qt as unpushedCommitsAsync, sn as removeTemporaryEntryAsync, wt as hasPopulatedSubmodulesAsync } from "./settings-Ag4pbs0z.mjs";
7
- import { P as readRemoteSession, i as findProjectRoot$1 } from "./project-BCtQz48d.mjs";
8
- import { A as getAvdNameForSerialAsync, L as listAvds, N as listAdbDevices, P as listAdbDevicesAsync, R as listAvdsAsync, U as ownedAvdDirectory, k as getAvdNameForSerial, q as ownedAvdSerialResolverAsync, xt as readParked } from "./android-CGctfYpv.mjs";
9
- import { c as pidExists } from "./metro-TIQ1Wft-.mjs";
10
- import { At as deleteParkedAvds, B as stopOwnedMetro, Ct as waitForGradleExit, Et as DEVICE_LIST_TIMEOUT_MS, Ft as deviceSweepIsScoped, M as enforceBudget, Mt as deleteProjectDevices, Or as discoverCaches, Ot as collectParkedAvds, P as machineNumber, Q as levelFloors, R as resolveBudget, Tr as phase, Z as diskPressureLevel, _t as collectGradleVersions, b as shutDownIdleDevices, br as memorySweepIsScoped, et as lowestFree, ft as planCacheEmptying, hr as collectMemoryReport, j as cacheLabel, jt as deleteParkedSims, kr as pruneCache, kt as collectParkedSims, ot as emptyCaches, tt as protectWindowMs, vt as deleteGradleVersion, wr as stopIdleGradleDaemons, x as writeIdleShutdownEvent, y as dueIdleDevices, z as trimmableCaches, zt as findStaleProjectDevices } from "./device-capacity-DWUOvY13.mjs";
11
- import { o as readWebRecord, u as webFacts } from "./state-CfP-ccP8.mjs";
6
+ import { At as listWorktrees, Et as hasUncommittedWorkAsync, Ft as matchWorktreeEntry, Kt as sourceCheckoutOf, O as maintenanceKeepSetting, Pt as lockReason, Ut as resolveFullRefAsync, Wt as resolveSourceCheckoutAsync, X as resolveProjectSettings, Xt as worktreeLockAsync, Z as resolveProjectSettingsAsync, bt as dirtyPathsAsync, h as deviceIdleShutdownMinutesSetting, it as settingValueAt, jt as listWorktreesAsync, mt as LOCKED_REASON, qt as unpushedCommitsAsync, sn as removeTemporaryEntryAsync, wt as hasPopulatedSubmodulesAsync } from "./settings-Cz8kQJzr.mjs";
7
+ import { P as readRemoteSession, i as findProjectRoot$1 } from "./project-DIo71tGq.mjs";
8
+ import { A as getAvdNameForSerialAsync, L as listAvds, N as listAdbDevices, P as listAdbDevicesAsync, R as listAvdsAsync, U as ownedAvdDirectory, k as getAvdNameForSerial, q as ownedAvdSerialResolverAsync, xt as readParked } from "./android-27_JgJ1T.mjs";
9
+ import { c as pidExists } from "./metro-Cj6W4qOO.mjs";
10
+ import { At as collectParkedSims, B as stopOwnedMetro, Cr as memorySweepIsScoped, Dr as stopIdleGradleDaemons, Dt as DEVICE_LIST_TIMEOUT_MS, Ht as findStaleProjectDevices, Lt as deviceSweepIsScoped, M as enforceBudget, Mr as pruneCache, Mt as deleteParkedSims, Nt as deleteProjectDevices, Or as phase, P as machineNumber, Q as levelFloors, R as resolveBudget, Z as diskPressureLevel, b as shutDownIdleDevices, et as lowestFree, j as cacheLabel, jr as discoverCaches, jt as deleteParkedAvds, kt as collectParkedAvds, ot as emptyCaches, pt as planCacheEmptying, tt as protectWindowMs, vr as collectMemoryReport, vt as collectGradleVersions, wt as waitForGradleExit, x as writeIdleShutdownEvent, y as dueIdleDevices, yt as deleteGradleVersion, z as trimmableCaches } from "./device-capacity-D_IlxZRL.mjs";
11
+ import { o as readWebRecord, u as webFacts } from "./state-C2vELPyr.mjs";
12
12
  import { a as unregister, n as readManifest } from "./cache-manifest-BO0TIcPV.mjs";
13
- import { B as workspaceBuildInProgress, Et as GC_OUTPUT, F as collectOwnedDeviceActivityAsync, Ot as takeGcResults, P as collectOwnedDeviceActivity, a as collectOrphanedWorkspaces, b as workspaceInUseAsync, c as isInsideWorkspaces, d as recentNativeUseReason, g as ARTIFACT_DIRS, h as workspaceDirRemoved, i as clearWorkspaceOutputs, jt as readConcurrency, kt as eachLimited, l as keptByLock, m as workspaceBuildReasons, o as collectWorkspaceOutputs, s as deleteOrphanedWorkspaces, t as LIGHTEN_AFTER_MS, u as listWorkspaceDirs, v as withIdleWorkspace, x as resolveSupervisorTarget, y as workspaceInUse } from "./workspaces-DCzDzydB.mjs";
13
+ import { At as eachLimited, Dt as GC_OUTPUT, F as collectOwnedDeviceActivity, I as collectOwnedDeviceActivityAsync, Mt as readConcurrency, V as workspaceBuildInProgress, a as collectOrphanedWorkspaces, b as workspaceInUseAsync, c as isInsideWorkspaces, d as recentNativeUseReason, g as ARTIFACT_DIRS, h as workspaceDirRemoved, i as clearWorkspaceOutputs, kt as takeGcResults, l as keptByLock, m as workspaceBuildReasons, o as collectWorkspaceOutputs, s as deleteOrphanedWorkspaces, t as LIGHTEN_AFTER_MS, u as listWorkspaceDirs, v as withIdleWorkspace, x as resolveSupervisorTarget, y as workspaceInUse } from "./workspaces-BgAYIccE.mjs";
14
+ import { t as resolveMaintenanceSettings } from "./settings-D9LtQaUw.mjs";
14
15
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
15
- import { N as listBuildLocks, _ as workspaceDeviceLastUseAt, b as leaseIsExpired, g as workspaceActivity, x as listLeaseFiles } from "./activity-CdpXXSq2.mjs";
16
- import { d as listAllIosSims, f as listAllIosSimsAsync } from "./ios-BveW7qK1.mjs";
16
+ import { N as listBuildLocks, _ as workspaceDeviceLastUseAt, b as leaseIsExpired, g as workspaceActivity, x as listLeaseFiles } from "./activity-CANftndU.mjs";
17
+ import { d as listAllIosSims, f as listAllIosSimsAsync } from "./ios-DQEzde6f.mjs";
17
18
  import { s as metroStoreRoot } from "./errors-DHm_U5gv.mjs";
18
- import { t as resolveMaintenanceSettings } from "./settings-D9LtQaUw.mjs";
19
- import { m as probeHostedSession } from "./hosted-client-BLwuXEZS.mjs";
20
- import { o as runStop } from "./stop-CkmBkNyg.mjs";
21
- import { D as stimCliUseOf, E as stimCliEntries, M as worktreeArchiveLimits, T as serviceRunningFrom, _ as cacheBlocked, a as nestedWorktrees, b as measurePressure, i as excludeWatchmanCookies, o as porcelainPath, p as removeWorktreeTarget, r as excludePodChurn, s as reclaimKeys, v as measureDisk, w as uncommittedActivityOf, x as measurePressureAsync, y as measureDiskAsync } from "./worktree-BAC43Kio.mjs";
19
+ import { m as probeHostedSession } from "./hosted-client-B_h_bTlz.mjs";
20
+ import { o as runStop } from "./stop-BPrTEOaz.mjs";
21
+ import { D as stimCliUseOf, E as stimCliEntries, M as worktreeArchiveLimits, T as serviceRunningFrom, _ as cacheBlocked, a as nestedWorktrees, b as measurePressure, i as excludeWatchmanCookies, o as porcelainPath, p as removeWorktreeTarget, r as excludePodChurn, s as reclaimKeys, v as measureDisk, w as uncommittedActivityOf, x as measurePressureAsync, y as measureDiskAsync } from "./worktree-kGPE9Pcw.mjs";
22
22
  import { n as describePullRequest, r as endedPullRequest, s as pullRequestLookups } from "./pull-request-m8cMZ3aE.mjs";
23
- import { a as lastFetchedAtAsync, c as mergeStateAsync, f as recordPullRequestLookup, i as fetchDefaultBranchAsync, o as localDefaultBranchAsync, r as FETCH_FRESH_MS } from "./warm-progress-CJQ8tk5O.mjs";
24
- import { a as restoreProblem, r as recordLightened, t as finishLightened } from "./lightened-Cdfmo8MO.mjs";
23
+ import { a as lastFetchedAtAsync, c as mergeStateAsync, f as recordPullRequestLookup, i as fetchDefaultBranchAsync, o as localDefaultBranchAsync, r as FETCH_FRESH_MS } from "./warm-progress-D3a0KviW.mjs";
24
+ import { a as restoreProblem, r as recordLightened, t as finishLightened } from "./lightened-KHWHmzGs.mjs";
25
25
  import { readClaimSet } from "@stim-cli/core/ownership-claim";
26
26
  import { existsSync, lstatSync, readFileSync, readdirSync, readlinkSync, realpathSync, rmSync, statSync } from "node:fs";
27
27
  import { tmpdir } from "node:os";
@@ -833,7 +833,6 @@ function plan({ pressure, sizes, settings, budget, diskSteps = [], protectedRoot
833
833
  return true;
834
834
  };
835
835
  const floor = Math.max(budget.minFreeDiskMb, budget.hardFloorDiskMb);
836
- const emergency = pressure?.disk.some((disk) => disk.freeMb < budget.hardFloorDiskMb) ?? false;
837
836
  const low = pressure?.disk.filter((disk) => disk.freeMb < floor) ?? [];
838
837
  const reason = low.map((disk) => `free disk ${(disk.freeMb / 1024).toFixed(1)}G on ${disk.volume} under the ${(floor / 1024).toFixed(1)}G floor`).join("; ");
839
838
  const kinds = {
@@ -892,14 +891,7 @@ function plan({ pressure, sizes, settings, budget, diskSteps = [], protectedRoot
892
891
  if (cap === 0 || total <= cap) continue;
893
892
  let remaining = total;
894
893
  const targetBytes = cap * settings.capTargetPercent / 100;
895
- const why = `${category} ${(total / 1024 ** 3).toFixed(1)}G over the ${capGb}G cap; target ${(targetBytes / 1024 ** 3).toFixed(1)}G`;
896
- if (category === "compilation-cache" && !emergency) {
897
- skips.push({
898
- target: entries[0]?.dir ?? category,
899
- reason: `${why}; it can only be emptied whole, which runs only below the ${(budget.hardFloorDiskMb / 1024).toFixed(1)}G hard floor`
900
- });
901
- continue;
902
- }
894
+ const why = `${category} ${(total / 1024 ** 3).toFixed(1)}G over the ${capGb}G cap; ${category === "compilation-cache" ? "emptied whole" : `target ${(targetBytes / 1024 ** 3).toFixed(1)}G`}`;
903
895
  for (const size of entries.toSorted((a, b) => (b.idleDays ?? 0) - (a.idleDays ?? 0))) {
904
896
  if (remaining <= targetBytes) break;
905
897
  const kept = size.workspace === protectedRoot ? "the triggering workspace is protected" : size.blocked;
@@ -1366,7 +1358,7 @@ async function planSweep({ settings, sizes, protectedRoot, pinned, now, devices
1366
1358
  kind: "would-remove-orphan",
1367
1359
  target: orphan.dir,
1368
1360
  bytes: orphan.bytes ?? 0,
1369
- reason: `its project ${orphan.projectRoot} no longer exists`,
1361
+ reason: orphan.projectRoot === null ? "it is empty and has no workspace.json" : `its project ${orphan.projectRoot} no longer exists`,
1370
1362
  check: "sweep"
1371
1363
  });
1372
1364
  for (const kept of orphans.skipped) skips.push({
@@ -3282,8 +3274,10 @@ function trimCache(action, context) {
3282
3274
  };
3283
3275
  }
3284
3276
  async function emptyCompilationCache(action, context) {
3285
- const floor = action.level === 3 ? levelFloors(context.budget, context.settings)[3] : context.budget.hardFloorDiskMb;
3286
- if (!measureDisk().some((disk) => disk.freeMb < floor)) return kept(action.level === 3 ? "free disk is back above the level 3 floor, and this cache can only be emptied whole" : "free disk is above budget.hardFloorDiskGb, and this cache can only be emptied whole");
3277
+ if (action.level === 3) {
3278
+ const floor = levelFloors(context.budget, context.settings)[3];
3279
+ if (!measureDisk().some((disk) => disk.freeMb < floor)) return kept("free disk is back above the level 3 floor, and this cache can only be emptied whole");
3280
+ }
3287
3281
  const dir = sharedCompilationCache();
3288
3282
  const blocked = cacheBlocked({
3289
3283
  name: "Swift compilation cache",
@@ -1,9 +1,9 @@
1
1
  import { D as ownership_claim_exports, T as process_identity_exports, _ as declareSpawnsOn, t as getExecutor, x as stopDeclaringSpawnsOn } from "./exec-L37dbiIb.mjs";
2
- import { M as withDirLock$1, N as withDirLockAsync$1, c as withWorkspaceStateLock, d as writeWorkspaceState, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, n as clearWorkspaceStateKeys, r as readWorkspaceState$1 } from "./workspace-state-DOPXG2Gp.mjs";
3
- import { a as formatElapsed, i as formatDuration, m as shortHash } from "./command-output-ByEmIwur.mjs";
2
+ import { M as withDirLock$1, N as withDirLockAsync$1, c as withWorkspaceStateLock, d as writeWorkspaceState, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, n as clearWorkspaceStateKeys, r as readWorkspaceState$1 } from "./workspace-state-CHEN_xzy.mjs";
3
+ import { a as formatElapsed, i as formatDuration, m as shortHash } from "./command-output-DsjhOzJ3.mjs";
4
4
  import { d as getConfigDir, ft as deviceSlotKey, mt as parseDeviceSlotKey, vt as validateDeviceSlot } from "./config-CNmN-ndb.mjs";
5
5
  import { n as runOperationFileQuiet } from "./operation-exec-DNynwpqO.mjs";
6
- import { T as resolveBuild } from "./build-cache-Dt-dhCJF.mjs";
6
+ import { T as resolveBuild } from "./build-cache-CJ65Efv7.mjs";
7
7
  import { randomBytes } from "node:crypto";
8
8
  import { closeSync, fstatSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
9
9
  import { homedir } from "node:os";
@@ -1,8 +1,8 @@
1
1
  import { T as process_identity_exports } from "./exec-L37dbiIb.mjs";
2
- import { o as formatLongDuration } from "./command-output-ByEmIwur.mjs";
2
+ import { o as formatLongDuration } from "./command-output-DsjhOzJ3.mjs";
3
3
  import { it as formatBytes } from "./config-CNmN-ndb.mjs";
4
- import { bt as measureDu, u as listWorkspaceDirs, xt as writeUsageCache, yt as canonical } from "./workspaces-DCzDzydB.mjs";
5
- import { c as parseAgentDeviceRecord, o as envDir, u as processMatches } from "./activity-CdpXXSq2.mjs";
4
+ import { St as writeUsageCache, bt as canonical, u as listWorkspaceDirs, xt as measureDu } from "./workspaces-BgAYIccE.mjs";
5
+ import { c as parseAgentDeviceRecord, o as envDir, u as processMatches } from "./activity-CANftndU.mjs";
6
6
  import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
7
7
  import { homedir } from "node:os";
8
8
  import { isAbsolute, join, relative, sep } from "node:path";
@@ -1,10 +1,10 @@
1
1
  import { D as ownership_claim_exports, T as process_identity_exports, _ as declareSpawnsOn, f as WorkspaceProcessCleanupError, l as cancellableSleep, t as getExecutor, x as stopDeclaringSpawnsOn } from "./exec-L37dbiIb.mjs";
2
- import { M as withDirLock$1, N as withDirLockAsync$1 } from "./workspace-state-DOPXG2Gp.mjs";
2
+ import { M as withDirLock$1, N as withDirLockAsync$1 } from "./workspace-state-CHEN_xzy.mjs";
3
3
  import { A as withConfigLockAsync$1, _t as removeSlotDevice, c as ensureConfig, d as getConfigDir, f as getConfigPath$1, gt as projectDeviceSlots, k as withConfigLock$1, pt as deviceSlotPlatforms, ut as assignSlotDevice, v as loadConfig$1, w as saveConfig } from "./config-CNmN-ndb.mjs";
4
4
  import { n as runOperationFileQuiet, t as runOperationFile } from "./operation-exec-DNynwpqO.mjs";
5
- import { c as androidDataPartitionSizeBytes } from "./settings-Ag4pbs0z.mjs";
5
+ import { c as androidDataPartitionSizeBytes } from "./settings-Cz8kQJzr.mjs";
6
6
  import { i as stimDesktopInstalledAsync, n as settingDefault, t as STIM_DESKTOP_OPEN_OPTIONS } from "./stim-desktop-DWGAfaud.mjs";
7
- import { c as pidExists, p as signalProcessTreeAsync } from "./metro-TIQ1Wft-.mjs";
7
+ import { c as pidExists, p as signalProcessTreeAsync } from "./metro-Cj6W4qOO.mjs";
8
8
  import { renameSync, rmSync, writeFileSync } from "node:fs";
9
9
  import { isDeepStrictEqual } from "node:util";
10
10
  import { join } from "node:path";
@@ -1,6 +1,6 @@
1
- import { i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-ByEmIwur.mjs";
2
- import { E as resolveVariant, T as resolveSystemImage, _ as findAapt, b as noDeviceDiagnostic, d as androidVariantSetting, f as apkDevClientFacts, g as dumpApkManifest, h as displayPath, i as NO_FINGERPRINT, p as apkPackage, r as NO_DEVICE, s as androidDevClientScheme, u as androidSystemImageSetting, x as parseXmltree, y as isReleaseVariant } from "./support-JZ4KRW0C.mjs";
3
- import { r as lastBuildRecord, t as androidFacts } from "./result-CWyxwPvZ.mjs";
4
- import { i as runAndroidOperation, n as registerAndroid, r as runAndroid, t as androidCommand } from "./android-BBwLpxRh.mjs";
5
- import { a as collectorLogFile, o as killPreviousCollector, s as startCollector } from "./launch-f3RnbFW5.mjs";
1
+ import { i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-DsjhOzJ3.mjs";
2
+ import { E as resolveVariant, T as resolveSystemImage, _ as findAapt, b as noDeviceDiagnostic, d as androidVariantSetting, f as apkDevClientFacts, g as dumpApkManifest, h as displayPath, i as NO_FINGERPRINT, p as apkPackage, r as NO_DEVICE, s as androidDevClientScheme, u as androidSystemImageSetting, x as parseXmltree, y as isReleaseVariant } from "./support-DBKG3Yyb.mjs";
3
+ import { r as lastBuildRecord, t as androidFacts } from "./result-C-ISEJ5F.mjs";
4
+ import { i as runAndroidOperation, n as registerAndroid, r as runAndroid, t as androidCommand } from "./android-Z6Eev9rL.mjs";
5
+ import { a as collectorLogFile, o as killPreviousCollector, s as startCollector } from "./launch-B-pkNlqg.mjs";
6
6
  export { NO_DEVICE, NO_FINGERPRINT, androidDevClientScheme, androidFacts, androidSystemImageSetting, androidVariantSetting, apkDevClientFacts, apkPackage, collectorLogFile, androidCommand as default, displayPath, dumpApkManifest, findAapt, formatDuration, isReleaseVariant, killPreviousCollector, lastBuildRecord, noDeviceDiagnostic, parseXmltree, phaseLine, registerAndroid, resolveSystemImage, resolveVariant, runAndroid, runAndroidOperation, shortHash, startCollector };
@@ -1,5 +1,5 @@
1
1
  import { t as getExecutor } from "./exec-L37dbiIb.mjs";
2
- import { u as androidToolCwd } from "./android-CGctfYpv.mjs";
2
+ import { u as androidToolCwd } from "./android-27_JgJ1T.mjs";
3
3
  //#region src/collector/android.ts
4
4
  const LEVEL_BY_LETTER = {
5
5
  V: "debug",
@@ -1,43 +1,43 @@
1
1
  import { D as ownership_claim_exports, t as getExecutor } from "./exec-L37dbiIb.mjs";
2
- import { a as recordWorkspaceUseAsync, f as writeWorkspaceStateAsync, g as emulatorLogFile, k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-DOPXG2Gp.mjs";
3
- import { _ as stepTimer, f as refuseNoProject, g as stepClock, i as formatDuration, l as phaseLine } from "./command-output-ByEmIwur.mjs";
2
+ import { a as recordWorkspaceUseAsync, f as writeWorkspaceStateAsync, g as emulatorLogFile, k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-CHEN_xzy.mjs";
3
+ import { _ as stepTimer, f as refuseNoProject, g as stepClock, i as formatDuration, l as phaseLine } from "./command-output-DsjhOzJ3.mjs";
4
4
  import { A as withConfigLockAsync$1, O as upsertProject, dt as deviceSlotFileKey, ht as parseDeviceSlotOption, m as getProject, pt as deviceSlotPlatforms, u as getConcurrencyLimits, vt as validateDeviceSlot } from "./config-CNmN-ndb.mjs";
5
- import { B as publicUrlSetting, F as metroWarmupUrlSetting, J as resolveCacheProviderConfig, N as metroPortSetting, Q as resolveSettings, W as remoteEasFallbackSetting, Z as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY, dt as detectProviders, g as deviceReclaimIdleMinutesSetting, ot as tunnelModeSetting, z as projectSettingsContextAsync } from "./settings-Ag4pbs0z.mjs";
6
- import { f as projectRegistry, i as findProjectRoot$1, l as projectShortcut, t as NO_PROJECT_REFUSAL, z as writeWorkspaceLaunchAsync } from "./project-BCtQz48d.mjs";
7
- import { $ as probeEmulatorSerial, At as configuredAndroidEmulatorApp, E as emulatorProbeSession, M as isEmulatorToolAbsent, P as listAdbDevicesAsync, U as ownedAvdDirectory, Z as physicalDeviceModel, a as androidDeviceAbi, at as resolvePhysicalDevice, it as resolveOwnedAvdSerialAsync, ut as waitForBoot, v as avdStorageExists, z as listInstalledSystemImages } from "./android-CGctfYpv.mjs";
8
- import { c as pidExists, d as resolveProjectMetro } from "./metro-TIQ1Wft-.mjs";
5
+ import { B as publicUrlSetting, F as metroWarmupUrlSetting, J as resolveCacheProviderConfig, N as metroPortSetting, Q as resolveSettings, W as remoteEasFallbackSetting, Z as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY, dt as detectProviders, g as deviceReclaimIdleMinutesSetting, ot as tunnelModeSetting, z as projectSettingsContextAsync } from "./settings-Cz8kQJzr.mjs";
6
+ import { f as projectRegistry, i as findProjectRoot$1, l as projectShortcut, t as NO_PROJECT_REFUSAL, z as writeWorkspaceLaunchAsync } from "./project-DIo71tGq.mjs";
7
+ import { $ as probeEmulatorSerial, At as configuredAndroidEmulatorApp, E as emulatorProbeSession, M as isEmulatorToolAbsent, P as listAdbDevicesAsync, U as ownedAvdDirectory, Z as physicalDeviceModel, a as androidDeviceAbi, at as resolvePhysicalDevice, it as resolveOwnedAvdSerialAsync, ut as waitForBoot, v as avdStorageExists, z as listInstalledSystemImages } from "./android-27_JgJ1T.mjs";
8
+ import { c as pidExists, d as resolveProjectMetro } from "./metro-Cj6W4qOO.mjs";
9
9
  import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
10
- import { $t as remoteAndroidDeps, An as installAndroidApp, Fn as launchAndroidReleaseApp, Hn as exitAfterFlush, Jn as checkEasAuth, Pn as launchAndroidApp, S as CCACHE_NOT_RUN, Wn as runProcessOperation, Xt as ensureMetroReachable, Zt as ensureRemoteBootOwned, dr as ownedSessionName, hn as verifyLaunch, k as budgetGate, mn as verifyAndroidReleaseLaunch, n as DeviceAdmissionRefusal, nr as resolveRemote, qt as binOnPath, r as checkDeviceCapacity, rr as uploadRemote, tn as resolveRemoteContext, tr as resolveEasCliBin, vn as ADB_INSTALL_TIMEOUT_MS, yn as DEFAULT_METRO_PORT } from "./device-capacity-DWUOvY13.mjs";
11
- import { $ as tapBuildLog, H as NO_BUILD_PROGRESS, Q as startBuildProgress, St as acquireBuildSlot, Tt as releaseBuildSlot, Z as runFailureRecord, ct as recordRunStats, et as thrownRunFailureRecord, it as readRunEstimates, lt as statsProjectKey$1, ot as recordCapacityRefusal, rt as createRunRecorder } from "./workspaces-DCzDzydB.mjs";
12
- import { _t as runCancellationSignal, gt as runCancellation, lt as cancelledFailure, vt as withNativeBuildRun } from "./toolchain-BeD7tbBW.mjs";
13
- import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-CdpXXSq2.mjs";
14
- import { D as storedAppId } from "./build-cache-Dt-dhCJF.mjs";
15
- import { C as setRemoteLogSink } from "./client-DU6dnGX1.mjs";
16
- import { J as releaseLeaseOnAbort, L as resolveBuildPlacement, N as parseBuildMachineOption, U as acquireRunLease, W as leaseExpiryText, X as waitFlagConflict, Y as runLease } from "./support-CfYmOdQs.mjs";
17
- import { i as hostedMetroSettings } from "./metro-request-DcUxyaq8.mjs";
18
- import { a as writeHostedAndroidAsync, i as writeDevicePlacementAsync, t as readHostedAndroid } from "./ios-state-enWc5P6U.mjs";
19
- import { n as prepareHostedAndroid, t as placeHostedAndroid } from "./hosted-android-D8JbIzgC.mjs";
20
- import { n as verifyCollectorOwnership } from "./ownership-CQTg6v1d.mjs";
21
- import { i as restoreLightenedDependencies, n as printLightenedFailure } from "./lightened-Cdfmo8MO.mjs";
22
- import { c as startDevServer } from "./start-CzBB5R7N.mjs";
23
- import { r as ensureSystemImage, t as androidImageInstallPolicy } from "./android-image-DY8KxK2m.mjs";
24
- import { a as resolveEasDevelopmentBuild, r as isEasBuildFailure } from "./eas-build-CwOXKJwa.mjs";
25
- import { t as followHostedLaunchLogs } from "./hosted-logs-sync-uWSrH2mf.mjs";
26
- import { f as settleFingerprintCheck } from "./prebuild-BKkj3OyL.mjs";
27
- import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely, r as isPhysicalDeviceRequest, t as ensureDevServer } from "./native-runtime-UxUBU8up.mjs";
28
- import { t as lookupRecordedBuild } from "./recorded-build-CGHGCO8m.mjs";
29
- import { S as pooledAndroidDevice, a as PLATFORM, b as noDeviceDiagnostic, g as dumpApkManifest, h as displayPath, o as androidBuildOptions, p as apkPackage, r as NO_DEVICE, s as androidDevClientScheme } from "./support-JZ4KRW0C.mjs";
30
- import { n as devicePlacementRecord } from "./placement-log-oQnELAvQ.mjs";
31
- import { n as acquireAndroidArtifactOrRecorded } from "./artifact-BsimBWxG.mjs";
32
- import { a as persistLastBuild, c as androidDeviceSelectorRefusal, i as logPostBuildFailure, n as finishAndroidUpload, o as persistThrownBuild, s as reportAndroidResult, u as resolveAndroidRunPlan } from "./result-CWyxwPvZ.mjs";
33
- import { n as devicePlacementLine, t as automaticDevicePlacement } from "./auto-placement-CFKNrWLU.mjs";
34
- import { i as verifyAndroidMetroRun, r as finishAndroidRun } from "./launch-f3RnbFW5.mjs";
35
- import { t as checkEasFallback } from "./eas-fallback-Cnb12a50.mjs";
36
- import { i as warmMetro, n as ensureBooted, r as ensureOwnedDevice, t as didSetUpDevice } from "./device-BIg1iExg.mjs";
37
- import { a as AvdBootError, o as AvdRecoveryError } from "./device-android-CBat355q.mjs";
38
- import { t as selectFromPool } from "./device-pool-B8IqZKqm.mjs";
10
+ import { $t as ensureMetroReachable, Gn as exitAfterFlush, Ln as launchAndroidApp, Nn as installAndroidApp, Rn as launchAndroidReleaseApp, S as CCACHE_NOT_RUN, Sn as DEFAULT_METRO_PORT, Xt as binOnPath, Zn as checkEasAuth, _n as verifyAndroidReleaseLaunch, ar as resolveRemote, en as ensureRemoteBootOwned, in as resolveRemoteContext, ir as resolveEasCliBin, k as budgetGate, mr as ownedSessionName, n as DeviceAdmissionRefusal, nn as remoteAndroidDeps, or as uploadRemote, qn as runProcessOperation, r as checkDeviceCapacity, vn as verifyLaunch, xn as ADB_INSTALL_TIMEOUT_MS } from "./device-capacity-D_IlxZRL.mjs";
11
+ import { $ as startBuildProgress, Ct as acquireBuildSlot, Et as releaseBuildSlot, Q as runFailureRecord, U as NO_BUILD_PROGRESS, at as readRunEstimates, et as tapBuildLog, it as createRunRecorder, lt as recordRunStats, st as recordCapacityRefusal, tt as thrownRunFailureRecord, ut as statsProjectKey$1 } from "./workspaces-BgAYIccE.mjs";
12
+ import { ht as withNativeBuildRun, mt as runCancellationSignal, ot as cancelledFailure, pt as runCancellation } from "./toolchain-CZvtCZ-m.mjs";
13
+ import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-CANftndU.mjs";
14
+ import { D as storedAppId } from "./build-cache-CJ65Efv7.mjs";
15
+ import { C as setRemoteLogSink } from "./client-qwmHFSga.mjs";
16
+ import { J as releaseLeaseOnAbort, L as resolveBuildPlacement, N as parseBuildMachineOption, U as acquireRunLease, W as leaseExpiryText, X as waitFlagConflict, Y as runLease } from "./support-BeVRaMWT.mjs";
17
+ import { i as hostedMetroSettings } from "./metro-request-BWCl3Zco.mjs";
18
+ import { a as writeHostedAndroidAsync, i as writeDevicePlacementAsync, t as readHostedAndroid } from "./ios-state-tzD0s7pt.mjs";
19
+ import { n as prepareHostedAndroid, t as placeHostedAndroid } from "./hosted-android-gwLspaz6.mjs";
20
+ import { n as verifyCollectorOwnership } from "./ownership-BLgOimfp.mjs";
21
+ import { i as restoreLightenedDependencies, n as printLightenedFailure } from "./lightened-KHWHmzGs.mjs";
22
+ import { c as startDevServer } from "./start-DI0ofPO-.mjs";
23
+ import { r as ensureSystemImage, t as androidImageInstallPolicy } from "./android-image-BcUD6bPi.mjs";
24
+ import { a as resolveEasDevelopmentBuild, r as isEasBuildFailure } from "./eas-build-4rg9WpEg.mjs";
25
+ import { t as followHostedLaunchLogs } from "./hosted-logs-sync-D3L1hDpM.mjs";
26
+ import { o as settleFingerprintCheck } from "./miss-reason-CeHvzeVm.mjs";
27
+ import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely, r as isPhysicalDeviceRequest, t as ensureDevServer } from "./native-runtime-BfvvAJLd.mjs";
28
+ import { t as lookupRecordedBuild } from "./recorded-build-B4prJjSD.mjs";
29
+ import { S as pooledAndroidDevice, a as PLATFORM, b as noDeviceDiagnostic, g as dumpApkManifest, h as displayPath, o as androidBuildOptions, p as apkPackage, r as NO_DEVICE, s as androidDevClientScheme } from "./support-DBKG3Yyb.mjs";
30
+ import { n as devicePlacementRecord } from "./placement-log-CM0DSELs.mjs";
31
+ import { n as acquireAndroidArtifactOrRecorded } from "./artifact-Dc1GsK7o.mjs";
32
+ import { a as persistLastBuild, c as androidDeviceSelectorRefusal, i as logPostBuildFailure, n as finishAndroidUpload, o as persistThrownBuild, s as reportAndroidResult, u as resolveAndroidRunPlan } from "./result-C-ISEJ5F.mjs";
33
+ import { n as devicePlacementLine, t as automaticDevicePlacement } from "./auto-placement-RNh4kx2T.mjs";
34
+ import { i as verifyAndroidMetroRun, r as finishAndroidRun } from "./launch-B-pkNlqg.mjs";
35
+ import { t as checkEasFallback } from "./eas-fallback-UGo0SG7T.mjs";
36
+ import { i as warmMetro, n as ensureBooted, r as ensureOwnedDevice, t as didSetUpDevice } from "./device-yfuJ-v4s.mjs";
37
+ import { a as AvdBootError, o as AvdRecoveryError } from "./device-android-CSlBXuh_.mjs";
38
+ import { t as selectFromPool } from "./device-pool-BEaTdtss.mjs";
39
39
  import { t as unsupportedPlan } from "./project-plan-BPwbLwQu.mjs";
40
- import { a as refusePlan, i as printPlan, n as planFlagRefusal } from "./build-plan-CgnLDof9.mjs";
40
+ import { a as refusePlan, i as printPlan, n as planFlagRefusal } from "./build-plan-DWajg5l_.mjs";
41
41
  import { join } from "node:path";
42
42
  import { workspaceId } from "@stim-cli/core";
43
43
  import { hostedAndroidStatus, parseMachine } from "@stim-cli/core/state";
@@ -1287,7 +1287,10 @@ async function runAndroid(options = {}) {
1287
1287
  metroCheck,
1288
1288
  writer,
1289
1289
  emit,
1290
- recordRun,
1290
+ recordRun: (outcome) => recordRun({
1291
+ ...outcome,
1292
+ remoteDevice: true
1293
+ }),
1291
1294
  reclaimed,
1292
1295
  devServer,
1293
1296
  recordBuild
@@ -1417,7 +1420,10 @@ async function runAndroid(options = {}) {
1417
1420
  now,
1418
1421
  out,
1419
1422
  emit,
1420
- recordRun,
1423
+ recordRun: (outcome) => recordRun({
1424
+ ...outcome,
1425
+ remoteDevice: Boolean(remoteDevice)
1426
+ }),
1421
1427
  reclaimed,
1422
1428
  devServer,
1423
1429
  enterPhase: progress.step,
@@ -1,6 +1,6 @@
1
- import { M as withDirLock$1, _ as ensureWorkspaceStorage } from "./workspace-state-DOPXG2Gp.mjs";
1
+ import { M as withDirLock$1, _ as ensureWorkspaceStorage } from "./workspace-state-CHEN_xzy.mjs";
2
2
  import { d as getConfigDir } from "./config-CNmN-ndb.mjs";
3
- import { m as defaultAndroidLayout } from "./settings-Ag4pbs0z.mjs";
3
+ import { m as defaultAndroidLayout } from "./settings-Cz8kQJzr.mjs";
4
4
  import { r as register } from "./cache-manifest-BO0TIcPV.mjs";
5
5
  import { createHash, randomUUID } from "node:crypto";
6
6
  import { accessSync, constants, existsSync, mkdirSync, readFileSync, realpathSync, renameSync, statSync, writeFileSync } from "node:fs";
@@ -1,6 +1,6 @@
1
1
  import { D as ownership_claim_exports, T as process_identity_exports, l as cancellableSleep, t as getExecutor } from "./exec-L37dbiIb.mjs";
2
- import { it as settingValueAt } from "./settings-Ag4pbs0z.mjs";
3
- import { Q as pickDefaultSystemImage, d as androidToolPath, j as hostSystemImageArch, kt as recordInstalledSystemImageAsync, o as androidHome, z as listInstalledSystemImages } from "./android-CGctfYpv.mjs";
2
+ import { it as settingValueAt } from "./settings-Cz8kQJzr.mjs";
3
+ import { Q as pickDefaultSystemImage, d as androidToolPath, j as hostSystemImageArch, kt as recordInstalledSystemImageAsync, o as androidHome, z as listInstalledSystemImages } from "./android-27_JgJ1T.mjs";
4
4
  import { createHash } from "node:crypto";
5
5
  import { existsSync, readFileSync, realpathSync, statfsSync } from "node:fs";
6
6
  import { isAbsolute, join } from "node:path";
package/dist/api.d.mts CHANGED
@@ -566,7 +566,7 @@ interface GcJsonSections {
566
566
  }[];
567
567
  orphanedWorkspaces: {
568
568
  dir: string;
569
- projectRoot: string;
569
+ projectRoot: string | null;
570
570
  bytes: number | null;
571
571
  }[];
572
572
  linkedWorktrees: {
@@ -642,7 +642,7 @@ interface GcJsonSections {
642
642
  workspaceRoot: string;
643
643
  }[];
644
644
  staleStatusCaches: {
645
- kind: "disk-usage" | "pull-request";
645
+ kind: "disk-usage" | "pull-request" | "git-merge";
646
646
  path: string;
647
647
  file: string;
648
648
  bytes: number;
package/dist/api.mjs CHANGED
@@ -1,33 +1,33 @@
1
1
  import { C as operationState, D as ownership_claim_exports, a as trackReportResource, d as throwIfCancelled, f as WorkspaceProcessCleanupError, i as runReport, u as cancelledError } from "./exec-L37dbiIb.mjs";
2
- import { E as workspaceDir, a as recordWorkspaceUseAsync, k as workspaceLogsDir$1, v as ensureWorkspaceStorageAsync } from "./workspace-state-DOPXG2Gp.mjs";
3
- import { l as phaseLine } from "./command-output-ByEmIwur.mjs";
2
+ import { E as workspaceDir, a as recordWorkspaceUseAsync, k as workspaceLogsDir$1, v as ensureWorkspaceStorageAsync } from "./workspace-state-CHEN_xzy.mjs";
3
+ import { l as phaseLine } from "./command-output-DsjhOzJ3.mjs";
4
4
  import { A as withConfigLockAsync$1, O as upsertProject, b as refuseRelativeStimPaths, m as getProject, vt as validateDeviceSlot } from "./config-CNmN-ndb.mjs";
5
- import { Vt as repoRootAsync, Z as resolveProjectSettingsAsync, _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, p as cacheProviderSettingError, rt as settingShapeErrors, st as unknownSettingKeys } from "./settings-Ag4pbs0z.mjs";
6
- import { c as projectProblem, f as projectRegistry, i as findProjectRoot$1, r as findCommandWorkspaceAsync, t as NO_PROJECT_REFUSAL } from "./project-BCtQz48d.mjs";
7
- import { n as macosDir } from "./state-DsrFh3yv.mjs";
5
+ import { Vt as repoRootAsync, Z as resolveProjectSettingsAsync, _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, p as cacheProviderSettingError, rt as settingShapeErrors, st as unknownSettingKeys } from "./settings-Cz8kQJzr.mjs";
6
+ import { c as projectProblem, f as projectRegistry, i as findProjectRoot$1, r as findCommandWorkspaceAsync, t as NO_PROJECT_REFUSAL } from "./project-DIo71tGq.mjs";
7
+ import { n as macosDir } from "./state-45P8Kd6Z.mjs";
8
8
  import { c as ensureHomeIdentity, s as workspaceShareURL } from "./stim-desktop-DWGAfaud.mjs";
9
9
  import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
10
- import { $ as tapBuildLog, Q as startBuildProgress, X as recordFinishedBuild, tt as errorRemedy } from "./workspaces-DCzDzydB.mjs";
11
- import { _t as runCancellationSignal, vt as withNativeBuildRun } from "./toolchain-BeD7tbBW.mjs";
12
- import { L as resolveBuildPlacement } from "./support-CfYmOdQs.mjs";
13
- import { c as stopWorkspaceNow } from "./stop-CkmBkNyg.mjs";
14
- import { r as runReload } from "./reload-DGWfNFwQ.mjs";
15
- import { m as warmWorktreeTarget, p as removeWorktreeTarget } from "./worktree-BAC43Kio.mjs";
16
- import { i as restoreLightenedDependencies } from "./lightened-Cdfmo8MO.mjs";
17
- import { c as startDevServer } from "./start-CzBB5R7N.mjs";
18
- import { s as recordDoctorCheck } from "./doctor-watchman-CPE4C8KV.mjs";
19
- import { c as readSettingsPayload, s as readSettingsContext, t as SettingsRefusal } from "./settings-payload-CUM0DYwz.mjs";
20
- import { a as readDoctorReport } from "./doctor-CPzwqcXY.mjs";
21
- import { i as readGcReport, n as executeGc, o as withGcMaintenanceClaim } from "./gc-0jdcnDHs.mjs";
22
- import { r as readWorkspaceLogs, t as followWorkspaceLogs } from "./logs-DAjxBF3c.mjs";
10
+ import { $ as startBuildProgress, Z as recordFinishedBuild, et as tapBuildLog, nt as errorRemedy } from "./workspaces-BgAYIccE.mjs";
11
+ import { ht as withNativeBuildRun, mt as runCancellationSignal } from "./toolchain-CZvtCZ-m.mjs";
12
+ import { L as resolveBuildPlacement } from "./support-BeVRaMWT.mjs";
13
+ import { c as stopWorkspaceNow } from "./stop-BPrTEOaz.mjs";
14
+ import { r as runReload } from "./reload-DTd9g1EG.mjs";
15
+ import { m as warmWorktreeTarget, p as removeWorktreeTarget } from "./worktree-kGPE9Pcw.mjs";
16
+ import { i as restoreLightenedDependencies } from "./lightened-KHWHmzGs.mjs";
17
+ import { c as startDevServer } from "./start-DI0ofPO-.mjs";
18
+ import { s as recordDoctorCheck } from "./doctor-watchman-B8e3s9ko.mjs";
19
+ import { c as readSettingsPayload, s as readSettingsContext, t as SettingsRefusal } from "./settings-payload-BOcxsZ6k.mjs";
20
+ import { a as readDoctorReport } from "./doctor-BQ1Kl44s.mjs";
21
+ import { i as readGcReport, n as executeGc, o as withGcMaintenanceClaim } from "./gc-3DHVCn-k.mjs";
22
+ import { r as readWorkspaceLogs, t as followWorkspaceLogs } from "./logs-HomiqPhV.mjs";
23
23
  import { t as readProjectStats } from "./stats-report-Ci6TAfFm.mjs";
24
- import { n as pruneArtifactCopies } from "./recorded-build-CGHGCO8m.mjs";
25
- import { n as buildAndroidOperation, t as buildIosOperation } from "./build-DIhuoozz.mjs";
26
- import { a as readAndroidBuildPlan, i as runAndroidOperation } from "./android-BBwLpxRh.mjs";
27
- import { i as readIosBuildPlan, r as runIosOperation } from "./ios-CGyx4PA7.mjs";
28
- import { a as buildMacosBundle, i as planMacos, n as runMacos } from "./macos-D_LAseN9.mjs";
29
- import { t as runWeb } from "./web-BXbmysa1.mjs";
30
- import { t as mutateSetting } from "./settings-write-D_9_IEx7.mjs";
24
+ import { n as pruneArtifactCopies } from "./recorded-build-B4prJjSD.mjs";
25
+ import { n as buildAndroidOperation, t as buildIosOperation } from "./build-DkE5vjp1.mjs";
26
+ import { a as readAndroidBuildPlan, i as runAndroidOperation } from "./android-Z6Eev9rL.mjs";
27
+ import { i as readIosBuildPlan, r as runIosOperation } from "./ios-M7nRVb33.mjs";
28
+ import { a as buildMacosBundle, i as planMacos, n as runMacos } from "./macos-zMxSibx5.mjs";
29
+ import { t as runWeb } from "./web-BvAweypa.mjs";
30
+ import { t as mutateSetting } from "./settings-write-BuMPL1rd.mjs";
31
31
  import { randomBytes } from "node:crypto";
32
32
  import { mkdirSync, mkdtempSync, readFileSync, realpathSync, rmSync } from "node:fs";
33
33
  import { stripVTControlCharacters } from "node:util";
@@ -1,5 +1,5 @@
1
- import { y as sharedBuildCache } from "./workspace-state-DOPXG2Gp.mjs";
2
- import { O as findBuildTool } from "./android-CGctfYpv.mjs";
1
+ import { y as sharedBuildCache } from "./workspace-state-CHEN_xzy.mjs";
2
+ import { O as findBuildTool } from "./android-27_JgJ1T.mjs";
3
3
  import { createHash, randomUUID } from "node:crypto";
4
4
  import { closeSync, fstatSync, openSync, readFileSync, readSync, realpathSync, renameSync, rmSync } from "node:fs";
5
5
  import { basename, dirname, join } from "node:path";
@@ -1,16 +1,16 @@
1
1
  import { D as ownership_claim_exports, d as throwIfCancelled, w as withDrainingCancellation } from "./exec-L37dbiIb.mjs";
2
- import { E as workspaceDir } from "./workspace-state-DOPXG2Gp.mjs";
3
- import { _ as stepTimer, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-ByEmIwur.mjs";
4
- import { C as CCACHE_UNAVAILABLE, Gn as RESOLVE_TIMEOUT_MS, S as CCACHE_NOT_RUN, Xn as isEasAuthFailureText, Yn as easAuthNote, w as ccacheActivityLine } from "./device-capacity-DWUOvY13.mjs";
5
- import { _t as runCancellationSignal, lt as cancelledFailure } from "./toolchain-BeD7tbBW.mjs";
6
- import { S as providerDownloadPath, x as prepareProviderDownloadDir } from "./build-cache-Dt-dhCJF.mjs";
7
- import { c as offloadPlacement, i as closeOffload, l as placementLoad, n as buildPlacementCandidates, o as offloadBuild, r as chooseBuildMachine, u as remotePhaseText } from "./client-DU6dnGX1.mjs";
8
- import { A as fingerprintMismatchRemedy, D as OffloadRefusal, F as requireLocalBuild, M as namedBuildMachine, O as automaticBuild, j as missingPackageManagerRemedy } from "./support-CfYmOdQs.mjs";
9
- import { f as formatDiagnostic } from "./react-native-build-dixAL2G8.mjs";
10
- import { u as skippedMissReason } from "./prebuild-BKkj3OyL.mjs";
11
- import { a as PLATFORM, h as displayPath } from "./support-JZ4KRW0C.mjs";
12
- import { n as settleArtifactUploads, r as retainFailedTranscript, t as acquireArtifact } from "./acquire-artifact-zBUbPuDP.mjs";
13
- import { t as buildPlacementRecord } from "./placement-log-oQnELAvQ.mjs";
2
+ import { E as workspaceDir } from "./workspace-state-CHEN_xzy.mjs";
3
+ import { _ as stepTimer, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-DsjhOzJ3.mjs";
4
+ import { $n as isEasAuthFailureText, C as CCACHE_UNAVAILABLE, Jn as RESOLVE_TIMEOUT_MS, Qn as easAuthNote, S as CCACHE_NOT_RUN, w as ccacheActivityLine } from "./device-capacity-D_IlxZRL.mjs";
5
+ import { mt as runCancellationSignal, ot as cancelledFailure } from "./toolchain-CZvtCZ-m.mjs";
6
+ import { S as providerDownloadPath, x as prepareProviderDownloadDir } from "./build-cache-CJ65Efv7.mjs";
7
+ import { c as offloadPlacement, i as closeOffload, l as placementLoad, n as buildPlacementCandidates, o as offloadBuild, r as chooseBuildMachine, s as offloadCheck, u as remotePhaseText } from "./client-qwmHFSga.mjs";
8
+ import { A as fingerprintMismatchRemedy, D as OffloadRefusal, F as requireLocalBuild, M as namedBuildMachine, O as automaticBuild, j as missingPackageManagerRemedy, tt as predictedRefusal } from "./support-BeVRaMWT.mjs";
9
+ import { f as formatDiagnostic } from "./react-native-build-CFYTYmG4.mjs";
10
+ import { i as skippedMissReason } from "./miss-reason-CeHvzeVm.mjs";
11
+ import { a as PLATFORM, h as displayPath } from "./support-DBKG3Yyb.mjs";
12
+ import { n as settleArtifactUploads, r as retainFailedTranscript, t as acquireArtifact } from "./acquire-artifact-QKPDkesw.mjs";
13
+ import { t as buildPlacementRecord } from "./placement-log-CM0DSELs.mjs";
14
14
  import { t as AndroidRecipeRefusal } from "./android-project-BCAAmMwz.mjs";
15
15
  import { rmSync } from "node:fs";
16
16
  import { join } from "node:path";
@@ -311,8 +311,7 @@ async function acquireAndroidArtifact({ context, root, buildLog, writer, recipe,
311
311
  }
312
312
  return true;
313
313
  }
314
- /** Whether this build should leave this machine, before any machine is asked; null builds here. */
315
- function placeBuild() {
314
+ async function placeBuild() {
316
315
  if (cacheIneligible && !recipe.offload?.supportsUncachedArtifacts) {
317
316
  if (namedBuildMachine(buildMachine)) throw new OffloadRefusal(buildMachine, cacheIneligible);
318
317
  hereReason = cacheIneligible;
@@ -349,6 +348,21 @@ async function acquireAndroidArtifact({ context, root, buildLog, writer, recipe,
349
348
  if (buildMachine !== "local") phase("build", `placement: here (${placement.reason})`);
350
349
  return null;
351
350
  }
351
+ const named = machines.find((each) => each.machine === buildMachine);
352
+ const offload = recipe.offload;
353
+ if (placement.code === "named" && named && offload) {
354
+ const check = await offloadCheck(root, async () => [await offload.target()])(named).catch((error) => {
355
+ throwIfCancelled(signal, "Android build");
356
+ fallBack(error instanceof Error ? error.message : String(error));
357
+ return null;
358
+ });
359
+ if (!check) return null;
360
+ const predicted = predictedRefusal(buildMachine, check.problems);
361
+ if (predicted) fallBack(predicted.reason, predicted.reason, {
362
+ machine: buildMachine,
363
+ remedy: predicted.remedy
364
+ });
365
+ }
352
366
  return {
353
367
  cacheOnly: false,
354
368
  here,
@@ -1,15 +1,15 @@
1
1
  import { D as ownership_claim_exports, d as throwIfCancelled, w as withDrainingCancellation } from "./exec-L37dbiIb.mjs";
2
- import { E as workspaceDir } from "./workspace-state-DOPXG2Gp.mjs";
3
- import { _ as stepTimer, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-ByEmIwur.mjs";
4
- import { Gn as RESOLVE_TIMEOUT_MS, Xn as isEasAuthFailureText, Yn as easAuthNote } from "./device-capacity-DWUOvY13.mjs";
5
- import { A as COMPILATION_CACHE_NOT_RUN, F as compilationCacheActivityLine, _t as runCancellationSignal, lt as cancelledFailure } from "./toolchain-BeD7tbBW.mjs";
6
- import { C as providerUploadOutcome, D as storedAppId, S as providerDownloadPath, x as prepareProviderDownloadDir } from "./build-cache-Dt-dhCJF.mjs";
7
- import { T as clearCorruptCompilationCache, c as offloadPlacement, i as closeOffload, l as placementLoad, n as buildPlacementCandidates, o as offloadBuild, r as chooseBuildMachine, s as offloadCheck, u as remotePhaseText, w as COMPILATION_CACHE_CORRUPT } from "./client-DU6dnGX1.mjs";
8
- import { A as fingerprintMismatchRemedy, D as OffloadRefusal, F as requireLocalBuild, M as namedBuildMachine, O as automaticBuild, P as podsFailedRemedy, S as xcodeFailureReport, j as missingPackageManagerRemedy, p as printDiagnostics, tt as predictedRefusal, u as isReleaseConfiguration } from "./support-CfYmOdQs.mjs";
9
- import { f as settleFingerprintCheck, u as skippedMissReason } from "./prebuild-BKkj3OyL.mjs";
10
- import { n as settleArtifactUploads, r as retainFailedTranscript, t as acquireArtifact } from "./acquire-artifact-zBUbPuDP.mjs";
11
- import { t as buildPlacementRecord } from "./placement-log-oQnELAvQ.mjs";
12
- import { r as finishIosUpload, t as IosRecipeRefusal } from "./ios-project-XHg87vyQ.mjs";
2
+ import { E as workspaceDir } from "./workspace-state-CHEN_xzy.mjs";
3
+ import { _ as stepTimer, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-DsjhOzJ3.mjs";
4
+ import { $n as isEasAuthFailureText, Jn as RESOLVE_TIMEOUT_MS, Qn as easAuthNote } from "./device-capacity-D_IlxZRL.mjs";
5
+ import { D as COMPILATION_CACHE_NOT_RUN, M as compilationCacheActivityLine, mt as runCancellationSignal, ot as cancelledFailure } from "./toolchain-CZvtCZ-m.mjs";
6
+ import { C as providerUploadOutcome, D as storedAppId, S as providerDownloadPath, x as prepareProviderDownloadDir } from "./build-cache-CJ65Efv7.mjs";
7
+ import { T as clearCorruptCompilationCache, c as offloadPlacement, i as closeOffload, l as placementLoad, n as buildPlacementCandidates, o as offloadBuild, r as chooseBuildMachine, s as offloadCheck, u as remotePhaseText, w as COMPILATION_CACHE_CORRUPT } from "./client-qwmHFSga.mjs";
8
+ import { A as fingerprintMismatchRemedy, D as OffloadRefusal, F as requireLocalBuild, M as namedBuildMachine, O as automaticBuild, P as podsFailedRemedy, S as xcodeFailureReport, j as missingPackageManagerRemedy, p as printDiagnostics, tt as predictedRefusal, u as isReleaseConfiguration } from "./support-BeVRaMWT.mjs";
9
+ import { i as skippedMissReason, o as settleFingerprintCheck } from "./miss-reason-CeHvzeVm.mjs";
10
+ import { n as settleArtifactUploads, r as retainFailedTranscript, t as acquireArtifact } from "./acquire-artifact-QKPDkesw.mjs";
11
+ import { t as buildPlacementRecord } from "./placement-log-CM0DSELs.mjs";
12
+ import { r as finishIosUpload, t as IosRecipeRefusal } from "./ios-project-Bsm-eqwv.mjs";
13
13
  import { rmSync } from "node:fs";
14
14
  import { join } from "node:path";
15
15
  import { machineCapacity } from "@stim-cli/core/state";
@@ -1,10 +1,10 @@
1
1
  import { m as getProject, v as loadConfig$1 } from "./config-CNmN-ndb.mjs";
2
- import { F as peekBudget, d as peekDeviceSlots, t as DEFAULT_DEVICE_SLOT_WAIT_MS } from "./device-capacity-DWUOvY13.mjs";
3
- import { z as readHostMemoryPressureAsync } from "./ios-BveW7qK1.mjs";
4
- import { I as resolveBuildMachine, M as namedBuildMachine, it as hostingMachines } from "./support-CfYmOdQs.mjs";
5
- import { h as requireHostedAppMode, l as call, u as connectHost } from "./hosted-client-BLwuXEZS.mjs";
6
- import { c as writeHostedNativeAsync, r as readHostedNative } from "./ios-state-enWc5P6U.mjs";
7
- import { i as prepareHostedNative } from "./hosted-native-OBT2sJxn.mjs";
2
+ import { F as peekBudget, d as peekDeviceSlots, t as DEFAULT_DEVICE_SLOT_WAIT_MS } from "./device-capacity-D_IlxZRL.mjs";
3
+ import { z as readHostMemoryPressureAsync } from "./ios-DQEzde6f.mjs";
4
+ import { I as resolveBuildMachine, M as namedBuildMachine, it as hostingMachines } from "./support-BeVRaMWT.mjs";
5
+ import { h as requireHostedAppMode, l as call, u as connectHost } from "./hosted-client-B_h_bTlz.mjs";
6
+ import { c as writeHostedNativeAsync, r as readHostedNative } from "./ios-state-tzD0s7pt.mjs";
7
+ import { i as prepareHostedNative } from "./hosted-native-B6ur_0OJ.mjs";
8
8
  import { ambientEnv } from "@stim-cli/core";
9
9
  import { automaticMachineEnabled, isJsonObject, machineCapacity, mayRunHere, parseHostedChoice, parseHostedNativeOffer, prefersRemote } from "@stim-cli/core/state";
10
10
  import { setTimeout } from "node:timers/promises";
@@ -1,17 +1,17 @@
1
1
  import { D as ownership_claim_exports, T as process_identity_exports, d as throwIfCancelled, f as WorkspaceProcessCleanupError, p as withWorkspaceProcessLock, t as getExecutor, u as cancelledError } from "./exec-L37dbiIb.mjs";
2
- import { E as workspaceDir, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1 } from "./workspace-state-DOPXG2Gp.mjs";
3
- import { l as phaseLine } from "./command-output-ByEmIwur.mjs";
2
+ import { E as workspaceDir, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1 } from "./workspace-state-CHEN_xzy.mjs";
3
+ import { l as phaseLine } from "./command-output-DsjhOzJ3.mjs";
4
4
  import { m as getProject } from "./config-CNmN-ndb.mjs";
5
- import { N as metroPortSetting, a as SETTING_SHAPE_REMEDY, ct as webSettings } from "./settings-Ag4pbs0z.mjs";
6
- import { b as isPackageResolvable, v as detectIsExpo } from "./project-BCtQz48d.mjs";
7
- import { d as resolveProjectMetro } from "./metro-TIQ1Wft-.mjs";
5
+ import { N as metroPortSetting, a as SETTING_SHAPE_REMEDY, ct as webSettings } from "./settings-Cz8kQJzr.mjs";
6
+ import { b as isPackageResolvable, v as detectIsExpo } from "./project-DIo71tGq.mjs";
7
+ import { d as resolveProjectMetro } from "./metro-Cj6W4qOO.mjs";
8
8
  import { c as readNdjsonGenerations$1 } from "./ndjson-CrjIsGzw.mjs";
9
- import { dn as readMetroRecords } from "./device-capacity-DWUOvY13.mjs";
10
- import { f as webLogFile, m as webSupervisorLogFile, o as readWebRecord, s as updateWebRecord } from "./state-CfP-ccP8.mjs";
11
- import { ft as teardownBrowserHeld, x as resolveSupervisorTarget } from "./workspaces-DCzDzydB.mjs";
12
- import { i as reserveBrowserPort, n as getNamedPort } from "./named-ports-BfEMi9bK.mjs";
9
+ import { mn as readMetroRecords } from "./device-capacity-D_IlxZRL.mjs";
10
+ import { f as webLogFile, m as webSupervisorLogFile, o as readWebRecord, s as updateWebRecord } from "./state-C2vELPyr.mjs";
11
+ import { pt as teardownBrowserHeld, x as resolveSupervisorTarget } from "./workspaces-BgAYIccE.mjs";
12
+ import { i as reserveBrowserPort, n as getNamedPort } from "./named-ports-DZ8DrkH1.mjs";
13
13
  import { n as sendToOwnedPage, t as liveWebRecord } from "./page-CoN9al_x.mjs";
14
- import { o as resolveWorkspaceMetroPort } from "./start-CzBB5R7N.mjs";
14
+ import { o as resolveWorkspaceMetroPort } from "./start-DI0ofPO-.mjs";
15
15
  import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
16
16
  import { n as windowsLauncherArgs } from "./detached-entry-VqFeEE9W.mjs";
17
17
  import { a as findChrome, t as CHROME_INSTALL_REMEDY } from "./chrome-DL5znvmo.mjs";