stim 1.28.0 → 1.29.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-C2DKfenN.mjs} +1 -1
- package/dist/{act-8iswyfRa.mjs → act-CrTcskiE.mjs} +479 -29
- package/dist/{activity-DRMg4_mD.mjs → activity-BR5oHSO5.mjs} +6 -5
- package/dist/{agent-device-usage-output-tE90fDdo.mjs → agent-device-usage-output-W0x4SoC7.mjs} +4 -4
- package/dist/{android-CsPs-7Mg.mjs → android-BHKgeOuq.mjs} +5 -5
- package/dist/{android-YWCbmkVK.mjs → android-BPmCmyAy.mjs} +5 -5
- package/dist/{android-D577ApKG.mjs → android-CLU_MMnb.mjs} +1 -1
- package/dist/{android-cas-_aDifWW0.mjs → android-cas-BH6K12__.mjs} +4 -4
- package/dist/{android-CHmSU4B4.mjs → android-l616dRP1.mjs} +37 -37
- 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-B-wKoF_8.mjs} +2 -2
- package/dist/{artifact-bFkfD3vf.mjs → artifact-DHuFYfhD.mjs} +12 -12
- package/dist/{artifact-DYtHjxsn.mjs → artifact-Dm9ScLrh.mjs} +12 -12
- package/dist/{auto-placement-BVqs8AJi.mjs → auto-placement-C8sJsyMN.mjs} +8 -8
- package/dist/{browser-web-BUaLcafY.mjs → browser-web-_tQTbQUs.mjs} +12 -12
- package/dist/{build-cQURy_KW.mjs → build-DtCU9Kim.mjs} +23 -23
- package/dist/{build-cache-CZULpXVl.mjs → build-cache-BGwTsIEa.mjs} +4 -4
- package/dist/{build-plan-CxoYfxsc.mjs → build-plan-CWyjMPKo.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-DsDkdP72.mjs} +17 -17
- package/dist/{cli-CpbaLDa7.mjs → cli-3fjOg-Oc.mjs} +19 -19
- package/dist/cli.mjs +1 -1
- package/dist/{client-YxCer6ab.mjs → client-BTUH8TF1.mjs} +5 -5
- package/dist/collector-run.mjs +5 -5
- package/dist/{command-output-C8R1KIvi.mjs → command-output-DjCsmzLZ.mjs} +1 -1
- package/dist/{config-Cn94Jc0g.mjs → config-AbUjIBOQ.mjs} +121 -19
- package/dist/{dependencies-DKeMzwXY.mjs → dependencies-CHNqX6Pr.mjs} +38 -38
- package/dist/{dependency-state-CojA2o0t.mjs → dependency-state-CPKAKCZ8.mjs} +1 -1
- package/dist/{dev-client-D-BW5uiq.mjs → dev-client-CROrxj1x.mjs} +2 -2
- package/dist/{device-CgXfbcz5.mjs → device-Bmm5qjM-.mjs} +14 -14
- package/dist/device-BvpasThQ.mjs +297 -0
- package/dist/{device-capacity-Cd8lMSn3.mjs → device-capacity-B2ChA-bz.mjs} +7 -7
- package/dist/device-host-worker.mjs +12 -12
- package/dist/{device-ios-Cc9ulihb.mjs → device-ios-CYzivd31.mjs} +9 -9
- package/dist/{device-lease-run-Mtzp4THX.mjs → device-lease-run-qRq_2W2V.mjs} +4 -4
- package/dist/{device-pool-eRz6DtCg.mjs → device-pool-CrmiE4_x.mjs} +3 -3
- package/dist/{device-eeK95Lir.mjs → device-provision-CK2XiEp1.mjs} +11 -302
- package/dist/{doctor-C2QyhejJ.mjs → doctor-BO_kaFWX.mjs} +1 -1
- package/dist/{doctor-Bz_ouYAW.mjs → doctor-Cp4-HN1f.mjs} +20 -15
- package/dist/{doctor-xf7ht-5n.mjs → doctor-Dr3C1iXV.mjs} +19 -19
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-watchman-BTW82PDC.mjs → doctor-watchman-CJr2aXXv.mjs} +4 -4
- package/dist/{eas-build-Dm6q68QY.mjs → eas-build-D-9HmGZS.mjs} +2 -2
- package/dist/{eas-fallback-DajNpxf-.mjs → eas-fallback-Cemt2GVL.mjs} +4 -4
- package/dist/{eas-session-ledger-CBFo_Uo1.mjs → eas-session-ledger-B0KLZx5m.mjs} +5 -5
- package/dist/{error-diagnostics-D1QfyJzQ.mjs → error-diagnostics-CV_1RoEH.mjs} +8 -8
- package/dist/{gc-DM5oMm-J.mjs → gc-CKHqL4aS.mjs} +80 -18
- package/dist/{gc-PLFwb0k4.mjs → gc-DjXwQXHK.mjs} +2 -2
- package/dist/{guide-C4I46XAk.mjs → guide-CeRlWVsS.mjs} +129 -25
- package/dist/{hosted-android-DlaKLbW0.mjs → hosted-android-DI_vvv7U.mjs} +3 -3
- package/dist/{hosted-client-DDRm9hPJ.mjs → hosted-client-CgoxdU9j.mjs} +3 -3
- package/dist/{hosted-logs-bSebOKbz.mjs → hosted-logs-C-4INmkn.mjs} +17 -8
- package/dist/{hosted-logs-sync-B0c53W_c.mjs → hosted-logs-sync-Bf5s02fi.mjs} +5 -5
- package/dist/{hosted-macos-B7-8Pv4H.mjs → hosted-macos-Doh85YUM.mjs} +5 -5
- package/dist/{hosted-native-CDe33CSr.mjs → hosted-native-DvZENAL-.mjs} +6 -6
- package/dist/{idle-shutdown-CQ0QwU9J.mjs → idle-shutdown-BM37gMfU.mjs} +7 -7
- package/dist/{ios-B1HvafEG.mjs → ios-CNDH6fNF.mjs} +8 -8
- package/dist/{ios-B1DYuOjh.mjs → ios-CoMCWfub.mjs} +4 -4
- package/dist/{ios-tg4tp3q1.mjs → ios-UM_dManb.mjs} +28 -28
- package/dist/{ios-device-B4elVFKi.mjs → ios-device-L1-pota_.mjs} +1 -1
- package/dist/{ios-project-CR4mZ7CH.mjs → ios-project-DJYptOCh.mjs} +7 -7
- package/dist/{ios-state-BPHqMDdZ.mjs → ios-state-Ce_dystM.mjs} +1 -1
- package/dist/{js-swap-CVpSW1fn.mjs → js-swap-BthE4kZC.mjs} +4 -4
- package/dist/{launch-DoySmhjz.mjs → launch-D798aSm8.mjs} +19 -19
- package/dist/{lightened-DFAJgfIk.mjs → lightened-vSxkstg6.mjs} +4 -4
- package/dist/{logs-BGsW7iPe.mjs → logs-BND8MiBq.mjs} +9 -8
- package/dist/{logs-DI5ILkYB.mjs → logs-CilPftm3.mjs} +5 -5
- package/dist/{macos-C12RMJQF.mjs → macos-BOQrKYeJ.mjs} +1 -1
- package/dist/{macos-Bo9st9Di.mjs → macos-CxUi9xcE.mjs} +20 -20
- 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-BkhrCjdX.mjs} +16 -16
- package/dist/{native-gradle-artifact-inputs-BN96IVw8.mjs → native-gradle-artifact-inputs-Cw4P6Gyr.mjs} +3 -3
- package/dist/{native-runtime-DG4Rodzj.mjs → native-runtime-DyH2gkXK.mjs} +6 -6
- package/dist/{native-xcode-inputs-BKarCoKg.mjs → native-xcode-inputs-DV8jr3kJ.mjs} +2 -2
- package/dist/{native-xcode-ios-8A-efGa5.mjs → native-xcode-ios-DdpPG2iT.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-DZRad8HT.mjs} +4 -4
- package/dist/{placement-log-Cvhta5ib.mjs → placement-log-CoN6xrjY.mjs} +1 -1
- package/dist/{plan-placement-WkZdccuN.mjs → plan-placement-7sHuqR-r.mjs} +6 -6
- package/dist/{ports-UV4mJgyC.mjs → ports-VQSAPZhl.mjs} +3 -3
- package/dist/{prebuild-k8d_tqOq.mjs → prebuild-Bqp0LFGN.mjs} +9 -9
- package/dist/{project-Sui52ywT.mjs → project-D1n0K4yg.mjs} +15 -15
- package/dist/{react-native-android-DANlGGQf.mjs → react-native-android-FQ-yX3Mv.mjs} +22 -22
- package/dist/{react-native-build-jUHnIfZ9.mjs → react-native-build-D58bIqV9.mjs} +7 -7
- package/dist/{react-native-doctor-DCWRjS7K.mjs → react-native-doctor-AkUH2aca.mjs} +5 -5
- package/dist/{react-native-ios-BwMsFMXi.mjs → react-native-ios-Dmsv8j7T.mjs} +14 -14
- package/dist/{recordings-iy0mkm7b.mjs → recordings-CHMaF73C.mjs} +1 -1
- package/dist/{reload-c_uEyc_X.mjs → reload-BV0nD-k9.mjs} +14 -14
- package/dist/{reload-Bj7QyuDy.mjs → reload-CDKEzzaf.mjs} +1 -1
- package/dist/{remote-DFlpAqdV.mjs → remote-C8xyslUa.mjs} +8 -8
- package/dist/{result-BIcXREyC.mjs → result-9fqcJ90W.mjs} +16 -16
- package/dist/{run-y2HwyNvg.mjs → run-BQAmrohh.mjs} +2 -2
- package/dist/{selection-CXgM_VK_.mjs → selection-D1ZDzHFX.mjs} +105 -62
- package/dist/{server-bare-2N4vSRZG.mjs → server-bare-CEQdB_F4.mjs} +37 -1
- package/dist/{server-command-qneHPcRI.mjs → server-command-RlS-Kl4a.mjs} +5 -5
- package/dist/server-expo-BVV9qy31.mjs +2 -0
- package/dist/{server-expo-Ccm9zB0o.mjs → server-expo-bB1VV2k-.mjs} +8 -5
- package/dist/{settings-Cfd_Q6ys.mjs → settings-BcVCcAT5.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-_aatELz2.mjs} +4 -4
- package/dist/{settings-write-CJpjkeAd.mjs → settings-write-CkTVGQ4O.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-Dbgfh8gc.mjs} +6 -6
- package/dist/{stage-CmugrSG5.mjs → stage-BuHuRj1y.mjs} +1 -1
- package/dist/{start-CHH3zgIU.mjs → start-Cr-c3Xhq.mjs} +1 -1
- package/dist/{start-DYLk6GXn.mjs → start-Dlv4XXTP.mjs} +11 -11
- 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-D5c-uIBp.mjs} +4 -4
- package/dist/{status-7ULDEJ1e.mjs → status-CK7ZoEhV.mjs} +2 -2
- package/dist/{status-BHCkOZga.mjs → status-D6PBK6_-.mjs} +24 -24
- package/dist/{status-D_Ljc89p.mjs → status-DbQv--Yb.mjs} +1 -1
- package/dist/{status-watch-BmsPqYSU.mjs → status-watch-okrpea4i.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-CHtAiv79.mjs} +2 -2
- package/dist/{stop-D-dGE9gh.mjs → stop-p9uSKuGE.mjs} +20 -19
- package/dist/{stop-DQvE-P76.mjs → stop-uRQ-zYcl.mjs} +4 -4
- package/dist/supervisor-run.d.mts +1 -0
- package/dist/supervisor-run.mjs +23 -19
- package/dist/{support-BtlJKjyQ.mjs → support-BMpQIug0.mjs} +9 -9
- package/dist/{support-04IhBUTT.mjs → support-PFyTkrnr.mjs} +4 -4
- package/dist/{swiftpm-artifact-inputs-Cj2UpmPN.mjs → swiftpm-artifact-inputs-Cddq6jN2.mjs} +1 -1
- package/dist/{swiftpm-macos-BhF2stxY.mjs → swiftpm-macos-BSj9iZlI.mjs} +8 -8
- package/dist/{toolchain-qktiV8xc.mjs → toolchain-B-mzR9Rh.mjs} +1 -1
- package/dist/{toolchain-mLA_km-b.mjs → toolchain-CLGnEUgT.mjs} +4 -4
- 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--KkkBBaq.mjs} +3 -3
- package/dist/web-BxSo493O.mjs +2 -0
- package/dist/web-run.mjs +5 -5
- package/dist/{web-BYmK0TjL.mjs → web-xlVssjQf.mjs} +8 -8
- package/dist/{workspace-state-kIZrdlSg.mjs → workspace-state-DGwkPXwq.mjs} +2 -2
- package/dist/{workspaces-CmOcceDN.mjs → workspaces-CvSYD_78.mjs} +11 -11
- package/dist/{worktree-2dk5edza.mjs → worktree-CaQBf6kh.mjs} +25 -25
- package/dist/{worktree-nliAoHxB.mjs → worktree-DTOIohFe.mjs} +1 -1
- package/package.json +7 -7
- package/shim/bundle-response.cjs +37 -0
- package/dist/server-expo-WulkyAwT.mjs +0 -2
- package/dist/trigger-qp2ji5wE.mjs +0 -2
- package/dist/web-CrVLVQZY.mjs +0 -2
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
import { b as operationState, t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { _ as loadConfig$1 } from "./config-AbUjIBOQ.mjs";
|
|
3
3
|
import { t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { H as resolveScheme, K as xcodebuildArgs } from "./toolchain-mLA_km-b.mjs";
|
|
10
|
-
import { C as parseLeaseDuration, D as releaseWorkspaceLeases, j as takeLease, y as fileLeaseIo } from "./activity-DRMg4_mD.mjs";
|
|
11
|
-
import { a as discoverXcodeProject } from "./react-native-build-jUHnIfZ9.mjs";
|
|
12
|
-
import { l as parseDeviceWait, p as waitForDevice } from "./device-lease-run-Mtzp4THX.mjs";
|
|
13
|
-
import { m as resolveConfiguration, y as resolveSchemeSelection } from "./support-BtlJKjyQ.mjs";
|
|
4
|
+
import { X as resolveProjectSettings, Y as resolveIosProjectDir, an as makeTemporaryDirectory, it as settingValueAt, on as removeTemporaryEntry } from "./settings-D776ygML.mjs";
|
|
5
|
+
import { f as projectRegistry, g as selectNativeXcodeProject, i as findProjectRoot$1, p as NativeXcodeError, t as NO_PROJECT_REFUSAL } from "./project-D1n0K4yg.mjs";
|
|
6
|
+
import { H as resolveScheme, K as xcodebuildArgs } from "./toolchain-CLGnEUgT.mjs";
|
|
7
|
+
import { a as discoverXcodeProject } from "./react-native-build-D58bIqV9.mjs";
|
|
8
|
+
import { m as resolveConfiguration, y as resolveSchemeSelection } from "./support-BMpQIug0.mjs";
|
|
14
9
|
import { n as findSigningIdentities, o as parsePlist, s as parseProvisioningProfilePlist, t as decodeProvisioningProfile } from "./ios-signing-BJzvDPfU.mjs";
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { i as nativeXcodePackages, t as nativeXcodeHasPackages } from "./native-xcode-inputs-BKarCoKg.mjs";
|
|
10
|
+
import { f as resolveIosPhysicalDevice, l as listIosDevices } from "./ios-device-L1-pota_.mjs";
|
|
11
|
+
import { i as nativeXcodePackages, t as nativeXcodeHasPackages } from "./native-xcode-inputs-DV8jr3kJ.mjs";
|
|
18
12
|
import { existsSync, readdirSync, realpathSync, statSync } from "node:fs";
|
|
19
13
|
import { homedir } from "node:os";
|
|
20
14
|
import { join } from "node:path";
|
|
@@ -552,7 +546,7 @@ async function confirmInTerminal(question, open = openTerminal) {
|
|
|
552
546
|
input.close();
|
|
553
547
|
}
|
|
554
548
|
}
|
|
555
|
-
const DEFAULT_DEPS
|
|
549
|
+
const DEFAULT_DEPS = {
|
|
556
550
|
findProjectRoot: findProjectRoot$1,
|
|
557
551
|
resolveSettings: (root) => resolveProjectSettings(root).settings,
|
|
558
552
|
machineConfig: loadConfig$1,
|
|
@@ -577,7 +571,7 @@ const DEFAULT_DEPS$1 = {
|
|
|
577
571
|
const UNCONFIRMED_REMEDY = "Run it in a terminal and answer y, or pass --yes once the owner of the Apple Developer account has agreed to the changes listed. Agents never pass --yes without the user explicitly asking for this step.";
|
|
578
572
|
async function runProvision(platformArg, udidArg, opts = {}, overrides = {}) {
|
|
579
573
|
const d = {
|
|
580
|
-
...DEFAULT_DEPS
|
|
574
|
+
...DEFAULT_DEPS,
|
|
581
575
|
...overrides
|
|
582
576
|
};
|
|
583
577
|
const json = Boolean(opts.json);
|
|
@@ -780,289 +774,4 @@ async function runProvision(platformArg, udidArg, opts = {}, overrides = {}) {
|
|
|
780
774
|
return result;
|
|
781
775
|
}
|
|
782
776
|
//#endregion
|
|
783
|
-
|
|
784
|
-
const DEFAULT_FOR = "5m";
|
|
785
|
-
const DEFAULT_DEPS = {
|
|
786
|
-
findProjectRoot: findProjectRoot$1,
|
|
787
|
-
getProject,
|
|
788
|
-
avdNameOf: getAvdNameForSerialAsync,
|
|
789
|
-
listIosDevices,
|
|
790
|
-
listAdbDevices,
|
|
791
|
-
physicalDeviceModel,
|
|
792
|
-
probeEmulatorSerial,
|
|
793
|
-
takeLease,
|
|
794
|
-
releaseLeases: releaseWorkspaceLeases,
|
|
795
|
-
waitForDevice,
|
|
796
|
-
selectFromPool,
|
|
797
|
-
io: fileLeaseIo,
|
|
798
|
-
now: () => Date.now(),
|
|
799
|
-
sleep: (ms) => new Promise((r) => setTimeout(r, ms)),
|
|
800
|
-
out: (line) => console.log(line),
|
|
801
|
-
note: (line) => console.error(line)
|
|
802
|
-
};
|
|
803
|
-
function grantLine(facts, durationText) {
|
|
804
|
-
return `locked ${facts.deviceName ? `${facts.deviceName} (${facts.id})` : facts.id} for ${facts.holder} until ${clockTime(facts.expiresAt)} (${durationText}). Renew: stim device lock ${facts.platform}${facts.slot ? ` --slot ${facts.slot}` : ""} --for ${durationText}. Release: stim device unlock${facts.slot ? ` --slot ${facts.slot}` : ""}.`;
|
|
805
|
-
}
|
|
806
|
-
function releasedLine(lease) {
|
|
807
|
-
return `unlocked ${lease.deviceName ? `${lease.deviceName} (${lease.id})` : lease.id} -- the ${lease.platform} lease ran until ${clockTime(lease.expiresAt)}.`;
|
|
808
|
-
}
|
|
809
|
-
function readPlatform(value) {
|
|
810
|
-
return value === "ios" || value === "android" ? value : null;
|
|
811
|
-
}
|
|
812
|
-
async function resolveDevice(platform, requested, d) {
|
|
813
|
-
if (platform === "ios") {
|
|
814
|
-
const resolved = resolveIosPhysicalDevice(requested, await d.listIosDevices());
|
|
815
|
-
if (!resolved.udid) return {
|
|
816
|
-
code: "STIM_NO_DEVICE",
|
|
817
|
-
message: resolved.error,
|
|
818
|
-
remedy: resolved.remedy ?? null
|
|
819
|
-
};
|
|
820
|
-
return {
|
|
821
|
-
id: resolved.udid,
|
|
822
|
-
deviceName: resolved.name ?? resolved.udid
|
|
823
|
-
};
|
|
824
|
-
}
|
|
825
|
-
const resolved = resolvePhysicalDevice(requested, d.listAdbDevices(), d.probeEmulatorSerial);
|
|
826
|
-
if (!resolved.serial) return {
|
|
827
|
-
code: "STIM_NO_DEVICE",
|
|
828
|
-
message: resolved.error,
|
|
829
|
-
remedy: resolved.remedy ?? null
|
|
830
|
-
};
|
|
831
|
-
return {
|
|
832
|
-
id: resolved.serial,
|
|
833
|
-
deviceName: d.physicalDeviceModel(resolved.serial) ?? resolved.serial
|
|
834
|
-
};
|
|
835
|
-
}
|
|
836
|
-
async function findOwnedVirtualDevice(project, platform, id, avdNameOf) {
|
|
837
|
-
let running;
|
|
838
|
-
for (const { slot, platforms } of projectDeviceSlots(project)) {
|
|
839
|
-
if (platform === "ios") {
|
|
840
|
-
const sim = platforms.ios;
|
|
841
|
-
if (sim?.owned && sim.deviceUdid && sim.deviceUdid.toLowerCase() === id.toLowerCase()) return {
|
|
842
|
-
id: sim.deviceUdid,
|
|
843
|
-
deviceName: sim.deviceName ?? null,
|
|
844
|
-
slot
|
|
845
|
-
};
|
|
846
|
-
continue;
|
|
847
|
-
}
|
|
848
|
-
const emulator = platforms.android;
|
|
849
|
-
if (!emulator?.owned || !emulator.avdName || !/^emulator-\d+$/.test(id)) continue;
|
|
850
|
-
running ??= { name: await avdNameOf(id) };
|
|
851
|
-
if (running.name === emulator.avdName) return {
|
|
852
|
-
id,
|
|
853
|
-
deviceName: emulator.deviceName ?? emulator.avdName,
|
|
854
|
-
slot
|
|
855
|
-
};
|
|
856
|
-
}
|
|
857
|
-
return null;
|
|
858
|
-
}
|
|
859
|
-
function isFailure(value) {
|
|
860
|
-
return "code" in value;
|
|
861
|
-
}
|
|
862
|
-
async function poolDevice(platform, idLabel, waitSeconds, deadline, root, d, slot) {
|
|
863
|
-
const isEmulator = memoizeEmulatorProbe(d.probeEmulatorSerial);
|
|
864
|
-
const pooled = await d.selectFromPool({
|
|
865
|
-
...slot ? { slot } : {},
|
|
866
|
-
root,
|
|
867
|
-
platform,
|
|
868
|
-
idLabel,
|
|
869
|
-
list: async () => platform === "ios" ? iosPoolCandidates(await d.listIosDevices()).map((entry) => ({
|
|
870
|
-
id: entry.udid,
|
|
871
|
-
name: entry.name,
|
|
872
|
-
fallback: isWirelessIosDevice(entry)
|
|
873
|
-
})) : androidPoolCandidates(d.listAdbDevices(), isEmulator).map((entry) => ({ id: entry.serial })),
|
|
874
|
-
noCandidates: async () => {
|
|
875
|
-
const resolved = platform === "ios" ? iosPoolNoCandidatesRefusal(await d.listIosDevices()) : androidPoolNoCandidatesRefusal(d.listAdbDevices(), isEmulator);
|
|
876
|
-
return {
|
|
877
|
-
message: resolved.error,
|
|
878
|
-
remedy: resolved.remedy
|
|
879
|
-
};
|
|
880
|
-
},
|
|
881
|
-
waitSeconds,
|
|
882
|
-
deadline,
|
|
883
|
-
now: d.now,
|
|
884
|
-
sleep: d.sleep,
|
|
885
|
-
warn: (line) => d.note(chalk.yellow(line)),
|
|
886
|
-
io: d.io
|
|
887
|
-
});
|
|
888
|
-
if (pooled.status === "refused") return {
|
|
889
|
-
code: pooled.refusal.code,
|
|
890
|
-
message: pooled.refusal.message,
|
|
891
|
-
remedy: pooled.refusal.remedy,
|
|
892
|
-
...pooled.refusal.lease === null ? {} : { lease: pooled.refusal.lease }
|
|
893
|
-
};
|
|
894
|
-
const name = pooled.candidate.name ?? (platform === "ios" ? pooled.candidate.id : d.physicalDeviceModel(pooled.candidate.id));
|
|
895
|
-
return {
|
|
896
|
-
id: pooled.candidate.id,
|
|
897
|
-
deviceName: name ?? pooled.candidate.id
|
|
898
|
-
};
|
|
899
|
-
}
|
|
900
|
-
async function runLock(platformArg, idArg, opts = {}, overrides = {}) {
|
|
901
|
-
const d = {
|
|
902
|
-
...DEFAULT_DEPS,
|
|
903
|
-
...overrides
|
|
904
|
-
};
|
|
905
|
-
const json = Boolean(opts.json);
|
|
906
|
-
const report = (failure) => {
|
|
907
|
-
d.note(chalk.red(`${failure.code}: ${failure.message}`));
|
|
908
|
-
if (failure.remedy) d.note(chalk.dim(failure.remedy));
|
|
909
|
-
if (json) d.out(JSON.stringify({
|
|
910
|
-
code: failure.code,
|
|
911
|
-
message: failure.message,
|
|
912
|
-
remedy: failure.remedy,
|
|
913
|
-
...failure.lease === void 0 ? {} : { lease: failure.lease }
|
|
914
|
-
}));
|
|
915
|
-
return failure;
|
|
916
|
-
};
|
|
917
|
-
const platform = readPlatform(platformArg);
|
|
918
|
-
if (!platform) return report({
|
|
919
|
-
code: "STIM_BAD_ARG",
|
|
920
|
-
message: `\`stim device lock\` takes ios or android, not ${JSON.stringify(platformArg)}.`,
|
|
921
|
-
remedy: "Run `stim device lock ios` or `stim device lock android`."
|
|
922
|
-
});
|
|
923
|
-
const root = d.findProjectRoot(process.cwd());
|
|
924
|
-
if (!root) return report(NO_PROJECT_REFUSAL);
|
|
925
|
-
const durationText = String(opts.for ?? DEFAULT_FOR).trim();
|
|
926
|
-
const duration = parseLeaseDuration(durationText);
|
|
927
|
-
if ("error" in duration) return report({
|
|
928
|
-
code: "STIM_BAD_ARG",
|
|
929
|
-
message: duration.error,
|
|
930
|
-
remedy: "Pass a whole number of seconds or minutes from 10s to 30m, e.g. --for 90s or --for 10m."
|
|
931
|
-
});
|
|
932
|
-
const wait = parseDeviceWait(opts.wait);
|
|
933
|
-
if ("error" in wait) return report({
|
|
934
|
-
code: "STIM_BAD_ARG",
|
|
935
|
-
message: wait.error,
|
|
936
|
-
remedy: "Pass a whole number of seconds, e.g. --wait 90. `--wait 0` refuses a leased device at once."
|
|
937
|
-
});
|
|
938
|
-
const idLabel = platform === "ios" ? "udid" : "serial";
|
|
939
|
-
const deadline = d.now() + wait.seconds * 1e3;
|
|
940
|
-
const lastLine = { at: null };
|
|
941
|
-
const owned = idArg ? await findOwnedVirtualDevice(d.getProject(root), platform, idArg, d.avdNameOf) : null;
|
|
942
|
-
if (owned && opts.slot && opts.slot !== owned.slot) return report({
|
|
943
|
-
code: "STIM_BAD_ARG",
|
|
944
|
-
message: `${owned.id} is this workspace's ${platform} device in slot ${owned.slot}, not ${opts.slot}.`,
|
|
945
|
-
remedy: `Run \`stim device lock ${platform} ${owned.id}\` without --slot, or with --slot ${owned.slot}.`
|
|
946
|
-
});
|
|
947
|
-
const held = owned ? d.io.readHolder(root)[deviceSlotKey(platform, owned.slot)] : void 0;
|
|
948
|
-
if (owned && held && held.id !== owned.id) return report({
|
|
949
|
-
code: "STIM_DEVICE_BUSY",
|
|
950
|
-
message: `This workspace already leases ${held.id} for ${platform} in slot ${owned.slot}, and a workspace holds one lease per platform and slot.`,
|
|
951
|
-
remedy: `Release it with \`stim device unlock ${platform}${owned.slot === "default" ? "" : ` --slot ${owned.slot}`}\` once nothing depends on it, then lock ${owned.id}.`
|
|
952
|
-
});
|
|
953
|
-
const slot = owned ? owned.slot === "default" ? void 0 : owned.slot : opts.slot;
|
|
954
|
-
const device = owned ? owned : idArg ? await resolveDevice(platform, idArg, d) : await poolDevice(platform, idLabel, wait.seconds, deadline, root, d, opts.slot);
|
|
955
|
-
if (isFailure(device)) return report(device);
|
|
956
|
-
for (;;) {
|
|
957
|
-
const outcome = await d.waitForDevice({
|
|
958
|
-
...slot ? { slot } : {},
|
|
959
|
-
root,
|
|
960
|
-
platform,
|
|
961
|
-
id: device.id,
|
|
962
|
-
idLabel,
|
|
963
|
-
waitSeconds: wait.seconds,
|
|
964
|
-
now: d.now,
|
|
965
|
-
sleep: d.sleep,
|
|
966
|
-
warn: (line) => d.note(chalk.yellow(line)),
|
|
967
|
-
io: d.io,
|
|
968
|
-
deadline,
|
|
969
|
-
lastLine
|
|
970
|
-
});
|
|
971
|
-
if (outcome.status === "refused") return report({
|
|
972
|
-
...outcome.refusal,
|
|
973
|
-
lease: outcome.refusal.lease
|
|
974
|
-
});
|
|
975
|
-
const taken = d.takeLease({
|
|
976
|
-
...slot ? { slot } : {},
|
|
977
|
-
root,
|
|
978
|
-
platform,
|
|
979
|
-
id: device.id,
|
|
980
|
-
deviceName: device.deviceName,
|
|
981
|
-
kind: "declared",
|
|
982
|
-
durationMs: duration.ms
|
|
983
|
-
}, d.io);
|
|
984
|
-
if (taken.status === "unreadable") return report({
|
|
985
|
-
code: "STIM_DEVICE_BUSY",
|
|
986
|
-
message: `The lease file at ${taken.path} does not parse, so Stim cannot tell who holds that device.`,
|
|
987
|
-
remedy: `Read ${taken.path} and, once you know no run depends on it, delete it. \`stim gc\` reports it on every run.`,
|
|
988
|
-
lease: {
|
|
989
|
-
platform: null,
|
|
990
|
-
id: null,
|
|
991
|
-
deviceName: null,
|
|
992
|
-
holder: null,
|
|
993
|
-
expiresAt: null
|
|
994
|
-
}
|
|
995
|
-
});
|
|
996
|
-
if (taken.status === "held") continue;
|
|
997
|
-
const facts = {
|
|
998
|
-
...taken.lease.slot ? { slot: taken.lease.slot } : {},
|
|
999
|
-
platform,
|
|
1000
|
-
id: taken.lease.id,
|
|
1001
|
-
deviceName: taken.lease.deviceName,
|
|
1002
|
-
holder: taken.lease.holder,
|
|
1003
|
-
kind: "declared",
|
|
1004
|
-
grantedAt: taken.lease.grantedAt,
|
|
1005
|
-
expiresAt: taken.lease.expiresAt,
|
|
1006
|
-
leaseSeconds: Math.round(duration.ms / 1e3)
|
|
1007
|
-
};
|
|
1008
|
-
if (json) d.out(JSON.stringify(facts));
|
|
1009
|
-
else d.out(chalk.green(grantLine(facts, durationText)));
|
|
1010
|
-
return facts;
|
|
1011
|
-
}
|
|
1012
|
-
}
|
|
1013
|
-
async function runUnlock(platformArg, opts = {}, overrides = {}) {
|
|
1014
|
-
const d = {
|
|
1015
|
-
...DEFAULT_DEPS,
|
|
1016
|
-
...overrides
|
|
1017
|
-
};
|
|
1018
|
-
const json = Boolean(opts.json);
|
|
1019
|
-
const report = (failure) => {
|
|
1020
|
-
d.note(chalk.red(`${failure.code}: ${failure.message}`));
|
|
1021
|
-
if (failure.remedy) d.note(chalk.dim(failure.remedy));
|
|
1022
|
-
if (json) d.out(JSON.stringify({
|
|
1023
|
-
code: failure.code,
|
|
1024
|
-
message: failure.message,
|
|
1025
|
-
remedy: failure.remedy
|
|
1026
|
-
}));
|
|
1027
|
-
return failure;
|
|
1028
|
-
};
|
|
1029
|
-
const platform = platformArg === void 0 ? null : readPlatform(platformArg);
|
|
1030
|
-
if (platformArg !== void 0 && !platform) return report({
|
|
1031
|
-
code: "STIM_BAD_ARG",
|
|
1032
|
-
message: `\`stim device unlock\` takes ios or android, not ${JSON.stringify(platformArg)}.`,
|
|
1033
|
-
remedy: "Run `stim device unlock` for every lease this workspace holds, or name one platform."
|
|
1034
|
-
});
|
|
1035
|
-
const root = d.findProjectRoot(process.cwd());
|
|
1036
|
-
if (!root) return report(NO_PROJECT_REFUSAL);
|
|
1037
|
-
const released = d.releaseLeases(root, {
|
|
1038
|
-
platform,
|
|
1039
|
-
...opts.slot ? { slot: opts.slot } : {}
|
|
1040
|
-
}, d.io);
|
|
1041
|
-
if (released.length === 0) d.note(chalk.dim(`No ${platform ? `${platform} ` : ""}device lease to release for ${root}. \`stim status\` lists every lease on this machine.`));
|
|
1042
|
-
if (json) d.out(JSON.stringify(released.map((lease) => ({
|
|
1043
|
-
...lease,
|
|
1044
|
-
holder: root
|
|
1045
|
-
}))));
|
|
1046
|
-
else for (const lease of released) d.out(chalk.green(releasedLine(lease)));
|
|
1047
|
-
return released;
|
|
1048
|
-
}
|
|
1049
|
-
function registerDevice(program, deps = {}) {
|
|
1050
|
-
const device = program.command("device").description("Lease a connected physical device to this workspace, give it back, or provision iOS signing for it");
|
|
1051
|
-
device.command("lock").argument("<platform>", "ios or android").argument("[id]", "the UDID or serial to lease, a connected device or this workspace's own simulator or emulator; without one, the first free connected device is used").description("Lease a connected physical device, or this workspace's own simulator or emulator, to this workspace for a declared time, so another workspace's `--device` run waits and agents see the device as driven. Nothing but this command and a `--device` run moves the expiry.").option("--for <duration>", `How long to hold it: a whole number of seconds or minutes from 10s to 30m (default ${DEFAULT_FOR})`).option("--wait <seconds>", "How long to wait for a device another workspace holds, before refusing with STIM_DEVICE_BUSY (default 60, 0 refuses at once)").option("--slot <name>", "Use this workspace device slot", parseDeviceSlotOption).option("--json", "print the lease as JSON on stdout").action(async (platform, id, opts) => {
|
|
1052
|
-
if ("code" in await runLock(platform, id, opts, deps)) process.exit(1);
|
|
1053
|
-
});
|
|
1054
|
-
device.command("unlock").argument("[platform]", "ios or android; without one, every lease this workspace holds is released").description("Release the device lease or leases this workspace holds. Releasing nothing is not an error.").option("--slot <name>", "Use this workspace device slot", parseDeviceSlotOption).option("--json", "print the released leases as JSON on stdout").action(async (platform, opts) => {
|
|
1055
|
-
const result = await runUnlock(platform, opts, deps);
|
|
1056
|
-
if (!Array.isArray(result)) process.exit(1);
|
|
1057
|
-
});
|
|
1058
|
-
device.command("provision").argument("<platform>", "ios").argument("[udid]", "the connected iPhone or iPad to provision for; required when more than one is connected").description("Register a connected iPhone with the project's Apple Developer team and create or refresh its iOS App Development profile, through xcodebuild -allowProvisioningUpdates. It lists the account changes and asks first; no build ever does this.").option("--scheme <name>", "Xcode scheme whose signed targets to provision (default: ios.scheme, then detected)").option("--configuration <name>", "build configuration to provision (default: ios.configuration, then Debug)").option("--yes", "confirm the listed Apple Developer account changes without a prompt").option("--json", "print the plan and result, or the refusal, as JSON on stdout").action(async (platform, udid, opts) => {
|
|
1059
|
-
const root = findProjectRoot$1(process.cwd()) ?? process.cwd();
|
|
1060
|
-
const { value: result, interrupted } = await runProcessOperation(root, (operation) => runProvision(platform, udid, opts, { operation }));
|
|
1061
|
-
if ("code" in result) process.exit(interrupted ?? 1);
|
|
1062
|
-
});
|
|
1063
|
-
}
|
|
1064
|
-
function deviceCommand(program) {
|
|
1065
|
-
registerDevice(program);
|
|
1066
|
-
}
|
|
1067
|
-
//#endregion
|
|
1068
|
-
export { deviceCommand as default, grantLine, registerDevice, releasedLine, runLock, runUnlock };
|
|
777
|
+
export { runProvision as n, confirmInTerminal as t };
|
|
@@ -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-Cp4-HN1f.mjs";
|
|
2
2
|
export { applySandboxFix, doctorCommand as default, doctorSuccessLines, parseDoctorPlatform, readDoctorReport, shadowedStimFinding, toolchainReport };
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { Q as doctorIo, _ as loadConfig$1, p as getProject } from "./config-
|
|
2
|
-
import { f as refuseNoProject, l as phaseLine } from "./command-output-
|
|
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 { I 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 { c as checkWorktreeStorageLayout, l as readMachineSettings, o as runDoctor } from "./doctor-
|
|
14
|
-
import { h as resolveDeviceType, v as resolveRuntime } from "./support-
|
|
1
|
+
import { Q as doctorIo, _ as loadConfig$1, p as getProject, tt as keyConfirmer } from "./config-AbUjIBOQ.mjs";
|
|
2
|
+
import { f as refuseNoProject, l as phaseLine } from "./command-output-DjCsmzLZ.mjs";
|
|
3
|
+
import { Bt as repoRoot, z as projectSettingsContextAsync } from "./settings-D776ygML.mjs";
|
|
4
|
+
import { f as projectRegistry, t as NO_PROJECT_REFUSAL } from "./project-D1n0K4yg.mjs";
|
|
5
|
+
import { Qn as inspectWatchmanMemory, f as inspectBudget, l as budgetLine, nr as memorySweepIsScoped } from "./ccache-DsDkdP72.mjs";
|
|
6
|
+
import { c as inspectStimVersions, s as compareStimVersions } from "./eas-session-ledger-B0KLZx5m.mjs";
|
|
7
|
+
import { I as detectXcodeMajorAsync } from "./toolchain-CLGnEUgT.mjs";
|
|
8
|
+
import { H as memoryCulpritFindings, U as readMemoryCulpritsAsync, f as listAllIosSimsAsync, h as listIosRuntimesAsync, l as iosRuntimeMatches, x as pickDefaultIosCreation } from "./ios-CoMCWfub.mjs";
|
|
9
|
+
import { s as offloadCheck } from "./client-BTUH8TF1.mjs";
|
|
10
|
+
import { g as configuredMachines, p as inspectBuildMachines, v as inspectDeviceHostMachines } from "./selection-D1ZDzHFX.mjs";
|
|
11
|
+
import { r as maintenanceStatus, t as maintenanceLine } from "./status-CK7ZoEhV.mjs";
|
|
12
|
+
import { a as writeIgnoreDirs, c as recordDoctorRun, i as watchedCheckouts, n as inspectNestedWorktrees, r as nestedWorktreeFinding } from "./doctor-watchman-CJr2aXXv.mjs";
|
|
13
|
+
import { c as checkWorktreeStorageLayout, l as readMachineSettings, o as runDoctor } from "./doctor-Dr3C1iXV.mjs";
|
|
14
|
+
import { h as resolveDeviceType, v as resolveRuntime } from "./support-BMpQIug0.mjs";
|
|
15
|
+
import { t as confirmInTerminal } from "./device-provision-CK2XiEp1.mjs";
|
|
15
16
|
import { isJsonObject, maintenanceNdjsonFile, readHostedAppMetadata, readHostedSessions } from "@stim-cli/core/state";
|
|
16
17
|
import { dirname, join, sep } from "path";
|
|
17
18
|
import chalk from "chalk";
|
|
@@ -483,11 +484,14 @@ async function assembleDoctorReport(root, opts, version, prepared, inspectVersio
|
|
|
483
484
|
findings.push(...budget.findings);
|
|
484
485
|
const watchmanMemory = withoutUnhandledRejection(inspectWatchmanMemory(env, operation));
|
|
485
486
|
const tickets = /* @__PURE__ */ new Map();
|
|
487
|
+
const interactive = !operation && opts.fix === true && !opts.json && process.stdin.isTTY === true && process.stderr.isTTY === true;
|
|
488
|
+
const confirmKey = keyConfirmer(interactive ? confirmInTerminal : null);
|
|
486
489
|
const deviceHosts = withoutUnhandledRejection(inspectDeviceHostMachines({
|
|
487
490
|
fix: opts.fix === true,
|
|
488
491
|
version,
|
|
489
492
|
tickets,
|
|
490
|
-
operation
|
|
493
|
+
operation,
|
|
494
|
+
confirmKey
|
|
491
495
|
}, io));
|
|
492
496
|
const nestedWorktrees = await inspectNestedWorktrees(root);
|
|
493
497
|
const watched = withoutUnhandledRejection(watchedCheckouts(nestedWorktrees.map((entry) => entry.checkout)));
|
|
@@ -500,6 +504,7 @@ async function assembleDoctorReport(root, opts, version, prepared, inspectVersio
|
|
|
500
504
|
version,
|
|
501
505
|
tickets,
|
|
502
506
|
operation,
|
|
507
|
+
confirmKey,
|
|
503
508
|
check: targetInspectors.length ? offloadCheck(root, async () => (await Promise.all(targetInspectors.map((inspect) => inspect()))).flat()) : null
|
|
504
509
|
}, io));
|
|
505
510
|
const watchman = await watchmanMemory;
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { C as reportSignal, T as trackReportResource, t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { T as workspaceDerivedData, r as readWorkspaceState$1, y as sharedBuildCache } from "./workspace-state-
|
|
3
|
-
import { _ as loadConfig$1,
|
|
4
|
-
import { d as quotedPath, u as plural } from "./command-output-
|
|
2
|
+
import { T as workspaceDerivedData, r as readWorkspaceState$1, y as sharedBuildCache } from "./workspace-state-DGwkPXwq.mjs";
|
|
3
|
+
import { _ as loadConfig$1, ot as realIo, s as configCorruptRepair, u as getConcurrencyLimits } from "./config-AbUjIBOQ.mjs";
|
|
4
|
+
import { d as quotedPath, u as plural } from "./command-output-DjCsmzLZ.mjs";
|
|
5
5
|
import { l as gitQuietAsync, o as git } from "./operation-exec-Dp4FuIGR.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-
|
|
7
|
-
import { C as resolvePackageJson, _ as appProjectProblem, b as isPackageResolvable, v as detectIsExpo } from "./project-
|
|
8
|
-
import { ft as POOL_SETTING_REMEDY, k as hostSystemImageArch, o as androidHome, vt as parkedMaxSetting } 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 { Y as podInstallCommand } from "./toolchain-
|
|
12
|
-
import { N as listBuildLocks } from "./activity-
|
|
13
|
-
import { m as fingerprintProject, o as diffFingerprintSources } from "./build-cache-
|
|
14
|
-
import { F as hostMemoryPressureAdvice, z as readHostMemoryPressureAsync } from "./ios-
|
|
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-D776ygML.mjs";
|
|
7
|
+
import { C as resolvePackageJson, _ as appProjectProblem, b as isPackageResolvable, v as detectIsExpo } from "./project-D1n0K4yg.mjs";
|
|
8
|
+
import { ft as POOL_SETTING_REMEDY, k as hostSystemImageArch, o as androidHome, vt as parkedMaxSetting } from "./android-BHKgeOuq.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-DsDkdP72.mjs";
|
|
10
|
+
import { wt as listBuildSlots } from "./workspaces-CvSYD_78.mjs";
|
|
11
|
+
import { Y as podInstallCommand } from "./toolchain-CLGnEUgT.mjs";
|
|
12
|
+
import { N as listBuildLocks } from "./activity-BR5oHSO5.mjs";
|
|
13
|
+
import { m as fingerprintProject, o as diffFingerprintSources } from "./build-cache-BGwTsIEa.mjs";
|
|
14
|
+
import { F as hostMemoryPressureAdvice, z as readHostMemoryPressureAsync } from "./ios-CoMCWfub.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-
|
|
16
|
+
import { n as hasInstalledDependencies, r as installedNpmTreeIsValidAsync, t as dependencyState } from "./dependency-state-CPKAKCZ8.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-D58bIqV9.mjs";
|
|
18
|
+
import { a as envSettingRefusal, i as configSettingRefusal } from "./settings-payload-_aatELz2.mjs";
|
|
19
|
+
import { a as countLiveOwnedDevicesAsync, i as countLiveOwnedDevices } from "./device-capacity-B2ChA-bz.mjs";
|
|
20
20
|
import { t as readDoctorFingerprint } from "./doctor-fingerprint-o7ZI9YLn.mjs";
|
|
21
21
|
import { i as probeSigningIdentities } from "./ios-signing-BJzvDPfU.mjs";
|
|
22
22
|
import { a as findChrome, t as CHROME_INSTALL_REMEDY } from "./chrome-DyDWurWG.mjs";
|
|
23
|
-
import { n as simslimIsOnPath } from "./simslim-
|
|
24
|
-
import { t as MIN_EAS_CLI_BUILD_DOWNLOAD_VERSION } from "./eas-build-
|
|
25
|
-
import { r as resolveAndroidCompilerCache, t as readAndroidCasToolchain } from "./android-cas-
|
|
23
|
+
import { n as simslimIsOnPath } from "./simslim-CbpHERcv.mjs";
|
|
24
|
+
import { t as MIN_EAS_CLI_BUILD_DOWNLOAD_VERSION } from "./eas-build-D-9HmGZS.mjs";
|
|
25
|
+
import { r as resolveAndroidCompilerCache, t as readAndroidCasToolchain } from "./android-cas-BH6K12__.mjs";
|
|
26
26
|
import { existsSync, lstatSync, readFileSync, readdirSync, realpathSync, rmSync } from "node:fs";
|
|
27
27
|
import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
28
28
|
import { LAST_BUILD_KEYS, REPLACED_SETTINGS, isJsonObject, readBuildHistory, readJsonObject, readStats, replacementAdvice, settingDefinition } from "@stim-cli/core/state";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { E as upsertProject, O as withConfigLockAsync$1, d as getConfigDir, p as getProject } from "./config-
|
|
1
|
+
import { E as upsertProject, O as withConfigLockAsync$1, d as getConfigDir, p as getProject } from "./config-AbUjIBOQ.mjs";
|
|
2
2
|
import { l as gitQuietAsync } from "./operation-exec-Dp4FuIGR.mjs";
|
|
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-
|
|
3
|
+
import { Vt as repoRootAsync, jt as listWorktreesAsync } from "./settings-D776ygML.mjs";
|
|
4
|
+
import { f as projectRegistry } from "./project-D1n0K4yg.mjs";
|
|
5
|
+
import { d as parseWatchRoots, m as runWatchman, s as compareStimVersions } from "./eas-session-ledger-B0KLZx5m.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
1
|
import { D as ownership_claim_exports, c as throwIfCancelled, t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
2
|
import { a as killOnAbort, r as childEnvironment } from "./operation-exec-Dp4FuIGR.mjs";
|
|
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-
|
|
3
|
+
import { Gn as easCliSupport, Kn as easCliUpgradeRemedy, Ln as resolveEasCliBin, Vn as remoteCliInvocation } from "./ccache-DsDkdP72.mjs";
|
|
4
|
+
import { M as acquireBuildLock, P as releaseBuildLock } from "./activity-BR5oHSO5.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
1
|
import { c as throwIfCancelled, t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { p as getProject } from "./config-
|
|
2
|
+
import { p as getProject } from "./config-AbUjIBOQ.mjs";
|
|
3
3
|
import { r as childEnvironment } from "./operation-exec-Dp4FuIGR.mjs";
|
|
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-
|
|
4
|
+
import { dt as detectProviders, ft as planMetroReach } from "./settings-D776ygML.mjs";
|
|
5
|
+
import { M as readMetroTunnel, P as readRemoteSession } from "./project-D1n0K4yg.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-DsDkdP72.mjs";
|
|
7
7
|
//#region src/engine/eas-fallback.ts
|
|
8
8
|
const AVAILABILITY_TIMEOUT_MS = 3e4;
|
|
9
9
|
function unusable(code, reason) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { C as reportSignal, t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { M as withDirLock$1, N as withDirLockAsync$1, w as workspaceAgentDeviceDir } from "./workspace-state-
|
|
3
|
-
import { G as projectDeviceSlots, V as deviceSlotKey } from "./config-
|
|
4
|
-
import { a as formatElapsed, o as formatLongDuration, r as clockTime, u as plural } from "./command-output-
|
|
5
|
-
import { n as isInsideProject } from "./metro-
|
|
6
|
-
import { r as cdpEndpoint } from "./state-
|
|
2
|
+
import { M as withDirLock$1, N as withDirLockAsync$1, w as workspaceAgentDeviceDir } from "./workspace-state-DGwkPXwq.mjs";
|
|
3
|
+
import { G as projectDeviceSlots, V as deviceSlotKey } from "./config-AbUjIBOQ.mjs";
|
|
4
|
+
import { a as formatElapsed, o as formatLongDuration, r as clockTime, u as plural } from "./command-output-DjCsmzLZ.mjs";
|
|
5
|
+
import { n as isInsideProject } from "./metro-BMQHczcf.mjs";
|
|
6
|
+
import { r as cdpEndpoint } from "./state-D5ZxwCGJ.mjs";
|
|
7
7
|
import { accessSync, constants, existsSync, mkdirSync, realpathSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
8
8
|
import { delimiter, dirname, join, resolve } from "node:path";
|
|
9
9
|
import { workspaceId } from "@stim-cli/core";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { r as readWorkspaceState$1 } from "./workspace-state-
|
|
3
|
-
import { H as deviceSlotPlatforms, V as deviceSlotKey, p as getProject } from "./config-
|
|
4
|
-
import { v as launchErrorPreview } from "./command-output-
|
|
5
|
-
import { I as readWorkspaceLaunches } from "./project-
|
|
6
|
-
import { o as androidHome, u as androidToolCwd } from "./android-
|
|
7
|
-
import { d as resolveProjectMetro } from "./metro-
|
|
8
|
-
import { i as parseLogcatLine, n as androidLogGroups, r as isAndroidCrashText } from "./android-
|
|
9
|
-
import { S as parseLease, v as deviceLeasePath, y as fileLeaseIo } from "./activity-
|
|
2
|
+
import { r as readWorkspaceState$1 } from "./workspace-state-DGwkPXwq.mjs";
|
|
3
|
+
import { H as deviceSlotPlatforms, V as deviceSlotKey, p as getProject } from "./config-AbUjIBOQ.mjs";
|
|
4
|
+
import { v as launchErrorPreview } from "./command-output-DjCsmzLZ.mjs";
|
|
5
|
+
import { I as readWorkspaceLaunches } from "./project-D1n0K4yg.mjs";
|
|
6
|
+
import { o as androidHome, u as androidToolCwd } from "./android-BHKgeOuq.mjs";
|
|
7
|
+
import { d as resolveProjectMetro } from "./metro-BMQHczcf.mjs";
|
|
8
|
+
import { i as parseLogcatLine, n as androidLogGroups, r as isAndroidCrashText } from "./android-CLU_MMnb.mjs";
|
|
9
|
+
import { S as parseLease, v as deviceLeasePath, y as fileLeaseIo } from "./activity-BR5oHSO5.mjs";
|
|
10
10
|
import { r as deviceConsoleLevel } from "./ios-device-CiBA-er9.mjs";
|
|
11
11
|
import { createHash, randomUUID } from "node:crypto";
|
|
12
12
|
import { existsSync, readFileSync, renameSync } from "node:fs";
|