stim 1.17.1 → 1.17.2
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/{android-B6rDWrTm.mjs → android-B9yaNKwa.mjs} +9 -9
- package/dist/{budget-CUDz870h.mjs → budget-DfcgFdQB.mjs} +3 -3
- package/dist/{build-plan-BJSXzsCL.mjs → build-plan-BDsSi09V.mjs} +5 -5
- package/dist/{cli-BLQqDGlX.mjs → cli-CYXb29oE.mjs} +13 -13
- package/dist/cli.mjs +1 -1
- package/dist/{client-CxNotugx.mjs → client-SvBdgObD.mjs} +46 -18
- package/dist/{deps-CVxlsRFn.mjs → deps-iKw0eD4P.mjs} +1 -1
- package/dist/device-host-worker.mjs +1 -1
- package/dist/{doctor-BF_435OC.mjs → doctor-CFv1fCrF.mjs} +5 -5
- package/dist/{gc-BsWKa_-d.mjs → gc-DEmkg3Xh.mjs} +3 -3
- package/dist/{gradle-bsBRy6i9.mjs → gradle-dJpre3Yn.mjs} +1 -1
- package/dist/{guide-DC3n6-NH.mjs → guide-CSmhMTf8.mjs} +24 -19
- package/dist/{hosted-android-DgU31wY3.mjs → hosted-android-E1Heoqnv.mjs} +3 -3
- package/dist/{hosted-client-CdSoH-G6.mjs → hosted-client-Bp4knSwu.mjs} +1 -1
- package/dist/{hosted-ios-BTaVj4Jb.mjs → hosted-ios-BnbeYOUD.mjs} +1 -1
- package/dist/{hosted-logs-SxfBvSvc.mjs → hosted-logs-OcgIBvCT.mjs} +2 -2
- package/dist/{hosted-macos-CT9E3meL.mjs → hosted-macos-DcxKjtfH.mjs} +2 -2
- package/dist/{hosted-native-CZLOrMrN.mjs → hosted-native-1Ebbig4w.mjs} +3 -3
- package/dist/{ios-C7JuT1bI.mjs → ios-BJ4XUSe1.mjs} +10 -10
- package/dist/{logs-DNxKcok9.mjs → logs-BAaS7gS2.mjs} +3 -3
- package/dist/{macos-BEs8cwKx.mjs → macos-BIRQS90f.mjs} +5 -5
- package/dist/maintenance-run.mjs +2 -2
- package/dist/{metro-gateway-CHqK0p-a.mjs → metro-gateway-C-ijGI2F.mjs} +1 -1
- package/dist/{native-runtime-YhaSxP4v.mjs → native-runtime-BEK171xQ.mjs} +1 -1
- package/dist/offload-worker.mjs +4 -4
- package/dist/{preview-C_JjkEy4.mjs → preview-B-g9d7kV.mjs} +1 -1
- package/dist/{reload-byOjE3P4.mjs → reload-DcRxj3qG.mjs} +2 -2
- package/dist/settings.schema.json +2 -2
- package/dist/{start-BEP-XmEA.mjs → start-AlfCPRVU.mjs} +1 -1
- package/dist/{start-BHIersSm.mjs → start-DUz3mYdb.mjs} +1 -1
- package/dist/{status-CqeWbIWW.mjs → status-BA2pehwf.mjs} +5 -5
- package/dist/{stop-D03prQnW.mjs → stop-BIiM49EY.mjs} +1 -1
- package/dist/{stop-Cj01je8D.mjs → stop-DQIasgKp.mjs} +3 -3
- package/dist/{stop-DOxwkH4j.mjs → stop-zF1y04f2.mjs} +1 -1
- package/dist/supervisor-run.mjs +2 -2
- package/dist/{support-BE-tbOP9.mjs → support-CsJNVfOc.mjs} +1 -1
- package/dist/{toolchain-CdrxgUeA.mjs → toolchain-DNyR3NPq.mjs} +9 -5
- package/dist/{web-DddUdJzr.mjs → web-Dl0KSRHf.mjs} +2 -2
- package/dist/{worktree-AK_m-d_m.mjs → worktree-Be_7NLKy.mjs} +6 -6
- package/dist/{worktree-CsAjSmEo.mjs → worktree-j3IcFAI5.mjs} +1 -1
- package/package.json +5 -5
|
@@ -7,7 +7,7 @@ import { B as settingsLayers, C as metroWarmupUrlSetting, F as settingFile, G as
|
|
|
7
7
|
import { d as projectShortcut, n as appProjectProblem, r as detectIsExpo, s as findProjectRoot$1, t as NO_PROJECT_REFUSAL } from "./project-D47Rh0ly.mjs";
|
|
8
8
|
import { l as resolveProjectMetro, o as pidExists, u as signalProcessTree } from "./metro-g8NqiJp-.mjs";
|
|
9
9
|
import { c as writeWorkspaceState, g as workspaceAgentDeviceDir, i as recordWorkspaceUse, l as emulatorLogFile, r as readWorkspaceState$1, v as workspaceDir, x as workspaceLogsDir$1 } from "./workspace-state-DqcCbpE7.mjs";
|
|
10
|
-
import { t as budgetGate } from "./budget-
|
|
10
|
+
import { t as budgetGate } from "./budget-DfcgFdQB.mjs";
|
|
11
11
|
import { A as providerDownloadPath, B as captureAssetManifest, D as fingerprintProject, E as fingerprintDiffRecord, F as storedAssetManifest, H as readAssetManifest, L as untrackedMissLine, M as refingerprintAfterMutation, N as resolveBuild, O as inputsChangedDuringBuild, P as storeBuild, R as untrackedNativeFiles, S as configInputsChanged, T as filesystemBuildCapability, V as compareAssetManifests, _ as waitForBuild, b as buildCacheKey, g as releaseBuildLock, j as providerUploadOutcome, k as prepareProviderDownloadDir, m as acquireBuildLock, v as waitForSharedBuild, x as changedDuringBuildLine, z as assetDiffReason } from "./device-lease-DpoS36_u.mjs";
|
|
12
12
|
import { r as releaseBuildSlot, t as acquireBuildSlot } from "./build-slots-41v_d2x9.mjs";
|
|
13
13
|
import { m as writeWorkspaceLaunch, n as MODE_EXPO, t as MODE_BARE } from "./state-BKa8wNN5.mjs";
|
|
@@ -16,29 +16,29 @@ import { a as workspaceLinks, i as workspaceLinkLine } from "./stim-desktop-Cnz8
|
|
|
16
16
|
import { m as teardownOwnedAvd } from "./ownership-BMLqyBgJ.mjs";
|
|
17
17
|
import { _ as statsProjectKey$1, c as recordFinishedBuild, d as createRunRecorder, f as readRunEstimates, g as recordRunStats, l as startBuildProgress, m as recordCapacityRefusal, n as NO_BUILD_PROGRESS, u as tapBuildLog } from "./build-progress-D0WkjCPd.mjs";
|
|
18
18
|
import { r as createNdjsonWriter } from "./ndjson-PclOIwVY.mjs";
|
|
19
|
-
import { E as ccacheActivityLine, T as CCACHE_UNAVAILABLE, b as tailLines, k as resolveCcache, n as androidToolchain, t as androidRequirements, u as HEARTBEAT_INTERVAL_MS, w as CCACHE_NOT_RUN, y as startBuildHeartbeat } from "./toolchain-
|
|
19
|
+
import { E as ccacheActivityLine, T as CCACHE_UNAVAILABLE, b as tailLines, k as resolveCcache, n as androidToolchain, t as androidRequirements, u as HEARTBEAT_INTERVAL_MS, w as CCACHE_NOT_RUN, y as startBuildHeartbeat } from "./toolchain-DNyR3NPq.mjs";
|
|
20
20
|
import { t as cleanLine } from "./server-expo-CHTyXD0G.mjs";
|
|
21
|
-
import { a as offloadBuild, c as placementLoad, d as OffloadRefusal, f as namedBuildMachine, h as resolveBuildPlacement, i as closeOffload, l as remotePhaseText, n as buildPlacementCandidates, p as parseBuildMachineOption, r as chooseBuildMachine, s as offloadPlacement } from "./client-
|
|
22
|
-
import { r as hostedMetroSettings } from "./metro-gateway-
|
|
21
|
+
import { a as offloadBuild, c as placementLoad, d as OffloadRefusal, f as namedBuildMachine, h as resolveBuildPlacement, i as closeOffload, l as remotePhaseText, n as buildPlacementCandidates, p as parseBuildMachineOption, r as chooseBuildMachine, s as offloadPlacement } from "./client-SvBdgObD.mjs";
|
|
22
|
+
import { r as hostedMetroSettings } from "./metro-gateway-C-ijGI2F.mjs";
|
|
23
23
|
import { n as verifyCollectorOwnership, r as readCollectors } from "./ownership-DyRQru0q.mjs";
|
|
24
24
|
import { n as DeviceAdmissionRefusal, r as checkDeviceCapacity, t as DEFAULT_DEVICE_SLOT_WAIT_MS } from "./device-capacity-ZC4XSZ4R.mjs";
|
|
25
25
|
import { S as restartedAppNote, b as launchAndroidReleaseApp, c as androidDevClientUrl, g as installConflictKind, h as installAndroidApp, r as DEFAULT_METRO_PORT, s as androidAppProcess, t as ADB_INSTALL_TIMEOUT_MS, y as launchAndroidApp } from "./app-install-VPkI5WEg.mjs";
|
|
26
26
|
import { C as resolveSystemImage, S as resolveDeviceProfile, T as systemImageRefusal, _ as isReleaseVariant, a as PLATFORM, b as pooledAndroidDevice, c as androidSystemImageSetting, d as apkPackage, f as deviceProfileRefusal, g as foldableImageRefusal, h as findAapt, i as NO_FINGERPRINT, l as androidVariantSetting, m as dumpApkManifest, n as LAUNCH_FAILED, o as androidBuildOptions, p as displayPath, r as NO_DEVICE, s as androidDevClientScheme, t as INSTALL_FAILED, u as apkDevClientFacts, v as noDeviceDiagnostic, w as resolveVariant, x as remoteAvdFlagRefusal, y as parseXmltree } from "./support-WvD__tSV.mjs";
|
|
27
27
|
import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
|
|
28
28
|
import { i as staleNativeDirRefusal, n as recordPrebuild, r as runPrebuild, t as planPrebuild } from "./prebuild-D7RUMkwN.mjs";
|
|
29
|
-
import { c as formatDiagnostic, i as buildAndroid, o as productFlavorRefusal, s as readProductFlavors } from "./gradle-
|
|
29
|
+
import { c as formatDiagnostic, i as buildAndroid, o as productFlavorRefusal, s as readProductFlavors } from "./gradle-dJpre3Yn.mjs";
|
|
30
30
|
import { a as VERIFY_TIMEOUT_MS, d as verifyAndroidReleaseLaunch, f as verifyLaunch, i as RELEASE_VERIFY_WAIT_MS, l as unattributedLaunchLines, n as LAUNCH_FATAL, r as LAUNCH_UNVERIFIED, t as LAUNCH_BUNDLING, u as unverifiedLaunchLines } from "./launch-verify-lTnWZikR.mjs";
|
|
31
31
|
import { a as acquireRunLease, c as lostRefusal, d as runLease, f as waitFlagConflict, l as parseDeviceWait, o as leaseExpiryText, s as lostLine, t as DEBUG_VERIFY_STEP_MS, u as releaseLeaseOnSignal } from "./device-lease-run-B8YltIH_.mjs";
|
|
32
32
|
import { a as writeHostedAndroid, i as writeDevicePlacement, t as readHostedAndroid } from "./ios-state-8L3lgum6.mjs";
|
|
33
|
-
import { _ as AvdRecoveryError, a as refusePlan, b as devicePlacementLine, c as skippedMissReason, d as refreshUpdatesManifestFile, g as AvdBootError, h as ensureOwnedDevice, i as printPlan, l as UPDATES_MANIFEST_NAME, m as ensureBooted, n as planFlagRefusal, o as explainBuildMiss, p as didSetUpDevice, r as planPayload, s as fingerprintErrorMissReason, t as planCachedBuild, u as detectEntryFile, v as warmMetro, y as automaticDevicePlacement } from "./build-plan-
|
|
34
|
-
import { n as prepareHostedAndroid, t as placeHostedAndroid } from "./hosted-android-
|
|
33
|
+
import { _ as AvdRecoveryError, a as refusePlan, b as devicePlacementLine, c as skippedMissReason, d as refreshUpdatesManifestFile, g as AvdBootError, h as ensureOwnedDevice, i as printPlan, l as UPDATES_MANIFEST_NAME, m as ensureBooted, n as planFlagRefusal, o as explainBuildMiss, p as didSetUpDevice, r as planPayload, s as fingerprintErrorMissReason, t as planCachedBuild, u as detectEntryFile, v as warmMetro, y as automaticDevicePlacement } from "./build-plan-BDsSi09V.mjs";
|
|
34
|
+
import { n as prepareHostedAndroid, t as placeHostedAndroid } from "./hosted-android-E1Heoqnv.mjs";
|
|
35
35
|
import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-DmjBmpQV.mjs";
|
|
36
36
|
import { a as easAuthNote, c as loadProjectProvider, f as resolveEasCliBin, i as checkEasAuth, m as uploadRemote, n as UPLOAD_TIMEOUT_MS, o as exitAfterFlush, p as resolveRemote, r as cacheLevel, s as isEasAuthFailureText, t as RESOLVE_TIMEOUT_MS } from "./remote-cache-Ci4DQYYj.mjs";
|
|
37
37
|
import { a as ensureMetroReachable, c as remoteAndroidDeps, n as binOnPath, o as ensureRemoteBootOwned, u as resolveRemoteContext, w as ownedSessionName } from "./device-remote-hFSkpfQu.mjs";
|
|
38
38
|
import { d as runCancellationSignal, f as withNativeBuildRun, r as cancelledFailure, u as runCancellation } from "./native-run-D1Q56rAD.mjs";
|
|
39
39
|
import { a as isEasBuildFailure, o as planEasDevelopmentBuild, s as resolveEasDevelopmentBuild } from "./simslim-BWNrc3M3.mjs";
|
|
40
|
-
import { c as startDevServer, m as detectAppIds, p as detectAndroidPackage } from "./start-
|
|
41
|
-
import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely, r as isPhysicalDeviceRequest, t as ensureDevServer } from "./native-runtime-
|
|
40
|
+
import { c as startDevServer, m as detectAppIds, p as detectAndroidPackage } from "./start-DUz3mYdb.mjs";
|
|
41
|
+
import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely, r as isPhysicalDeviceRequest, t as ensureDevServer } from "./native-runtime-BEK171xQ.mjs";
|
|
42
42
|
import { t as selectFromPool } from "./device-pool-3o7s5lo4.mjs";
|
|
43
43
|
import { a as printNativeCrashReport, r as captureNativeCrashes, t as errorDiagnostics } from "./error-diagnostics-C-NMnhrk.mjs";
|
|
44
44
|
import { n as resolveAndroidCas, r as resolveAndroidCompilerCache } from "./android-cas-ZFpjJBL_.mjs";
|
|
@@ -2555,7 +2555,7 @@ function describeShortfall(budget, measure, short) {
|
|
|
2555
2555
|
return [
|
|
2556
2556
|
...short.disk.map((v) => `${formatSpace(v.freeMb)} free on ${v.volume}, below the ${formatSpace(floor)} floor`),
|
|
2557
2557
|
...short.memory && measure.memory ? [`roughly ${formatSpace(measure.memory.committedMb)} of memory committed, over the ${formatSpace(budget.maxCommittedMemoryMb)} budget`] : [],
|
|
2558
|
-
...short.workspaces && measure.memory ? [`${measure.memory.liveWorkspaces}
|
|
2558
|
+
...short.workspaces && measure.memory ? [`${measure.memory.liveWorkspaces} active workspaces, over the limit of ${budget.maxLiveWorkspaces}`] : []
|
|
2559
2559
|
];
|
|
2560
2560
|
}
|
|
2561
2561
|
async function enforceBudget({ root, note, dryRun = false, budget: resolved }, overrides = {}) {
|
|
@@ -2677,12 +2677,12 @@ function budgetFindings(budget, measure, short, plan) {
|
|
|
2677
2677
|
}
|
|
2678
2678
|
if (short.memory || short.workspaces) findings.push({
|
|
2679
2679
|
level: "note",
|
|
2680
|
-
title: "
|
|
2680
|
+
title: "Active environments are over the memory budget",
|
|
2681
2681
|
detail: `${describeShortfall(budget, measure, {
|
|
2682
2682
|
...short,
|
|
2683
2683
|
disk: []
|
|
2684
2684
|
}).join("; ")}. The next ios, android or start shuts down idle owned devices and stops idle dev servers in other workspaces first.`,
|
|
2685
|
-
fix: "Run `stim status` to see what is
|
|
2685
|
+
fix: "Run `stim status` to see what is active, and `stim stop` in workspaces you own that you no longer need."
|
|
2686
2686
|
});
|
|
2687
2687
|
return findings;
|
|
2688
2688
|
}
|
|
@@ -7,22 +7,22 @@ import { Tt as removeTemporaryEntry, a as androidAvdConfigSetting, at as gitComm
|
|
|
7
7
|
import { u as ownedDeviceLabel } from "./project-D47Rh0ly.mjs";
|
|
8
8
|
import { o as pidExists } from "./metro-g8NqiJp-.mjs";
|
|
9
9
|
import { d as sharedBuildCache } from "./workspace-state-DqcCbpE7.mjs";
|
|
10
|
-
import { o as peekBudget } from "./budget-
|
|
10
|
+
import { o as peekBudget } from "./budget-DfcgFdQB.mjs";
|
|
11
11
|
import { C as diffFingerprintSources, I as storedSources, w as entryDir, y as artifactIn } from "./device-lease-DpoS36_u.mjs";
|
|
12
12
|
import { A as listAvds, B as ownedAvdSystemImage, E as getAvdNameForSerial, F as ownedAvdDeviceProfile, J as resolveOwnedAvdSerial, L as ownedAvdMatchesConfiguration, O as listAdbDevices, P as nextConsolePort, R as ownedAvdName, W as pickDefaultSystemImage, b as createOwnedAvd, f as assertOwnedAvdStopped, ft as parkedMaxSetting, g as avdPoolConfiguration, j as listInstalledSystemImages, n as OWNED_AVD_CONFIG_DEFAULTS, pt as readParked, st as adoptParked, t as DEFAULT_AVD_DEVICE_PROFILE, tt as waitForBoot, ut as isLegacyDeletionClaim, v as bootAndroidEmulator, y as configureNewOwnedAvd } from "./android-B_YNZy61.mjs";
|
|
13
13
|
import { j as readHostMemoryPressure, u as listAllIosSims } from "./ios-DSfnPfse.mjs";
|
|
14
14
|
import { _ as teardownParkedAvd, m as teardownOwnedAvd } from "./ownership-BMLqyBgJ.mjs";
|
|
15
15
|
import { o as estimateBuild, p as readStats$1 } from "./build-progress-D0WkjCPd.mjs";
|
|
16
|
-
import { b as tailLines, u as HEARTBEAT_INTERVAL_MS, y as startBuildHeartbeat } from "./toolchain-
|
|
16
|
+
import { b as tailLines, u as HEARTBEAT_INTERVAL_MS, y as startBuildHeartbeat } from "./toolchain-DNyR3NPq.mjs";
|
|
17
17
|
import { t as cleanLine } from "./server-expo-CHTyXD0G.mjs";
|
|
18
|
-
import { f as namedBuildMachine, m as resolveBuildMachine, v as hostingMachines } from "./client-
|
|
19
|
-
import { a as call, o as connectHost } from "./hosted-client-
|
|
18
|
+
import { f as namedBuildMachine, m as resolveBuildMachine, v as hostingMachines } from "./client-SvBdgObD.mjs";
|
|
19
|
+
import { a as call, o as connectHost } from "./hosted-client-Bp4knSwu.mjs";
|
|
20
20
|
import { t as clearDeviceIdleShutdown } from "./idle-shutdown-IGyNV8Cr.mjs";
|
|
21
21
|
import { i as countLiveOwnedDevices, n as DeviceAdmissionRefusal, p as withDeviceBootAdmission, s as peekDeviceSlots } from "./device-capacity-ZC4XSZ4R.mjs";
|
|
22
22
|
import { i as staleNativeDirRefusal } from "./prebuild-D7RUMkwN.mjs";
|
|
23
23
|
import { i as ensureOwnedIosDevice, r as ensureIosBooted } from "./device-ios-C2Um-XUR.mjs";
|
|
24
24
|
import { r as readHostedNative, s as writeHostedNative } from "./ios-state-8L3lgum6.mjs";
|
|
25
|
-
import { n as prepareHostedNative } from "./hosted-native-
|
|
25
|
+
import { n as prepareHostedNative } from "./hosted-native-1Ebbig4w.mjs";
|
|
26
26
|
import { a as easAuthNote } from "./remote-cache-Ci4DQYYj.mjs";
|
|
27
27
|
import { t as reconcileSimSlim } from "./simslim-BWNrc3M3.mjs";
|
|
28
28
|
import { randomUUID } from "node:crypto";
|
|
@@ -3,23 +3,23 @@ import { readFileSync } from "node:fs";
|
|
|
3
3
|
import { Command } from "commander";
|
|
4
4
|
//#region bin/cli.ts
|
|
5
5
|
const commands = /* @__PURE__ */ new Map([
|
|
6
|
-
["doctor", () => import("./doctor-
|
|
7
|
-
["worktree", () => import("./worktree-
|
|
8
|
-
["start", () => import("./start-
|
|
6
|
+
["doctor", () => import("./doctor-CFv1fCrF.mjs")],
|
|
7
|
+
["worktree", () => import("./worktree-j3IcFAI5.mjs")],
|
|
8
|
+
["start", () => import("./start-AlfCPRVU.mjs")],
|
|
9
9
|
["ports", () => import("./ports-4nYqxPWC.mjs")],
|
|
10
|
-
["stop", () => import("./stop-
|
|
11
|
-
["ios", () => import("./ios-
|
|
12
|
-
["android", () => import("./android-
|
|
13
|
-
["web", () => import("./web-
|
|
14
|
-
["macos", () => import("./macos-
|
|
15
|
-
["reload", () => import("./reload-
|
|
10
|
+
["stop", () => import("./stop-zF1y04f2.mjs")],
|
|
11
|
+
["ios", () => import("./ios-BJ4XUSe1.mjs")],
|
|
12
|
+
["android", () => import("./android-B9yaNKwa.mjs")],
|
|
13
|
+
["web", () => import("./web-Dl0KSRHf.mjs")],
|
|
14
|
+
["macos", () => import("./macos-BIRQS90f.mjs")],
|
|
15
|
+
["reload", () => import("./reload-DcRxj3qG.mjs")],
|
|
16
16
|
["device", () => import("./device-C8IOoJPv.mjs")],
|
|
17
|
-
["logs", () => import("./logs-
|
|
17
|
+
["logs", () => import("./logs-BAaS7gS2.mjs")],
|
|
18
18
|
["settings", () => import("./settings-SR9OmW9h.mjs")],
|
|
19
|
-
["status", () => import("./status-
|
|
19
|
+
["status", () => import("./status-BA2pehwf.mjs")],
|
|
20
20
|
["stats", () => import("./stats-Bq4fJOdB.mjs")],
|
|
21
|
-
["gc", () => import("./gc-
|
|
22
|
-
["guide", () => import("./guide-
|
|
21
|
+
["gc", () => import("./gc-DEmkg3Xh.mjs")],
|
|
22
|
+
["guide", () => import("./guide-CSmhMTf8.mjs")]
|
|
23
23
|
]);
|
|
24
24
|
const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
|
|
25
25
|
const program = new Command();
|
package/dist/cli.mjs
CHANGED
|
@@ -4,6 +4,6 @@ const encode = (version) => version.split(".", 3).reduce((sum, part) => sum * 1e
|
|
|
4
4
|
if (encode(process.versions.node) < encode("22.12.0")) {
|
|
5
5
|
process.stderr.write(`STIM_NODE_UNSUPPORTED: Stim needs Node 22.12.0 or later; this is Node ${process.versions.node} at ${process.execPath}. To run Stim where a project pins an older Node, see https://stim.appandflow.com/docs/requirements#older-node-pins\n`);
|
|
6
6
|
process.exitCode = 1;
|
|
7
|
-
} else import("./cli-
|
|
7
|
+
} else import("./cli-CYXb29oE.mjs");
|
|
8
8
|
//#endregion
|
|
9
9
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-CaErVv7t.mjs";
|
|
2
2
|
import { _ as loadConfig$1, d as getConfigDir } from "./config-D0DbpZtM.mjs";
|
|
3
3
|
import { w as withDirLock } from "./workspace-state-DqcCbpE7.mjs";
|
|
4
|
-
import { T as CCACHE_UNAVAILABLE, a as toolchainMismatches, l as COMPILATION_CACHE_UNAVAILABLE, s as manifestDigest } from "./toolchain-
|
|
4
|
+
import { T as CCACHE_UNAVAILABLE, a as toolchainMismatches, l as COMPILATION_CACHE_UNAVAILABLE, s as manifestDigest } from "./toolchain-DNyR3NPq.mjs";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { closeSync, existsSync, lstatSync, mkdirSync, openSync, readFileSync, readlinkSync, realpathSync, renameSync, rmSync, writeFileSync, writeSync } from "node:fs";
|
|
7
7
|
import { basename, dirname, join, relative } from "node:path";
|
|
@@ -30,6 +30,28 @@ function readHostPermissions(value) {
|
|
|
30
30
|
//#region src/offload/tailnet.ts
|
|
31
31
|
const MAC_APP_TAILSCALE = "/Applications/Tailscale.app/Contents/MacOS/Tailscale";
|
|
32
32
|
const HELLO_TIMEOUT_MS = 1e4;
|
|
33
|
+
function isLapsed(credential) {
|
|
34
|
+
return credential.state === "pending" && !!credential.expiresAt && Date.parse(credential.expiresAt) <= Date.now();
|
|
35
|
+
}
|
|
36
|
+
function markApproved(credential) {
|
|
37
|
+
const { expiresAt: _expiresAt, ...rest } = credential;
|
|
38
|
+
return {
|
|
39
|
+
...rest,
|
|
40
|
+
state: "approved"
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function pendingReport(credential) {
|
|
44
|
+
return {
|
|
45
|
+
state: "pending",
|
|
46
|
+
...credential.expiresAt ? { expiresAt: credential.expiresAt } : {}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function lapsedLine(machine, credential) {
|
|
50
|
+
return `${machine} did not approve this Mac before the request lapsed at ${credential.expiresAt}.`;
|
|
51
|
+
}
|
|
52
|
+
function requestedLine(credential) {
|
|
53
|
+
return `Requested at ${credential.requestedAt}${credential.expiresAt ? `; the request lapses at ${credential.expiresAt}` : ""}.`;
|
|
54
|
+
}
|
|
33
55
|
function tailscaleStatus() {
|
|
34
56
|
for (const binary of ["tailscale", MAC_APP_TAILSCALE]) {
|
|
35
57
|
const output = getExecutor().runFileQuiet(binary, ["status", "--json"], { timeoutMs: 5e3 });
|
|
@@ -161,6 +183,7 @@ async function request(machine, peer, port, deviceName, io) {
|
|
|
161
183
|
deviceToken: reply.result.deviceToken,
|
|
162
184
|
state: "pending",
|
|
163
185
|
requestedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
186
|
+
expiresAt: reply.result.approval.expiresAt,
|
|
164
187
|
...ticket ? { ticketHash: ticket.ticketHash } : {}
|
|
165
188
|
};
|
|
166
189
|
return {
|
|
@@ -169,7 +192,8 @@ async function request(machine, peer, port, deviceName, io) {
|
|
|
169
192
|
dnsName: peer.dnsName,
|
|
170
193
|
state: "pending",
|
|
171
194
|
deviceId: credential.deviceId,
|
|
172
|
-
requestedAt: credential.requestedAt
|
|
195
|
+
requestedAt: credential.requestedAt,
|
|
196
|
+
expiresAt: credential.expiresAt
|
|
173
197
|
},
|
|
174
198
|
finding: note$1(`Asked ${machine} for hosting access`, `The request lapses at ${reply.result.approval.expiresAt}.`, approval$1(machine, credential.deviceId)),
|
|
175
199
|
credential
|
|
@@ -300,10 +324,7 @@ async function inspectDeviceHostMachines({ fix }, io = realIo, entries = configu
|
|
|
300
324
|
const reply = await io.hello(endpoint(peer, parsed.port), { deviceToken: credential.deviceToken });
|
|
301
325
|
if ("result" in reply && reply.result?.device?.id === credential.deviceId && Array.isArray(reply.result.capabilities) && reply.result.capabilities.includes("device-host")) {
|
|
302
326
|
if (credential.state !== "approved") {
|
|
303
|
-
credentials = credentials.map((each) => each.machine === machine ?
|
|
304
|
-
...each,
|
|
305
|
-
state: "approved"
|
|
306
|
-
} : each);
|
|
327
|
+
credentials = credentials.map((each) => each.machine === machine ? markApproved(each) : each);
|
|
307
328
|
store(credentials);
|
|
308
329
|
}
|
|
309
330
|
const host = readHostPermissions(reply.result.host);
|
|
@@ -326,17 +347,18 @@ async function inspectDeviceHostMachines({ fix }, io = realIo, entries = configu
|
|
|
326
347
|
if (pending && !ask) {
|
|
327
348
|
inspected.machines.push({
|
|
328
349
|
...known,
|
|
329
|
-
|
|
350
|
+
...pendingReport(credential)
|
|
330
351
|
});
|
|
331
|
-
inspected.findings.push(note$1(`Remote Mac ${machine} has not approved this Mac for device hosting yet`,
|
|
352
|
+
inspected.findings.push(note$1(`Remote Mac ${machine} has not approved this Mac for device hosting yet`, requestedLine(credential), approval$1(machine, credential.deviceId)));
|
|
332
353
|
continue;
|
|
333
354
|
}
|
|
334
355
|
if (!ask) {
|
|
356
|
+
const lapsed = revoked && isLapsed(credential);
|
|
335
357
|
inspected.machines.push({
|
|
336
358
|
...known,
|
|
337
|
-
state: revoked ? "revoked" : "unreachable"
|
|
359
|
+
state: lapsed ? "lapsed" : revoked ? "revoked" : "unreachable"
|
|
338
360
|
});
|
|
339
|
-
inspected.findings.push(note$1(`Remote Mac ${machine} ${revoked ? "no longer accepts this Mac for device hosting" : "did not confirm hosting access"}`, "The saved token and pinned node are preserved.", revoked ? "Run `stim doctor --fix` to ask again." : `Check stim-server and its tailnet serve route on ${machine}, then run doctor again.`));
|
|
361
|
+
inspected.findings.push(note$1(lapsed ? `Hosting request to ${machine} lapsed` : `Remote Mac ${machine} ${revoked ? "no longer accepts this Mac for device hosting" : "did not confirm hosting access"}`, lapsed ? `${lapsedLine(machine, credential)} The saved token and pinned node are preserved.` : "The saved token and pinned node are preserved.", revoked ? "Run `stim doctor --fix` to ask again." : `Check stim-server and its tailnet serve route on ${machine}, then run doctor again.`));
|
|
340
362
|
continue;
|
|
341
363
|
}
|
|
342
364
|
}
|
|
@@ -471,6 +493,7 @@ async function requestAccess(entry, peer, port, deviceName, io) {
|
|
|
471
493
|
deviceToken: reply.result.deviceToken,
|
|
472
494
|
state: "pending",
|
|
473
495
|
requestedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
496
|
+
expiresAt: reply.result.approval.expiresAt,
|
|
474
497
|
...ticket ? { ticketHash: ticket.ticketHash } : {}
|
|
475
498
|
};
|
|
476
499
|
updateCredentials((credentials) => [...credentials.filter((each) => each.machine !== entry), credential]);
|
|
@@ -480,7 +503,8 @@ async function requestAccess(entry, peer, port, deviceName, io) {
|
|
|
480
503
|
state: "pending",
|
|
481
504
|
dnsName: peer.dnsName,
|
|
482
505
|
deviceId: credential.deviceId,
|
|
483
|
-
requestedAt: credential.requestedAt
|
|
506
|
+
requestedAt: credential.requestedAt,
|
|
507
|
+
expiresAt: credential.expiresAt
|
|
484
508
|
},
|
|
485
509
|
finding: note(`Asked ${entry} for build access`, `The request lapses at ${reply.result.approval.expiresAt}.`, approval(entry, credential.deviceId))
|
|
486
510
|
};
|
|
@@ -538,10 +562,7 @@ async function inspectMachine(entry, status, deviceName, fix, io, check) {
|
|
|
538
562
|
if ("result" in reply && reply.result.capabilities.includes("build")) {
|
|
539
563
|
const permissions = readHostPermissions(reply.result.host);
|
|
540
564
|
const host = permissions ? { host: permissions } : {};
|
|
541
|
-
if (credential.state !== "approved") updateCredentials((credentials) => credentials.map((each) => each.machine === entry ?
|
|
542
|
-
...each,
|
|
543
|
-
state: "approved"
|
|
544
|
-
} : each));
|
|
565
|
+
if (credential.state !== "approved") updateCredentials((credentials) => credentials.map((each) => each.machine === entry ? markApproved(each) : each));
|
|
545
566
|
if (!check) return {
|
|
546
567
|
report: {
|
|
547
568
|
...paired,
|
|
@@ -574,19 +595,26 @@ async function inspectMachine(entry, status, deviceName, fix, io, check) {
|
|
|
574
595
|
return {
|
|
575
596
|
report: {
|
|
576
597
|
...paired,
|
|
577
|
-
|
|
598
|
+
...pendingReport(credential)
|
|
578
599
|
},
|
|
579
|
-
finding: note(`Remote Mac ${entry} has not approved this Mac for builds yet`,
|
|
600
|
+
finding: note(`Remote Mac ${entry} has not approved this Mac for builds yet`, requestedLine(credential), approval(entry, credential.deviceId))
|
|
580
601
|
};
|
|
581
602
|
}
|
|
582
603
|
if ("error" in reply && reply.error.code === "unauthorized") {
|
|
583
604
|
if (fix) return requestAccess(entry, peer, parsed.port, deviceName, io);
|
|
605
|
+
if (isLapsed(credential)) return {
|
|
606
|
+
report: {
|
|
607
|
+
...paired,
|
|
608
|
+
state: "lapsed"
|
|
609
|
+
},
|
|
610
|
+
finding: note(`Build request to ${entry} lapsed`, lapsedLine(entry, credential), "Run `stim doctor --fix` to ask again.")
|
|
611
|
+
};
|
|
584
612
|
return {
|
|
585
613
|
report: {
|
|
586
614
|
...paired,
|
|
587
615
|
state: "revoked"
|
|
588
616
|
},
|
|
589
|
-
finding: note(`Remote Mac ${entry} no longer accepts this Mac for builds`, `${reply.error.message} It was revoked
|
|
617
|
+
finding: note(`Remote Mac ${entry} no longer accepts this Mac for builds`, `${reply.error.message} It was revoked or denied.`, "Run `stim doctor --fix` to ask again.")
|
|
590
618
|
};
|
|
591
619
|
}
|
|
592
620
|
const reason = "failed" in reply ? reply.failed : "error" in reply ? reply.error.message : "unexpected reply";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-CaErVv7t.mjs";
|
|
2
2
|
import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
|
|
3
3
|
import { a as spawnDeclared } from "./spawn-claims-D0XfSe8u.mjs";
|
|
4
|
-
import { S as bundlerPin, u as HEARTBEAT_INTERVAL_MS, y as startBuildHeartbeat } from "./toolchain-
|
|
4
|
+
import { S as bundlerPin, u as HEARTBEAT_INTERVAL_MS, y as startBuildHeartbeat } from "./toolchain-DNyR3NPq.mjs";
|
|
5
5
|
import { existsSync, readFileSync } from "node:fs";
|
|
6
6
|
import { delimiter, dirname, join, relative, resolve, sep } from "node:path";
|
|
7
7
|
import { homedir } from "node:os";
|
|
@@ -13,7 +13,7 @@ import { n as parseLogcatLine, r as parsePidof, t as androidClockOffset } from "
|
|
|
13
13
|
import { i as countLiveOwnedDevices } from "./device-capacity-ZC4XSZ4R.mjs";
|
|
14
14
|
import { C as reverseMetroPorts, _ as installIosApp, b as launchAndroidReleaseApp, h as installAndroidApp, s as androidAppProcess, v as iosAppProcess, w as writeDebugHttpHost, x as launchIosApp, y as launchAndroidApp } from "./app-install-VPkI5WEg.mjs";
|
|
15
15
|
import { h as findAapt } from "./support-WvD__tSV.mjs";
|
|
16
|
-
import { n as stopMacosAppHeld } from "./stop-
|
|
16
|
+
import { n as stopMacosAppHeld } from "./stop-BIiM49EY.mjs";
|
|
17
17
|
import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
|
|
18
18
|
import { createHash, randomUUID } from "node:crypto";
|
|
19
19
|
import { chmodSync, closeSync, copyFileSync, createReadStream, existsSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, statfsSync, symlinkSync, writeFileSync } from "node:fs";
|
|
@@ -4,17 +4,17 @@ import { d as quotedPath, f as refuseNoProject, l as phaseLine, u as plural } fr
|
|
|
4
4
|
import { B as settingsLayers, Ct as filesystemDevice, Et as temporaryRoot, H as unknownSettingKeys, I as settingOrigin, M as remoteIosSetting, O as projectOptimizations, P as resolveSettings, R as settingShapeErrors, U as webSettings, Y as compilerCacheFallbackMessage, Z as resolveOptimizations, dt as listWorktrees, ft as locallyKnownUpstream, gt as repoRoot, i as SETTING_SHAPE_REMEDY, it as gitCommonDir, j as remoteAndroidSetting, n as PATH_SETTINGS, nt as dirtyFingerprintFiles, r as SETTINGS_WITH_RESOLVE_TIME_FALLBACK, v as iosSimSlimProfileSetting, vt as resolveSourceCheckout, wt as makeTemporaryDirectory, y as mergeSettingsLayers } from "./settings-Cfd-0r2d.mjs";
|
|
5
5
|
import { l as isPackageResolvable, n as appProjectProblem, r as detectIsExpo, s as findProjectRoot$1 } from "./project-D47Rh0ly.mjs";
|
|
6
6
|
import { _ as workspaceDerivedData, d as sharedBuildCache } from "./workspace-state-DqcCbpE7.mjs";
|
|
7
|
-
import { V as inspectWatchmanMemory, i as inspectBudget, n as budgetLine } from "./budget-
|
|
7
|
+
import { V as inspectWatchmanMemory, i as inspectBudget, n as budgetLine } from "./budget-DfcgFdQB.mjs";
|
|
8
8
|
import { C as diffFingerprintSources, D as fingerprintProject, h as listBuildLocks } from "./device-lease-DpoS36_u.mjs";
|
|
9
9
|
import { n as listBuildSlots } from "./build-slots-41v_d2x9.mjs";
|
|
10
10
|
import { D as hostSystemImageArch, ft as parkedMaxSetting, o as androidHome, ot as POOL_SETTING_REMEDY } from "./android-B_YNZy61.mjs";
|
|
11
11
|
import { A as hostMemoryPressureAdvice, c as iosRuntimeMatches, j as readHostMemoryPressure, p as listIosRuntimes, y as pickDefaultIosCreation } from "./ios-DSfnPfse.mjs";
|
|
12
|
-
import { C as podInstallCommand, D as projectCmakeLauncher, S as bundlerPin, f as ccacheEnabled, i as macosToolchain, m as detectXcodeMajor, n as androidToolchain, r as iosToolchain, t as androidRequirements } from "./toolchain-
|
|
13
|
-
import { S as realIo, g as inspectBuildMachines, o as offloadCheck, u as simulatorRuntime, y as inspectDeviceHostMachines } from "./client-
|
|
12
|
+
import { C as podInstallCommand, D as projectCmakeLauncher, S as bundlerPin, f as ccacheEnabled, i as macosToolchain, m as detectXcodeMajor, n as androidToolchain, r as iosToolchain, t as androidRequirements } from "./toolchain-DNyR3NPq.mjs";
|
|
13
|
+
import { S as realIo, g as inspectBuildMachines, o as offloadCheck, u as simulatorRuntime, y as inspectDeviceHostMachines } from "./client-SvBdgObD.mjs";
|
|
14
14
|
import { a as findChrome, t as CHROME_INSTALL_REMEDY } from "./chrome-BrcVWQyD.mjs";
|
|
15
15
|
import { i as countLiveOwnedDevices } from "./device-capacity-ZC4XSZ4R.mjs";
|
|
16
|
-
import { d as androidPathRoomRemedy, l as androidPathRoom, n as apkOutputsDir, t as androidSdkRefusal, u as androidPathRoomMessage } from "./gradle-
|
|
17
|
-
import { g as resolveRuntime, m as resolveDeviceType } from "./support-
|
|
16
|
+
import { d as androidPathRoomRemedy, l as androidPathRoom, n as apkOutputsDir, t as androidSdkRefusal, u as androidPathRoomMessage } from "./gradle-dJpre3Yn.mjs";
|
|
17
|
+
import { g as resolveRuntime, m as resolveDeviceType } from "./support-CsJNVfOc.mjs";
|
|
18
18
|
import { f as resolveEasCliBin, i as checkEasAuth$1, l as ownerFromConfig, u as providerFromConfig } from "./remote-cache-Ci4DQYYj.mjs";
|
|
19
19
|
import { _ as easCliSupport, g as MIN_EAS_CLI_SIMULATOR_VERSION, s as readInstalledEasCliVersion, v as easCliUpgradeRemedy } from "./device-remote-hFSkpfQu.mjs";
|
|
20
20
|
import { n as inspectStimVersions, t as compareStimVersions } from "./stim-installations-QMEI32v1.mjs";
|
|
@@ -6,7 +6,7 @@ import { h as shortUdid, o as formatLongDuration, u as plural } from "./command-
|
|
|
6
6
|
import { _t as resolveFullRef, bt as sourceCheckoutOf, ct as hasUncommittedWork, dt as listWorktrees, ot as hasPopulatedSubmodules, rt as dirtyPaths, xt as unpushedCommits } from "./settings-Cfd-0r2d.mjs";
|
|
7
7
|
import { r as detectIsExpo, s as findProjectRoot$1 } from "./project-D47Rh0ly.mjs";
|
|
8
8
|
import { C as workspaceStateFile, s as workspaceLastUsed, v as workspaceDir, w as withDirLock$1, x as workspaceLogsDir$1 } from "./workspace-state-DqcCbpE7.mjs";
|
|
9
|
-
import { $ as sizeCaches, A as includesWorkspaceOutputs, B as collectMemoryReport, C as findStaleProjectDevices, D as includesArchives, E as emptyCaches, F as selectsBeyondCaches, G as memorySweepIsScoped, H as memoryCacheKind, I as trimCaches, J as scopedMemoryReport, K as memoryWorkPending, L as parseArchiveSelector, M as planCacheEmptying, N as previewScopedEmptying, O as includesParkedDevices, P as selectCaches, Q as discoverCaches, S as findStaleDeviceRecords, T as withAndroidAvdSizes, U as memoryLines, W as memoryScope, Y as phase, _ as describeParkedSims, a as machineNumber, b as eraseParkedDevices, d as collectDeviceLeases, f as collectParkedAvds, g as deleteProjectDevices, h as deleteParkedSims, j as isWorkspacesScope, k as includesRecordings, m as deleteParkedAvds, p as collectParkedSims, q as reclaimMemory, u as DEVICE_LIST_TIMEOUT_MS, v as describeUnverifiableDevices, w as unverifiedDeviceCommand, x as findOrphanedDevices, y as deviceSweepIsScoped } from "./budget-
|
|
9
|
+
import { $ as sizeCaches, A as includesWorkspaceOutputs, B as collectMemoryReport, C as findStaleProjectDevices, D as includesArchives, E as emptyCaches, F as selectsBeyondCaches, G as memorySweepIsScoped, H as memoryCacheKind, I as trimCaches, J as scopedMemoryReport, K as memoryWorkPending, L as parseArchiveSelector, M as planCacheEmptying, N as previewScopedEmptying, O as includesParkedDevices, P as selectCaches, Q as discoverCaches, S as findStaleDeviceRecords, T as withAndroidAvdSizes, U as memoryLines, W as memoryScope, Y as phase, _ as describeParkedSims, a as machineNumber, b as eraseParkedDevices, d as collectDeviceLeases, f as collectParkedAvds, g as deleteProjectDevices, h as deleteParkedSims, j as isWorkspacesScope, k as includesRecordings, m as deleteParkedAvds, p as collectParkedSims, q as reclaimMemory, u as DEVICE_LIST_TIMEOUT_MS, v as describeUnverifiableDevices, w as unverifiedDeviceCommand, x as findOrphanedDevices, y as deviceSweepIsScoped } from "./budget-DfcgFdQB.mjs";
|
|
10
10
|
import { a as takeGcResults, i as recordGcResult, n as withIdleWorkspace, o as canonicalPath, r as workspaceInUse } from "./in-use-CvGOUn-x.mjs";
|
|
11
11
|
import { d as removeExpiredLease, h as listBuildLocks, i as listLeaseFiles, r as leaseIsExpired } from "./device-lease-DpoS36_u.mjs";
|
|
12
12
|
import { n as listBuildSlots } from "./build-slots-41v_d2x9.mjs";
|
|
@@ -15,12 +15,12 @@ import { A as listAvds, H as parseAvdSystemImage, I as ownedAvdDirectory, M as l
|
|
|
15
15
|
import { u as listAllIosSims } from "./ios-DSfnPfse.mjs";
|
|
16
16
|
import { a as parseIdleDuration, o as shutDownIdleDevices, r as idleDeviceLines, t as collectIdleDevices } from "./idle-BXG__1BA.mjs";
|
|
17
17
|
import { a as collectWorkspaceOutputs, c as listWorkspaceDirs, i as collectOrphanedWorkspaces, l as rootPresence, n as WORKSPACE_OUTPUT_DIRS, o as deleteOrphanedWorkspaces, r as clearWorkspaceOutputs, s as isInsideWorkspaces, t as REBUILD_COST, u as sizeText } from "./workspaces-Bcib97-6.mjs";
|
|
18
|
-
import { n as previewMaintenance } from "./preview-
|
|
18
|
+
import { n as previewMaintenance } from "./preview-B-g9d7kV.mjs";
|
|
19
19
|
import { r as readCollectors } from "./ownership-DyRQru0q.mjs";
|
|
20
20
|
import { f as resolveEasCliBin } from "./remote-cache-Ci4DQYYj.mjs";
|
|
21
21
|
import { C as listOwnedSessionsArgs, D as verifyStoppedSession, E as stopSessionArgs, S as isDefinitiveMissingSessionError, T as parseSessionListPage, b as getSessionArgs, d as withRemoteSessionLock, f as withEasProjectLock, h as removeEasSessionClaim, m as readEasSessionLedger$1, p as easMachineStateRoot$1, x as inspectSessionForTeardown, y as findOrphanedOwnedSessions } from "./device-remote-hFSkpfQu.mjs";
|
|
22
22
|
import { o as fetchDefaultBranch, s as mergeState } from "./warm-progress-DF4JRvYI.mjs";
|
|
23
|
-
import { _ as deleteSelectedArchives, f as removeWorktreeTarget, g as reclaimProject, h as describeDereferenced, i as matchWorktreeEntry, n as excludePodChurn, o as reclaimKeys, r as excludeWatchmanCookies, v as sweepArchiveStaging } from "./worktree-
|
|
23
|
+
import { _ as deleteSelectedArchives, f as removeWorktreeTarget, g as reclaimProject, h as describeDereferenced, i as matchWorktreeEntry, n as excludePodChurn, o as reclaimKeys, r as excludeWatchmanCookies, v as sweepArchiveStaging } from "./worktree-Be_7NLKy.mjs";
|
|
24
24
|
import { i as getSwiftpmCacheUsage, n as swiftpmCacheLines, r as getAgentDeviceUsage, t as agentDeviceLines } from "./agent-device-usage-output-BK41vnzN.mjs";
|
|
25
25
|
import { existsSync, lstatSync, readFileSync, readdirSync, rmSync, statSync } from "node:fs";
|
|
26
26
|
import { basename, dirname, join } from "node:path";
|
|
@@ -3,7 +3,7 @@ import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./proc
|
|
|
3
3
|
import { l as phaseLine } from "./command-output-CDAIFD-8.mjs";
|
|
4
4
|
import { a as spawnDeclared } from "./spawn-claims-D0XfSe8u.mjs";
|
|
5
5
|
import { o as androidHome } from "./android-B_YNZy61.mjs";
|
|
6
|
-
import { O as readCcacheActivity, T as CCACHE_UNAVAILABLE, u as HEARTBEAT_INTERVAL_MS, y as startBuildHeartbeat } from "./toolchain-
|
|
6
|
+
import { O as readCcacheActivity, T as CCACHE_UNAVAILABLE, u as HEARTBEAT_INTERVAL_MS, y as startBuildHeartbeat } from "./toolchain-DNyR3NPq.mjs";
|
|
7
7
|
import { createHash } from "node:crypto";
|
|
8
8
|
import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, statSync } from "node:fs";
|
|
9
9
|
import { dirname, isAbsolute, join, relative, sep } from "node:path";
|
|
@@ -910,9 +910,9 @@ leased until <time>" for each one.`,
|
|
|
910
910
|
null when off; plan lists what the next start, ios or
|
|
911
911
|
android would reclaim, in the \`reclaimed\` shape without
|
|
912
912
|
freedMb, and is empty while under budget
|
|
913
|
-
deviceHosts one { machine, state, dnsName?, deviceId?, requestedAt?,
|
|
914
|
-
per remote.machines entry. state is "approved",
|
|
915
|
-
"not-asked", "revoked", "node-changed", "not-on-tailnet",
|
|
913
|
+
deviceHosts one { machine, state, dnsName?, deviceId?, requestedAt?, expiresAt?,
|
|
914
|
+
host? } per remote.machines entry. state is "approved",
|
|
915
|
+
"pending", "not-asked", "revoked", "lapsed", "node-changed", "not-on-tailnet",
|
|
916
916
|
"tailscale-off", "unreachable", "invalid",
|
|
917
917
|
"credentials-unavailable" or "busy". Tokens stay private.
|
|
918
918
|
Only --fix asks for access or forgets removed names.
|
|
@@ -920,13 +920,17 @@ leased until <time>" for each one.`,
|
|
|
920
920
|
build approval; see \`guide settings\`.
|
|
921
921
|
host is { name, screenRecording, accessibility }, present
|
|
922
922
|
only for approved machines whose worker reports it.
|
|
923
|
+
expiresAt is when a pending request lapses; "lapsed" is
|
|
924
|
+
a pending request whose expiry passed. --fix asks again.
|
|
923
925
|
remoteMachines one { machine, state, dnsName?, deviceId?, requestedAt?,
|
|
924
|
-
offloadable?, reasons?, problems?, capacity?, host? } per
|
|
926
|
+
expiresAt?, offloadable?, reasons?, problems?, capacity?, host? } per
|
|
925
927
|
remote.machines entry, for its build approval; state is "approved", "pending", "not-asked",
|
|
926
|
-
"revoked" (revoked
|
|
928
|
+
"revoked" (revoked or denied), "lapsed" (the request lapsed
|
|
929
|
+
before approval), "node-changed",
|
|
927
930
|
"not-on-tailnet", "tailscale-off", "unreachable" or
|
|
928
931
|
"invalid". host has the same shape and presence rule as in
|
|
929
|
-
deviceHosts
|
|
932
|
+
deviceHosts, as do expiresAt (a pending request's lapse
|
|
933
|
+
time) and "lapsed" (--fix asks again). An approved machine also carries offloadable,
|
|
930
934
|
true when it would take this app's builds now (iOS
|
|
931
935
|
simulator unless --platform android, Android emulator when
|
|
932
936
|
--platform android or the app has android/ or uses Expo,
|
|
@@ -1374,8 +1378,8 @@ RULES
|
|
|
1374
1378
|
"ready" its last warm succeeded and nothing has run there
|
|
1375
1379
|
since: no start, ios, android, web or reload, for
|
|
1376
1380
|
at most 2 hours
|
|
1377
|
-
"live" live is true: Metro, a
|
|
1378
|
-
session of it runs
|
|
1381
|
+
"live" the workspace is active (live is true): Metro, a
|
|
1382
|
+
device, Chrome or a remote session of it runs
|
|
1379
1383
|
"idle" none of these
|
|
1380
1384
|
phaseSince when the warm started ("warming") or finished ("ready"); null
|
|
1381
1385
|
for "live" and "idle"
|
|
@@ -1403,8 +1407,8 @@ RULES
|
|
|
1403
1407
|
The first kind that applies wins:
|
|
1404
1408
|
|
|
1405
1409
|
kind "building" a build runs; platform names it
|
|
1406
|
-
"warming" phase is "warming" and nothing is
|
|
1407
|
-
"ready" phase is "ready" and nothing is
|
|
1410
|
+
"warming" phase is "warming" and nothing is active
|
|
1411
|
+
"ready" phase is "ready" and nothing is active
|
|
1408
1412
|
"build-failed" the newest run of either platform failed;
|
|
1409
1413
|
platform names it
|
|
1410
1414
|
"running" live is true or a remote session runs
|
|
@@ -1884,7 +1888,7 @@ RULES
|
|
|
1884
1888
|
under CoreSimulator/Devices, or the AVD's .avd folder
|
|
1885
1889
|
|
|
1886
1890
|
\`status --watch\` runs one du at a time off its refresh path, and measures
|
|
1887
|
-
a folder at most every 5 minutes while its environment is
|
|
1891
|
+
a folder at most every 5 minutes while its environment is active and every
|
|
1888
1892
|
hour otherwise. It caches each size under $STIM_HOME/disk-usage, which
|
|
1889
1893
|
one-shot status only reads, so the fields appear once a watcher, such as
|
|
1890
1894
|
stim-server or Stim Desktop, has measured.
|
|
@@ -2004,7 +2008,7 @@ RULES
|
|
|
2004
2008
|
started it until that build exits, then as shared. Processes with no owner
|
|
2005
2009
|
are left out. machine comes from one host ps, the one status reads for
|
|
2006
2010
|
device activity, and one run of the footprint helper. It is null when no
|
|
2007
|
-
simulator is booted, no workspace is
|
|
2011
|
+
simulator is booted, no workspace is active and no build runs: status then
|
|
2008
2012
|
runs neither. \`status --watch --json\` rereads both every 15 seconds while
|
|
2009
2013
|
machine is not null, with no other subprocess.`
|
|
2010
2014
|
},
|
|
@@ -4775,7 +4779,7 @@ STOP DURING A BUILD
|
|
|
4775
4779
|
|
|
4776
4780
|
CAPACITY
|
|
4777
4781
|
A booted iOS sim is roughly 1-2 GB of RAM, an Android emulator 2-3 GB. On a
|
|
4778
|
-
16 GB machine plan for 2-3
|
|
4782
|
+
16 GB machine plan for 2-3 active environments. Nothing enforces this;
|
|
4779
4783
|
\`stim status\` is how you check -- it reports every workspace on the
|
|
4780
4784
|
machine, not just this one.
|
|
4781
4785
|
|
|
@@ -6204,7 +6208,7 @@ OPT-IN CONCURRENCY LIMITS (UNLIMITED BY DEFAULT)
|
|
|
6204
6208
|
and the command to remove that exact claim.
|
|
6205
6209
|
See \`guide errors STIM_AT_CAPACITY\`.
|
|
6206
6210
|
|
|
6207
|
-
\`stim doctor\` prints one note echoing the caps and the current
|
|
6211
|
+
\`stim doctor\` prints one note echoing the caps and the current active count,
|
|
6208
6212
|
but ONLY when a cap is set. \`stim gc\` reports stale build slots the way it
|
|
6209
6213
|
reports stale build locks, and \`gc --delete\` clears them. Set the caps
|
|
6210
6214
|
with \`stim settings set concurrency.maxBuilds 2\`, by editing
|
|
@@ -6220,7 +6224,7 @@ OPT-IN CONCURRENCY LIMITS (UNLIMITED BY DEFAULT)
|
|
|
6220
6224
|
$STIM_HOME. Default 20. Below it, Stim reclaims.
|
|
6221
6225
|
budget.hardFloorDiskGb default 5. Still below it after reclaiming,
|
|
6222
6226
|
the run refuses with STIM_LOW_DISK.
|
|
6223
|
-
budget.maxCommittedMemoryGb the rough memory of
|
|
6227
|
+
budget.maxCommittedMemoryGb the rough memory of active environments, the
|
|
6224
6228
|
figure \`stim status\` prints (a booted
|
|
6225
6229
|
simulator 1.5 GB, an emulator 2.5 GB, a dev
|
|
6226
6230
|
server 0.7 GB). Default 60% of physical memory.
|
|
@@ -8422,9 +8426,9 @@ unless every chosen capability already has a matching approval. Desktop reuse
|
|
|
8422
8426
|
requires an existing tailnet route. Ctrl-C or SIGTERM completes the journal,
|
|
8423
8427
|
releases the setup claim and exits 1; a typed N also exits 1. Hosting grants
|
|
8424
8428
|
include no read, control or build capability.
|
|
8425
|
-
On a remote Mac that hosts, Stim Desktop > Settings >
|
|
8426
|
-
simulators, emulators and apps approved Macs run there, below
|
|
8427
|
-
|
|
8429
|
+
On a remote Mac that hosts, Stim Desktop > Settings > Remote Macs > Running here lists the
|
|
8430
|
+
simulators, emulators and apps approved Macs run there, below Macs using this
|
|
8431
|
+
Mac. Stop asks for confirmation, ends the session and deletes or parks
|
|
8428
8432
|
its device on that Mac. Parked sessions remain listed without Stop. The list
|
|
8429
8433
|
refreshes every five seconds and stays hidden when the local server does not
|
|
8430
8434
|
support it.
|
|
@@ -8621,7 +8625,8 @@ login-shell environment would otherwise replace.
|
|
|
8621
8625
|
\`stim-server service update --release <version>\` there moves the service to
|
|
8622
8626
|
that exact stim-server release from the public npm registry once npm verifies
|
|
8623
8627
|
its integrity and registry signatures; \`--from <dir>\` installs the packed
|
|
8624
|
-
packages of a checkout instead
|
|
8628
|
+
packages of a checkout instead, with the same signature check on each npm
|
|
8629
|
+
dependency but none for Stim's own packages. It waits for offloaded builds and hosted
|
|
8625
8630
|
sessions to finish, restarts the job, and switches back when the new server
|
|
8626
8631
|
exits or does not answer within 90 seconds; \`stim-server service rollback\` returns
|
|
8627
8632
|
to the previous server. A client Mac approved for builds or device hosting
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as call, o as connectHost } from "./hosted-client-
|
|
2
|
-
import { i as requestHostedMetro } from "./metro-gateway-
|
|
3
|
-
import { n as prepareHostedNative, r as stopHostedNative, t as placeHostedNative } from "./hosted-native-
|
|
1
|
+
import { a as call, o as connectHost } from "./hosted-client-Bp4knSwu.mjs";
|
|
2
|
+
import { i as requestHostedMetro } from "./metro-gateway-C-ijGI2F.mjs";
|
|
3
|
+
import { n as prepareHostedNative, r as stopHostedNative, t as placeHostedNative } from "./hosted-native-1Ebbig4w.mjs";
|
|
4
4
|
//#region src/device-host/hosted-android.ts
|
|
5
5
|
async function prepareHostedAndroid(machine, selectors, recorded) {
|
|
6
6
|
return await prepareHostedNative(machine, selectors, recorded, "android");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as configuredMachines, t as BuildConnection, x as pinnedEndpoint$1 } from "./client-
|
|
1
|
+
import { _ as configuredMachines, t as BuildConnection, x as pinnedEndpoint$1 } from "./client-SvBdgObD.mjs";
|
|
2
2
|
import { createHash } from "node:crypto";
|
|
3
3
|
import { lstatSync, readFileSync, readdirSync, readlinkSync } from "node:fs";
|
|
4
4
|
import { join } from "node:path";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as prepareHostedNative, r as stopHostedNative, t as placeHostedNative } from "./hosted-native-
|
|
1
|
+
import { n as prepareHostedNative, r as stopHostedNative, t as placeHostedNative } from "./hosted-native-1Ebbig4w.mjs";
|
|
2
2
|
//#region src/device-host/hosted-ios.ts
|
|
3
3
|
async function prepareHostedIos(machine, selectors, recorded) {
|
|
4
4
|
return await prepareHostedNative(machine, selectors, recorded, "ios");
|
|
@@ -4,8 +4,8 @@ import { l as phaseLine } from "./command-output-CDAIFD-8.mjs";
|
|
|
4
4
|
import { v as workspaceDir, x as workspaceLogsDir$1 } from "./workspace-state-DqcCbpE7.mjs";
|
|
5
5
|
import { t as macosDir } from "./state-DyaNTgfR.mjs";
|
|
6
6
|
import { r as createNdjsonWriter } from "./ndjson-PclOIwVY.mjs";
|
|
7
|
-
import { b as parseMachine$1 } from "./client-
|
|
8
|
-
import { a as call } from "./hosted-client-
|
|
7
|
+
import { b as parseMachine$1 } from "./client-SvBdgObD.mjs";
|
|
8
|
+
import { a as call } from "./hosted-client-Bp4knSwu.mjs";
|
|
9
9
|
import { mkdirSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
10
10
|
import { dirname, join } from "node:path";
|
|
11
11
|
import { LOG_ROTATE_BYTES, withDirLock } from "@stim-cli/core";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { l as phaseLine } from "./command-output-CDAIFD-8.mjs";
|
|
2
2
|
import { t as macosDir } from "./state-DyaNTgfR.mjs";
|
|
3
|
-
import { a as call, c as hostedSession, d as sha256, f as sleep, i as bundleManifest, m as upload, n as SESSION_TIMEOUT_MS, o as connectHost, p as unknownSession, r as attach, s as heldNoLonger, t as INSTALL_TIMEOUT_MS, u as settle } from "./hosted-client-
|
|
4
|
-
import { i as agentAccess, r as closeAgentConnection, t as pullHostedMacosLogs } from "./hosted-logs-
|
|
3
|
+
import { a as call, c as hostedSession, d as sha256, f as sleep, i as bundleManifest, m as upload, n as SESSION_TIMEOUT_MS, o as connectHost, p as unknownSession, r as attach, s as heldNoLonger, t as INSTALL_TIMEOUT_MS, u as settle } from "./hosted-client-Bp4knSwu.mjs";
|
|
4
|
+
import { i as agentAccess, r as closeAgentConnection, t as pullHostedMacosLogs } from "./hosted-logs-OcgIBvCT.mjs";
|
|
5
5
|
import { randomUUID } from "node:crypto";
|
|
6
6
|
import { rmSync } from "node:fs";
|
|
7
7
|
import { join } from "node:path";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as readWorkspaceState$1, v as workspaceDir } from "./workspace-state-DqcCbpE7.mjs";
|
|
2
|
-
import { a as call, c as hostedSession, d as sha256, f as sleep, i as bundleManifest, m as upload, n as SESSION_TIMEOUT_MS, o as connectHost, p as unknownSession, r as attach, s as heldNoLonger, t as INSTALL_TIMEOUT_MS, u as settle } from "./hosted-client-
|
|
3
|
-
import { a as requireHostedMetro, i as requestHostedMetro, n as closeHostedMetro } from "./metro-gateway-
|
|
4
|
-
import { i as agentAccess, n as pullHostedNativeLogs, r as closeAgentConnection } from "./hosted-logs-
|
|
2
|
+
import { a as call, c as hostedSession, d as sha256, f as sleep, i as bundleManifest, m as upload, n as SESSION_TIMEOUT_MS, o as connectHost, p as unknownSession, r as attach, s as heldNoLonger, t as INSTALL_TIMEOUT_MS, u as settle } from "./hosted-client-Bp4knSwu.mjs";
|
|
3
|
+
import { a as requireHostedMetro, i as requestHostedMetro, n as closeHostedMetro } from "./metro-gateway-C-ijGI2F.mjs";
|
|
4
|
+
import { i as agentAccess, n as pullHostedNativeLogs, r as closeAgentConnection } from "./hosted-logs-OcgIBvCT.mjs";
|
|
5
5
|
import { s as writeHostedNative } from "./ios-state-8L3lgum6.mjs";
|
|
6
6
|
import { randomUUID } from "node:crypto";
|
|
7
7
|
import { readFileSync, rmSync } from "node:fs";
|
|
@@ -6,7 +6,7 @@ import { B as settingsLayers, C as metroWarmupUrlSetting, G as detectProviders,
|
|
|
6
6
|
import { n as appProjectProblem, r as detectIsExpo, s as findProjectRoot$1, t as NO_PROJECT_REFUSAL } from "./project-D47Rh0ly.mjs";
|
|
7
7
|
import { l as resolveProjectMetro, o as pidExists, u as signalProcessTree } from "./metro-g8NqiJp-.mjs";
|
|
8
8
|
import { c as writeWorkspaceState, g as workspaceAgentDeviceDir, i as recordWorkspaceUse, r as readWorkspaceState$1, v as workspaceDir, x as workspaceLogsDir$1 } from "./workspace-state-DqcCbpE7.mjs";
|
|
9
|
-
import { t as budgetGate } from "./budget-
|
|
9
|
+
import { t as budgetGate } from "./budget-DfcgFdQB.mjs";
|
|
10
10
|
import { A as providerDownloadPath, D as fingerprintProject, E as fingerprintDiffRecord, L as untrackedMissLine, M as refingerprintAfterMutation, N as resolveBuild, O as inputsChangedDuringBuild, P as storeBuild, R as untrackedNativeFiles, S as configInputsChanged, T as filesystemBuildCapability, _ as waitForBuild, b as buildCacheKey, g as releaseBuildLock, j as providerUploadOutcome, k as prepareProviderDownloadDir, m as acquireBuildLock, v as waitForSharedBuild, x as changedDuringBuildLine } from "./device-lease-DpoS36_u.mjs";
|
|
11
11
|
import { r as releaseBuildSlot, t as acquireBuildSlot } from "./build-slots-41v_d2x9.mjs";
|
|
12
12
|
import { m as writeWorkspaceLaunch, n as MODE_EXPO, t as MODE_BARE } from "./state-BKa8wNN5.mjs";
|
|
@@ -15,33 +15,33 @@ import { p as listIosRuntimes, r as clearIosAppData, u as listAllIosSims } from
|
|
|
15
15
|
import { a as workspaceLinks, i as workspaceLinkLine } from "./stim-desktop-Cnz8CPnl.mjs";
|
|
16
16
|
import { _ as statsProjectKey$1, c as recordFinishedBuild, d as createRunRecorder, f as readRunEstimates, g as recordRunStats, l as startBuildProgress, m as recordCapacityRefusal, n as NO_BUILD_PROGRESS, u as tapBuildLog } from "./build-progress-D0WkjCPd.mjs";
|
|
17
17
|
import { r as createNdjsonWriter } from "./ndjson-PclOIwVY.mjs";
|
|
18
|
-
import { S as bundlerPin, _ as readBundleId, c as COMPILATION_CACHE_NOT_RUN, d as buildIos, g as readBundleExecutable, h as discoverXcodeProject, p as compilationCacheActivityLine, r as iosToolchain, v as resolveScheme } from "./toolchain-
|
|
19
|
-
import { a as offloadBuild, c as placementLoad, d as OffloadRefusal, f as namedBuildMachine, h as resolveBuildPlacement, i as closeOffload, l as remotePhaseText, n as buildPlacementCandidates, p as parseBuildMachineOption, r as chooseBuildMachine, s as offloadPlacement, u as simulatorRuntime } from "./client-
|
|
20
|
-
import { r as hostedMetroSettings } from "./metro-gateway-
|
|
18
|
+
import { S as bundlerPin, _ as readBundleId, c as COMPILATION_CACHE_NOT_RUN, d as buildIos, g as readBundleExecutable, h as discoverXcodeProject, p as compilationCacheActivityLine, r as iosToolchain, v as resolveScheme } from "./toolchain-DNyR3NPq.mjs";
|
|
19
|
+
import { a as offloadBuild, c as placementLoad, d as OffloadRefusal, f as namedBuildMachine, h as resolveBuildPlacement, i as closeOffload, l as remotePhaseText, n as buildPlacementCandidates, p as parseBuildMachineOption, r as chooseBuildMachine, s as offloadPlacement, u as simulatorRuntime } from "./client-SvBdgObD.mjs";
|
|
20
|
+
import { r as hostedMetroSettings } from "./metro-gateway-C-ijGI2F.mjs";
|
|
21
21
|
import { n as verifyCollectorOwnership } from "./ownership-DyRQru0q.mjs";
|
|
22
22
|
import { r as checkDeviceCapacity } from "./device-capacity-ZC4XSZ4R.mjs";
|
|
23
23
|
import { D as schemesFromInfoPlist, S as restartedAppNote, T as pickDevClientScheme, _ as installIosApp, a as IOS_DEV_MENU_OFF_DEFAULTS_PLIST, d as devClientUrl, l as clearOtherUserApps, r as DEFAULT_METRO_PORT, v as iosAppProcess, x as launchIosApp } from "./app-install-VPkI5WEg.mjs";
|
|
24
24
|
import { n as devClientTakesDevMenuParams, t as devClientScheme } from "./dev-client-B-XC4uRH.mjs";
|
|
25
25
|
import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
|
|
26
|
-
import { a as runPodInstall, n as podsAreStale, r as readPodState } from "./deps-
|
|
26
|
+
import { a as runPodInstall, n as podsAreStale, r as readPodState } from "./deps-iKw0eD4P.mjs";
|
|
27
27
|
import { i as staleNativeDirRefusal, n as recordPrebuild, r as runPrebuild, t as planPrebuild } from "./prebuild-D7RUMkwN.mjs";
|
|
28
28
|
import { c as readMetroRecords, f as verifyLaunch, i as RELEASE_VERIFY_WAIT_MS, l as unattributedLaunchLines, n as LAUNCH_FATAL, o as isBundleProof, p as verifyReleaseLaunch, r as LAUNCH_UNVERIFIED, s as readCollectorRecords, t as LAUNCH_BUNDLING, u as unverifiedLaunchLines } from "./launch-verify-lTnWZikR.mjs";
|
|
29
29
|
import { a as acquireRunLease, c as lostRefusal, d as runLease, f as waitFlagConflict, o as leaseExpiryText, s as lostLine, t as DEBUG_VERIFY_STEP_MS, u as releaseLeaseOnSignal } from "./device-lease-run-B8YltIH_.mjs";
|
|
30
30
|
import { n as clearIosAdoptionPending } from "./device-ios-C2Um-XUR.mjs";
|
|
31
|
-
import { _ as resolveSimulatorAppFlag, a as deviceModelRefusal, c as iosProviderRunOptions, d as podAction, f as printDiagnostics, g as resolveRuntime, h as resolveIosWait, i as deviceLabel, l as isReleaseConfiguration, m as resolveDeviceType, n as buildLogFile, o as deviceShortName, p as resolveConfiguration, r as createIosDeviceWaitRun, s as iosConfigurationSetting, t as appNameFromPath, u as ownedSimFailure, v as simulatorBuildArch, y as xcodeFailureReport } from "./support-
|
|
31
|
+
import { _ as resolveSimulatorAppFlag, a as deviceModelRefusal, c as iosProviderRunOptions, d as podAction, f as printDiagnostics, g as resolveRuntime, h as resolveIosWait, i as deviceLabel, l as isReleaseConfiguration, m as resolveDeviceType, n as buildLogFile, o as deviceShortName, p as resolveConfiguration, r as createIosDeviceWaitRun, s as iosConfigurationSetting, t as appNameFromPath, u as ownedSimFailure, v as simulatorBuildArch, y as xcodeFailureReport } from "./support-CsJNVfOc.mjs";
|
|
32
32
|
import { i as writeDevicePlacement, n as readHostedIos, o as writeHostedIos } from "./ios-state-8L3lgum6.mjs";
|
|
33
|
-
import { a as refusePlan, b as devicePlacementLine, c as skippedMissReason, f as swapJsBundle, h as ensureOwnedDevice, i as printPlan, m as ensureBooted, n as planFlagRefusal, o as explainBuildMiss, p as didSetUpDevice, r as planPayload, s as fingerprintErrorMissReason, t as planCachedBuild, v as warmMetro, y as automaticDevicePlacement } from "./build-plan-
|
|
33
|
+
import { a as refusePlan, b as devicePlacementLine, c as skippedMissReason, f as swapJsBundle, h as ensureOwnedDevice, i as printPlan, m as ensureBooted, n as planFlagRefusal, o as explainBuildMiss, p as didSetUpDevice, r as planPayload, s as fingerprintErrorMissReason, t as planCachedBuild, v as warmMetro, y as automaticDevicePlacement } from "./build-plan-BDsSi09V.mjs";
|
|
34
34
|
import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-DmjBmpQV.mjs";
|
|
35
35
|
import { a as easAuthNote, c as loadProjectProvider, f as resolveEasCliBin, i as checkEasAuth, m as uploadRemote, n as UPLOAD_TIMEOUT_MS, o as exitAfterFlush, p as resolveRemote, r as cacheLevel, s as isEasAuthFailureText, t as RESOLVE_TIMEOUT_MS } from "./remote-cache-Ci4DQYYj.mjs";
|
|
36
36
|
import { O as readRemoteSimulatorArch, a as ensureMetroReachable, k as gateMetroOrigin, l as remoteIosDeps, n as binOnPath, o as ensureRemoteBootOwned, r as bundleEntryPoint, u as resolveRemoteContext, w as ownedSessionName } from "./device-remote-hFSkpfQu.mjs";
|
|
37
37
|
import { d as runCancellationSignal, f as withNativeBuildRun, r as cancelledFailure, u as runCancellation } from "./native-run-D1Q56rAD.mjs";
|
|
38
38
|
import { a as isEasBuildFailure, i as easDeviceBuildRemedy, o as planEasDevelopmentBuild, s as resolveEasDevelopmentBuild } from "./simslim-BWNrc3M3.mjs";
|
|
39
|
-
import { c as startDevServer, h as detectBundleId } from "./start-
|
|
40
|
-
import { a as sleep, i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely, r as isPhysicalDeviceRequest, t as ensureDevServer } from "./native-runtime-
|
|
39
|
+
import { c as startDevServer, h as detectBundleId } from "./start-DUz3mYdb.mjs";
|
|
40
|
+
import { a as sleep, i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely, r as isPhysicalDeviceRequest, t as ensureDevServer } from "./native-runtime-BEK171xQ.mjs";
|
|
41
41
|
import { t as selectFromPool } from "./device-pool-3o7s5lo4.mjs";
|
|
42
42
|
import { a as printNativeCrashReport, n as IOS_CRASH_REPORT_RETRY, o as simulatorConsolePaths, r as captureNativeCrashes, t as errorDiagnostics } from "./error-diagnostics-C-NMnhrk.mjs";
|
|
43
43
|
import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, i as iosDeviceProcess, l as listIosDevices, n as installIosDeviceApp, o as iosPoolNoCandidatesRefusal, p as verifyIosDeviceReleaseLaunch, r as iosDeviceBounds, t as awaitIosDeviceLaunch, u as localNetworkPending } from "./ios-device-pAN4t54-.mjs";
|
|
44
|
-
import { n as prepareHostedIos, t as placeHostedIos } from "./hosted-ios-
|
|
44
|
+
import { n as prepareHostedIos, t as placeHostedIos } from "./hosted-ios-BnbeYOUD.mjs";
|
|
45
45
|
import { X509Certificate } from "node:crypto";
|
|
46
46
|
import { existsSync, mkdirSync, mkdtempSync, openSync, rmSync, writeFileSync } from "node:fs";
|
|
47
47
|
import { basename, join } from "node:path";
|
|
@@ -5,9 +5,9 @@ import { o as findCommandWorkspace } from "./project-D47Rh0ly.mjs";
|
|
|
5
5
|
import { r as readWorkspaceState$1, x as workspaceLogsDir$1 } from "./workspace-state-DqcCbpE7.mjs";
|
|
6
6
|
import { n as agentDeviceLiveness, u as readAgentDeviceRecords } from "./activity-IRvJY_ru.mjs";
|
|
7
7
|
import { n as SOURCES, t as LEVELS } from "./ndjson-PclOIwVY.mjs";
|
|
8
|
-
import { o as connectHost } from "./hosted-client-
|
|
9
|
-
import { n as pullHostedNativeLogs, t as pullHostedMacosLogs } from "./hosted-logs-
|
|
10
|
-
import "./hosted-macos-
|
|
8
|
+
import { o as connectHost } from "./hosted-client-Bp4knSwu.mjs";
|
|
9
|
+
import { n as pullHostedNativeLogs, t as pullHostedMacosLogs } from "./hosted-logs-OcgIBvCT.mjs";
|
|
10
|
+
import "./hosted-macos-DcxKjtfH.mjs";
|
|
11
11
|
import { n as readHostedIos, t as readHostedAndroid } from "./ios-state-8L3lgum6.mjs";
|
|
12
12
|
import { i as captureWorkspaceCrashes, t as errorDiagnostics } from "./error-diagnostics-C-NMnhrk.mjs";
|
|
13
13
|
import { t as watchStdoutReader } from "./stdout-reader-C8yjre1x.mjs";
|
|
@@ -11,12 +11,12 @@ import { t as withWorkspaceProcessLock } from "./workspace-process-lock-2mNzOlaB
|
|
|
11
11
|
import { c as recordFinishedBuild, l as startBuildProgress, n as NO_BUILD_PROGRESS, u as tapBuildLog } from "./build-progress-D0WkjCPd.mjs";
|
|
12
12
|
import { a as requiredMacosRecord, n as macosLogFile, r as macosProcess, t as macosDir } from "./state-DyaNTgfR.mjs";
|
|
13
13
|
import { r as createNdjsonWriter } from "./ndjson-PclOIwVY.mjs";
|
|
14
|
-
import { i as macosToolchain } from "./toolchain-
|
|
15
|
-
import { a as offloadBuild, c as placementLoad, d as OffloadRefusal, f as namedBuildMachine, h as resolveBuildPlacement, i as closeOffload, l as remotePhaseText, n as buildPlacementCandidates, p as parseBuildMachineOption, r as chooseBuildMachine, s as offloadPlacement } from "./client-
|
|
16
|
-
import { o as connectHost } from "./hosted-client-
|
|
14
|
+
import { i as macosToolchain } from "./toolchain-DNyR3NPq.mjs";
|
|
15
|
+
import { a as offloadBuild, c as placementLoad, d as OffloadRefusal, f as namedBuildMachine, h as resolveBuildPlacement, i as closeOffload, l as remotePhaseText, n as buildPlacementCandidates, p as parseBuildMachineOption, r as chooseBuildMachine, s as offloadPlacement } from "./client-SvBdgObD.mjs";
|
|
16
|
+
import { o as connectHost } from "./hosted-client-Bp4knSwu.mjs";
|
|
17
17
|
import { t as logLines } from "./run-CkE9y0nc.mjs";
|
|
18
|
-
import { t as placeHostedMacos } from "./hosted-macos-
|
|
19
|
-
import { n as stopMacosAppHeld } from "./stop-
|
|
18
|
+
import { t as placeHostedMacos } from "./hosted-macos-DcxKjtfH.mjs";
|
|
19
|
+
import { n as stopMacosAppHeld } from "./stop-BIiM49EY.mjs";
|
|
20
20
|
import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
|
|
21
21
|
import { n as stageBundle, r as validateInfoPlist, t as resolveBundleExtras } from "./stage-CzaiwFsI.mjs";
|
|
22
22
|
import { f as withNativeBuildRun } from "./native-run-D1Q56rAD.mjs";
|
package/dist/maintenance-run.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { j as formatBytes } from "./config-D0DbpZtM.mjs";
|
|
2
2
|
import { t as relaunchWithLogFile } from "./detached-entry-CiTEgMR1.mjs";
|
|
3
|
-
import { c as resolveBudget } from "./budget-
|
|
3
|
+
import { c as resolveBudget } from "./budget-DfcgFdQB.mjs";
|
|
4
4
|
import { r as createNdjsonWriter } from "./ndjson-PclOIwVY.mjs";
|
|
5
5
|
import { t as resolveMaintenanceSettings } from "./settings-BBpMcDbD.mjs";
|
|
6
6
|
import { r as due, t as capChildLog } from "./attempt-Bk2ouQVL.mjs";
|
|
7
|
-
import { a as sizeScanDeferred, i as measureSizes, r as measurePressure, t as plannedMaintenance } from "./preview-
|
|
7
|
+
import { a as sizeScanDeferred, i as measureSizes, r as measurePressure, t as plannedMaintenance } from "./preview-B-g9d7kV.mjs";
|
|
8
8
|
import { appendFileSync, mkdirSync, renameSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
9
9
|
import { basename, join, resolve } from "node:path";
|
|
10
10
|
import { LOG_ROTATE_BYTES, rotatedLogPath, withDirLock } from "@stim-cli/core";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as process_identity_exports } from "./process-identity-BmRm1qV0.mjs";
|
|
2
2
|
import { a as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-DqcCbpE7.mjs";
|
|
3
|
-
import { S as realIo } from "./client-
|
|
3
|
+
import { S as realIo } from "./client-SvBdgObD.mjs";
|
|
4
4
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
5
5
|
import { HOSTED_METRO_REQUESTS_KEY, findPeer, hostedMetroGateways, hostedMetroRequests, isJsonObject, parseMachine } from "@stim-cli/core/state";
|
|
6
6
|
import { isIP } from "node:net";
|
|
@@ -3,7 +3,7 @@ import { x as metroPortSetting } from "./settings-Cfd-0r2d.mjs";
|
|
|
3
3
|
import { l as resolveProjectMetro } from "./metro-g8NqiJp-.mjs";
|
|
4
4
|
import { r as readWorkspaceState$1, u as ensureWorkspaceStorage } from "./workspace-state-DqcCbpE7.mjs";
|
|
5
5
|
import { r as LAUNCH_UNVERIFIED, t as LAUNCH_BUNDLING } from "./launch-verify-lTnWZikR.mjs";
|
|
6
|
-
import { c as startDevServer } from "./start-
|
|
6
|
+
import { c as startDevServer } from "./start-DUz3mYdb.mjs";
|
|
7
7
|
import { readIdleStop } from "@stim-cli/core/state";
|
|
8
8
|
import chalk from "chalk";
|
|
9
9
|
//#region src/commands/native-runtime.ts
|
package/dist/offload-worker.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-CaErVv7t.mjs";
|
|
2
2
|
import { n as stripAnsi } from "./process-output-Fpl8PYi8.mjs";
|
|
3
3
|
import { D as fingerprintProject, M as refingerprintAfterMutation } from "./device-lease-DpoS36_u.mjs";
|
|
4
|
-
import { T as CCACHE_UNAVAILABLE, d as buildIos, k as resolveCcache, o as workerToolchain, s as manifestDigest } from "./toolchain-
|
|
4
|
+
import { T as CCACHE_UNAVAILABLE, d as buildIos, k as resolveCcache, o as workerToolchain, s as manifestDigest } from "./toolchain-DNyR3NPq.mjs";
|
|
5
5
|
import { t as logLines } from "./run-CkE9y0nc.mjs";
|
|
6
|
-
import { a as runPodInstall, n as podsAreStale, r as readPodState } from "./deps-
|
|
6
|
+
import { a as runPodInstall, n as podsAreStale, r as readPodState } from "./deps-iKw0eD4P.mjs";
|
|
7
7
|
import { n as recordPrebuild, r as runPrebuild, t as planPrebuild } from "./prebuild-D7RUMkwN.mjs";
|
|
8
|
-
import { a as gradlewPath, i as buildAndroid, r as assembleTaskFor } from "./gradle-
|
|
8
|
+
import { a as gradlewPath, i as buildAndroid, r as assembleTaskFor } from "./gradle-dJpre3Yn.mjs";
|
|
9
9
|
import { n as stageBundle, t as resolveBundleExtras } from "./stage-CzaiwFsI.mjs";
|
|
10
|
-
import { d as podAction } from "./support-
|
|
10
|
+
import { d as podAction } from "./support-CsJNVfOc.mjs";
|
|
11
11
|
import { createHash } from "node:crypto";
|
|
12
12
|
import { chmodSync, constants, copyFileSync, cpSync, createReadStream, existsSync, lstatSync, mkdirSync, readFileSync, realpathSync, renameSync, rmSync, statSync, symlinkSync, writeFileSync } from "node:fs";
|
|
13
13
|
import { basename, dirname, join } from "node:path";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { P as measuredDirectorySize } from "./config-D0DbpZtM.mjs";
|
|
2
2
|
import { s as findProjectRoot$1 } from "./project-D47Rh0ly.mjs";
|
|
3
|
-
import { M as planCacheEmptying, Q as discoverCaches, c as resolveBudget, r as enforceBudget, s as readVolumeSpace } from "./budget-
|
|
3
|
+
import { M as planCacheEmptying, Q as discoverCaches, c as resolveBudget, r as enforceBudget, s as readVolumeSpace } from "./budget-DfcgFdQB.mjs";
|
|
4
4
|
import { o as canonicalPath } from "./in-use-CvGOUn-x.mjs";
|
|
5
5
|
import { h as listBuildLocks } from "./device-lease-DpoS36_u.mjs";
|
|
6
6
|
import { n as listBuildSlots } from "./build-slots-41v_d2x9.mjs";
|
|
@@ -7,10 +7,10 @@ import { o as readWebRecord, r as cdpEndpoint, u as webFacts } from "./state-PeQ
|
|
|
7
7
|
import { f as readWorkspaceLaunches } from "./state-BKa8wNN5.mjs";
|
|
8
8
|
import { J as resolveOwnedAvdSerial } from "./android-B_YNZy61.mjs";
|
|
9
9
|
import { w as resolveOwnedIosSim } from "./ios-DSfnPfse.mjs";
|
|
10
|
-
import { l as probeHostedSession } from "./hosted-client-
|
|
10
|
+
import { l as probeHostedSession } from "./hosted-client-Bp4knSwu.mjs";
|
|
11
11
|
import { p as ensureMetroReverse, s as androidAppProcess, v as iosAppProcess } from "./app-install-VPkI5WEg.mjs";
|
|
12
12
|
import { r as readHostedNative } from "./ios-state-8L3lgum6.mjs";
|
|
13
|
-
import { r as reopenHostedAndroidMetro } from "./hosted-android-
|
|
13
|
+
import { r as reopenHostedAndroidMetro } from "./hosted-android-E1Heoqnv.mjs";
|
|
14
14
|
import { n as nativeRunCommand } from "./slot-launch-DmjBmpQV.mjs";
|
|
15
15
|
import { n as sendToOwnedPage, t as liveWebRecord } from "./page-QF_Ke10s.mjs";
|
|
16
16
|
import { hostedAndroidDeviceName, hostedNativeRecords } from "@stim-cli/core/state";
|
|
@@ -1496,7 +1496,7 @@
|
|
|
1496
1496
|
}
|
|
1497
1497
|
},
|
|
1498
1498
|
"maxCommittedMemoryGb": {
|
|
1499
|
-
"description": "Estimated memory, in GB, of
|
|
1499
|
+
"description": "Estimated memory, in GB, of active environments before idle ones are reclaimed; unset is 60% of RAM, 0 is off",
|
|
1500
1500
|
"type": "number",
|
|
1501
1501
|
"minimum": 0,
|
|
1502
1502
|
"x-stim": {
|
|
@@ -1509,7 +1509,7 @@
|
|
|
1509
1509
|
}
|
|
1510
1510
|
},
|
|
1511
1511
|
"maxLiveWorkspaces": {
|
|
1512
|
-
"description": "
|
|
1512
|
+
"description": "Active workspaces before idle ones are reclaimed; unset or 0 means no limit",
|
|
1513
1513
|
"type": "integer",
|
|
1514
1514
|
"minimum": 0,
|
|
1515
1515
|
"x-stim": {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as registerStart, c as startDevServer, d as tailLines, f as wantsExpoOwnTunnel, i as readLogTail, l as startFacts, n as liveSupervisor, o as resolveWorkspaceMetroPort, r as parseWait, s as startCommand, t as failureEvidence, u as supervisorEntry } from "./start-
|
|
1
|
+
import { a as registerStart, c as startDevServer, d as tailLines, f as wantsExpoOwnTunnel, i as readLogTail, l as startFacts, n as liveSupervisor, o as resolveWorkspaceMetroPort, r as parseWait, s as startCommand, t as failureEvidence, u as supervisorEntry } from "./start-DUz3mYdb.mjs";
|
|
2
2
|
export { startCommand as default, failureEvidence, liveSupervisor, parseWait, readLogTail, registerStart, resolveWorkspaceMetroPort, startDevServer, startFacts, supervisorEntry, tailLines, wantsExpoOwnTunnel };
|
|
@@ -7,7 +7,7 @@ import { G as detectProviders, H as unknownSettingKeys, K as planMetroReach, M a
|
|
|
7
7
|
import { f as readAppConfigText, n as appProjectProblem, p as readAppJson, r as detectIsExpo, s as findProjectRoot$1, t as NO_PROJECT_REFUSAL } from "./project-D47Rh0ly.mjs";
|
|
8
8
|
import { l as resolveProjectMetro, o as pidExists, p as reserveMetroPort, u as signalProcessTree } from "./metro-g8NqiJp-.mjs";
|
|
9
9
|
import { c as writeWorkspaceState, g as workspaceAgentDeviceDir, i as recordWorkspaceUse, m as supervisorLogFile, n as clearWorkspaceStateKeys, r as readWorkspaceState$1, u as ensureWorkspaceStorage, x as workspaceLogsDir$1 } from "./workspace-state-DqcCbpE7.mjs";
|
|
10
|
-
import { l as stopOwnedMetroForReset, t as budgetGate } from "./budget-
|
|
10
|
+
import { l as stopOwnedMetroForReset, t as budgetGate } from "./budget-DfcgFdQB.mjs";
|
|
11
11
|
import { c as readMetroTunnel, i as clearManagedMetroTunnel } from "./state-BKa8wNN5.mjs";
|
|
12
12
|
import { a as workspaceLinks, i as workspaceLinkLine } from "./stim-desktop-Cnz8CPnl.mjs";
|
|
13
13
|
import { a as terminateChild, c as withManagedTunnelLock, i as stopTunnel, o as withManagedRemoteWorktreeLock, r as startTunnelSequence, t as resolveSupervisorTarget } from "./ownership-BMLqyBgJ.mjs";
|
|
@@ -8,7 +8,7 @@ import { a as listeningPidsByPort, c as processCwds, d as isMetroRunning, i as l
|
|
|
8
8
|
import { b as workspaceLogErrorIndex, r as readWorkspaceState$1, x as workspaceLogsDir$1 } from "./workspace-state-DqcCbpE7.mjs";
|
|
9
9
|
import { a as readWebPage, o as readWebRecord, u as webFacts } from "./state-PeQiJuIu.mjs";
|
|
10
10
|
import { _ as statusActivity, a as capacity, b as withWebFacts, c as diskLine, d as gitSummaryText, f as metroReverseTargets, g as remoteDeviceState, h as remoteDeviceLine, i as applyMachineMemory, l as environmentState, m as poolLine, n as activityLabel, o as deviceLeaseLines, p as parseDfFree, r as addReverseMissingIssue, s as deviceLeaseStates, v as tightVolumes, y as unprovisionedWorktrees } from "./status-CzS4bPO9.mjs";
|
|
11
|
-
import { X as attributeMachineUsage, Z as readFootprints, a as machineNumber } from "./budget-
|
|
11
|
+
import { X as attributeMachineUsage, Z as readFootprints, a as machineNumber } from "./budget-DfcgFdQB.mjs";
|
|
12
12
|
import { d as readWebActivity, f as tailLines, i as createDeviceProcessTables, r as createActivityReader } from "./activity-IRvJY_ru.mjs";
|
|
13
13
|
import { i as listLeaseFiles, r as leaseIsExpired, s as parseWorkspaceLeases } from "./device-lease-DpoS36_u.mjs";
|
|
14
14
|
import { c as readMetroTunnel, f as readWorkspaceLaunches, u as readRemoteSession } from "./state-BKa8wNN5.mjs";
|
|
@@ -18,9 +18,9 @@ import { t as resolveSupervisorTarget } from "./ownership-BMLqyBgJ.mjs";
|
|
|
18
18
|
import { _ as statsProjectKey$1, a as buildStatusLine, i as buildReport, p as readStats$1, r as activeBuildState, s as parseActiveBuild, t as ACTIVE_BUILD_KEY } from "./build-progress-D0WkjCPd.mjs";
|
|
19
19
|
import { a as parseNdjsonLine } from "./ndjson-PclOIwVY.mjs";
|
|
20
20
|
import { n as describeMetroLastStop, o as metroLastStop } from "./stop-cause-rhmGfwvt.mjs";
|
|
21
|
-
import { l as probeHostedSession } from "./hosted-client-
|
|
21
|
+
import { l as probeHostedSession } from "./hosted-client-Bp4knSwu.mjs";
|
|
22
22
|
import { m as hasMetroReverse } from "./app-install-VPkI5WEg.mjs";
|
|
23
|
-
import "./hosted-macos-
|
|
23
|
+
import "./hosted-macos-DcxKjtfH.mjs";
|
|
24
24
|
import { m as readEasSessionLedger$1, p as easMachineStateRoot$1 } from "./device-remote-hFSkpfQu.mjs";
|
|
25
25
|
import { d as readIosDevices, s as isReachable } from "./ios-device-pAN4t54-.mjs";
|
|
26
26
|
import { n as maintenanceLines, r as maintenanceStatus } from "./status-DlKvVJBE.mjs";
|
|
@@ -28,7 +28,7 @@ import { i as createStatusMeasurer, n as workspacePhase, r as applyStatusMeasure
|
|
|
28
28
|
import { r as workspaceRecordingEnabled } from "./recordings-BNgsD1Tr.mjs";
|
|
29
29
|
import { t as watchStdoutReader } from "./stdout-reader-C8yjre1x.mjs";
|
|
30
30
|
import { t as triggerMaintenance } from "./trigger-Bemu8ytw.mjs";
|
|
31
|
-
import { i as readSupervisorState } from "./stop-
|
|
31
|
+
import { i as readSupervisorState } from "./stop-DQIasgKp.mjs";
|
|
32
32
|
import { createHash, randomUUID } from "node:crypto";
|
|
33
33
|
import { mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, watch, writeFileSync } from "node:fs";
|
|
34
34
|
import { join, posix, resolve } from "node:path";
|
|
@@ -1527,7 +1527,7 @@ function renderStatus({ archived, archivedUsage: usage, projects, states, labelO
|
|
|
1527
1527
|
out.push(chalk.dim(`\nWorktrees with no environment (${orphanWorktrees.length}):`));
|
|
1528
1528
|
for (const w of orphanWorktrees) out.push(chalk.dim(` ${orphanWorktreeLine(w)}`));
|
|
1529
1529
|
}
|
|
1530
|
-
out.push(chalk.dim(machine?.memorySource === "footprint" ? `\n${cap.liveCount}
|
|
1530
|
+
out.push(chalk.dim(machine?.memorySource === "footprint" ? `\n${cap.liveCount} active environment(s) use ${formatGb(cap.committedMb)} of ${formatGb(cap.totalMemoryMb)}.` : `\n${cap.liveCount} active environment(s), roughly ${formatGb(cap.committedMb)} of ${formatGb(cap.totalMemoryMb)} committed.`));
|
|
1531
1531
|
const volumes = readVolumes(cwdRoot || process.cwd());
|
|
1532
1532
|
const line = diskLine(volumes);
|
|
1533
1533
|
if (line) {
|
|
@@ -2,7 +2,7 @@ import { n as ownership_claim_exports, t as process_identity_exports } from "./p
|
|
|
2
2
|
import { c as writeWorkspaceState, v as workspaceDir } from "./workspace-state-DqcCbpE7.mjs";
|
|
3
3
|
import { t as withWorkspaceProcessLock } from "./workspace-process-lock-2mNzOlaB.mjs";
|
|
4
4
|
import { a as requiredMacosRecord, i as macosRuntimeClaim } from "./state-DyaNTgfR.mjs";
|
|
5
|
-
import { n as stopHostedMacos } from "./hosted-macos-
|
|
5
|
+
import { n as stopHostedMacos } from "./hosted-macos-DcxKjtfH.mjs";
|
|
6
6
|
import { readMacosRecord } from "@stim-cli/core/state";
|
|
7
7
|
//#region src/macos/stop.ts
|
|
8
8
|
async function stopProcess(record) {
|
|
@@ -10,12 +10,12 @@ import { g as teardownOwnedIosSim, h as teardownOwnedBrowser, i as stopTunnel, m
|
|
|
10
10
|
import { t as withWorkspaceProcessLock } from "./workspace-process-lock-2mNzOlaB.mjs";
|
|
11
11
|
import { a as logVanishedSupervisor, l as withdrawDevServerStopRequest, s as requestDevServerStop } from "./stop-cause-rhmGfwvt.mjs";
|
|
12
12
|
import { n as verifyCollectorOwnership } from "./ownership-DyRQru0q.mjs";
|
|
13
|
-
import { t as stopMacosApp } from "./stop-
|
|
14
|
-
import { i as stopHostedAndroid } from "./hosted-android-
|
|
13
|
+
import { t as stopMacosApp } from "./stop-BIiM49EY.mjs";
|
|
14
|
+
import { i as stopHostedAndroid } from "./hosted-android-E1Heoqnv.mjs";
|
|
15
15
|
import { f as resolveEasCliBin } from "./remote-cache-Ci4DQYYj.mjs";
|
|
16
16
|
import { i as endRecordedSession } from "./device-remote-hFSkpfQu.mjs";
|
|
17
17
|
import { a as decideStopAction, c as nativeRunWaitNotice, i as clearNativeRunCancel, l as requestNativeRunCancel, n as NATIVE_RUN_WAIT_MS, o as describeNativeRunHolder, s as nativeRunHolder, t as NATIVE_RUN_LOCK } from "./native-run-D1Q56rAD.mjs";
|
|
18
|
-
import { r as stopHostedIos } from "./hosted-ios-
|
|
18
|
+
import { r as stopHostedIos } from "./hosted-ios-BnbeYOUD.mjs";
|
|
19
19
|
import { hostedAndroidDeviceName, hostedAndroidRecords, hostedIosRecords, hostedNativeRecords, isJsonObject, parseHostedNativePlacement } from "@stim-cli/core/state";
|
|
20
20
|
import chalk from "chalk";
|
|
21
21
|
//#region src/commands/stop.ts
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { t as resolveSupervisorTarget } from "./ownership-BMLqyBgJ.mjs";
|
|
2
|
-
import { a as resolveCollectorTargets, c as stopWorkspaceNow, i as readSupervisorState, n as clearSupervisorState, o as runStop, r as readCollectorState, s as stopCommand, t as clearCollectorState } from "./stop-
|
|
2
|
+
import { a as resolveCollectorTargets, c as stopWorkspaceNow, i as readSupervisorState, n as clearSupervisorState, o as runStop, r as readCollectorState, s as stopCommand, t as clearCollectorState } from "./stop-DQIasgKp.mjs";
|
|
3
3
|
export { clearCollectorState, clearSupervisorState, stopCommand as default, readCollectorState, readSupervisorState, resolveCollectorTargets, resolveSupervisorTarget, runStop, stopWorkspaceNow };
|
package/dist/supervisor-run.mjs
CHANGED
|
@@ -14,8 +14,8 @@ import { s as workspaceBuildInProgress } from "./idle-BXG__1BA.mjs";
|
|
|
14
14
|
import { t as describeError } from "./errors-B6W7FkxQ.mjs";
|
|
15
15
|
import { r as createNdjsonWriter } from "./ndjson-PclOIwVY.mjs";
|
|
16
16
|
import { c as vanishedSupervisorMessage, i as devServerStopRecord, r as devServerStopLevel, t as describeDevServerStop } from "./stop-cause-rhmGfwvt.mjs";
|
|
17
|
-
import { l as probeHostedSession } from "./hosted-client-
|
|
18
|
-
import { t as clearHostedMetro } from "./metro-gateway-
|
|
17
|
+
import { l as probeHostedSession } from "./hosted-client-Bp4knSwu.mjs";
|
|
18
|
+
import { t as clearHostedMetro } from "./metro-gateway-C-ijGI2F.mjs";
|
|
19
19
|
import { n as dueIdleDevices, r as shutDownIdleDevices } from "./idle-shutdown-IGyNV8Cr.mjs";
|
|
20
20
|
import { existsSync, readFileSync, realpathSync, statSync } from "node:fs";
|
|
21
21
|
import { dirname, isAbsolute, join, resolve, sep } from "node:path";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { h as shortUdid, l as phaseLine } from "./command-output-CDAIFD-8.mjs";
|
|
2
2
|
import { x as workspaceLogsDir } from "./workspace-state-DqcCbpE7.mjs";
|
|
3
3
|
import { k as parseIosSimulatorApp } from "./ios-DSfnPfse.mjs";
|
|
4
|
-
import { x as describeDiagnostic } from "./toolchain-
|
|
4
|
+
import { x as describeDiagnostic } from "./toolchain-DNyR3NPq.mjs";
|
|
5
5
|
import { d as unknownIosDeviceTypeRefusal, f as unknownIosRuntimeRefusal, o as layerNote, t as DEFAULT_DEVICE_SLOT_WAIT_MS } from "./device-capacity-ZC4XSZ4R.mjs";
|
|
6
6
|
import { l as parseDeviceWait } from "./device-lease-run-B8YltIH_.mjs";
|
|
7
7
|
import { t as IosDeviceMismatchError } from "./device-ios-C2Um-XUR.mjs";
|
|
@@ -1241,6 +1241,10 @@ function androidMismatches(local, requires, worker) {
|
|
|
1241
1241
|
});
|
|
1242
1242
|
return out;
|
|
1243
1243
|
}
|
|
1244
|
+
function versionMismatch(tool, there, here) {
|
|
1245
|
+
const side = (version) => version ? version.startsWith(tool) ? version : `${tool} ${version}` : `no ${tool}`;
|
|
1246
|
+
return `${side(there)} there, ${side(here)} here`;
|
|
1247
|
+
}
|
|
1244
1248
|
/** Why a remote Mac cannot build like this Mac; empty when it can. */
|
|
1245
1249
|
function toolchainMismatches(target, worker) {
|
|
1246
1250
|
const { local } = target;
|
|
@@ -1258,22 +1262,22 @@ function toolchainMismatches(target, worker) {
|
|
|
1258
1262
|
const macos = target.local;
|
|
1259
1263
|
if (!macos.xcode || worker.xcode !== macos.xcode) out.push({
|
|
1260
1264
|
code: "xcode",
|
|
1261
|
-
reason:
|
|
1265
|
+
reason: versionMismatch("Xcode", worker.xcode, macos.xcode)
|
|
1262
1266
|
});
|
|
1263
1267
|
if (!macos.macosSdk || worker.macosSdk !== macos.macosSdk) out.push({
|
|
1264
1268
|
code: "macos-sdk",
|
|
1265
|
-
reason:
|
|
1269
|
+
reason: versionMismatch("macOS SDK", worker.macosSdk, macos.macosSdk)
|
|
1266
1270
|
});
|
|
1267
1271
|
return out;
|
|
1268
1272
|
}
|
|
1269
1273
|
const ios = target.local;
|
|
1270
1274
|
if (!ios.xcode || worker.xcode !== ios.xcode) out.push({
|
|
1271
1275
|
code: "xcode",
|
|
1272
|
-
reason:
|
|
1276
|
+
reason: versionMismatch("Xcode", worker.xcode, ios.xcode)
|
|
1273
1277
|
});
|
|
1274
1278
|
if (!ios.simulatorSdk || worker.simulatorSdk !== ios.simulatorSdk) out.push({
|
|
1275
1279
|
code: "simulator-sdk",
|
|
1276
|
-
reason:
|
|
1280
|
+
reason: versionMismatch("simulator SDK", worker.simulatorSdk, ios.simulatorSdk)
|
|
1277
1281
|
});
|
|
1278
1282
|
if (target.cocoapodsPinned) {
|
|
1279
1283
|
if (!worker.bundler) out.push({
|
|
@@ -1282,7 +1286,7 @@ function toolchainMismatches(target, worker) {
|
|
|
1282
1286
|
});
|
|
1283
1287
|
} else if (worker.cocoapods !== ios.cocoapods) out.push({
|
|
1284
1288
|
code: "cocoapods",
|
|
1285
|
-
reason:
|
|
1289
|
+
reason: versionMismatch("CocoaPods", worker.cocoapods, ios.cocoapods)
|
|
1286
1290
|
});
|
|
1287
1291
|
if (target.runtime && !worker.runtimes.includes(target.runtime)) out.push({
|
|
1288
1292
|
code: "runtime",
|
|
@@ -15,8 +15,8 @@ import { o as readNdjsonGenerations } from "./ndjson-PclOIwVY.mjs";
|
|
|
15
15
|
import { a as findChrome, t as CHROME_INSTALL_REMEDY } from "./chrome-BrcVWQyD.mjs";
|
|
16
16
|
import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
|
|
17
17
|
import { c as readMetroRecords } from "./launch-verify-lTnWZikR.mjs";
|
|
18
|
-
import { o as resolveWorkspaceMetroPort } from "./start-
|
|
19
|
-
import { a as sleep, n as ensureWorkspaceStorageSafely } from "./native-runtime-
|
|
18
|
+
import { o as resolveWorkspaceMetroPort } from "./start-DUz3mYdb.mjs";
|
|
19
|
+
import { a as sleep, n as ensureWorkspaceStorageSafely } from "./native-runtime-BEK171xQ.mjs";
|
|
20
20
|
import { n as sendToOwnedPage, t as liveWebRecord } from "./page-QF_Ke10s.mjs";
|
|
21
21
|
import { randomUUID } from "node:crypto";
|
|
22
22
|
import { mkdirSync, openSync } from "node:fs";
|
|
@@ -8,7 +8,7 @@ import { n as appProjectProblem, s as findProjectRoot$1 } from "./project-D47Rh0
|
|
|
8
8
|
import { l as resolveProjectMetro, o as pidExists, r as killMetroTree, u as signalProcessTree } from "./metro-g8NqiJp-.mjs";
|
|
9
9
|
import { g as workspaceAgentDeviceDir, i as recordWorkspaceUse, r as readWorkspaceState$1, v as workspaceDir } from "./workspace-state-DqcCbpE7.mjs";
|
|
10
10
|
import { o as readWebRecord } from "./state-PeQiJuIu.mjs";
|
|
11
|
-
import { a as machineNumber } from "./budget-
|
|
11
|
+
import { a as machineNumber } from "./budget-DfcgFdQB.mjs";
|
|
12
12
|
import { n as withIdleWorkspace, t as emptyWorkspaceDir } from "./in-use-CvGOUn-x.mjs";
|
|
13
13
|
import { t as agentDeviceDaemon } from "./activity-IRvJY_ru.mjs";
|
|
14
14
|
import { u as releaseWorkspaceLeases } from "./device-lease-DpoS36_u.mjs";
|
|
@@ -18,17 +18,17 @@ import { a as workspaceLinks, i as workspaceLinkLine } from "./stim-desktop-Cnz8
|
|
|
18
18
|
import { g as teardownOwnedIosSim, h as teardownOwnedBrowser, i as stopTunnel, l as withManagedTunnelRemovalLock, m as teardownOwnedAvd, s as withManagedRemoteWorktreeRemovalLock, t as resolveSupervisorTarget } from "./ownership-BMLqyBgJ.mjs";
|
|
19
19
|
import { t as clearNamedPorts } from "./named-ports-C8m8EQs2.mjs";
|
|
20
20
|
import { l as withdrawDevServerStopRequest, s as requestDevServerStop } from "./stop-cause-rhmGfwvt.mjs";
|
|
21
|
-
import { C as podInstallCommand, u as HEARTBEAT_INTERVAL_MS } from "./toolchain-
|
|
21
|
+
import { C as podInstallCommand, u as HEARTBEAT_INTERVAL_MS } from "./toolchain-DNyR3NPq.mjs";
|
|
22
22
|
import { n as verifyCollectorOwnership } from "./ownership-DyRQru0q.mjs";
|
|
23
|
-
import { t as stopMacosApp } from "./stop-
|
|
24
|
-
import { a as runPodInstall, i as runCaptured, n as podsAreStale, r as readPodState, t as DEPS_ERROR } from "./deps-
|
|
25
|
-
import { i as stopHostedAndroid } from "./hosted-android-
|
|
23
|
+
import { t as stopMacosApp } from "./stop-BIiM49EY.mjs";
|
|
24
|
+
import { a as runPodInstall, i as runCaptured, n as podsAreStale, r as readPodState, t as DEPS_ERROR } from "./deps-iKw0eD4P.mjs";
|
|
25
|
+
import { i as stopHostedAndroid } from "./hosted-android-E1Heoqnv.mjs";
|
|
26
26
|
import { f as resolveEasCliBin } from "./remote-cache-Ci4DQYYj.mjs";
|
|
27
27
|
import { i as endRecordedSession } from "./device-remote-hFSkpfQu.mjs";
|
|
28
28
|
import { n as hasInstalledDependencies, r as installedNpmTreeIsValid, t as dependencyState } from "./dependency-state-CLcBHH2M.mjs";
|
|
29
29
|
import { a as forgetStatusMeasures, s as mergeState, t as startWarmProgress } from "./warm-progress-DF4JRvYI.mjs";
|
|
30
30
|
import { r as workspaceRecordingEnabled } from "./recordings-BNgsD1Tr.mjs";
|
|
31
|
-
import { r as stopHostedIos } from "./hosted-ios-
|
|
31
|
+
import { r as stopHostedIos } from "./hosted-ios-BnbeYOUD.mjs";
|
|
32
32
|
import { createHash, randomUUID } from "node:crypto";
|
|
33
33
|
import { chmodSync, existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, statSync, utimesSync, writeFileSync } from "node:fs";
|
|
34
34
|
import { basename, dirname, join, relative } from "node:path";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as porcelainPath, c as registerWarm, d as removalRemedy, f as removeWorktreeTarget, i as matchWorktreeEntry, l as removalBlockers, m as worktreeCommand, n as excludePodChurn, o as reclaimKeys, p as warmedWorkspace, r as excludeWatchmanCookies, s as registerRemove, t as dependencyInstallCommand, u as removalPath } from "./worktree-
|
|
1
|
+
import { a as porcelainPath, c as registerWarm, d as removalRemedy, f as removeWorktreeTarget, i as matchWorktreeEntry, l as removalBlockers, m as worktreeCommand, n as excludePodChurn, o as reclaimKeys, p as warmedWorkspace, r as excludeWatchmanCookies, s as registerRemove, t as dependencyInstallCommand, u as removalPath } from "./worktree-Be_7NLKy.mjs";
|
|
2
2
|
export { worktreeCommand as default, dependencyInstallCommand, excludePodChurn, excludeWatchmanCookies, matchWorktreeEntry, porcelainPath, reclaimKeys, registerRemove, registerWarm, removalBlockers, removalPath, removalRemedy, removeWorktreeTarget, warmedWorkspace };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stim",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.2",
|
|
4
4
|
"description": "Stim: fast, isolated React Native environments for coding agents",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent",
|
|
@@ -48,9 +48,9 @@
|
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"@expo/fingerprint": "^0.20.10",
|
|
51
|
-
"@stim-cli/cache": "^1.17.
|
|
52
|
-
"@stim-cli/core": "^1.17.
|
|
53
|
-
"@stim-cli/metro": "^1.17.
|
|
51
|
+
"@stim-cli/cache": "^1.17.2",
|
|
52
|
+
"@stim-cli/core": "^1.17.2",
|
|
53
|
+
"@stim-cli/metro": "^1.17.2",
|
|
54
54
|
"chalk": "^6.0.0",
|
|
55
55
|
"commander": "^15.0.0",
|
|
56
56
|
"cross-spawn": "^7.0.6",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"ws": "^8.21.3"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@stim-cli/expo-build-cache": "1.17.
|
|
61
|
+
"@stim-cli/expo-build-cache": "1.17.2",
|
|
62
62
|
"@types/cross-spawn": "^6.0.6",
|
|
63
63
|
"@types/which": "^3.0.4",
|
|
64
64
|
"@types/ws": "^8.18.1",
|