stim 1.28.0 → 1.30.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-CKByBnTD.mjs → acquire-artifact-CrZ4rEbI.mjs} +1 -1
- package/dist/{act-8iswyfRa.mjs → act-BaKjDWGw.mjs} +479 -29
- package/dist/{activity-DRMg4_mD.mjs → activity-BTaUf0tc.mjs} +6 -5
- package/dist/{agent-device-usage-output-tE90fDdo.mjs → agent-device-usage-output-DYBpO17K.mjs} +4 -4
- package/dist/{android-YWCbmkVK.mjs → android-BCYLwmH6.mjs} +5 -5
- package/dist/{android-D577ApKG.mjs → android-BEQUDpOg.mjs} +1 -1
- package/dist/{android-CHmSU4B4.mjs → android-BWqdDK6R.mjs} +44 -42
- package/dist/{android-CsPs-7Mg.mjs → android-DdKG6lyD.mjs} +44 -35
- package/dist/{android-cas-_aDifWW0.mjs → android-cas-BH6K12__.mjs} +4 -4
- package/dist/{android-project-DUGMbq28.d.mts → android-project-CCEQyYJK.d.mts} +6 -2
- package/dist/api.d.mts +7 -4
- package/dist/api.mjs +27 -27
- package/dist/{apk-signed-tail-CQbwM0qO.mjs → apk-signed-tail-B8kw4a8K.mjs} +2 -2
- package/dist/{artifact-DYtHjxsn.mjs → artifact-DTHXcmQ3.mjs} +12 -12
- package/dist/{artifact-bFkfD3vf.mjs → artifact-M6W2l-xh.mjs} +12 -12
- package/dist/{auto-placement-BVqs8AJi.mjs → auto-placement-CZaWDmcY.mjs} +10 -10
- package/dist/{browser-web-BUaLcafY.mjs → browser-web-JQ7lFej3.mjs} +12 -12
- package/dist/{build-cQURy_KW.mjs → build-C2ZWoCmg.mjs} +23 -23
- package/dist/{build-cache-CZULpXVl.mjs → build-cache-DlC3owap.mjs} +4 -4
- package/dist/{build-plan-CxoYfxsc.mjs → build-plan-J3iRR3gI.mjs} +6 -6
- package/dist/{cache-manifest-DEjqGGat.mjs → cache-manifest-evF_zJ9U.mjs} +1 -1
- package/dist/cache-manifest.mjs +1 -1
- package/dist/{ccache-Bm_A1xX9.mjs → ccache-B8gY50-h.mjs} +18 -18
- package/dist/{cli-CpbaLDa7.mjs → cli-xRPXJPtA.mjs} +19 -19
- package/dist/cli.mjs +1 -1
- package/dist/{client-YxCer6ab.mjs → client-DrHykA24.mjs} +5 -5
- package/dist/collector-run.mjs +5 -5
- package/dist/{command-output-C8R1KIvi.mjs → command-output-BBW8eWPL.mjs} +1 -1
- package/dist/{config-Cn94Jc0g.mjs → config-AbUjIBOQ.mjs} +121 -19
- package/dist/{dependencies-DKeMzwXY.mjs → dependencies-vUh9mp5z.mjs} +39 -38
- package/dist/{dependency-state-CojA2o0t.mjs → dependency-state-CPKAKCZ8.mjs} +1 -1
- package/dist/{dev-client-D-BW5uiq.mjs → dev-client-CASgAOu7.mjs} +2 -2
- package/dist/device-ChnO7bR9.mjs +761 -0
- package/dist/device-CsIdRXfm.mjs +175 -0
- package/dist/{device-CgXfbcz5.mjs → device-android-CcdQqQWg.mjs} +28 -195
- package/dist/{device-capacity-Cd8lMSn3.mjs → device-capacity-C5C_jOQd.mjs} +11 -11
- package/dist/device-host-worker.mjs +44 -35
- package/dist/{device-ios-Cc9ulihb.mjs → device-ios-DbmtPIiw.mjs} +28 -18
- package/dist/{device-lease-run-Mtzp4THX.mjs → device-lease-run-Do6zYA7y.mjs} +4 -4
- package/dist/{device-pool-eRz6DtCg.mjs → device-pool-CpoYiCGO.mjs} +3 -3
- package/dist/{device-eeK95Lir.mjs → device-provision-B5Ms94qY.mjs} +11 -302
- package/dist/{doctor-xf7ht-5n.mjs → doctor-CJSB5q-s.mjs} +20 -20
- package/dist/{doctor-Bz_ouYAW.mjs → doctor-CLE4AZEI.mjs} +20 -15
- package/dist/{doctor-C2QyhejJ.mjs → doctor-CpfbYh3Q.mjs} +1 -1
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-watchman-BTW82PDC.mjs → doctor-watchman-D1IyMle9.mjs} +4 -4
- package/dist/{eas-build-Dm6q68QY.mjs → eas-build-DIDOHw2P.mjs} +2 -2
- package/dist/{eas-fallback-DajNpxf-.mjs → eas-fallback-DVS9oBSc.mjs} +4 -4
- package/dist/{eas-session-ledger-CBFo_Uo1.mjs → eas-session-ledger-CW3l-inB.mjs} +5 -5
- package/dist/{error-diagnostics-D1QfyJzQ.mjs → error-diagnostics-XJ9eWdtq.mjs} +8 -8
- package/dist/{gc-PLFwb0k4.mjs → gc-BVIcxCxE.mjs} +2 -2
- package/dist/{gc-DM5oMm-J.mjs → gc-Co7PE36D.mjs} +80 -18
- package/dist/{guide-C4I46XAk.mjs → guide-DkepBgHT.mjs} +235 -34
- package/dist/{hosted-android-DlaKLbW0.mjs → hosted-android-Du7NxufJ.mjs} +3 -3
- package/dist/{hosted-client-DDRm9hPJ.mjs → hosted-client-Cect92SZ.mjs} +3 -3
- package/dist/{hosted-logs-bSebOKbz.mjs → hosted-logs-Opcjv1Lr.mjs} +17 -8
- package/dist/{hosted-logs-sync-B0c53W_c.mjs → hosted-logs-sync-wsI7N1Hv.mjs} +7 -11
- package/dist/{hosted-macos-B7-8Pv4H.mjs → hosted-macos-BP9Kucat.mjs} +5 -5
- package/dist/{hosted-native-CDe33CSr.mjs → hosted-native-DmdLSmvu.mjs} +9 -8
- package/dist/{idle-shutdown-CQ0QwU9J.mjs → idle-shutdown-BcMN_cLm.mjs} +7 -7
- package/dist/{ios-B1HvafEG.mjs → ios-BFkBHuRT.mjs} +8 -8
- package/dist/{ios-tg4tp3q1.mjs → ios-CG0IsLtt.mjs} +29 -29
- package/dist/{ios-B1DYuOjh.mjs → ios-CXnoVO_z.mjs} +4 -4
- package/dist/{ios-device-B4elVFKi.mjs → ios-device-ClSfuu-_.mjs} +1 -1
- package/dist/{ios-project-CR4mZ7CH.mjs → ios-project-BM9TbTE7.mjs} +7 -7
- package/dist/{ios-state-BPHqMDdZ.mjs → ios-state-Ce_dystM.mjs} +1 -1
- package/dist/{js-swap-CVpSW1fn.mjs → js-swap-9Rx-5Nqz.mjs} +4 -4
- package/dist/{launch-DoySmhjz.mjs → launch-DvJV1Mx4.mjs} +19 -19
- package/dist/{lightened-DFAJgfIk.mjs → lightened-23pqe7LS.mjs} +4 -4
- package/dist/{logs-BGsW7iPe.mjs → logs-DJgZlf2K.mjs} +9 -8
- package/dist/{logs-DI5ILkYB.mjs → logs-Pkeh3wZk.mjs} +7 -6
- package/dist/{macos-Bo9st9Di.mjs → macos-DPvPQadc.mjs} +20 -20
- package/dist/{macos-C12RMJQF.mjs → macos-Du07NsOB.mjs} +1 -1
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +13 -9
- package/dist/{metro-BnhXV2Mj.mjs → metro-BMQHczcf.mjs} +2 -2
- package/dist/{metro-request-DXyKjVDF.mjs → metro-request-BtF7ox53.mjs} +1 -1
- package/dist/{named-ports-Phoi2POD.mjs → named-ports-DcktE2Pw.mjs} +2 -2
- package/dist/{native-android-vxgtLD7w.mjs → native-android-CBOM1_gB.mjs} +16 -16
- package/dist/{native-gradle-artifact-inputs-BN96IVw8.mjs → native-gradle-artifact-inputs-D_iAfPuS.mjs} +3 -3
- package/dist/{native-runtime-DG4Rodzj.mjs → native-runtime-D4cTwU0Z.mjs} +6 -6
- package/dist/{native-xcode-inputs-BKarCoKg.mjs → native-xcode-inputs-BF-ogSnG.mjs} +2 -2
- package/dist/{native-xcode-ios-8A-efGa5.mjs → native-xcode-ios-DwJBfMP6.mjs} +15 -15
- package/dist/{ndjson-Dy2W4vRa.mjs → ndjson-CrjIsGzw.mjs} +2 -2
- package/dist/offload-worker.d.mts +1 -1
- package/dist/offload-worker.mjs +22 -22
- package/dist/{ownership-DJCq48IJ.mjs → ownership-Dtz9G5Gl.mjs} +2 -2
- package/dist/{phone-reverses-BzTa8g1F.mjs → phone-reverses-CvhhkGMH.mjs} +4 -4
- package/dist/{placement-log-Cvhta5ib.mjs → placement-log-CRR_TE1r.mjs} +1 -1
- package/dist/{plan-placement-WkZdccuN.mjs → plan-placement-CdLc-pTb.mjs} +6 -6
- package/dist/{ports-UV4mJgyC.mjs → ports-g4N_cfyg.mjs} +3 -3
- package/dist/{prebuild-k8d_tqOq.mjs → prebuild-DBJMhwSS.mjs} +9 -9
- package/dist/{project-Sui52ywT.mjs → project-DPQjnpcI.mjs} +15 -15
- package/dist/{react-native-android-DANlGGQf.mjs → react-native-android-idMWOwkX.mjs} +24 -24
- package/dist/{react-native-build-jUHnIfZ9.mjs → react-native-build-BSoh4HkH.mjs} +7 -7
- package/dist/{react-native-doctor-DCWRjS7K.mjs → react-native-doctor-CYibY8-4.mjs} +9 -8
- package/dist/{react-native-ios-BwMsFMXi.mjs → react-native-ios-13KIIOOy.mjs} +16 -15
- package/dist/{recordings-iy0mkm7b.mjs → recordings-CHMaF73C.mjs} +1 -1
- package/dist/{reload-Bj7QyuDy.mjs → reload-B9DZOjcV.mjs} +1 -1
- package/dist/{reload-c_uEyc_X.mjs → reload-BUQI3dSu.mjs} +14 -14
- package/dist/{remote-DFlpAqdV.mjs → remote-C-RGHhAP.mjs} +8 -8
- package/dist/{result-BIcXREyC.mjs → result-W4HCum4A.mjs} +16 -16
- package/dist/{run-y2HwyNvg.mjs → run-BQAmrohh.mjs} +2 -2
- package/dist/{selection-CXgM_VK_.mjs → selection-PCMT97XD.mjs} +105 -62
- package/dist/{server-bare-2N4vSRZG.mjs → server-bare-CEQdB_F4.mjs} +37 -1
- package/dist/{server-command-qneHPcRI.mjs → server-command-oqi3TDy7.mjs} +5 -5
- package/dist/server-expo-BUFAq2In.mjs +2 -0
- package/dist/{server-expo-Ccm9zB0o.mjs → server-expo-C1K07shx.mjs} +8 -5
- package/dist/{settings-Cfd_Q6ys.mjs → settings-CKlMOmhj.mjs} +2 -2
- package/dist/{settings-CY5JZlNN.mjs → settings-D776ygML.mjs} +1 -1
- package/dist/{settings-Djl-mpjX.mjs → settings-D9LtQaUw.mjs} +2 -1
- package/dist/{settings-payload-DwQiEMCn.mjs → settings-payload-CE-NZ6Lq.mjs} +4 -4
- package/dist/{settings-write-CJpjkeAd.mjs → settings-write-D7Xwa_-M.mjs} +5 -5
- package/dist/settings.schema.json +58 -9
- package/dist/{simslim-DCQwzoPy.mjs → simslim-CbpHERcv.mjs} +1 -1
- package/dist/{slot-launch-BpmanOnk.mjs → slot-launch-CeIK1iUI.mjs} +6 -6
- package/dist/{stage-CmugrSG5.mjs → stage-Blqe6bWb.mjs} +1 -1
- package/dist/{start-DYLk6GXn.mjs → start-B7J5a9nS.mjs} +11 -11
- package/dist/{start-CHH3zgIU.mjs → start-CvP2pJjc.mjs} +1 -1
- package/dist/{state-BXC1Lfxw.mjs → state-C2AUjjhg.mjs} +1 -1
- package/dist/{state-B2QJbDwz.mjs → state-D5ZxwCGJ.mjs} +2 -2
- package/dist/{stats-DxKqhcGp.mjs → stats-Uo7l8OAk.mjs} +4 -4
- package/dist/{status-7ULDEJ1e.mjs → status-CK7ZoEhV.mjs} +2 -2
- package/dist/{status-D_Ljc89p.mjs → status-CqJI1TgG.mjs} +1 -1
- package/dist/{status-BHCkOZga.mjs → status-_rWXFSO7.mjs} +24 -24
- package/dist/{status-watch-BmsPqYSU.mjs → status-watch-CnSyXUmj.mjs} +4 -4
- package/dist/status-worker.mjs +1 -1
- package/dist/{stim-desktop-CbWo21kb.mjs → stim-desktop-CYXLFpFS.mjs} +1 -1
- package/dist/{stop-b2pouxAO.mjs → stop-Bogo9oO2.mjs} +2 -2
- package/dist/{stop-DQvE-P76.mjs → stop-CMVfaA-6.mjs} +4 -4
- package/dist/{stop-D-dGE9gh.mjs → stop-CnF9ixYe.mjs} +20 -19
- package/dist/supervisor-run.d.mts +1 -0
- package/dist/supervisor-run.mjs +23 -19
- package/dist/{support-04IhBUTT.mjs → support-BGqpYMV8.mjs} +15 -11
- package/dist/{support-BtlJKjyQ.mjs → support-DUevTPur.mjs} +9 -9
- package/dist/{swiftpm-artifact-inputs-Cj2UpmPN.mjs → swiftpm-artifact-inputs-BcJk6-3u.mjs} +1 -1
- package/dist/{swiftpm-macos-BhF2stxY.mjs → swiftpm-macos-DBrmoocG.mjs} +8 -8
- package/dist/toolchain-Cw9VVHOY.mjs +2 -0
- package/dist/{toolchain-mLA_km-b.mjs → toolchain-DLdoyxIt.mjs} +19 -11
- package/dist/{trigger-DMou-X7j.mjs → trigger-CfnOfpDd.mjs} +1 -1
- package/dist/trigger-DBZ-GBrl.mjs +2 -0
- package/dist/{warm-progress-B0Vpuvpl.mjs → warm-progress-DQ2wQZKp.mjs} +3 -3
- package/dist/web-CI_qCRPw.mjs +2 -0
- package/dist/{web-BYmK0TjL.mjs → web-g9U7L1sR.mjs} +8 -8
- package/dist/web-run.mjs +5 -5
- package/dist/{workspace-state-kIZrdlSg.mjs → workspace-state-DGwkPXwq.mjs} +2 -2
- package/dist/{workspaces-CmOcceDN.mjs → workspaces-7_RWoi6c.mjs} +11 -11
- package/dist/{worktree-nliAoHxB.mjs → worktree-DEet9H3p.mjs} +1 -1
- package/dist/{worktree-2dk5edza.mjs → worktree-qKJ3x07S.mjs} +25 -25
- package/package.json +7 -7
- package/shim/bundle-response.cjs +37 -0
- package/dist/server-expo-WulkyAwT.mjs +0 -2
- package/dist/toolchain-qktiV8xc.mjs +0 -2
- package/dist/trigger-qp2ji5wE.mjs +0 -2
- package/dist/web-CrVLVQZY.mjs +0 -2
|
@@ -1,42 +1,43 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { a as recordWorkspaceUseAsync, f as writeWorkspaceStateAsync, g as emulatorLogFile, k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-
|
|
3
|
-
import { B as deviceSlotFileKey, E as upsertProject, H as deviceSlotPlatforms, O as withConfigLockAsync$1, W as parseDeviceSlotOption, p as getProject, q as validateDeviceSlot, u as getConcurrencyLimits } from "./config-
|
|
4
|
-
import { _ as stepTimer, f as refuseNoProject, g as stepClock, i as formatDuration, l as phaseLine } from "./command-output-
|
|
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-
|
|
6
|
-
import { f as projectRegistry, i as findProjectRoot$1, l as projectShortcut, t as NO_PROJECT_REFUSAL, z as writeWorkspaceLaunchAsync } from "./project-
|
|
7
|
-
import {
|
|
8
|
-
import { c as pidExists, d as resolveProjectMetro } from "./metro-
|
|
9
|
-
import { i as createNdjsonWriter } from "./ndjson-
|
|
10
|
-
import { An as checkEasAuth, At as ensureRemoteBootOwned, En as runProcessOperation, Et as binOnPath, Jt as verifyLaunch, Ln as resolveEasCliBin, Mt as remoteAndroidDeps, Pt as resolveRemoteContext, Qt as DEFAULT_METRO_PORT, Rn as resolveRemote, Zt as ADB_INSTALL_TIMEOUT_MS, c as budgetGate, kt as ensureMetroReachable, ln as installAndroidApp, mn as launchAndroidReleaseApp, pn as launchAndroidApp, qn as ownedSessionName, qt as verifyAndroidReleaseLaunch, t as CCACHE_NOT_RUN, wn as exitAfterFlush, zn as uploadRemote } from "./ccache-
|
|
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-
|
|
12
|
-
import {
|
|
13
|
-
import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-
|
|
14
|
-
import { T as storedAppId } from "./build-cache-
|
|
15
|
-
import { S as setRemoteLogSink } from "./client-
|
|
16
|
-
import { d as resolveBuildPlacement, s as parseBuildMachineOption } from "./selection-
|
|
17
|
-
import { r as hostedMetroSettings } from "./metro-request-
|
|
18
|
-
import { a as writeHostedAndroidAsync, i as writeDevicePlacementAsync, t as readHostedAndroid } from "./ios-state-
|
|
19
|
-
import { n as prepareHostedAndroid, t as placeHostedAndroid } from "./hosted-android-
|
|
20
|
-
import { n as verifyCollectorOwnership } from "./ownership-
|
|
21
|
-
import { i as restoreLightenedDependencies, n as printLightenedFailure } from "./lightened-
|
|
22
|
-
import { c as startDevServer } from "./start-
|
|
23
|
-
import { a as acquireRunLease, d as runLease, f as waitFlagConflict, o as leaseExpiryText, u as releaseLeaseOnAbort } from "./device-lease-run-
|
|
24
|
-
import { n as DeviceAdmissionRefusal, r as checkDeviceCapacity } from "./device-capacity-
|
|
25
|
-
import { a as resolveEasDevelopmentBuild, r as isEasBuildFailure } from "./eas-build-
|
|
26
|
-
import { t as followHostedLaunchLogs } from "./hosted-logs-sync-
|
|
27
|
-
import { f as settleFingerprintCheck } from "./prebuild-
|
|
28
|
-
import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely, r as isPhysicalDeviceRequest, t as ensureDevServer } from "./native-runtime-
|
|
29
|
-
import { n as devicePlacementRecord } from "./placement-log-
|
|
30
|
-
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-
|
|
31
|
-
import { t as acquireAndroidArtifact } from "./artifact-
|
|
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-
|
|
33
|
-
import { n as devicePlacementLine, t as automaticDevicePlacement } from "./auto-placement-
|
|
34
|
-
import { i as verifyAndroidMetroRun, r as finishAndroidRun } from "./launch-
|
|
35
|
-
import { t as checkEasFallback } from "./eas-fallback-
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
2
|
+
import { a as recordWorkspaceUseAsync, f as writeWorkspaceStateAsync, g as emulatorLogFile, k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-DGwkPXwq.mjs";
|
|
3
|
+
import { B as deviceSlotFileKey, E as upsertProject, H as deviceSlotPlatforms, O as withConfigLockAsync$1, W as parseDeviceSlotOption, p as getProject, q as validateDeviceSlot, u as getConcurrencyLimits } from "./config-AbUjIBOQ.mjs";
|
|
4
|
+
import { _ as stepTimer, f as refuseNoProject, g as stepClock, i as formatDuration, l as phaseLine } from "./command-output-BBW8eWPL.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-D776ygML.mjs";
|
|
6
|
+
import { f as projectRegistry, i as findProjectRoot$1, l as projectShortcut, t as NO_PROJECT_REFUSAL, z as writeWorkspaceLaunchAsync } from "./project-DPQjnpcI.mjs";
|
|
7
|
+
import { Dt as configuredAndroidEmulatorApp, L as listInstalledSystemImages, M as listAdbDevicesAsync, T as emulatorProbeSession, Y as physicalDeviceModel, Z as probeEmulatorSerial, a as androidDeviceAbi, ct as waitForBoot, nt as resolveOwnedAvdSerialAsync, rt as resolvePhysicalDevice } from "./android-DdKG6lyD.mjs";
|
|
8
|
+
import { c as pidExists, d as resolveProjectMetro } from "./metro-BMQHczcf.mjs";
|
|
9
|
+
import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
|
|
10
|
+
import { An as checkEasAuth, At as ensureRemoteBootOwned, En as runProcessOperation, Et as binOnPath, Jt as verifyLaunch, Ln as resolveEasCliBin, Mt as remoteAndroidDeps, Pt as resolveRemoteContext, Qt as DEFAULT_METRO_PORT, Rn as resolveRemote, Zt as ADB_INSTALL_TIMEOUT_MS, c as budgetGate, kt as ensureMetroReachable, ln as installAndroidApp, mn as launchAndroidReleaseApp, pn as launchAndroidApp, qn as ownedSessionName, qt as verifyAndroidReleaseLaunch, t as CCACHE_NOT_RUN, wn as exitAfterFlush, zn as uploadRemote } from "./ccache-B8gY50-h.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-7_RWoi6c.mjs";
|
|
12
|
+
import { $ as cancelledFailure, ct as withNativeBuildRun, ot as runCancellation, st as runCancellationSignal } from "./toolchain-DLdoyxIt.mjs";
|
|
13
|
+
import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-BTaUf0tc.mjs";
|
|
14
|
+
import { T as storedAppId } from "./build-cache-DlC3owap.mjs";
|
|
15
|
+
import { S as setRemoteLogSink } from "./client-DrHykA24.mjs";
|
|
16
|
+
import { d as resolveBuildPlacement, s as parseBuildMachineOption } from "./selection-PCMT97XD.mjs";
|
|
17
|
+
import { r as hostedMetroSettings } from "./metro-request-BtF7ox53.mjs";
|
|
18
|
+
import { a as writeHostedAndroidAsync, i as writeDevicePlacementAsync, t as readHostedAndroid } from "./ios-state-Ce_dystM.mjs";
|
|
19
|
+
import { n as prepareHostedAndroid, t as placeHostedAndroid } from "./hosted-android-Du7NxufJ.mjs";
|
|
20
|
+
import { n as verifyCollectorOwnership } from "./ownership-Dtz9G5Gl.mjs";
|
|
21
|
+
import { i as restoreLightenedDependencies, n as printLightenedFailure } from "./lightened-23pqe7LS.mjs";
|
|
22
|
+
import { c as startDevServer } from "./start-B7J5a9nS.mjs";
|
|
23
|
+
import { a as acquireRunLease, d as runLease, f as waitFlagConflict, o as leaseExpiryText, u as releaseLeaseOnAbort } from "./device-lease-run-Do6zYA7y.mjs";
|
|
24
|
+
import { n as DeviceAdmissionRefusal, r as checkDeviceCapacity } from "./device-capacity-C5C_jOQd.mjs";
|
|
25
|
+
import { a as resolveEasDevelopmentBuild, r as isEasBuildFailure } from "./eas-build-DIDOHw2P.mjs";
|
|
26
|
+
import { t as followHostedLaunchLogs } from "./hosted-logs-sync-wsI7N1Hv.mjs";
|
|
27
|
+
import { f as settleFingerprintCheck } from "./prebuild-DBJMhwSS.mjs";
|
|
28
|
+
import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely, r as isPhysicalDeviceRequest, t as ensureDevServer } from "./native-runtime-D4cTwU0Z.mjs";
|
|
29
|
+
import { n as devicePlacementRecord } from "./placement-log-CRR_TE1r.mjs";
|
|
30
|
+
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-BGqpYMV8.mjs";
|
|
31
|
+
import { t as acquireAndroidArtifact } from "./artifact-M6W2l-xh.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-W4HCum4A.mjs";
|
|
33
|
+
import { n as devicePlacementLine, t as automaticDevicePlacement } from "./auto-placement-CZaWDmcY.mjs";
|
|
34
|
+
import { i as verifyAndroidMetroRun, r as finishAndroidRun } from "./launch-DvJV1Mx4.mjs";
|
|
35
|
+
import { t as checkEasFallback } from "./eas-fallback-DVS9oBSc.mjs";
|
|
36
|
+
import { i as warmMetro, n as ensureBooted, r as ensureOwnedDevice, t as didSetUpDevice } from "./device-CsIdRXfm.mjs";
|
|
37
|
+
import { a as AvdBootError, o as AvdRecoveryError } from "./device-android-CcdQqQWg.mjs";
|
|
38
|
+
import { t as selectFromPool } from "./device-pool-CpoYiCGO.mjs";
|
|
38
39
|
import { t as unsupportedPlan } from "./project-plan-BPwbLwQu.mjs";
|
|
39
|
-
import { a as refusePlan, i as printPlan, n as planFlagRefusal } from "./build-plan-
|
|
40
|
+
import { a as refusePlan, i as printPlan, n as planFlagRefusal } from "./build-plan-J3iRR3gI.mjs";
|
|
40
41
|
import { join } from "node:path";
|
|
41
42
|
import { workspaceId } from "@stim-cli/core";
|
|
42
43
|
import { hostedAndroidStatus, parseMachine } from "@stim-cli/core/state";
|
|
@@ -443,7 +444,7 @@ function runAndroidOperation(context, root, opts = {}) {
|
|
|
443
444
|
}
|
|
444
445
|
}, { write: (line) => context.output("stderr", `${chalk.dim(phaseLine("lock", line))}\n`) });
|
|
445
446
|
}
|
|
446
|
-
function resolveRunAndroidOptions({ context, root, json = false, remoteDevice: commandRemoteBackend = null, resolveSettingsFor = resolveSettings, resolveRemoteDeviceContext = resolveRemoteContext, remoteDeviceDeps: makeRemoteDeviceDeps = remoteAndroidDeps, resolveEasBin = resolveEasCliBin, ensureMetroReachable: ensureRemoteMetro = ensureMetroReachable, ensureRemoteBootOwned: ensureRemoteOwned = ensureRemoteBootOwned, detectRemoteProviders = detectProviders, metroCheck = true, useBuildCache = true, easProfile, resolveEasDevelopmentBuild: resolveEasBuild = resolveEasDevelopmentBuild, variant: variantFlag = null, systemImage: systemImageFlag = null, deviceProfile: deviceProfileFlag, device: deviceFlag = null, wait: waitFlag = void 0, waitConflict = false, acquireLease = acquireRunLease, makeRunLease = runLease, selectPool = selectFromPool, onLeaseSignal = releaseLeaseOnAbort, listDevices =
|
|
447
|
+
function resolveRunAndroidOptions({ context, root, json = false, remoteDevice: commandRemoteBackend = null, resolveSettingsFor = resolveSettings, resolveRemoteDeviceContext = resolveRemoteContext, remoteDeviceDeps: makeRemoteDeviceDeps = remoteAndroidDeps, resolveEasBin = resolveEasCliBin, ensureMetroReachable: ensureRemoteMetro = ensureMetroReachable, ensureRemoteBootOwned: ensureRemoteOwned = ensureRemoteBootOwned, detectRemoteProviders = detectProviders, metroCheck = true, useBuildCache = true, easProfile, resolveEasDevelopmentBuild: resolveEasBuild = resolveEasDevelopmentBuild, variant: variantFlag = null, systemImage: systemImageFlag = null, deviceProfile: deviceProfileFlag, device: deviceFlag = null, wait: waitFlag = void 0, waitConflict = false, acquireLease = acquireRunLease, makeRunLease = runLease, selectPool = selectFromPool, onLeaseSignal = releaseLeaseOnAbort, listDevices = listAdbDevicesAsync, deviceModel = physicalDeviceModel, deviceAbi = androidDeviceAbi, isEmulatorDevice = probeEmulatorSerial, readApkPackage = async (apkPath) => apkPackage(await dumpApkManifest(apkPath, { context })), getLimits = getConcurrencyLimits, checkCapacity = checkDeviceCapacity, acquireSlot = acquireBuildSlot, releaseSlot = releaseBuildSlot, ensureDevice = ensureOwnedDevice, listSystemImages = listInstalledSystemImages, listDeviceProfiles, ensureDeviceBooted = ensureBooted, resolveAvdSerial = resolveOwnedAvdSerialAsync, waitForDeviceBoot = waitForBoot, dataFreeBytes, trimCaches, wipeDevice, resolveMetro = resolveProjectMetro, warmMetro: prewarmMetro = warmMetro, startServer = startDevServer, readState = readWorkspaceState$1, pidAlive = pidExists, verifyCollector = verifyCollectorOwnership, verifyLaunched = verifyLaunch, ensureStorage = ensureWorkspaceStorageSafely, acquireLock = acquireBuildLock, releaseLock = releaseBuildLock, waitForBuild: waitForBuild$1 = waitForBuild, easAuth = checkEasAuth, resolveRemoteBuild = resolveRemote, uploadRemoteBuild = uploadRemote, resolveCacheProvider = resolveCacheProviderConfig, loadCacheProviderModule = loadCacheProvider, storedAppId: storedAppId$1 = storedAppId, install = installAndroidApp, launch = launchAndroidApp, launchRelease = launchAndroidReleaseApp, verifyReleaseLaunched = verifyAndroidReleaseLaunch, resolveDevClientScheme = (projectRoot, apkPath, options) => androidDevClientScheme(projectRoot, apkPath, {
|
|
447
448
|
...options,
|
|
448
449
|
context
|
|
449
450
|
}), spawn = (cmd, args, opts) => getExecutor().spawn(cmd, args, opts), kill = (pid, signal) => process.kill(pid, signal), createWriter = createNdjsonWriter, writeLaunch = writeWorkspaceLaunchAsync, writeState = writeWorkspaceStateAsync, recordBuild, recordStats = recordRunStats, recordCapacityRefusal: recordRefusal, readEstimates = readRunEstimates, now = Date.now, out = (line) => context ? context.output("stderr", `${line}\n`) : console.error(line), emit = (line) => context ? context.output("stdout", `${line}\n`) : console.log(line) } = {}) {
|
|
@@ -1028,11 +1029,12 @@ async function runAndroid(options = {}) {
|
|
|
1028
1029
|
serial: pooled.device.serial
|
|
1029
1030
|
});
|
|
1030
1031
|
} else if (target.kind === "physical") {
|
|
1031
|
-
const
|
|
1032
|
+
const adb = await listDevices();
|
|
1033
|
+
const resolved = await emulatorProbeSession(isEmulatorDevice)((isEmulator) => resolvePhysicalDevice(target.serial, adb, isEmulator));
|
|
1032
1034
|
if (!resolved.serial) return fail(NO_DEVICE, resolved.error, resolved.remedy);
|
|
1033
1035
|
device = {
|
|
1034
1036
|
serial: resolved.serial,
|
|
1035
|
-
deviceName: deviceModel(resolved.serial) ?? resolved.serial,
|
|
1037
|
+
deviceName: await deviceModel(resolved.serial) ?? resolved.serial,
|
|
1036
1038
|
owned: false
|
|
1037
1039
|
};
|
|
1038
1040
|
bootPromise = Promise.resolve({
|
|
@@ -1045,7 +1047,7 @@ async function runAndroid(options = {}) {
|
|
|
1045
1047
|
} catch (err) {
|
|
1046
1048
|
return fail("STIM_BAD_ARG", err.message, "Run `stim settings set androidEmulatorApp emulator` or `stim settings set androidEmulatorApp stim-desktop`.");
|
|
1047
1049
|
}
|
|
1048
|
-
const capacity = plan.deviceSlotWaitMs === 0 ? checkCapacity({
|
|
1050
|
+
const capacity = plan.deviceSlotWaitMs === 0 ? await checkCapacity({
|
|
1049
1051
|
platform: PLATFORM,
|
|
1050
1052
|
project,
|
|
1051
1053
|
max: limits.maxDevices
|
|
@@ -1148,7 +1150,7 @@ async function runAndroid(options = {}) {
|
|
|
1148
1150
|
writer,
|
|
1149
1151
|
settings,
|
|
1150
1152
|
buildPlan,
|
|
1151
|
-
target: androidBuildOptions({
|
|
1153
|
+
target: await androidBuildOptions({
|
|
1152
1154
|
release,
|
|
1153
1155
|
physical,
|
|
1154
1156
|
device,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, S as process_identity_exports, l as WorkspaceProcessCleanupError, m as declareSpawnsOn, o as cancellableSleep, t as getExecutor, v as stopDeclaringSpawnsOn } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { M as withDirLock$1, N as withDirLockAsync$1 } from "./workspace-state-
|
|
3
|
-
import { C as saveConfig, D as withConfigLock$1, G as projectDeviceSlots, H as deviceSlotPlatforms, K as removeSlotDevice, O as withConfigLockAsync$1, _ as loadConfig$1, c as ensureConfig, d as getConfigDir, f as getConfigPath$1, z as assignSlotDevice } from "./config-
|
|
2
|
+
import { M as withDirLock$1, N as withDirLockAsync$1 } from "./workspace-state-DGwkPXwq.mjs";
|
|
3
|
+
import { C as saveConfig, D as withConfigLock$1, G as projectDeviceSlots, H as deviceSlotPlatforms, K as removeSlotDevice, O as withConfigLockAsync$1, _ as loadConfig$1, c as ensureConfig, d as getConfigDir, f as getConfigPath$1, z as assignSlotDevice } from "./config-AbUjIBOQ.mjs";
|
|
4
4
|
import { n as runOperationFileQuiet, t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
|
|
5
|
-
import { c as androidDataPartitionSizeBytes } from "./settings-
|
|
6
|
-
import { i as stimDesktopInstalledAsync, n as settingDefault, t as STIM_DESKTOP_OPEN_OPTIONS } from "./stim-desktop-
|
|
7
|
-
import { c as pidExists, p as signalProcessTreeAsync } from "./metro-
|
|
5
|
+
import { c as androidDataPartitionSizeBytes } from "./settings-D776ygML.mjs";
|
|
6
|
+
import { i as stimDesktopInstalledAsync, n as settingDefault, t as STIM_DESKTOP_OPEN_OPTIONS } from "./stim-desktop-CYXLFpFS.mjs";
|
|
7
|
+
import { c as pidExists, p as signalProcessTreeAsync } from "./metro-BMQHczcf.mjs";
|
|
8
8
|
import { renameSync, rmSync, writeFileSync } from "node:fs";
|
|
9
9
|
import { isDeepStrictEqual } from "node:util";
|
|
10
10
|
import { join } from "node:path";
|
|
@@ -680,25 +680,21 @@ const EMULATOR_HARDWARE = /* @__PURE__ */ new Set([
|
|
|
680
680
|
"vbox86",
|
|
681
681
|
"vbox86p"
|
|
682
682
|
]);
|
|
683
|
-
function adbProp(serial, name) {
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
return String(out ?? "").trim() || null;
|
|
693
|
-
} catch {
|
|
694
|
-
return null;
|
|
695
|
-
}
|
|
683
|
+
async function adbProp(serial, name) {
|
|
684
|
+
const out = await getExecutor().runFileQuietAsync(androidToolPath("adb"), [
|
|
685
|
+
"-s",
|
|
686
|
+
serial,
|
|
687
|
+
"shell",
|
|
688
|
+
"getprop",
|
|
689
|
+
name
|
|
690
|
+
], { timeoutMs: ADB_PROP_TIMEOUT_MS });
|
|
691
|
+
return String(out ?? "").trim() || null;
|
|
696
692
|
}
|
|
697
693
|
function physicalDeviceModel(serial) {
|
|
698
694
|
return adbProp(serial, "ro.product.model");
|
|
699
695
|
}
|
|
700
|
-
function androidDeviceAbi(serial) {
|
|
701
|
-
const abi = adbProp(serial, "ro.product.cpu.abi");
|
|
696
|
+
async function androidDeviceAbi(serial) {
|
|
697
|
+
const abi = await adbProp(serial, "ro.product.cpu.abi");
|
|
702
698
|
return abi && ANDROID_ABIS.has(abi) ? abi : null;
|
|
703
699
|
}
|
|
704
700
|
function androidSystemImageAbi(systemImage) {
|
|
@@ -709,10 +705,10 @@ function looksLikeEmulator({ kernelQemu, hardware }) {
|
|
|
709
705
|
if (String(kernelQemu ?? "").trim() === "1") return true;
|
|
710
706
|
return EMULATOR_HARDWARE.has(String(hardware ?? "").trim().toLowerCase());
|
|
711
707
|
}
|
|
712
|
-
function probeEmulatorSerial(serial) {
|
|
708
|
+
async function probeEmulatorSerial(serial) {
|
|
713
709
|
return looksLikeEmulator({
|
|
714
|
-
kernelQemu: adbProp(serial, "ro.kernel.qemu"),
|
|
715
|
-
hardware: adbProp(serial, "ro.hardware")
|
|
710
|
+
kernelQemu: await adbProp(serial, "ro.kernel.qemu"),
|
|
711
|
+
hardware: await adbProp(serial, "ro.hardware")
|
|
716
712
|
});
|
|
717
713
|
}
|
|
718
714
|
function unreachableDeviceRefusal(entry) {
|
|
@@ -727,20 +723,33 @@ function emulatorRefusal(serial) {
|
|
|
727
723
|
remedy: "Run `stim android` without --device to use this workspace's owned emulator."
|
|
728
724
|
};
|
|
729
725
|
}
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
726
|
+
var UnprobedSerial = class extends Error {
|
|
727
|
+
serial;
|
|
728
|
+
constructor(serial) {
|
|
729
|
+
super(serial);
|
|
730
|
+
this.serial = serial;
|
|
731
|
+
}
|
|
732
|
+
};
|
|
733
|
+
function emulatorProbeSession(probe) {
|
|
734
|
+
const known = /* @__PURE__ */ new Map();
|
|
735
|
+
const isEmulator = (serial) => {
|
|
736
|
+
const answer = known.get(serial);
|
|
737
|
+
if (answer === void 0) throw new UnprobedSerial(serial);
|
|
738
|
+
return answer;
|
|
739
|
+
};
|
|
740
|
+
return async (select) => {
|
|
741
|
+
for (;;) try {
|
|
742
|
+
return select(isEmulator);
|
|
743
|
+
} catch (error) {
|
|
744
|
+
if (!(error instanceof UnprobedSerial)) throw error;
|
|
745
|
+
known.set(error.serial, await probe(error.serial));
|
|
746
|
+
}
|
|
738
747
|
};
|
|
739
748
|
}
|
|
740
|
-
function androidPoolCandidates(adb, isEmulator
|
|
749
|
+
function androidPoolCandidates(adb, isEmulator) {
|
|
741
750
|
return (adb?.physical ?? []).filter((entry) => !isEmulator(entry.serial));
|
|
742
751
|
}
|
|
743
|
-
function androidPoolNoCandidatesRefusal(adb, isEmulator
|
|
752
|
+
function androidPoolNoCandidatesRefusal(adb, isEmulator) {
|
|
744
753
|
const physical = adb?.physical ?? [];
|
|
745
754
|
if (physical.length > 0 && physical.every((entry) => isEmulator(entry.serial))) {
|
|
746
755
|
const reasons = physical.map((entry) => emulatorRefusal(entry.serial));
|
|
@@ -751,7 +760,7 @@ function androidPoolNoCandidatesRefusal(adb, isEmulator = probeEmulatorSerial) {
|
|
|
751
760
|
}
|
|
752
761
|
return resolvePhysicalDevice(null, adb, isEmulator);
|
|
753
762
|
}
|
|
754
|
-
function resolvePhysicalDevice(requested, adb, isEmulator
|
|
763
|
+
function resolvePhysicalDevice(requested, adb, isEmulator) {
|
|
755
764
|
const physical = adb?.physical ?? [];
|
|
756
765
|
const unhealthy = adb?.unhealthy ?? [];
|
|
757
766
|
if (requested) {
|
|
@@ -1777,4 +1786,4 @@ function ownedAvdSerialResolver({ timeoutMs } = {}) {
|
|
|
1777
1786
|
};
|
|
1778
1787
|
}
|
|
1779
1788
|
//#endregion
|
|
1780
|
-
export { removeMetroReverses as $,
|
|
1789
|
+
export { removeMetroReverses as $, hostSystemImageArch as A, ownedAvdDeviceProfile as B, emulatorDiskSpaceRemedy as C, forgetCreatedDeviceAsync as Ct, findBuildTool as D, configuredAndroidEmulatorApp as Dt, extractEmulatorFailure as E, recordCreatedDeviceAsync as Et, listAvds as F, ownedAvdSerialResolverAsync as G, ownedAvdMatchesConfiguration as H, listAvdsAsync as I, parseAvdSystemImage as J, ownedAvdSystemImage as K, listInstalledSystemImages as L, listAdbDevicesAsync as M, listAvdDeviceProfiles as N, getAvdNameForSerial as O, listAvdDeviceProfilesAsync as P, profileNeedsFoldFeature as Q, listOrphanedAvdDirectories as R, deleteAvd as S, forgetCreatedDevice as St, emulatorProbeSession as T, recordCreatedDevice as Tt, ownedAvdName as U, ownedAvdDirectory as V, ownedAvdSerialResolver as W, pickDefaultSystemImage as X, physicalDeviceModel as Y, probeEmulatorSerial as Z, avdPoolConfiguration as _, parkSim as _t, androidDeviceAbi as a, systemImageSupportsFold as at, configureNewOwnedAvd as b, removeParkedAfter as bt, androidPoolNoCandidatesRefusal as c, waitForBoot as ct, androidToolPath as d, isStimOwnedSim as dt, removeOwnedEmulatorMetroReverses as et, assertOwnedAvdStopped as f, POOL_SETTING_REMEDY as ft, avdPathExists as g, isLegacyDeletionClaim as gt, avdNameAbsent as h, eraseParkedAfter as ht, androidDataFreeBytes as i, shutdownAndroidEmulator as it, listAdbDevices as j, getAvdNameForSerialAsync as k, androidSystemImageAbi as l, wipeAvdUserData as lt, avdIniPaths as m, dropParked as mt, OWNED_AVD_CONFIG_DEFAULTS as n, resolveOwnedAvdSerialAsync as nt, androidHome as o, trimAndroidCaches as ot, assertOwnedAvdStoppedAsync as p, adoptParked as pt, parseAvdDeviceProfile as q, androidBuildToolName as r, resolvePhysicalDevice as rt, androidPoolCandidates as s, waitForAndroidEmulatorShutdown as st, DEFAULT_AVD_DEVICE_PROFILE as t, resetAdoptedAvd as tt, androidToolCwd as u, isStimOwnedAvd as ut, avdStorageRoots as v, parkedMaxSetting as vt, emulatorFailureRemedy as w, readCreatedDevices$1 as wt, createOwnedAvd as x, selectParked as xt, bootAndroidEmulator as y, readParked as yt, nextConsolePort as z };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { M as withDirLock$1, _ as ensureWorkspaceStorage } from "./workspace-state-
|
|
2
|
-
import { d as getConfigDir } from "./config-
|
|
3
|
-
import { m as defaultAndroidLayout } from "./settings-
|
|
4
|
-
import { r as register } from "./cache-manifest-
|
|
1
|
+
import { M as withDirLock$1, _ as ensureWorkspaceStorage } from "./workspace-state-DGwkPXwq.mjs";
|
|
2
|
+
import { d as getConfigDir } from "./config-AbUjIBOQ.mjs";
|
|
3
|
+
import { m as defaultAndroidLayout } from "./settings-D776ygML.mjs";
|
|
4
|
+
import { r as register } from "./cache-manifest-evF_zJ9U.mjs";
|
|
5
5
|
import { createHash, randomUUID } from "node:crypto";
|
|
6
6
|
import { accessSync, constants, existsSync, mkdirSync, readFileSync, realpathSync, renameSync, statSync, writeFileSync } from "node:fs";
|
|
7
7
|
import { join } from "node:path";
|
|
@@ -352,6 +352,8 @@ type GeneratedTickets = Map<string, {
|
|
|
352
352
|
ticket: string;
|
|
353
353
|
expiresAt: string;
|
|
354
354
|
}>;
|
|
355
|
+
/** Whether a person confirmed that `serverKey` is the key of the stim-server on `machine`. */
|
|
356
|
+
type KeyConfirmer = (machine: string, serverKey: string) => Promise<boolean>;
|
|
355
357
|
//#endregion
|
|
356
358
|
//#region src/offload/build-machines.d.ts
|
|
357
359
|
/**
|
|
@@ -361,9 +363,11 @@ type GeneratedTickets = Map<string, {
|
|
|
361
363
|
*/
|
|
362
364
|
interface BuildMachineReport {
|
|
363
365
|
machine: string;
|
|
364
|
-
state: "invalid" | "tailscale-off" | "not-on-tailnet" | "key-changed" | "not-asked" | "pending" | "approved" | "revoked" | "lapsed" | "outdated" | "unreachable";
|
|
366
|
+
state: "invalid" | "tailscale-off" | "not-on-tailnet" | "key-changed" | "key-unconfirmed" | "not-asked" | "pending" | "approved" | "revoked" | "lapsed" | "outdated" | "unreachable";
|
|
365
367
|
diagnosis?: RemoteDiagnosis;
|
|
366
368
|
dnsName?: string;
|
|
369
|
+
/** For `key-unconfirmed`: the fingerprint of the key the machine answered with, for a person to compare. */
|
|
370
|
+
fingerprint?: string;
|
|
367
371
|
deviceId?: string;
|
|
368
372
|
requestedAt?: string;
|
|
369
373
|
expiresAt?: string;
|
|
@@ -446,4 +450,4 @@ interface AndroidArtifactContext {
|
|
|
446
450
|
estimates: () => RunEstimates;
|
|
447
451
|
}
|
|
448
452
|
//#endregion
|
|
449
|
-
export {
|
|
453
|
+
export { CompilationCacheActivity as _, BuildMachinesInspection as a, TailnetMachineIo as c, BudgetReport as d, DoctorPlatform as f, CcacheActivity as g, AndroidFacts as h, AndroidBuildOptions as i, IosToolchain as l, Optimizations as m, WebLaunched as n, GeneratedTickets as o, Finding as p, SwiftpmArtifactToolchain as r, KeyConfirmer as s, NativeGradleArtifactReceipt as t, WorkerToolchain as u, IosFacts as v };
|
package/dist/api.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { _ as
|
|
1
|
+
import { _ as CompilationCacheActivity, a as BuildMachinesInspection, c as TailnetMachineIo, d as BudgetReport, f as DoctorPlatform, g as CcacheActivity, h as AndroidFacts, n as WebLaunched, o as GeneratedTickets, p as Finding, s as KeyConfirmer, v as IosFacts } from "./android-project-CCEQyYJK.mjs";
|
|
2
2
|
import { a as WorkspaceLaunchPlatform } from "./ios-CDvlmUs7.mjs";
|
|
3
3
|
import "./exec-DnYc4HGH.mjs";
|
|
4
4
|
import "./pull-request-eODyIqZF.mjs";
|
|
5
5
|
import { t as IdleDevice } from "./idle-C4cZ757K.mjs";
|
|
6
6
|
import { StimContext } from "@stim-cli/core";
|
|
7
|
-
import { AgentDeviceUsage, ArchivedWorkspace, BuildPlanPayload, MacosBuild, MacosBuildPlanPayload, MaintenanceAction, MaintenanceMode, MaintenancePressure, MaintenanceStatus, NdjsonRecord, SettingScope, SettingWriteResult, SettingsPayload, SimRuntimeUsage, StatsReport, SwiftpmCacheUsage, WebBrowserState } from "@stim-cli/core/state";
|
|
7
|
+
import { AgentDeviceUsage, ArchivedWorkspace, BuildPlanPayload, DevServerStopRecord, MacosBuild, MacosBuildPlanPayload, MaintenanceAction, MaintenanceMode, MaintenancePressure, MaintenanceStatus, NdjsonRecord, SettingScope, SettingWriteResult, SettingsPayload, SimRuntimeUsage, StatsReport, SwiftpmCacheUsage, WebBrowserState } from "@stim-cli/core/state";
|
|
8
8
|
import { statSync } from "fs";
|
|
9
9
|
import { Command } from "commander";
|
|
10
10
|
import { ToolchainEntry } from "@stim-cli/core/toolchain";
|
|
@@ -213,9 +213,11 @@ interface StimVersionReport {
|
|
|
213
213
|
//#region src/device-host/machines.d.ts
|
|
214
214
|
interface MachineReport {
|
|
215
215
|
machine: string;
|
|
216
|
-
state: "invalid" | "tailscale-off" | "not-on-tailnet" | "key-changed" | "not-asked" | "pending" | "approved" | "revoked" | "lapsed" | "outdated" | "unreachable" | "credentials-unavailable" | "busy";
|
|
216
|
+
state: "invalid" | "tailscale-off" | "not-on-tailnet" | "key-changed" | "key-unconfirmed" | "not-asked" | "pending" | "approved" | "revoked" | "lapsed" | "outdated" | "unreachable" | "credentials-unavailable" | "busy";
|
|
217
217
|
diagnosis?: RemoteDiagnosis;
|
|
218
218
|
dnsName?: string;
|
|
219
|
+
/** For `key-unconfirmed`: the fingerprint of the key the machine answered with, for a person to compare. */
|
|
220
|
+
fingerprint?: string;
|
|
219
221
|
deviceId?: string;
|
|
220
222
|
requestedAt?: string;
|
|
221
223
|
expiresAt?: string;
|
|
@@ -229,11 +231,12 @@ interface Inspection {
|
|
|
229
231
|
* Reports the device-host approval of each remote machine, separate from its build approval. Only --fix makes a setup
|
|
230
232
|
* ticket or forgets credentials; every server key stays pinned.
|
|
231
233
|
*/
|
|
232
|
-
declare function inspectDeviceHostMachines({ fix, version, tickets, operation }: {
|
|
234
|
+
declare function inspectDeviceHostMachines({ fix, version, tickets, operation, confirmKey }: {
|
|
233
235
|
fix: boolean;
|
|
234
236
|
version?: string;
|
|
235
237
|
tickets?: GeneratedTickets;
|
|
236
238
|
operation?: StimContext;
|
|
239
|
+
confirmKey?: KeyConfirmer;
|
|
237
240
|
}, io?: TailnetMachineIo, entries?: string[] | null): Promise<Inspection>;
|
|
238
241
|
//#endregion
|
|
239
242
|
//#region src/commands/doctor.d.ts
|
package/dist/api.mjs
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, T as trackReportResource, b as operationState, c as throwIfCancelled, l as WorkspaceProcessCleanupError, s as cancelledError, w as runReport } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { E as workspaceDir, a as recordWorkspaceUseAsync, k as workspaceLogsDir$1, v as ensureWorkspaceStorageAsync } from "./workspace-state-
|
|
3
|
-
import { E as upsertProject, O as withConfigLockAsync$1, p as getProject, q as validateDeviceSlot, y as refuseRelativeStimPaths } from "./config-
|
|
4
|
-
import { l as phaseLine } from "./command-output-
|
|
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-
|
|
6
|
-
import { c as projectProblem, f as projectRegistry, i as findProjectRoot$1, r as findCommandWorkspaceAsync, t as NO_PROJECT_REFUSAL } from "./project-
|
|
7
|
-
import { n as macosDir } from "./state-
|
|
8
|
-
import { c as ensureHomeIdentity, s as workspaceShareURL } from "./stim-desktop-
|
|
9
|
-
import { i as createNdjsonWriter } from "./ndjson-
|
|
10
|
-
import { $ as tapBuildLog, Q as startBuildProgress, X as recordFinishedBuild, tt as errorRemedy } from "./workspaces-
|
|
11
|
-
import {
|
|
12
|
-
import { d as resolveBuildPlacement } from "./selection-
|
|
13
|
-
import { c as stopWorkspaceNow } from "./stop-
|
|
14
|
-
import { r as runReload } from "./reload-
|
|
15
|
-
import { m as warmWorktreeTarget, p as removeWorktreeTarget } from "./worktree-
|
|
16
|
-
import { i as restoreLightenedDependencies } from "./lightened-
|
|
17
|
-
import { c as startDevServer } from "./start-
|
|
18
|
-
import { s as recordDoctorCheck } from "./doctor-watchman-
|
|
19
|
-
import { c as readSettingsPayload, s as readSettingsContext, t as SettingsRefusal } from "./settings-payload-
|
|
20
|
-
import { a as readDoctorReport } from "./doctor-
|
|
21
|
-
import { i as readGcReport, n as executeGc, o as withGcMaintenanceClaim } from "./gc-
|
|
22
|
-
import { r as readWorkspaceLogs, t as followWorkspaceLogs } from "./logs-
|
|
2
|
+
import { E as workspaceDir, a as recordWorkspaceUseAsync, k as workspaceLogsDir$1, v as ensureWorkspaceStorageAsync } from "./workspace-state-DGwkPXwq.mjs";
|
|
3
|
+
import { E as upsertProject, O as withConfigLockAsync$1, p as getProject, q as validateDeviceSlot, y as refuseRelativeStimPaths } from "./config-AbUjIBOQ.mjs";
|
|
4
|
+
import { l as phaseLine } from "./command-output-BBW8eWPL.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-D776ygML.mjs";
|
|
6
|
+
import { c as projectProblem, f as projectRegistry, i as findProjectRoot$1, r as findCommandWorkspaceAsync, t as NO_PROJECT_REFUSAL } from "./project-DPQjnpcI.mjs";
|
|
7
|
+
import { n as macosDir } from "./state-C2AUjjhg.mjs";
|
|
8
|
+
import { c as ensureHomeIdentity, s as workspaceShareURL } from "./stim-desktop-CYXLFpFS.mjs";
|
|
9
|
+
import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
|
|
10
|
+
import { $ as tapBuildLog, Q as startBuildProgress, X as recordFinishedBuild, tt as errorRemedy } from "./workspaces-7_RWoi6c.mjs";
|
|
11
|
+
import { ct as withNativeBuildRun, st as runCancellationSignal } from "./toolchain-DLdoyxIt.mjs";
|
|
12
|
+
import { d as resolveBuildPlacement } from "./selection-PCMT97XD.mjs";
|
|
13
|
+
import { c as stopWorkspaceNow } from "./stop-CnF9ixYe.mjs";
|
|
14
|
+
import { r as runReload } from "./reload-BUQI3dSu.mjs";
|
|
15
|
+
import { m as warmWorktreeTarget, p as removeWorktreeTarget } from "./worktree-qKJ3x07S.mjs";
|
|
16
|
+
import { i as restoreLightenedDependencies } from "./lightened-23pqe7LS.mjs";
|
|
17
|
+
import { c as startDevServer } from "./start-B7J5a9nS.mjs";
|
|
18
|
+
import { s as recordDoctorCheck } from "./doctor-watchman-D1IyMle9.mjs";
|
|
19
|
+
import { c as readSettingsPayload, s as readSettingsContext, t as SettingsRefusal } from "./settings-payload-CE-NZ6Lq.mjs";
|
|
20
|
+
import { a as readDoctorReport } from "./doctor-CLE4AZEI.mjs";
|
|
21
|
+
import { i as readGcReport, n as executeGc, o as withGcMaintenanceClaim } from "./gc-Co7PE36D.mjs";
|
|
22
|
+
import { r as readWorkspaceLogs, t as followWorkspaceLogs } from "./logs-Pkeh3wZk.mjs";
|
|
23
23
|
import { t as readProjectStats } from "./stats-report-B86Cv7Uc.mjs";
|
|
24
|
-
import { n as buildAndroidOperation, t as buildIosOperation } from "./build-
|
|
25
|
-
import { a as readAndroidBuildPlan, i as runAndroidOperation } from "./android-
|
|
26
|
-
import { i as readIosBuildPlan, r as runIosOperation } from "./ios-
|
|
27
|
-
import { a as buildMacosBundle, i as planMacos, n as runMacos } from "./macos-
|
|
28
|
-
import { t as runWeb } from "./web-
|
|
29
|
-
import { t as mutateSetting } from "./settings-write-
|
|
24
|
+
import { n as buildAndroidOperation, t as buildIosOperation } from "./build-C2ZWoCmg.mjs";
|
|
25
|
+
import { a as readAndroidBuildPlan, i as runAndroidOperation } from "./android-BWqdDK6R.mjs";
|
|
26
|
+
import { i as readIosBuildPlan, r as runIosOperation } from "./ios-CG0IsLtt.mjs";
|
|
27
|
+
import { a as buildMacosBundle, i as planMacos, n as runMacos } from "./macos-DPvPQadc.mjs";
|
|
28
|
+
import { t as runWeb } from "./web-g9U7L1sR.mjs";
|
|
29
|
+
import { t as mutateSetting } from "./settings-write-D7Xwa_-M.mjs";
|
|
30
30
|
import { randomBytes } from "node:crypto";
|
|
31
31
|
import { mkdirSync, mkdtempSync, readFileSync, realpathSync, rmSync } from "node:fs";
|
|
32
32
|
import { stripVTControlCharacters } from "node:util";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { y as sharedBuildCache } from "./workspace-state-
|
|
2
|
-
import {
|
|
1
|
+
import { y as sharedBuildCache } from "./workspace-state-DGwkPXwq.mjs";
|
|
2
|
+
import { D as findBuildTool } from "./android-DdKG6lyD.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, c as throwIfCancelled, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { E as workspaceDir } from "./workspace-state-
|
|
3
|
-
import { _ as stepTimer, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-
|
|
4
|
-
import { Dn as RESOLVE_TIMEOUT_MS, Mn as isEasAuthFailureText, jn as easAuthNote } from "./ccache-
|
|
5
|
-
import {
|
|
6
|
-
import { T as storedAppId, b as providerDownloadPath, x as providerUploadOutcome, y as prepareProviderDownloadDir } from "./build-cache-
|
|
7
|
-
import { C as COMPILATION_CACHE_CORRUPT, 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 clearCorruptCompilationCache } from "./client-
|
|
8
|
-
import { a as missingPackageManagerRemedy, c as podsFailedRemedy, h as predictedRefusal, i as fingerprintMismatchRemedy, l as requireLocalBuild, n as automaticBuild, o as namedBuildMachine, t as OffloadRefusal } from "./selection-
|
|
9
|
-
import { S as xcodeFailureReport, p as printDiagnostics } from "./support-
|
|
10
|
-
import { f as settleFingerprintCheck, u as skippedMissReason } from "./prebuild-
|
|
11
|
-
import { t as buildPlacementRecord } from "./placement-log-
|
|
12
|
-
import { n as settleArtifactUploads, t as acquireArtifact } from "./acquire-artifact-
|
|
13
|
-
import { r as finishIosUpload, t as IosRecipeRefusal } from "./ios-project-
|
|
2
|
+
import { E as workspaceDir } from "./workspace-state-DGwkPXwq.mjs";
|
|
3
|
+
import { _ as stepTimer, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-BBW8eWPL.mjs";
|
|
4
|
+
import { Dn as RESOLVE_TIMEOUT_MS, Mn as isEasAuthFailureText, jn as easAuthNote } from "./ccache-B8gY50-h.mjs";
|
|
5
|
+
import { $ as cancelledFailure, A as COMPILATION_CACHE_NOT_RUN, F as compilationCacheActivityLine, st as runCancellationSignal } from "./toolchain-DLdoyxIt.mjs";
|
|
6
|
+
import { T as storedAppId, b as providerDownloadPath, x as providerUploadOutcome, y as prepareProviderDownloadDir } from "./build-cache-DlC3owap.mjs";
|
|
7
|
+
import { C as COMPILATION_CACHE_CORRUPT, 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 clearCorruptCompilationCache } from "./client-DrHykA24.mjs";
|
|
8
|
+
import { a as missingPackageManagerRemedy, c as podsFailedRemedy, h as predictedRefusal, i as fingerprintMismatchRemedy, l as requireLocalBuild, n as automaticBuild, o as namedBuildMachine, t as OffloadRefusal } from "./selection-PCMT97XD.mjs";
|
|
9
|
+
import { S as xcodeFailureReport, p as printDiagnostics } from "./support-DUevTPur.mjs";
|
|
10
|
+
import { f as settleFingerprintCheck, u as skippedMissReason } from "./prebuild-DBJMhwSS.mjs";
|
|
11
|
+
import { t as buildPlacementRecord } from "./placement-log-CRR_TE1r.mjs";
|
|
12
|
+
import { n as settleArtifactUploads, t as acquireArtifact } from "./acquire-artifact-CrZ4rEbI.mjs";
|
|
13
|
+
import { r as finishIosUpload, t as IosRecipeRefusal } from "./ios-project-BM9TbTE7.mjs";
|
|
14
14
|
import { rmSync } from "node:fs";
|
|
15
15
|
import { join } from "node:path";
|
|
16
16
|
import { machineCapacity } from "@stim-cli/core/state";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, c as throwIfCancelled, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { E as workspaceDir } from "./workspace-state-
|
|
3
|
-
import { _ as stepTimer, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-
|
|
4
|
-
import { Dn as RESOLVE_TIMEOUT_MS, Mn as isEasAuthFailureText, jn as easAuthNote, n as CCACHE_UNAVAILABLE, r as ccacheActivityLine, t as CCACHE_NOT_RUN } from "./ccache-
|
|
5
|
-
import {
|
|
6
|
-
import { b as providerDownloadPath, y as prepareProviderDownloadDir } from "./build-cache-
|
|
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-
|
|
8
|
-
import { a as missingPackageManagerRemedy, i as fingerprintMismatchRemedy, l as requireLocalBuild, n as automaticBuild, o as namedBuildMachine, t as OffloadRefusal } from "./selection-
|
|
9
|
-
import { f as formatDiagnostic } from "./react-native-build-
|
|
10
|
-
import { u as skippedMissReason } from "./prebuild-
|
|
11
|
-
import { t as buildPlacementRecord } from "./placement-log-
|
|
12
|
-
import { n as settleArtifactUploads, t as acquireArtifact } from "./acquire-artifact-
|
|
13
|
-
import { a as PLATFORM, h as displayPath } from "./support-
|
|
2
|
+
import { E as workspaceDir } from "./workspace-state-DGwkPXwq.mjs";
|
|
3
|
+
import { _ as stepTimer, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-BBW8eWPL.mjs";
|
|
4
|
+
import { Dn as RESOLVE_TIMEOUT_MS, Mn as isEasAuthFailureText, jn as easAuthNote, n as CCACHE_UNAVAILABLE, r as ccacheActivityLine, t as CCACHE_NOT_RUN } from "./ccache-B8gY50-h.mjs";
|
|
5
|
+
import { $ as cancelledFailure, st as runCancellationSignal } from "./toolchain-DLdoyxIt.mjs";
|
|
6
|
+
import { b as providerDownloadPath, y as prepareProviderDownloadDir } from "./build-cache-DlC3owap.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-DrHykA24.mjs";
|
|
8
|
+
import { a as missingPackageManagerRemedy, i as fingerprintMismatchRemedy, l as requireLocalBuild, n as automaticBuild, o as namedBuildMachine, t as OffloadRefusal } from "./selection-PCMT97XD.mjs";
|
|
9
|
+
import { f as formatDiagnostic } from "./react-native-build-BSoh4HkH.mjs";
|
|
10
|
+
import { u as skippedMissReason } from "./prebuild-DBJMhwSS.mjs";
|
|
11
|
+
import { t as buildPlacementRecord } from "./placement-log-CRR_TE1r.mjs";
|
|
12
|
+
import { n as settleArtifactUploads, t as acquireArtifact } from "./acquire-artifact-CrZ4rEbI.mjs";
|
|
13
|
+
import { a as PLATFORM, h as displayPath } from "./support-BGqpYMV8.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";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { _ as loadConfig$1, p as getProject } from "./config-
|
|
2
|
-
import { m as peekBudget } from "./ccache-
|
|
3
|
-
import { z as readHostMemoryPressureAsync } from "./ios-
|
|
4
|
-
import { _ as hostingMachines, o as namedBuildMachine, u as resolveBuildMachine } from "./selection-
|
|
5
|
-
import { c as call, l as connectHost, m as requireHostedAppMode } from "./hosted-client-
|
|
6
|
-
import { c as writeHostedNativeAsync, r as readHostedNative } from "./ios-state-
|
|
7
|
-
import { i as prepareHostedNative } from "./hosted-native-
|
|
8
|
-
import { t as DEFAULT_DEVICE_SLOT_WAIT_MS, u as peekDeviceSlots } from "./device-capacity-
|
|
1
|
+
import { _ as loadConfig$1, p as getProject } from "./config-AbUjIBOQ.mjs";
|
|
2
|
+
import { m as peekBudget } from "./ccache-B8gY50-h.mjs";
|
|
3
|
+
import { z as readHostMemoryPressureAsync } from "./ios-CXnoVO_z.mjs";
|
|
4
|
+
import { _ as hostingMachines, o as namedBuildMachine, u as resolveBuildMachine } from "./selection-PCMT97XD.mjs";
|
|
5
|
+
import { c as call, l as connectHost, m as requireHostedAppMode } from "./hosted-client-Cect92SZ.mjs";
|
|
6
|
+
import { c as writeHostedNativeAsync, r as readHostedNative } from "./ios-state-Ce_dystM.mjs";
|
|
7
|
+
import { i as prepareHostedNative } from "./hosted-native-DmdLSmvu.mjs";
|
|
8
|
+
import { t as DEFAULT_DEVICE_SLOT_WAIT_MS, u as peekDeviceSlots } from "./device-capacity-C5C_jOQd.mjs";
|
|
9
9
|
import { ambientEnv } from "@stim-cli/core";
|
|
10
10
|
import { automaticMachineEnabled, isJsonObject, machineCapacity, mayRunHere, parseHostedChoice, parseHostedNativeOffer, prefersRemote } from "@stim-cli/core/state";
|
|
11
11
|
import { setTimeout } from "node:timers/promises";
|
|
@@ -99,7 +99,7 @@ function decideDevicePlacement(inputs) {
|
|
|
99
99
|
const { offer } = probe;
|
|
100
100
|
if (offer.declined !== null) [code, reason] = ["declined", `declined: ${offer.declined}`];
|
|
101
101
|
else if (offer.platform !== platform || !offer.choice) [code, reason] = ["no-matching-device", `no matching ${platform} device choice`];
|
|
102
|
-
else if (offer.resources.memoryPressure !== "normal") [code, reason] = ["memory", "host memory pressure
|
|
102
|
+
else if (offer.resources.memoryPressure !== "normal") [code, reason] = ["memory", offer.resources.memoryPressure === null ? "host memory pressure could not be read" : `host memory pressure is ${offer.resources.memoryPressure}`];
|
|
103
103
|
else if (offer.capacity.available === 0) [code, reason] = ["no-capacity", "no hosted device capacity available"];
|
|
104
104
|
else if (offer.resources.loadPerCore !== null && offer.resources.loadPerCore >= ceiling(offer)) [code, reason] = ["load", `saturated: load ${offer.resources.loadPerCore.toFixed(1)}/core there, at or above ${ceiling(offer)}/core`];
|
|
105
105
|
else if (placement === "auto" && !cannotTake && offer.resources.loadPerCore === null) [code, reason] = ["load", "host load unknown while this machine has room"];
|
|
@@ -268,7 +268,7 @@ async function automaticDevicePlacement({ root, slot, platform, placement = "aut
|
|
|
268
268
|
max: 0,
|
|
269
269
|
queued: 0,
|
|
270
270
|
localLive: false
|
|
271
|
-
} : peek();
|
|
271
|
+
} : await peek();
|
|
272
272
|
if (devices.localLive && placement === "remote-only") throw Object.assign(/* @__PURE__ */ new Error(`This workspace's ${platform} device for slot ${slot} runs on this machine, and remote-only never runs here.`), {
|
|
273
273
|
code: "STIM_HOSTING_REFUSED",
|
|
274
274
|
remedy: "Run stim stop, then retry."
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, S as process_identity_exports, c as throwIfCancelled, l as WorkspaceProcessCleanupError, s as cancelledError, t as getExecutor, u as withWorkspaceProcessLock } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { E as workspaceDir, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1 } from "./workspace-state-
|
|
3
|
-
import { p as getProject } from "./config-
|
|
4
|
-
import { l as phaseLine } from "./command-output-
|
|
5
|
-
import { N as metroPortSetting, a as SETTING_SHAPE_REMEDY, ct as webSettings } from "./settings-
|
|
6
|
-
import { b as isPackageResolvable, v as detectIsExpo } from "./project-
|
|
7
|
-
import { d as resolveProjectMetro } from "./metro-
|
|
8
|
-
import { c as readNdjsonGenerations$1 } from "./ndjson-
|
|
9
|
-
import { Wt as readMetroRecords } from "./ccache-
|
|
10
|
-
import { f as webLogFile, m as webSupervisorLogFile, o as readWebRecord, s as updateWebRecord } from "./state-
|
|
11
|
-
import { ft as teardownBrowserHeld, x as resolveSupervisorTarget } from "./workspaces-
|
|
12
|
-
import { i as reserveBrowserPort, n as getNamedPort } from "./named-ports-
|
|
2
|
+
import { E as workspaceDir, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1 } from "./workspace-state-DGwkPXwq.mjs";
|
|
3
|
+
import { p as getProject } from "./config-AbUjIBOQ.mjs";
|
|
4
|
+
import { l as phaseLine } from "./command-output-BBW8eWPL.mjs";
|
|
5
|
+
import { N as metroPortSetting, a as SETTING_SHAPE_REMEDY, ct as webSettings } from "./settings-D776ygML.mjs";
|
|
6
|
+
import { b as isPackageResolvable, v as detectIsExpo } from "./project-DPQjnpcI.mjs";
|
|
7
|
+
import { d as resolveProjectMetro } from "./metro-BMQHczcf.mjs";
|
|
8
|
+
import { c as readNdjsonGenerations$1 } from "./ndjson-CrjIsGzw.mjs";
|
|
9
|
+
import { Wt as readMetroRecords } from "./ccache-B8gY50-h.mjs";
|
|
10
|
+
import { f as webLogFile, m as webSupervisorLogFile, o as readWebRecord, s as updateWebRecord } from "./state-D5ZxwCGJ.mjs";
|
|
11
|
+
import { ft as teardownBrowserHeld, x as resolveSupervisorTarget } from "./workspaces-7_RWoi6c.mjs";
|
|
12
|
+
import { i as reserveBrowserPort, n as getNamedPort } from "./named-ports-DcktE2Pw.mjs";
|
|
13
13
|
import { n as sendToOwnedPage, t as liveWebRecord } from "./page-CQJlcj3x.mjs";
|
|
14
|
-
import { o as resolveWorkspaceMetroPort } from "./start-
|
|
14
|
+
import { o as resolveWorkspaceMetroPort } from "./start-B7J5a9nS.mjs";
|
|
15
15
|
import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
|
|
16
16
|
import { n as windowsLauncherArgs } from "./detached-entry-BPlSaCwC.mjs";
|
|
17
17
|
import { a as findChrome, t as CHROME_INSTALL_REMEDY } from "./chrome-DyDWurWG.mjs";
|