stim 1.31.0 → 1.33.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.
- package/dist/{acquire-artifact-P84h3ssa.mjs → acquire-artifact-DTh_LxrE.mjs} +2 -2
- package/dist/{act-lcOIEy32.mjs → act-Cur4YKtK.mjs} +74 -25
- package/dist/{activity-Dw4N_RFe.mjs → activity-C8kBq9w0.mjs} +6 -6
- package/dist/{agent-device-usage-output-Boie2yB-.mjs → agent-device-usage-output-BTRaK_up.mjs} +5 -5
- package/dist/{android-BeeC15Ve.mjs → android-B2DSKg-A.mjs} +2 -2
- package/dist/{android-DhiWSOFU.mjs → android-BL-QqHjc.mjs} +87 -53
- package/dist/{android-aIuJZoDu.mjs → android-D5mCdVl2.mjs} +5 -5
- package/dist/{android-DsEj2CCs.mjs → android-Iq0M2t2d.mjs} +27 -15
- package/dist/{android-cas-CbumHXIq.mjs → android-cas-Dhcjkys1.mjs} +4 -4
- package/dist/android-cas-compiler.mjs +1 -1
- package/dist/android-image-DFk26aY6.mjs +254 -0
- package/dist/{android-project-CCEQyYJK.d.mts → android-project-BDlPnfmL.d.mts} +1 -1
- package/dist/api.d.mts +2 -1
- package/dist/api.mjs +28 -28
- package/dist/{apk-signed-tail-B9Usseps.mjs → apk-signed-tail-CPpA-3vu.mjs} +2 -2
- package/dist/{artifact-ta3xA0c4.mjs → artifact-BMjubIP2.mjs} +13 -13
- package/dist/{artifact-Cr34-Yyy.mjs → artifact-BufzdGbT.mjs} +34 -21
- package/dist/{artifact-platform-BO2Uvk_A.mjs → artifact-platform-DqCWUieN.mjs} +1 -1
- package/dist/{auto-placement-DtTRG0rk.mjs → auto-placement-D7P98glJ.mjs} +11 -9
- package/dist/{browser-web-DuULNZrS.mjs → browser-web-C74et-Nv.mjs} +15 -15
- package/dist/{build-BpFFbdXD.mjs → build-DFBGWOTc.mjs} +23 -23
- package/dist/{build-cache-BsKim4V7.mjs → build-cache-Cqj4FGnX.mjs} +20 -8
- package/dist/{build-plan-DH1rT11x.mjs → build-plan-T3Hi24ax.mjs} +7 -7
- package/dist/{cache-manifest-CfiEny4T.mjs → cache-manifest-8JX9S1QJ.mjs} +1 -1
- package/dist/cache-manifest.mjs +1 -1
- package/dist/{ccache-DVDO2ocE.mjs → ccache-BXtzEL6M.mjs} +34 -24
- package/dist/{cdp-C3svvXiE.mjs → cdp-C216kOAn.mjs} +1 -1
- package/dist/{chrome-DyDWurWG.mjs → chrome-C8sC5tdl.mjs} +1 -1
- package/dist/{cli-C0jjwTuM.mjs → cli-B2YSjc9s.mjs} +20 -20
- package/dist/cli.mjs +1 -1
- package/dist/{client-DhJOvSvh.mjs → client-0_Mnfz0a.mjs} +29 -9
- package/dist/collector-run.mjs +7 -7
- package/dist/{command-output-VrXd6qPX.mjs → command-output-DWI9tGPU.mjs} +1 -1
- package/dist/{config-D5qNWJEP.mjs → config-BW0fAtoK.mjs} +256 -246
- package/dist/{dependencies-DIU-5rnG.mjs → dependencies-CgvBZbXD.mjs} +39 -39
- package/dist/{dependency-state-DZVln1P9.mjs → dependency-state-mL5g4H6K.mjs} +2 -2
- package/dist/{detached-entry-BPlSaCwC.mjs → detached-entry-tfrgGVWb.mjs} +1 -1
- package/dist/{dev-client-DeAg0fso.mjs → dev-client-ChsHwgrn.mjs} +2 -2
- package/dist/{device-C2WsPgFt.mjs → device-B0htCt2u.mjs} +13 -13
- package/dist/{device-DuNLOlR6.mjs → device-DOehZpyx.mjs} +11 -11
- package/dist/{device-android-BjhH0Ru3.mjs → device-android-B8TQP5AX.mjs} +10 -10
- package/dist/{device-capacity-Du5wBTNJ.mjs → device-capacity-BAkETfIl.mjs} +9 -9
- package/dist/device-host-worker.mjs +58 -17
- package/dist/{device-ios-CUYUhSYO.mjs → device-ios-DFaYFdar.mjs} +9 -9
- package/dist/{device-lease-run-CHXQEn-7.mjs → device-lease-run-DpiCnRbZ.mjs} +5 -5
- package/dist/{device-pool-kUHO7MHO.mjs → device-pool-DP4sCeCC.mjs} +3 -3
- package/dist/{device-provision-e7bKS7lx.mjs → device-provision-CnNOIxCF.mjs} +10 -10
- package/dist/{doctor-BGcsAgAV.mjs → doctor-9GrW5YSP.mjs} +30 -17
- package/dist/{doctor-B6kIVgU9.mjs → doctor-C6Xn96RS.mjs} +1 -1
- package/dist/{doctor-fingerprint-o7ZI9YLn.mjs → doctor-fingerprint-DqWvIhMb.mjs} +1 -1
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-hva3sd9f.mjs → doctor-nRLBoajo.mjs} +54 -25
- package/dist/{doctor-watchman-DJY550yz.mjs → doctor-watchman-CDhpC3Oh.mjs} +5 -5
- package/dist/{eas-build-CBFgseh1.mjs → eas-build-CpJ4h9tG.mjs} +4 -4
- package/dist/{eas-fallback-DFXdz4d6.mjs → eas-fallback-B3z5nL1g.mjs} +6 -6
- package/dist/{eas-session-ledger-aFBLTZr2.mjs → eas-session-ledger-Bspy-VJQ.mjs} +6 -6
- package/dist/{error-diagnostics-CCsq_3uG.mjs → error-diagnostics-DoLGklYX.mjs} +10 -10
- package/dist/{exec-aULwtNly.mjs → exec-CGuDzt40.mjs} +103 -103
- package/dist/{gc-DASUa3Z_.mjs → gc-BWoOp9q7.mjs} +2 -2
- package/dist/{gc-B0K4d_PL.mjs → gc-DolXpMSB.mjs} +25 -54
- package/dist/{guide-Civo5-zV.mjs → guide-CmZB0GtP.mjs} +194 -50
- package/dist/{hosted-android-CH1Sm4wo.mjs → hosted-android-ByG-ICuh.mjs} +4 -4
- package/dist/{hosted-client-5ur3YpxY.mjs → hosted-client-D19Lv0tg.mjs} +6 -5
- package/dist/{hosted-logs-BYg4yeti.mjs → hosted-logs-D7anR6Dk.mjs} +17 -11
- package/dist/{hosted-logs-sync-BPe8xnMu.mjs → hosted-logs-sync-D182b1eJ.mjs} +5 -5
- package/dist/{hosted-macos-BagT0Gn3.mjs → hosted-macos-D0DDQxvl.mjs} +6 -6
- package/dist/{hosted-native-kaR4nUHk.mjs → hosted-native-BzXIy97W.mjs} +15 -11
- package/dist/{idle-shutdown-BWHQ7mQG.mjs → idle-shutdown-6i8CHoNq.mjs} +6 -6
- package/dist/{ios-BKR-Dq46.mjs → ios-AdhPKXO3.mjs} +8 -8
- package/dist/{ios-CdAV4-1E.mjs → ios-BdZdNsAj.mjs} +6 -6
- package/dist/{ios-CsRVik64.mjs → ios-Qam0bT9n.mjs} +1 -1
- package/dist/{ios-DUL68MI5.mjs → ios-dbXzjTxx.mjs} +28 -28
- package/dist/{ios-device-CiBA-er9.mjs → ios-device-DLdEDWJj.mjs} +1 -1
- package/dist/{ios-device-Dz8gFZ0K.mjs → ios-device-DXbHZfFe.mjs} +3 -3
- package/dist/{ios-project-Br1tVYWX.mjs → ios-project-BzfLigfh.mjs} +7 -7
- package/dist/{ios-signing-BJzvDPfU.mjs → ios-signing-D-tSX1iF.mjs} +2 -2
- package/dist/{ios-state-BEIJRJ7P.mjs → ios-state-CWsBysyN.mjs} +1 -1
- package/dist/{js-swap-BfG8XpyS.mjs → js-swap-EDVOJmqx.mjs} +6 -6
- package/dist/{launch-CrGndh8T.mjs → launch-CKHpthsw.mjs} +20 -20
- package/dist/{lightened-DZ9Ip0T3.mjs → lightened-Cv4ToJRX.mjs} +5 -5
- package/dist/{logs-C-hfMsxK.mjs → logs-DCQ3_tGS.mjs} +6 -6
- package/dist/{logs-DpIKWT3A.mjs → logs-IagR9dWI.mjs} +7 -7
- package/dist/{macos-DZ9ZSolN.mjs → macos-Ch7vuM-G.mjs} +22 -22
- package/dist/{macos-DNmKwfDy.mjs → macos-pc0aVVbN.mjs} +1 -1
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +6 -6
- package/dist/{metro-mKHEMO-a.mjs → metro-B5PVz0Wv.mjs} +4 -4
- package/dist/{metro-request-RDhyx85c.mjs → metro-request-2LmFpC1z.mjs} +9 -3
- package/dist/{named-ports-B0hCk2v-.mjs → named-ports-CA0nB9Yw.mjs} +3 -3
- package/dist/{native-android-DExhFqR6.mjs → native-android-B3CEDq4R.mjs} +29 -19
- package/dist/{native-gradle-artifact-inputs-Bcmbdc23.mjs → native-gradle-artifact-inputs-BLnO2hHR.mjs} +5 -5
- package/dist/{native-runtime-D4qgnjK_.mjs → native-runtime-e1OU8gEN.mjs} +6 -6
- package/dist/{native-source-D1AzWiuP.mjs → native-source-ChAGj7R1.mjs} +1 -1
- package/dist/{native-xcode-inputs-EWma1lXh.mjs → native-xcode-inputs-DL3ETb8s.mjs} +3 -3
- package/dist/{native-xcode-ios-Y6rzmWTc.mjs → native-xcode-ios-D4e8k2Jy.mjs} +17 -17
- package/dist/offload-worker.d.mts +3 -1
- package/dist/offload-worker.mjs +37 -23
- package/dist/{operation-exec-Dp4FuIGR.mjs → operation-exec-DKlBcKAL.mjs} +1 -1
- package/dist/{ownership-CCfiBfOP.mjs → ownership-hC7xvvxF.mjs} +3 -3
- package/dist/{page-CQJlcj3x.mjs → page-Dj8IqvGM.mjs} +2 -2
- package/dist/{phone-reverses-Drj5QQCh.mjs → phone-reverses-rvyxW1Fl.mjs} +4 -4
- package/dist/{placement-log-CFT8SnlS.mjs → placement-log-nnGnu8mo.mjs} +1 -1
- package/dist/{plan-placement-DhKCH_wF.mjs → plan-placement-D3JD-T-K.mjs} +6 -6
- package/dist/{ports-BNtJ5DCj.mjs → ports-CZJJfJ8Q.mjs} +3 -3
- package/dist/{prebuild-D0hvmO4j.mjs → prebuild-Bhs7TTcz.mjs} +12 -12
- package/dist/{project-DCLkDM8C.mjs → project-DWEXiBA9.mjs} +16 -16
- package/dist/{pull-request-BzLmzAIQ.mjs → pull-request-BpMTNkMB.mjs} +2 -2
- package/dist/pull-requests.mjs +1 -1
- package/dist/{react-native-android-Dp7vctEA.mjs → react-native-android-C6Y270GS.mjs} +37 -33
- package/dist/{react-native-build-vK2lFYfN.mjs → react-native-build-DaPfzf_e.mjs} +10 -10
- package/dist/{react-native-doctor-BtWzwZHU.mjs → react-native-doctor-DGMPxkPS.mjs} +6 -6
- package/dist/{react-native-ios-DW1Ax3Yv.mjs → react-native-ios-dX48_92n.mjs} +21 -17
- package/dist/{recordings-BWnIlhZH.mjs → recordings-AKZfsW2W.mjs} +1 -1
- package/dist/{registration-BwCe64PH.mjs → registration-DKjJGQ6p.mjs} +1 -1
- package/dist/{reload-BS_ntVV_.mjs → reload-BGwblBJ9.mjs} +1 -1
- package/dist/{reload-B-d7-CsI.mjs → reload-DsOByDfy.mjs} +17 -17
- package/dist/{remote-DScVlaMz.mjs → remote-D0uJZ76R.mjs} +9 -9
- package/dist/{result-Epkl6gyG.mjs → result-DuimMZKJ.mjs} +24 -20
- package/dist/{run-2CHAJ9Oj.mjs → run-N-BbRxnC.mjs} +2 -2
- package/dist/{selection-C95m--1_.mjs → selection-xS50Mt0V.mjs} +5 -4
- package/dist/{server-bare-CFyVFZXJ.mjs → server-bare-BTlICuaX.mjs} +2 -2
- package/dist/{server-command-B1gDRJB2.mjs → server-command-BC0EgMfY.mjs} +5 -5
- package/dist/{server-expo-CP4dURQp.mjs → server-expo-15RjL0ir.mjs} +3 -3
- package/dist/server-expo-gYIypb0-.mjs +2 -0
- package/dist/{settings-C6UTYW2K.mjs → settings-B5IBDfTx.mjs} +4 -4
- package/dist/{settings-CjTRNCi3.mjs → settings-CuP55ieT.mjs} +2 -2
- package/dist/{settings-payload-zf5EnCTg.mjs → settings-payload-BIGGQ3or.mjs} +5 -5
- package/dist/{settings-write-Fe0K6BeC.mjs → settings-write-D85j8mej.mjs} +6 -6
- package/dist/settings.schema.json +40 -2
- package/dist/{simslim-93xmPh-d.mjs → simslim-DKdJx0LL.mjs} +2 -2
- package/dist/{slot-launch-B4MHzVX2.mjs → slot-launch-D4oREwhx.mjs} +6 -6
- package/dist/{stage-DDrnM0CY.mjs → stage-DKC6tDXu.mjs} +2 -2
- package/dist/{start-LSwIFlBv.mjs → start-BsEV4S-s.mjs} +12 -12
- package/dist/{start-BXl5tkv8.mjs → start-DfPSLc__.mjs} +1 -1
- package/dist/{state-CM_HvvkS.mjs → state-CtmYTRWm.mjs} +4 -4
- package/dist/{state-CiflgxTP.mjs → state-DSOUqO-o.mjs} +2 -2
- package/dist/{stats-EgpYD536.mjs → stats-ByEUblPr.mjs} +5 -5
- package/dist/{stats-report-B86Cv7Uc.mjs → stats-report-BVRCqwWA.mjs} +1 -1
- package/dist/{status-BLDvhatv.mjs → status-C6hLlDqW.mjs} +37 -28
- package/dist/{status-GQ-JqvRi.mjs → status-DTFhDnd1.mjs} +1 -1
- package/dist/{status-DBMD7ZQT.mjs → status-FP1MH9qn.mjs} +1 -1
- package/dist/{status-watch-BwG4lJ1q.mjs → status-watch-D8s823CZ.mjs} +5 -5
- package/dist/status-worker.mjs +1 -1
- package/dist/{stim-desktop-1XxET4S8.mjs → stim-desktop-_WTria-r.mjs} +2 -2
- package/dist/{stop-4SAV_RR8.mjs → stop-5LKfVv-0.mjs} +2 -2
- package/dist/{stop-WyrZQuX6.mjs → stop-BVI2-L7s.mjs} +16 -16
- package/dist/{stop-BfNhzvXO.mjs → stop-CpTy6bod.mjs} +5 -5
- package/dist/supervisor-run.mjs +137 -45
- package/dist/{support-Cffz6_Ft.mjs → support-CqyWfZZI.mjs} +18 -8
- package/dist/{support-Cs24xRQa.mjs → support-D8OH0z98.mjs} +9 -9
- package/dist/{swiftpm-artifact-inputs-yp8D5LE4.mjs → swiftpm-artifact-inputs-uq5oV7xR.mjs} +4 -4
- package/dist/{swiftpm-macos-D0CzQtpp.mjs → swiftpm-macos-BuhqYB3n.mjs} +11 -11
- package/dist/{toolchain-BEra9AIX.mjs → toolchain-D_jotUG7.mjs} +1 -1
- package/dist/{toolchain-CGdgD4x4.mjs → toolchain-s5ZmG42Z.mjs} +25 -14
- package/dist/{trigger-CfnOfpDd.mjs → trigger-BtB4kbe0.mjs} +2 -2
- package/dist/trigger-D8B7QR0q.mjs +2 -0
- package/dist/{warm-progress-_aTMvkIH.mjs → warm-progress-q11Vdvhh.mjs} +6 -6
- package/dist/{web-BE89ONcc.mjs → web-DwYCTFdh.mjs} +9 -9
- package/dist/web-cCfM8kwV.mjs +2 -0
- package/dist/web-run.mjs +8 -8
- package/dist/windows-report.mjs +1 -1
- package/dist/{workspace-state-3bF4TB8P.mjs → workspace-state-BdZ-QgmB.mjs} +3 -3
- package/dist/{workspaces-BNEyJ1B_.mjs → workspaces-B3ahAHZc.mjs} +18 -17
- package/dist/{worktree-BTrii9e_.mjs → worktree-BhsML6GV.mjs} +77 -31
- package/dist/{worktree-DB3Ypdj6.mjs → worktree-CrjsPIs2.mjs} +1 -1
- package/package.json +7 -7
- package/dist/server-expo-D3k9mvP8.mjs +0 -2
- package/dist/trigger-DBZ-GBrl.mjs +0 -2
- package/dist/web-DQPxvFVD.mjs +0 -2
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { t as getExecutor } from "./exec-
|
|
2
|
-
import { r as readWorkspaceState$1 } from "./workspace-state-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { I as readWorkspaceLaunches, P as readRemoteSession, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL } from "./project-
|
|
6
|
-
import { $ as probeEmulatorSerial, A as getAvdNameForSerialAsync, E as emulatorProbeSession, P as listAdbDevicesAsync, Z as physicalDeviceModel, at as resolvePhysicalDevice, c as androidPoolNoCandidatesRefusal, d as androidToolPath, it as resolveOwnedAvdSerialAsync, s as androidPoolCandidates, u as androidToolCwd } from "./android-
|
|
7
|
-
import { En as runProcessOperation } from "./ccache-
|
|
8
|
-
import { C as parseLeaseDuration, D as releaseWorkspaceLeases, j as takeLease, y as fileLeaseIo } from "./activity-
|
|
9
|
-
import { D as resolveOwnedIosSim, f as listAllIosSimsAsync } from "./ios-
|
|
10
|
-
import { l as parseDeviceWait, p as waitForDevice } from "./device-lease-run-
|
|
11
|
-
import { n as runProvision } from "./device-provision-
|
|
12
|
-
import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, l as listIosDevices, o as iosPoolNoCandidatesRefusal } from "./ios-device-
|
|
13
|
-
import { t as selectFromPool } from "./device-pool-
|
|
1
|
+
import { t as getExecutor } from "./exec-CGuDzt40.mjs";
|
|
2
|
+
import { r as readWorkspaceState$1 } from "./workspace-state-BdZ-QgmB.mjs";
|
|
3
|
+
import { r as clockTime } from "./command-output-DWI9tGPU.mjs";
|
|
4
|
+
import { dt as deviceSlotKey, ft as deviceSlotPlatforms, ht as projectDeviceSlots, m as getProject, mt as parseDeviceSlotOption } from "./config-BW0fAtoK.mjs";
|
|
5
|
+
import { I as readWorkspaceLaunches, P as readRemoteSession, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL } from "./project-DWEXiBA9.mjs";
|
|
6
|
+
import { $ as probeEmulatorSerial, A as getAvdNameForSerialAsync, E as emulatorProbeSession, P as listAdbDevicesAsync, Z as physicalDeviceModel, at as resolvePhysicalDevice, c as androidPoolNoCandidatesRefusal, d as androidToolPath, it as resolveOwnedAvdSerialAsync, s as androidPoolCandidates, u as androidToolCwd } from "./android-Iq0M2t2d.mjs";
|
|
7
|
+
import { En as runProcessOperation } from "./ccache-BXtzEL6M.mjs";
|
|
8
|
+
import { C as parseLeaseDuration, D as releaseWorkspaceLeases, j as takeLease, y as fileLeaseIo } from "./activity-C8kBq9w0.mjs";
|
|
9
|
+
import { D as resolveOwnedIosSim, f as listAllIosSimsAsync } from "./ios-BdZdNsAj.mjs";
|
|
10
|
+
import { l as parseDeviceWait, p as waitForDevice } from "./device-lease-run-DpiCnRbZ.mjs";
|
|
11
|
+
import { n as runProvision } from "./device-provision-CnNOIxCF.mjs";
|
|
12
|
+
import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, l as listIosDevices, o as iosPoolNoCandidatesRefusal } from "./ios-device-DXbHZfFe.mjs";
|
|
13
|
+
import { t as selectFromPool } from "./device-pool-DP4sCeCC.mjs";
|
|
14
14
|
import { hostedNativeRecords } from "@stim-cli/core/state";
|
|
15
15
|
import chalk from "chalk";
|
|
16
16
|
//#region src/commands/device-tools.ts
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { s as ownedDeviceLabel } from "./project-
|
|
3
|
-
import { x as configureNewOwnedAvd } from "./android-
|
|
4
|
-
import { c as pidExists } from "./metro-
|
|
5
|
-
import { pt as teardownOwnedAvd } from "./workspaces-
|
|
6
|
-
import { h as tailLines } from "./activity-
|
|
7
|
-
import "./ios-
|
|
8
|
-
import { t as clearDeviceIdleShutdown } from "./idle-shutdown-
|
|
9
|
-
import { i as ensureOwnedIosDevice, r as ensureIosBooted } from "./device-ios-
|
|
10
|
-
import { t as reconcileSimSlim } from "./simslim-
|
|
11
|
-
import { n as ensureAndroidBooted, r as ensureOwnedAndroidDevice, t as ANDROID_BOOT_TIMEOUT_MS } from "./device-android-
|
|
1
|
+
import { ft as deviceSlotPlatforms } from "./config-BW0fAtoK.mjs";
|
|
2
|
+
import { s as ownedDeviceLabel } from "./project-DWEXiBA9.mjs";
|
|
3
|
+
import { x as configureNewOwnedAvd } from "./android-Iq0M2t2d.mjs";
|
|
4
|
+
import { c as pidExists } from "./metro-B5PVz0Wv.mjs";
|
|
5
|
+
import { pt as teardownOwnedAvd } from "./workspaces-B3ahAHZc.mjs";
|
|
6
|
+
import { h as tailLines } from "./activity-C8kBq9w0.mjs";
|
|
7
|
+
import "./ios-BdZdNsAj.mjs";
|
|
8
|
+
import { t as clearDeviceIdleShutdown } from "./idle-shutdown-6i8CHoNq.mjs";
|
|
9
|
+
import { i as ensureOwnedIosDevice, r as ensureIosBooted } from "./device-ios-DFaYFdar.mjs";
|
|
10
|
+
import { t as reconcileSimSlim } from "./simslim-DKdJx0LL.mjs";
|
|
11
|
+
import { n as ensureAndroidBooted, r as ensureOwnedAndroidDevice, t as ANDROID_BOOT_TIMEOUT_MS } from "./device-android-B8TQP5AX.mjs";
|
|
12
12
|
import { existsSync } from "node:fs";
|
|
13
13
|
import { dirname, join, resolve, sep } from "node:path";
|
|
14
14
|
import { rotatedLogPath } from "@stim-cli/core";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { D as ownership_claim_exports, t as getExecutor } from "./exec-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { l as androidDataPartitionSizeGbSetting, o as androidAvdConfigSetting } from "./settings-
|
|
5
|
-
import { A as getAvdNameForSerialAsync, G as ownedAvdName, H as ownedAvdDeviceProfile, J as ownedAvdSystemImage, P as listAdbDevicesAsync, Q as pickDefaultSystemImage, R as listAvdsAsync, S as createOwnedAvd, V as nextConsolePort, W as ownedAvdMatchesConfiguration, _ as avdPoolConfiguration, b as bootAndroidEmulator, bt as parkedMaxSetting, ht as adoptParked, it as resolveOwnedAvdSerialAsync, n as OWNED_AVD_CONFIG_DEFAULTS, p as assertOwnedAvdStoppedAsync, t as DEFAULT_AVD_DEVICE_PROFILE, ut as waitForBoot, vt as isLegacyDeletionClaim, xt as readParked, z as listInstalledSystemImages } from "./android-
|
|
6
|
-
import { c as pidExists } from "./metro-
|
|
7
|
-
import { gt as teardownParkedAvd, pt as teardownOwnedAvd } from "./workspaces-
|
|
8
|
-
import { B as reportMemoryCulprits, L as memoryCulpritsUnderAsync, R as readHostMemoryPressure, V as memoryCulpritAdvice, f as listAllIosSimsAsync } from "./ios-
|
|
9
|
-
import { _ as withDeviceBootAdmission, n as DeviceAdmissionRefusal, s as countLiveOwnedDevicesFrom } from "./device-capacity-
|
|
1
|
+
import { D as ownership_claim_exports, t as getExecutor } from "./exec-CGuDzt40.mjs";
|
|
2
|
+
import { l as phaseLine } from "./command-output-DWI9tGPU.mjs";
|
|
3
|
+
import { M as acquireAvdClaim, O as withConfigLock, T as setDevice, a as clearDevice, ft as deviceSlotPlatforms, ht as projectDeviceSlots, i as clearAndroidBootPending, k as withConfigLockAsync, t as allConsolePortsAndSerials, v as loadConfig, x as releaseAndroidConsolePort } from "./config-BW0fAtoK.mjs";
|
|
4
|
+
import { l as androidDataPartitionSizeGbSetting, o as androidAvdConfigSetting } from "./settings-B5IBDfTx.mjs";
|
|
5
|
+
import { A as getAvdNameForSerialAsync, G as ownedAvdName, H as ownedAvdDeviceProfile, J as ownedAvdSystemImage, P as listAdbDevicesAsync, Q as pickDefaultSystemImage, R as listAvdsAsync, S as createOwnedAvd, V as nextConsolePort, W as ownedAvdMatchesConfiguration, _ as avdPoolConfiguration, b as bootAndroidEmulator, bt as parkedMaxSetting, ht as adoptParked, it as resolveOwnedAvdSerialAsync, n as OWNED_AVD_CONFIG_DEFAULTS, p as assertOwnedAvdStoppedAsync, t as DEFAULT_AVD_DEVICE_PROFILE, ut as waitForBoot, vt as isLegacyDeletionClaim, xt as readParked, z as listInstalledSystemImages } from "./android-Iq0M2t2d.mjs";
|
|
6
|
+
import { c as pidExists } from "./metro-B5PVz0Wv.mjs";
|
|
7
|
+
import { gt as teardownParkedAvd, pt as teardownOwnedAvd } from "./workspaces-B3ahAHZc.mjs";
|
|
8
|
+
import { B as reportMemoryCulprits, L as memoryCulpritsUnderAsync, R as readHostMemoryPressure, V as memoryCulpritAdvice, f as listAllIosSimsAsync } from "./ios-BdZdNsAj.mjs";
|
|
9
|
+
import { _ as withDeviceBootAdmission, n as DeviceAdmissionRefusal, s as countLiveOwnedDevicesFrom } from "./device-capacity-BAkETfIl.mjs";
|
|
10
10
|
import { claimRemoveCommand, clearClaimChild, markClaimChildPending, processGroupAlive, releaseClaim, setClaimChild } from "@stim-cli/core/ownership-claim";
|
|
11
11
|
import { randomUUID } from "node:crypto";
|
|
12
12
|
import { existsSync } from "node:fs";
|
|
13
13
|
import { isDeepStrictEqual } from "node:util";
|
|
14
|
+
import chalk from "chalk";
|
|
14
15
|
import { fileURLToPath } from "node:url";
|
|
15
16
|
import { captureProcessIdentity } from "@stim-cli/core/process-identity";
|
|
16
|
-
import chalk from "chalk";
|
|
17
17
|
//#region src/engine/android-avd-setup.ts
|
|
18
18
|
var AvdBootError = class extends Error {
|
|
19
19
|
remedy;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { D as ownership_claim_exports,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { g as deviceReclaimIdleMinutesSetting } from "./settings-
|
|
5
|
-
import { N as listAdbDevices, P as listAdbDevicesAsync } from "./android-
|
|
6
|
-
import { ot as recordCapacityRefusal, st as recordCapacityWait, v as withIdleWorkspace } from "./workspaces-
|
|
1
|
+
import { D as ownership_claim_exports, m as workspaceProcessLockError, p as withWorkspaceProcessLock } from "./exec-CGuDzt40.mjs";
|
|
2
|
+
import { a as formatElapsed, l as phaseLine } from "./command-output-DWI9tGPU.mjs";
|
|
3
|
+
import { d as getConfigDir, ft as deviceSlotPlatforms, ht as projectDeviceSlots, k as withConfigLockAsync$1, p as getPlatformDeviceLimits, u as getConcurrencyLimits, v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
|
|
4
|
+
import { g as deviceReclaimIdleMinutesSetting } from "./settings-B5IBDfTx.mjs";
|
|
5
|
+
import { N as listAdbDevices, P as listAdbDevicesAsync } from "./android-Iq0M2t2d.mjs";
|
|
6
|
+
import { ot as recordCapacityRefusal, st as recordCapacityWait, v as withIdleWorkspace } from "./workspaces-B3ahAHZc.mjs";
|
|
7
7
|
import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
|
|
8
|
-
import { d as listAllIosSims, f as listAllIosSimsAsync, l as iosRuntimeMatches, y as parseRuntimeVersion } from "./ios-
|
|
9
|
-
import { i as writeIdleShutdownEvent, n as dueIdleDevices, r as shutDownIdleDevices } from "./idle-shutdown-
|
|
8
|
+
import { d as listAllIosSims, f as listAllIosSimsAsync, l as iosRuntimeMatches, y as parseRuntimeVersion } from "./ios-BdZdNsAj.mjs";
|
|
9
|
+
import { i as writeIdleShutdownEvent, n as dueIdleDevices, r as shutDownIdleDevices } from "./idle-shutdown-6i8CHoNq.mjs";
|
|
10
10
|
import { realpathSync } from "node:fs";
|
|
11
11
|
import { basename, join } from "node:path";
|
|
12
12
|
import { workspaceId } from "@stim-cli/core";
|
|
@@ -852,7 +852,7 @@ function unknownAndroidSystemImageRefusal(requested, images) {
|
|
|
852
852
|
if ((images || []).some((i) => i.pkg === requested)) return null;
|
|
853
853
|
return {
|
|
854
854
|
message: `No installed Android system image is named "${requested}". Installed system images: ${installedNames((images || []).map((i) => i.pkg))}.`,
|
|
855
|
-
remedy: "Pass `--system-image` (or set android.systemImage) to one of the package ids printed above.
|
|
855
|
+
remedy: "Pass `--system-image` (or set android.systemImage) to one of the package ids printed above."
|
|
856
856
|
};
|
|
857
857
|
}
|
|
858
858
|
function unknownAndroidDeviceProfileRefusal(requested, profiles) {
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import { t as getExecutor } from "./exec-
|
|
2
|
-
import { _ as ensureWorkspaceStorage, d as writeWorkspaceState } from "./workspace-state-
|
|
3
|
-
import { c as ensureConfig, k as withConfigLockAsync$1, v as loadConfig$1 } from "./config-
|
|
4
|
-
import { i as macosProcess, o as requiredMacosRecord } from "./state-
|
|
5
|
-
import { A as getAvdNameForSerialAsync, F as listAvdDeviceProfiles, G as ownedAvdName, J as ownedAvdSystemImage, P as listAdbDevicesAsync, Q as pickDefaultSystemImage, R as listAvdsAsync, S as createOwnedAvd, Tt as forgetCreatedDeviceAsync, a as androidDeviceAbi, b as bootAndroidEmulator, d as androidToolPath, f as assertOwnedAvdStopped, g as avdPathExists, it as resolveOwnedAvdSerialAsync, j as hostSystemImageArch, rt as resetAdoptedAvd, t as DEFAULT_AVD_DEVICE_PROFILE, ut as waitForBoot, y as avdStorageRoots, z as listInstalledSystemImages } from "./android-
|
|
6
|
-
import { a as parsePidof, i as parseLogcatLine, t as androidClockOffset } from "./android-
|
|
1
|
+
import { t as getExecutor } from "./exec-CGuDzt40.mjs";
|
|
2
|
+
import { _ as ensureWorkspaceStorage, d as writeWorkspaceState } from "./workspace-state-BdZ-QgmB.mjs";
|
|
3
|
+
import { c as ensureConfig, k as withConfigLockAsync$1, v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
|
|
4
|
+
import { i as macosProcess, o as requiredMacosRecord } from "./state-DSOUqO-o.mjs";
|
|
5
|
+
import { A as getAvdNameForSerialAsync, F as listAvdDeviceProfiles, G as ownedAvdName, J as ownedAvdSystemImage, P as listAdbDevicesAsync, Q as pickDefaultSystemImage, R as listAvdsAsync, S as createOwnedAvd, Tt as forgetCreatedDeviceAsync, a as androidDeviceAbi, b as bootAndroidEmulator, d as androidToolPath, f as assertOwnedAvdStopped, g as avdPathExists, it as resolveOwnedAvdSerialAsync, j as hostSystemImageArch, rt as resetAdoptedAvd, t as DEFAULT_AVD_DEVICE_PROFILE, ut as waitForBoot, y as avdStorageRoots, z as listInstalledSystemImages } from "./android-Iq0M2t2d.mjs";
|
|
6
|
+
import { a as parsePidof, i as parseLogcatLine, t as androidClockOffset } from "./android-B2DSKg-A.mjs";
|
|
7
7
|
import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
|
|
8
|
-
import { _n as reverseMetroPorts, dn as installIosApp, fn as iosAppProcess, hn as launchIosApp, ln as installAndroidApp, mn as launchAndroidReleaseApp, pn as launchAndroidApp, tn as androidAppProcess, vn as writeDebugHttpHost } from "./ccache-
|
|
9
|
-
import { ht as teardownOwnedIosSim, pt as teardownOwnedAvd } from "./workspaces-
|
|
10
|
-
import { E as resolveIosCreation, R as readHostMemoryPressure, T as resetIosPrivacy, a as createOwnedIosSim, d as listAllIosSims, g as listUserApps, j as uninstallIosApp, n as bootIosSim, w as resetIosKeychain } from "./ios-
|
|
11
|
-
import { i as stopMacosAppHeld, n as stopHostedBundleInstances } from "./stop-
|
|
8
|
+
import { _n as reverseMetroPorts, dn as installIosApp, fn as iosAppProcess, hn as launchIosApp, ln as installAndroidApp, mn as launchAndroidReleaseApp, pn as launchAndroidApp, tn as androidAppProcess, vn as writeDebugHttpHost } from "./ccache-BXtzEL6M.mjs";
|
|
9
|
+
import { ht as teardownOwnedIosSim, pt as teardownOwnedAvd } from "./workspaces-B3ahAHZc.mjs";
|
|
10
|
+
import { E as resolveIosCreation, R as readHostMemoryPressure, T as resetIosPrivacy, a as createOwnedIosSim, d as listAllIosSims, g as listUserApps, j as uninstallIosApp, n as bootIosSim, w as resetIosKeychain } from "./ios-BdZdNsAj.mjs";
|
|
11
|
+
import { i as stopMacosAppHeld, n as stopHostedBundleInstances } from "./stop-CpTy6bod.mjs";
|
|
12
12
|
import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
|
|
13
|
-
import { o as countLiveOwnedDevicesByPlatform } from "./device-capacity-
|
|
14
|
-
import { a as muteBootedSimulator } from "./device-ios-
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
13
|
+
import { o as countLiveOwnedDevicesByPlatform } from "./device-capacity-BAkETfIl.mjs";
|
|
14
|
+
import { a as muteBootedSimulator } from "./device-ios-DFaYFdar.mjs";
|
|
15
|
+
import { a as systemImageInstallProblem, n as decideSystemImage, r as ensureSystemImage, t as androidImageInstallPolicy } from "./android-image-DFk26aY6.mjs";
|
|
16
|
+
import { _ as findAapt } from "./support-CqyWfZZI.mjs";
|
|
17
|
+
import { i as muteBootedEmulator } from "./device-android-B8TQP5AX.mjs";
|
|
18
|
+
import { t as waitForMacosRegistration } from "./registration-DKjJGQ6p.mjs";
|
|
19
|
+
import { n as parseLogStreamLine } from "./ios-Qam0bT9n.mjs";
|
|
19
20
|
import { createHash, randomUUID } from "node:crypto";
|
|
20
21
|
import { chmodSync, closeSync, copyFileSync, createReadStream, existsSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, statfsSync, symlinkSync, writeFileSync } from "node:fs";
|
|
21
22
|
import { availableParallelism, freemem, homedir, loadavg } from "node:os";
|
|
@@ -676,6 +677,31 @@ async function portIsOccupied(port) {
|
|
|
676
677
|
const devices = await listAdbDevicesAsync({ timeoutMs: 5e3 });
|
|
677
678
|
return [...devices.emulators, ...devices.unhealthy].some((device) => device.consolePort === port);
|
|
678
679
|
}
|
|
680
|
+
/**
|
|
681
|
+
* Offers the image this host would use. A missing image is offered with `installImage` when this machine's
|
|
682
|
+
* android.installImages allows it and sdkmanager could install it now; otherwise the refusal names the host command.
|
|
683
|
+
*/
|
|
684
|
+
function offerHostedAndroidDevice(request) {
|
|
685
|
+
const decided = decideSystemImage({
|
|
686
|
+
requested: request.systemImage ?? null,
|
|
687
|
+
installed: listInstalledSystemImages(),
|
|
688
|
+
policy: androidImageInstallPolicy(loadConfig$1())
|
|
689
|
+
});
|
|
690
|
+
if (decided.kind === "refuse") throw new Error(`${decided.message} ${decided.remedy}`);
|
|
691
|
+
if (decided.kind === "installed") return { choice: selectHostedAndroidDevice(request) };
|
|
692
|
+
const problem = systemImageInstallProblem(decided.pkg, process.env);
|
|
693
|
+
if (problem) throw new Error(`${problem.message} ${problem.remedy}`);
|
|
694
|
+
const profile = request.deviceProfile ?? DEFAULT_AVD_DEVICE_PROFILE;
|
|
695
|
+
if (!listAvdDeviceProfiles().includes(profile)) throw new Error("The Android device profile is not installed.");
|
|
696
|
+
return {
|
|
697
|
+
choice: {
|
|
698
|
+
systemImage: decided.pkg,
|
|
699
|
+
deviceProfile: profile,
|
|
700
|
+
architecture: hostSystemImageArch() === "arm64-v8a" ? "arm64-v8a" : "x86_64"
|
|
701
|
+
},
|
|
702
|
+
installImage: decided.pkg
|
|
703
|
+
};
|
|
704
|
+
}
|
|
679
705
|
function selectHostedAndroidDevice(request) {
|
|
680
706
|
const image = pickDefaultSystemImage(listInstalledSystemImages(), { systemImage: request.systemImage });
|
|
681
707
|
if (!image || image.arch !== hostSystemImageArch()) throw new Error("No compatible installed Android image.");
|
|
@@ -1171,7 +1197,7 @@ async function inspectHostedDevice(request, options) {
|
|
|
1171
1197
|
declined: null
|
|
1172
1198
|
} : {
|
|
1173
1199
|
platform: "android",
|
|
1174
|
-
|
|
1200
|
+
...offerHostedAndroidDevice(request),
|
|
1175
1201
|
resources,
|
|
1176
1202
|
declined: null
|
|
1177
1203
|
};
|
|
@@ -1201,6 +1227,7 @@ async function main() {
|
|
|
1201
1227
|
"install",
|
|
1202
1228
|
"offer",
|
|
1203
1229
|
"count",
|
|
1230
|
+
"image",
|
|
1204
1231
|
"logs",
|
|
1205
1232
|
"reverse",
|
|
1206
1233
|
"park",
|
|
@@ -1222,6 +1249,20 @@ async function main() {
|
|
|
1222
1249
|
process.stdout.write(`${JSON.stringify(await inspectHostedDevice(request, exclude ? { exclude } : void 0))}\n`);
|
|
1223
1250
|
return;
|
|
1224
1251
|
}
|
|
1252
|
+
if (input.mode === "image") {
|
|
1253
|
+
if (input.systemImage !== void 0 && typeof input.systemImage !== "string") throw new Error("Invalid hosted image request.");
|
|
1254
|
+
const image = await ensureSystemImage({
|
|
1255
|
+
requested: input.systemImage ?? null,
|
|
1256
|
+
policy: androidImageInstallPolicy(loadConfig$1()),
|
|
1257
|
+
env: process.env,
|
|
1258
|
+
note: () => {}
|
|
1259
|
+
});
|
|
1260
|
+
process.stdout.write(`${JSON.stringify(image.ok ? { state: "ready" } : {
|
|
1261
|
+
state: "refused",
|
|
1262
|
+
notice: `${image.message} ${image.remedy}`
|
|
1263
|
+
})}\n`);
|
|
1264
|
+
return;
|
|
1265
|
+
}
|
|
1225
1266
|
if (process.platform !== "darwin") {
|
|
1226
1267
|
process.stdout.write(`${JSON.stringify({
|
|
1227
1268
|
state: input.mode === "prepare" ? "stopped" : "unknown",
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { D as ownership_claim_exports,
|
|
2
|
-
import { D as workspaceId$1, k as workspaceLogsDir$1 } from "./workspace-state-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { D as iosSimSlimProfileSetting, E as iosSimSlimDefaultSetting } from "./settings-
|
|
6
|
-
import { Ct as selectParked, bt as parkedMaxSetting, gt as dropParked, ht as adoptParked, xt as readParked } from "./android-
|
|
1
|
+
import { D as ownership_claim_exports, l as cancellableSleep, n as isTimeoutError, p as withWorkspaceProcessLock, t as getExecutor } from "./exec-CGuDzt40.mjs";
|
|
2
|
+
import { D as workspaceId$1, k as workspaceLogsDir$1 } from "./workspace-state-BdZ-QgmB.mjs";
|
|
3
|
+
import { l as phaseLine } from "./command-output-DWI9tGPU.mjs";
|
|
4
|
+
import { T as setDevice, a as clearDevice, d as getConfigDir, ft as deviceSlotPlatforms, ht as projectDeviceSlots, k as withConfigLockAsync$1, v as loadConfig$1, w as saveConfig } from "./config-BW0fAtoK.mjs";
|
|
5
|
+
import { D as iosSimSlimProfileSetting, E as iosSimSlimDefaultSetting } from "./settings-B5IBDfTx.mjs";
|
|
6
|
+
import { Ct as selectParked, bt as parkedMaxSetting, gt as dropParked, ht as adoptParked, xt as readParked } from "./android-Iq0M2t2d.mjs";
|
|
7
7
|
import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
|
|
8
|
-
import { _t as teardownParkedIosSim, ht as teardownOwnedIosSim } from "./workspaces-
|
|
9
|
-
import { A as springBoardRunning, B as reportMemoryCulprits, C as renameIosSim, D as resolveOwnedIosSim, E as resolveIosCreation, F as hostMemoryPressureAdvice, M as waitForSpringBoard, N as configuredIosSimulatorViewer, R as readHostMemoryPressure, S as readSpringBoardPid, T as resetIosPrivacy, _ as ownedSimName, a as createOwnedIosSim, d as listAllIosSims, f as listAllIosSimsAsync, h as listIosRuntimesAsync, n as bootIosSim, p as listIosDeviceTypesAsync, u as iosSimulatorFailureAdvice, w as resetIosKeychain, y as parseRuntimeVersion } from "./ios-
|
|
10
|
-
import { _ as withDeviceBootAdmission, f as runtimeMismatch, l as deviceTypeMismatch, n as DeviceAdmissionRefusal } from "./device-capacity-
|
|
8
|
+
import { _t as teardownParkedIosSim, ht as teardownOwnedIosSim } from "./workspaces-B3ahAHZc.mjs";
|
|
9
|
+
import { A as springBoardRunning, B as reportMemoryCulprits, C as renameIosSim, D as resolveOwnedIosSim, E as resolveIosCreation, F as hostMemoryPressureAdvice, M as waitForSpringBoard, N as configuredIosSimulatorViewer, R as readHostMemoryPressure, S as readSpringBoardPid, T as resetIosPrivacy, _ as ownedSimName, a as createOwnedIosSim, d as listAllIosSims, f as listAllIosSimsAsync, h as listIosRuntimesAsync, n as bootIosSim, p as listIosDeviceTypesAsync, u as iosSimulatorFailureAdvice, w as resetIosKeychain, y as parseRuntimeVersion } from "./ios-BdZdNsAj.mjs";
|
|
10
|
+
import { _ as withDeviceBootAdmission, f as runtimeMismatch, l as deviceTypeMismatch, n as DeviceAdmissionRefusal } from "./device-capacity-BAkETfIl.mjs";
|
|
11
11
|
import { createHash } from "node:crypto";
|
|
12
12
|
import { readFileSync } from "node:fs";
|
|
13
13
|
import { homedir } from "node:os";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { Xt as APP_READINESS_TIMEOUT_MS, zt as MANIFEST_VERIFY_TIMEOUT_MS } from "./ccache-
|
|
5
|
-
import { E as releaseRunLease, S as parseLease, T as raiseLease, b as leaseIsExpired, j as takeLease, v as deviceLeasePath, y as fileLeaseIo } from "./activity-
|
|
1
|
+
import { C as operationState } from "./exec-CGuDzt40.mjs";
|
|
2
|
+
import { a as formatElapsed, r as clockTime } from "./command-output-DWI9tGPU.mjs";
|
|
3
|
+
import { dt as deviceSlotKey } from "./config-BW0fAtoK.mjs";
|
|
4
|
+
import { Xt as APP_READINESS_TIMEOUT_MS, zt as MANIFEST_VERIFY_TIMEOUT_MS } from "./ccache-BXtzEL6M.mjs";
|
|
5
|
+
import { E as releaseRunLease, S as parseLease, T as raiseLease, b as leaseIsExpired, j as takeLease, v as deviceLeasePath, y as fileLeaseIo } from "./activity-C8kBq9w0.mjs";
|
|
6
6
|
//#region src/engine/device-lease-run.ts
|
|
7
7
|
const LEASE_STEP_FLOOR_MS = 6e4;
|
|
8
8
|
const DEBUG_VERIFY_STEP_MS = MANIFEST_VERIFY_TIMEOUT_MS + APP_READINESS_TIMEOUT_MS;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { A as selectPoolDevice, S as parseLease, b as leaseIsExpired, v as deviceLeasePath, y as fileLeaseIo } from "./activity-
|
|
3
|
-
import { i as DEVICE_WAIT_POLL_MS, n as DEVICE_BUSY, o as leaseExpiryText } from "./device-lease-run-
|
|
1
|
+
import { dt as deviceSlotKey } from "./config-BW0fAtoK.mjs";
|
|
2
|
+
import { A as selectPoolDevice, S as parseLease, b as leaseIsExpired, v as deviceLeasePath, y as fileLeaseIo } from "./activity-C8kBq9w0.mjs";
|
|
3
|
+
import { i as DEVICE_WAIT_POLL_MS, n as DEVICE_BUSY, o as leaseExpiryText } from "./device-lease-run-DpiCnRbZ.mjs";
|
|
4
4
|
//#region src/engine/device-pool.ts
|
|
5
5
|
function heldPoolId(root, platform, now, io = fileLeaseIo, slot = "default") {
|
|
6
6
|
const record = io.readHolder(root)[deviceSlotKey(platform, slot)];
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
|
|
1
|
+
import { C as operationState, t as getExecutor } from "./exec-CGuDzt40.mjs";
|
|
3
2
|
import { t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
3
|
+
import { v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
|
|
4
|
+
import { X as resolveProjectSettings, Y as resolveIosProjectDir, an as makeTemporaryDirectory, it as settingValueAt, on as removeTemporaryEntry } from "./settings-B5IBDfTx.mjs";
|
|
5
|
+
import { f as projectRegistry, g as selectNativeXcodeProject, i as findProjectRoot$1, p as NativeXcodeError, t as NO_PROJECT_REFUSAL } from "./project-DWEXiBA9.mjs";
|
|
6
|
+
import { U as resolveScheme, q as xcodebuildArgs } from "./toolchain-s5ZmG42Z.mjs";
|
|
7
|
+
import { a as discoverXcodeProject } from "./react-native-build-DaPfzf_e.mjs";
|
|
8
|
+
import { m as resolveConfiguration, y as resolveSchemeSelection } from "./support-D8OH0z98.mjs";
|
|
9
|
+
import { n as findSigningIdentities, o as parsePlist, s as parseProvisioningProfilePlist, t as decodeProvisioningProfile } from "./ios-signing-D-tSX1iF.mjs";
|
|
10
|
+
import { f as resolveIosPhysicalDevice, l as listIosDevices } from "./ios-device-DXbHZfFe.mjs";
|
|
11
|
+
import { i as nativeXcodePackages, t as nativeXcodeHasPackages } from "./native-xcode-inputs-DL3ETb8s.mjs";
|
|
12
12
|
import { existsSync, readdirSync, realpathSync, statSync } from "node:fs";
|
|
13
13
|
import { homedir } from "node:os";
|
|
14
14
|
import { join } from "node:path";
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Bt as repoRoot, z as projectSettingsContextAsync } from "./settings-
|
|
4
|
-
import { f as projectRegistry, t as NO_PROJECT_REFUSAL } from "./project-
|
|
5
|
-
import { Qn as inspectWatchmanMemory, f as inspectBudget, l as budgetLine, nr as memorySweepIsScoped } from "./ccache-
|
|
6
|
-
import { c as inspectStimVersions, s as compareStimVersions } from "./eas-session-ledger-
|
|
7
|
-
import { L as detectXcodeMajorAsync } from "./toolchain-
|
|
8
|
-
import { H as memoryCulpritFindings, U as readMemoryCulpritsAsync, f as listAllIosSimsAsync, h as listIosRuntimesAsync, l as iosRuntimeMatches, x as pickDefaultIosCreation } from "./ios-
|
|
9
|
-
import { s as offloadCheck } from "./client-
|
|
10
|
-
import { g as configuredMachines, p as inspectBuildMachines, v as inspectDeviceHostMachines } from "./selection-
|
|
11
|
-
import { r as maintenanceStatus, t as maintenanceLine } from "./status-
|
|
12
|
-
import { a as writeIgnoreDirs, c as recordDoctorRun, i as watchedCheckouts, n as inspectNestedWorktrees, r as nestedWorktreeFinding } from "./doctor-watchman-
|
|
13
|
-
import {
|
|
14
|
-
import { h as resolveDeviceType, v as resolveRuntime } from "./support-
|
|
15
|
-
import {
|
|
1
|
+
import { f as refuseNoProject, l as phaseLine } from "./command-output-DWI9tGPU.mjs";
|
|
2
|
+
import { B as keyConfirmer, L as doctorIo, m as getProject, v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
|
|
3
|
+
import { Bt as repoRoot, q as resolveAndroidLayout, z as projectSettingsContextAsync } from "./settings-B5IBDfTx.mjs";
|
|
4
|
+
import { f as projectRegistry, t as NO_PROJECT_REFUSAL } from "./project-DWEXiBA9.mjs";
|
|
5
|
+
import { Qn as inspectWatchmanMemory, f as inspectBudget, l as budgetLine, nr as memorySweepIsScoped } from "./ccache-BXtzEL6M.mjs";
|
|
6
|
+
import { c as inspectStimVersions, s as compareStimVersions } from "./eas-session-ledger-Bspy-VJQ.mjs";
|
|
7
|
+
import { L as detectXcodeMajorAsync } from "./toolchain-s5ZmG42Z.mjs";
|
|
8
|
+
import { H as memoryCulpritFindings, U as readMemoryCulpritsAsync, f as listAllIosSimsAsync, h as listIosRuntimesAsync, l as iosRuntimeMatches, x as pickDefaultIosCreation } from "./ios-BdZdNsAj.mjs";
|
|
9
|
+
import { s as offloadCheck } from "./client-0_Mnfz0a.mjs";
|
|
10
|
+
import { g as configuredMachines, p as inspectBuildMachines, v as inspectDeviceHostMachines } from "./selection-xS50Mt0V.mjs";
|
|
11
|
+
import { r as maintenanceStatus, t as maintenanceLine } from "./status-DTFhDnd1.mjs";
|
|
12
|
+
import { a as writeIgnoreDirs, c as recordDoctorRun, i as watchedCheckouts, n as inspectNestedWorktrees, r as nestedWorktreeFinding } from "./doctor-watchman-CDhpC3Oh.mjs";
|
|
13
|
+
import { l as checkWorktreeStorageLayout, s as runDoctor, t as androidImageDecision, u as readMachineSettings } from "./doctor-nRLBoajo.mjs";
|
|
14
|
+
import { h as resolveDeviceType, v as resolveRuntime } from "./support-D8OH0z98.mjs";
|
|
15
|
+
import { i as installSystemImage } from "./android-image-DFk26aY6.mjs";
|
|
16
|
+
import { t as confirmInTerminal } from "./device-provision-CnNOIxCF.mjs";
|
|
16
17
|
import { isJsonObject, maintenanceNdjsonFile, readHostedAppMetadata, readHostedSessions } from "@stim-cli/core/state";
|
|
17
18
|
import { dirname, join, sep } from "path";
|
|
18
19
|
import chalk from "chalk";
|
|
@@ -234,7 +235,7 @@ function hostedAgentDriverFinding(driver, apps) {
|
|
|
234
235
|
level: "note",
|
|
235
236
|
title: `${apps === 1 ? "A hosted app runs" : `${apps} hosted apps run`} with no agent driver`,
|
|
236
237
|
detail: "The client's coding agent cannot drive these apps because `hosting.agentDriver` is none, so stim-server starts no driver. agent-device confines macOS control to one macos-app lease and iOS or Android control to one device through its daemon policy.",
|
|
237
|
-
fix: "stim settings set hosting.agentDriver agent-device, with agent-device 0.21.
|
|
238
|
+
fix: "stim settings set hosting.agentDriver agent-device, with agent-device 0.21.30 or later"
|
|
238
239
|
};
|
|
239
240
|
}
|
|
240
241
|
function runningHostedApps() {
|
|
@@ -537,7 +538,7 @@ async function assembleDoctorReport(root, opts, version, prepared, inspectVersio
|
|
|
537
538
|
};
|
|
538
539
|
}
|
|
539
540
|
function doctorCommand(program, version, inspectVersions = inspectStimVersions, host = process.platform, registry = projectRegistry) {
|
|
540
|
-
program.command("doctor").description("Inspect the source checkout and report project state that can make native worktrees slow or invalid. The checkout is left untouched unless --fix is passed; --platform filters native findings. Each run in a supported native app is recorded in Stim state so guide can say when doctor is due.").option("--json", "print the findings as JSON").option("--platform <platform>", "report shared findings plus only this native platform: ios or android", parseDoctorPlatform).option("--fix", "repair the sandbox allowance when the report names it, and stale Android .cxx configurations in a React Native or Expo checkout; add linked worktrees nested in a checkout to its .watchmanconfig ignore_dirs; ask each remote machine in remote.machines for build and device-host approval. Stop native builds first. Generated CMake output must be ignored and untracked; custom launcher settings and source files are preserved.").action(async (opts) => {
|
|
541
|
+
program.command("doctor").description("Inspect the source checkout and report project state that can make native worktrees slow or invalid. The checkout is left untouched unless --fix is passed; --platform filters native findings. Each run in a supported native app is recorded in Stim state so guide can say when doctor is due.").option("--json", "print the findings as JSON").option("--platform <platform>", "report shared findings plus only this native platform: ios or android", parseDoctorPlatform).option("--fix", "repair the sandbox allowance when the report names it, and stale Android .cxx configurations in a React Native or Expo checkout; install the Android system image stim android would install on its first emulator run; add linked worktrees nested in a checkout to its .watchmanconfig ignore_dirs; ask each remote machine in remote.machines for build and device-host approval. Stop native builds first. Generated CMake output must be ignored and untracked; custom launcher settings and source files are preserved.").action(async (opts) => {
|
|
541
542
|
const root = registry.findProjectRoot(process.cwd());
|
|
542
543
|
if (!root) {
|
|
543
544
|
refuseNoProject({ json: Boolean(opts.json) });
|
|
@@ -559,6 +560,18 @@ function doctorCommand(program, version, inspectVersions = inspectStimVersions,
|
|
|
559
560
|
process.exitCode = 1;
|
|
560
561
|
}
|
|
561
562
|
}
|
|
563
|
+
const image = settings && androidImageDecision(opts.platform, resolveAndroidLayout(settings, root, settingsContext.repoRoot ?? root), settings, process.env);
|
|
564
|
+
if (image?.kind === "install") {
|
|
565
|
+
const installed = await installSystemImage({
|
|
566
|
+
pkg: image.pkg,
|
|
567
|
+
env: process.env,
|
|
568
|
+
note: (line) => console.error(phaseLine("image", line))
|
|
569
|
+
});
|
|
570
|
+
if (!installed.ok) {
|
|
571
|
+
console.error(phaseLine("image", `${installed.message} ${installed.remedy}`));
|
|
572
|
+
process.exitCode = 1;
|
|
573
|
+
} else if (installed.installed) console.error(phaseLine("image", `installed ${image.pkg}`));
|
|
574
|
+
}
|
|
562
575
|
const nestedToFix = await inspectNestedWorktrees(root);
|
|
563
576
|
const watchedToFix = await watchedCheckouts(nestedToFix.map((entry) => entry.checkout));
|
|
564
577
|
for (const entry of nestedToFix) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as readDoctorReport, i as parseDoctorPlatform, n as doctorCommand, o as shadowedStimFinding, r as doctorSuccessLines, s as toolchainReport, t as applySandboxFix } from "./doctor-
|
|
1
|
+
import { a as readDoctorReport, i as parseDoctorPlatform, n as doctorCommand, o as shadowedStimFinding, r as doctorSuccessLines, s as toolchainReport, t as applySandboxFix } from "./doctor-9GrW5YSP.mjs";
|
|
2
2
|
export { applySandboxFix, doctorCommand as default, doctorSuccessLines, parseDoctorPlatform, readDoctorReport, shadowedStimFinding, toolchainReport };
|
|
@@ -1,28 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { T as workspaceDerivedData, r as readWorkspaceState$1, y as sharedBuildCache } from "./workspace-state-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { l as gitQuietAsync, o as git } from "./operation-exec-
|
|
6
|
-
import { Bt as repoRoot, D as iosSimSlimProfileSetting, E as iosSimSlimDefaultSetting, G as remoteIosSetting, Nt as locallyKnownUpstreamAsync, Q as resolveSettings, R as projectSettingsContext, St as gitCommonDirAsync, U as remoteAndroidSetting, V as readCommittedSettings, Vt as repoRootAsync, Wt as resolveSourceCheckoutAsync, Y as resolveIosProjectDir, a as SETTING_SHAPE_REMEDY, an as makeTemporaryDirectory, at as settingsLayers, cn as temporaryRoot, ct as webSettings, i as SETTINGS_WITH_RESOLVE_TIME_FALLBACK, in as filesystemDevice, it as settingValueAt, jt as listWorktreesAsync, k as mergeSettingsLayers, m as defaultAndroidLayout, q as resolveAndroidLayout, r as PATH_SETTINGS, rt as settingShapeErrors, st as unknownSettingKeys, tt as settingOrigin, yt as dirtyFingerprintFiles } from "./settings-
|
|
7
|
-
import { C as resolvePackageJson, _ as appProjectProblem, b as isPackageResolvable, v as detectIsExpo } from "./project-
|
|
8
|
-
import { bt as parkedMaxSetting, j as hostSystemImageArch, mt as POOL_SETTING_REMEDY, o as androidHome } from "./android-
|
|
9
|
-
import { An as checkEasAuth$1, Fn as providerFromConfig, Gn as easCliSupport, Kn as easCliUpgradeRemedy, Ln as resolveEasCliBin, Pn as ownerFromConfig, Wn as MIN_EAS_CLI_SIMULATOR_VERSION, a as projectCmakeLauncher, i as ccacheInstallCommand, jt as readInstalledEasCliVersionAsync } from "./ccache-
|
|
10
|
-
import { wt as listBuildSlots } from "./workspaces-
|
|
11
|
-
import { X as podInstallCommand } from "./toolchain-
|
|
12
|
-
import { N as listBuildLocks } from "./activity-
|
|
13
|
-
import {
|
|
14
|
-
import { F as hostMemoryPressureAdvice, z as readHostMemoryPressureAsync } from "./ios-
|
|
1
|
+
import { a as trackReportResource, r as reportSignal, t as getExecutor } from "./exec-CGuDzt40.mjs";
|
|
2
|
+
import { T as workspaceDerivedData, r as readWorkspaceState$1, y as sharedBuildCache } from "./workspace-state-BdZ-QgmB.mjs";
|
|
3
|
+
import { d as quotedPath, u as plural } from "./command-output-DWI9tGPU.mjs";
|
|
4
|
+
import { G as realIo, p as getPlatformDeviceLimits, s as configCorruptRepair, u as getConcurrencyLimits, v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
|
|
5
|
+
import { l as gitQuietAsync, o as git } from "./operation-exec-DKlBcKAL.mjs";
|
|
6
|
+
import { Bt as repoRoot, D as iosSimSlimProfileSetting, E as iosSimSlimDefaultSetting, G as remoteIosSetting, Nt as locallyKnownUpstreamAsync, Q as resolveSettings, R as projectSettingsContext, St as gitCommonDirAsync, U as remoteAndroidSetting, V as readCommittedSettings, Vt as repoRootAsync, Wt as resolveSourceCheckoutAsync, Y as resolveIosProjectDir, a as SETTING_SHAPE_REMEDY, an as makeTemporaryDirectory, at as settingsLayers, cn as temporaryRoot, ct as webSettings, i as SETTINGS_WITH_RESOLVE_TIME_FALLBACK, in as filesystemDevice, it as settingValueAt, jt as listWorktreesAsync, k as mergeSettingsLayers, m as defaultAndroidLayout, q as resolveAndroidLayout, r as PATH_SETTINGS, rt as settingShapeErrors, st as unknownSettingKeys, tt as settingOrigin, yt as dirtyFingerprintFiles } from "./settings-B5IBDfTx.mjs";
|
|
7
|
+
import { C as resolvePackageJson, _ as appProjectProblem, b as isPackageResolvable, v as detectIsExpo } from "./project-DWEXiBA9.mjs";
|
|
8
|
+
import { bt as parkedMaxSetting, j as hostSystemImageArch, mt as POOL_SETTING_REMEDY, o as androidHome, z as listInstalledSystemImages } from "./android-Iq0M2t2d.mjs";
|
|
9
|
+
import { An as checkEasAuth$1, Fn as providerFromConfig, Gn as easCliSupport, Kn as easCliUpgradeRemedy, Ln as resolveEasCliBin, Pn as ownerFromConfig, Wn as MIN_EAS_CLI_SIMULATOR_VERSION, a as projectCmakeLauncher, i as ccacheInstallCommand, jt as readInstalledEasCliVersionAsync } from "./ccache-BXtzEL6M.mjs";
|
|
10
|
+
import { wt as listBuildSlots } from "./workspaces-B3ahAHZc.mjs";
|
|
11
|
+
import { X as podInstallCommand } from "./toolchain-s5ZmG42Z.mjs";
|
|
12
|
+
import { N as listBuildLocks } from "./activity-C8kBq9w0.mjs";
|
|
13
|
+
import { h as fingerprintProject, s as diffFingerprintSources } from "./build-cache-Cqj4FGnX.mjs";
|
|
14
|
+
import { F as hostMemoryPressureAdvice, z as readHostMemoryPressureAsync } from "./ios-BdZdNsAj.mjs";
|
|
15
15
|
import { p as resolveOptimizations, u as compilerCacheFallbackMessage } from "./errors-DHm_U5gv.mjs";
|
|
16
|
-
import { n as hasInstalledDependencies, r as installedNpmTreeIsValidAsync, t as dependencyState } from "./dependency-state-
|
|
17
|
-
import { g as androidPathRoomRemedy, i as ccacheEnabled, l as androidSdkRefusal, m as androidPathRoomMessage, p as androidPathRoom, t as apkOutputsDir } from "./react-native-build-
|
|
18
|
-
import { a as envSettingRefusal, i as configSettingRefusal } from "./settings-payload-
|
|
19
|
-
import { a as countLiveOwnedDevicesAsync, i as countLiveOwnedDevices } from "./device-capacity-
|
|
20
|
-
import { t as readDoctorFingerprint } from "./doctor-fingerprint-
|
|
21
|
-
import { i as probeSigningIdentities } from "./ios-signing-
|
|
22
|
-
import { a as findChrome, t as CHROME_INSTALL_REMEDY } from "./chrome-
|
|
23
|
-
import { n as simslimIsOnPath } from "./simslim-
|
|
24
|
-
import { t as
|
|
25
|
-
import {
|
|
16
|
+
import { n as hasInstalledDependencies, r as installedNpmTreeIsValidAsync, t as dependencyState } from "./dependency-state-mL5g4H6K.mjs";
|
|
17
|
+
import { g as androidPathRoomRemedy, i as ccacheEnabled, l as androidSdkRefusal, m as androidPathRoomMessage, p as androidPathRoom, t as apkOutputsDir } from "./react-native-build-DaPfzf_e.mjs";
|
|
18
|
+
import { a as envSettingRefusal, i as configSettingRefusal } from "./settings-payload-BIGGQ3or.mjs";
|
|
19
|
+
import { a as countLiveOwnedDevicesAsync, i as countLiveOwnedDevices } from "./device-capacity-BAkETfIl.mjs";
|
|
20
|
+
import { t as readDoctorFingerprint } from "./doctor-fingerprint-DqWvIhMb.mjs";
|
|
21
|
+
import { i as probeSigningIdentities } from "./ios-signing-D-tSX1iF.mjs";
|
|
22
|
+
import { a as findChrome, t as CHROME_INSTALL_REMEDY } from "./chrome-C8sC5tdl.mjs";
|
|
23
|
+
import { n as simslimIsOnPath } from "./simslim-DKdJx0LL.mjs";
|
|
24
|
+
import { a as systemImageInstallProblem, n as decideSystemImage, t as androidImageInstallPolicy } from "./android-image-DFk26aY6.mjs";
|
|
25
|
+
import { t as MIN_EAS_CLI_BUILD_DOWNLOAD_VERSION } from "./eas-build-CpJ4h9tG.mjs";
|
|
26
|
+
import { r as resolveAndroidCompilerCache, t as readAndroidCasToolchain } from "./android-cas-Dhcjkys1.mjs";
|
|
26
27
|
import { existsSync, lstatSync, readFileSync, readdirSync, realpathSync, rmSync } from "node:fs";
|
|
27
28
|
import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
28
29
|
import { LAST_BUILD_KEYS, REPLACED_SETTINGS, isJsonObject, readBuildHistory, readJsonObject, readStats, replacementAdvice, settingDefinition } from "@stim-cli/core/state";
|
|
@@ -946,6 +947,7 @@ async function reactNativeDoctorFindings({ root: projectRoot, settings: projectS
|
|
|
946
947
|
...platform === "ios" || optimizations?.android.compilerCache !== "ccache" ? [] : androidCcacheFindings(projectRoot, platform, lookupCcache, androidLayout),
|
|
947
948
|
checkAndroidPathRoom(projectRoot, platform, host),
|
|
948
949
|
checkAndroidSdk(projectRoot, platform, androidLayout),
|
|
950
|
+
checkAndroidSystemImage(androidImageDecision(platform, androidLayout, projectSettings, remoteEnv), remoteEnv),
|
|
949
951
|
checkChrome({
|
|
950
952
|
usesWeb: () => !platform && webSettings(projectSettings).url === null && (Array.isArray((appConfig?.expo ?? appConfig)?.platforms) && (appConfig?.expo ?? appConfig).platforms.includes("web") || isPackageResolvable(projectRoot, "react-native-web")),
|
|
951
953
|
chrome: options.lookupChrome
|
|
@@ -988,6 +990,33 @@ function checkAndroidSdk(projectRoot, platform, layout = defaultAndroidLayout(pr
|
|
|
988
990
|
...finding("cost", "No Android SDK was found", `${refusal.reason} \`stim android\` refuses with ${refusal.code} before Gradle runs.`, refusal.remedy)
|
|
989
991
|
};
|
|
990
992
|
}
|
|
993
|
+
/** The system image decision for this project's owned emulator, or null when doctor does not check Android here. */
|
|
994
|
+
function androidImageDecision(platform, layout, settings, env) {
|
|
995
|
+
if (platform === "ios" || platform !== "android" && !hasAndroidProject(layout)) return null;
|
|
996
|
+
if (!existsSync$1(androidHome(env))) return null;
|
|
997
|
+
const remote = settings ? remoteAndroidSetting(settings) : null;
|
|
998
|
+
if (remote && (remote.kind === "backend" || remote.machine !== "auto")) return null;
|
|
999
|
+
const requested = settingValueAt(settings, "android.systemImage");
|
|
1000
|
+
return decideSystemImage({
|
|
1001
|
+
requested: typeof requested === "string" && requested.trim() ? requested.trim() : null,
|
|
1002
|
+
installed: listInstalledSystemImages(void 0, env),
|
|
1003
|
+
policy: androidImageInstallPolicy(settings),
|
|
1004
|
+
env
|
|
1005
|
+
});
|
|
1006
|
+
}
|
|
1007
|
+
function checkAndroidSystemImage(decision, env) {
|
|
1008
|
+
if (!decision || decision.kind === "installed") return null;
|
|
1009
|
+
const title = "No Android system image for an owned emulator is installed";
|
|
1010
|
+
if (decision.kind === "refuse") return {
|
|
1011
|
+
code: "android-system-image",
|
|
1012
|
+
...finding("note", title, decision.message, decision.remedy)
|
|
1013
|
+
};
|
|
1014
|
+
const problem = systemImageInstallProblem(decision.pkg, env);
|
|
1015
|
+
return {
|
|
1016
|
+
code: "android-system-image",
|
|
1017
|
+
...finding("note", title, `\`stim android\` installs ${decision.pkg} with sdkmanager on its first emulator run (about 2 GB).${problem ? ` It cannot now: ${problem.message}` : ""}`, problem ? problem.remedy : "Run `stim doctor --fix --platform android` to install it now.")
|
|
1018
|
+
};
|
|
1019
|
+
}
|
|
991
1020
|
function androidCcacheFindings(projectRoot, platform, lookupCcache, layout) {
|
|
992
1021
|
if (platform !== "android" && !hasAndroidProject(layout)) return [];
|
|
993
1022
|
const onPath = lookupCcache ? lookupCcache() : ccacheIsOnPath();
|
|
@@ -1309,4 +1338,4 @@ async function detectFingerprintParity(projectRoot, { createFingerprint = expoFi
|
|
|
1309
1338
|
}
|
|
1310
1339
|
}
|
|
1311
1340
|
//#endregion
|
|
1312
|
-
export {
|
|
1341
|
+
export { mainCheckoutProjectRoot as a, repairCxxLauncherState as c, detectLinkedLibraryGitMetadata as i, checkWorktreeStorageLayout as l, checkMainCheckout as n, reactNativeDoctorFindings as o, detectFingerprintParity as r, runDoctor as s, androidImageDecision as t, readMachineSettings as u };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { D as upsertProject, d as getConfigDir, k as withConfigLockAsync$1, m as getProject } from "./config-
|
|
2
|
-
import { l as gitQuietAsync } from "./operation-exec-
|
|
3
|
-
import { Vt as repoRootAsync, jt as listWorktreesAsync } from "./settings-
|
|
4
|
-
import { f as projectRegistry } from "./project-
|
|
5
|
-
import { d as parseWatchRoots, m as runWatchman, s as compareStimVersions } from "./eas-session-ledger-
|
|
1
|
+
import { D as upsertProject, d as getConfigDir, k as withConfigLockAsync$1, m as getProject } from "./config-BW0fAtoK.mjs";
|
|
2
|
+
import { l as gitQuietAsync } from "./operation-exec-DKlBcKAL.mjs";
|
|
3
|
+
import { Vt as repoRootAsync, jt as listWorktreesAsync } from "./settings-B5IBDfTx.mjs";
|
|
4
|
+
import { f as projectRegistry } from "./project-DWEXiBA9.mjs";
|
|
5
|
+
import { d as parseWatchRoots, m as runWatchman, s as compareStimVersions } from "./eas-session-ledger-Bspy-VJQ.mjs";
|
|
6
6
|
import { mkdirSync, readFileSync, realpathSync, renameSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
|
|
7
7
|
import { dirname, isAbsolute, join, relative, sep } from "node:path";
|
|
8
8
|
import { isJsonObject } from "@stim-cli/core/state";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { D as ownership_claim_exports,
|
|
2
|
-
import { a as killOnAbort, r as childEnvironment } from "./operation-exec-
|
|
3
|
-
import { Gn as easCliSupport, Kn as easCliUpgradeRemedy, Ln as resolveEasCliBin, Vn as remoteCliInvocation } from "./ccache-
|
|
4
|
-
import { M as acquireBuildLock, P as releaseBuildLock } from "./activity-
|
|
1
|
+
import { D as ownership_claim_exports, d as throwIfCancelled, t as getExecutor } from "./exec-CGuDzt40.mjs";
|
|
2
|
+
import { a as killOnAbort, r as childEnvironment } from "./operation-exec-DKlBcKAL.mjs";
|
|
3
|
+
import { Gn as easCliSupport, Kn as easCliUpgradeRemedy, Ln as resolveEasCliBin, Vn as remoteCliInvocation } from "./ccache-BXtzEL6M.mjs";
|
|
4
|
+
import { M as acquireBuildLock, P as releaseBuildLock } from "./activity-C8kBq9w0.mjs";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { existsSync, realpathSync, statSync } from "node:fs";
|
|
7
7
|
//#region src/engine/eas-build.ts
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { m as getProject } from "./config-
|
|
3
|
-
import { r as childEnvironment } from "./operation-exec-
|
|
4
|
-
import { dt as detectProviders, ft as planMetroReach } from "./settings-
|
|
5
|
-
import { M as readMetroTunnel, P as readRemoteSession } from "./project-
|
|
6
|
-
import { Gn as easCliSupport, Hn as remoteCommand, Ln as resolveEasCliBin, Mn as isEasAuthFailureText, Un as MIN_EAS_CLI_DEVICE_VERSION, Wn as MIN_EAS_CLI_SIMULATOR_VERSION, jt as readInstalledEasCliVersionAsync } from "./ccache-
|
|
1
|
+
import { d as throwIfCancelled, t as getExecutor } from "./exec-CGuDzt40.mjs";
|
|
2
|
+
import { m as getProject } from "./config-BW0fAtoK.mjs";
|
|
3
|
+
import { r as childEnvironment } from "./operation-exec-DKlBcKAL.mjs";
|
|
4
|
+
import { dt as detectProviders, ft as planMetroReach } from "./settings-B5IBDfTx.mjs";
|
|
5
|
+
import { M as readMetroTunnel, P as readRemoteSession } from "./project-DWEXiBA9.mjs";
|
|
6
|
+
import { Gn as easCliSupport, Hn as remoteCommand, Ln as resolveEasCliBin, Mn as isEasAuthFailureText, Un as MIN_EAS_CLI_DEVICE_VERSION, Wn as MIN_EAS_CLI_SIMULATOR_VERSION, jt as readInstalledEasCliVersionAsync } from "./ccache-BXtzEL6M.mjs";
|
|
7
7
|
//#region src/engine/eas-fallback.ts
|
|
8
8
|
const AVAILABILITY_TIMEOUT_MS = 3e4;
|
|
9
9
|
function unusable(code, reason) {
|