stim 1.27.0 → 1.28.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-BKN2Yuhg.mjs → acquire-artifact-CKByBnTD.mjs} +1 -1
- package/dist/{act-ROviTF_t.mjs → act-8iswyfRa.mjs} +36 -18
- package/dist/{activity-Cd-ysFes.mjs → activity-DRMg4_mD.mjs} +3 -3
- package/dist/{agent-device-usage-output-C5nCKWp9.mjs → agent-device-usage-output-tE90fDdo.mjs} +3 -3
- package/dist/{android-Cd6w7_qw.mjs → android-CHmSU4B4.mjs} +40 -37
- package/dist/{android-DriNoAVy.mjs → android-CsPs-7Mg.mjs} +3 -3
- package/dist/{android-Deb9X3_Y.mjs → android-D577ApKG.mjs} +1 -1
- package/dist/{android--HBgpvpW.mjs → android-YWCbmkVK.mjs} +5 -5
- package/dist/{android-cas-D5e6ecUg.mjs → android-cas-_aDifWW0.mjs} +2 -2
- package/dist/api.d.mts +1 -1
- package/dist/api.mjs +24 -24
- package/dist/{apk-signed-tail-BHQHx3Rm.mjs → apk-signed-tail-CQbwM0qO.mjs} +2 -2
- package/dist/{artifact-faemIZv5.mjs → artifact-DYtHjxsn.mjs} +12 -12
- package/dist/{artifact-0AGJYB9O.mjs → artifact-bFkfD3vf.mjs} +12 -12
- package/dist/{auto-placement-z-H5pJza.mjs → auto-placement-BVqs8AJi.mjs} +7 -7
- package/dist/{browser-web-slD8AvLp.mjs → browser-web-BUaLcafY.mjs} +10 -10
- package/dist/{build-hS0QyFlQ.mjs → build-cQURy_KW.mjs} +20 -20
- package/dist/{build-cache-gBJ-WKzA.mjs → build-cache-CZULpXVl.mjs} +3 -3
- package/dist/{build-plan-CBqYbzYM.mjs → build-plan-CxoYfxsc.mjs} +6 -6
- package/dist/{ccache-BWTze1Ls.mjs → ccache-Bm_A1xX9.mjs} +15 -14
- package/dist/{cli-ftXDLto1.mjs → cli-CpbaLDa7.mjs} +17 -17
- package/dist/cli.mjs +1 -1
- package/dist/{client-xsdxrhWA.mjs → client-YxCer6ab.mjs} +39 -6
- package/dist/collector-run.mjs +3 -3
- package/dist/{command-output-Dj-WT4BP.mjs → command-output-C8R1KIvi.mjs} +1 -1
- package/dist/{dependencies-BGokZ-Ng.mjs → dependencies-DKeMzwXY.mjs} +35 -35
- package/dist/{dependency-state-C3OtgG94.mjs → dependency-state-CojA2o0t.mjs} +1 -1
- package/dist/{dev-client-BMca82xo.mjs → dev-client-D-BW5uiq.mjs} +2 -2
- package/dist/{device-tM41-TUq.mjs → device-CgXfbcz5.mjs} +11 -11
- package/dist/{device-capacity-6LP7QsaA.mjs → device-capacity-Cd8lMSn3.mjs} +85 -17
- package/dist/{device-BJm0irrq.mjs → device-eeK95Lir.mjs} +13 -13
- package/dist/device-host-worker.mjs +13 -11
- package/dist/{device-ios-534c14fz.mjs → device-ios-Cc9ulihb.mjs} +7 -7
- package/dist/{device-lease-run-DwsGfjUN.mjs → device-lease-run-Mtzp4THX.mjs} +3 -3
- package/dist/{device-pool-BnQqvs6o.mjs → device-pool-eRz6DtCg.mjs} +2 -2
- package/dist/{doctor-DyqE9n1J.mjs → doctor-Bz_ouYAW.mjs} +12 -12
- package/dist/{doctor-Dbx1ZpD2.mjs → doctor-C2QyhejJ.mjs} +1 -1
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-watchman-CxDbyrrt.mjs → doctor-watchman-BTW82PDC.mjs} +3 -3
- package/dist/{doctor-F-3VUUyN.mjs → doctor-xf7ht-5n.mjs} +17 -17
- package/dist/{eas-build-CjNSWmjo.mjs → eas-build-Dm6q68QY.mjs} +2 -2
- package/dist/{eas-fallback-9fqb46kW.mjs → eas-fallback-DajNpxf-.mjs} +3 -3
- package/dist/{eas-session-ledger-DrP4OuuM.mjs → eas-session-ledger-CBFo_Uo1.mjs} +35 -6
- package/dist/{error-diagnostics-snej9k4j.mjs → error-diagnostics-D1QfyJzQ.mjs} +7 -7
- package/dist/{gc-CGZ1Yg88.mjs → gc-DM5oMm-J.mjs} +17 -16
- package/dist/{gc-BRwAY3qT.mjs → gc-PLFwb0k4.mjs} +2 -2
- package/dist/{guide-_rfEh_zM.mjs → guide-C4I46XAk.mjs} +106 -42
- package/dist/{hosted-android-BMKzUNnY.mjs → hosted-android-DlaKLbW0.mjs} +5 -6
- package/dist/{hosted-client-D7Pk_Oo1.mjs → hosted-client-DDRm9hPJ.mjs} +43 -16
- package/dist/{hosted-logs-B1gqQuva.mjs → hosted-logs-bSebOKbz.mjs} +5 -5
- package/dist/{hosted-logs-sync-Dg3qrZmV.mjs → hosted-logs-sync-B0c53W_c.mjs} +5 -5
- package/dist/{hosted-macos-B9w4H8hc.mjs → hosted-macos-B7-8Pv4H.mjs} +5 -5
- package/dist/{hosted-native-CdgaiuyP.mjs → hosted-native-CDe33CSr.mjs} +11 -8
- package/dist/{idle-shutdown-Cbvo5KEh.mjs → idle-shutdown-CQ0QwU9J.mjs} +5 -5
- package/dist/{ios-E26qSpkb.mjs → ios-B1DYuOjh.mjs} +2 -2
- package/dist/{ios-Bk4mWbtS.mjs → ios-B1HvafEG.mjs} +8 -8
- package/dist/{ios-device-C_QkIf1Z.mjs → ios-device-B4elVFKi.mjs} +1 -1
- package/dist/{ios-project-D8Jcy_br.mjs → ios-project-CR4mZ7CH.mjs} +6 -6
- package/dist/{ios-state-BZ03NFgF.mjs → ios-state-BPHqMDdZ.mjs} +1 -1
- package/dist/{ios-B5HlVMhQ.mjs → ios-tg4tp3q1.mjs} +30 -28
- package/dist/{js-swap-Dg2a945i.mjs → js-swap-CVpSW1fn.mjs} +4 -4
- package/dist/{launch-CRyBeNsA.mjs → launch-DoySmhjz.mjs} +17 -17
- package/dist/{lightened-BCsdAGj_.mjs → lightened-DFAJgfIk.mjs} +4 -4
- package/dist/{logs-aJQb-RDg.mjs → logs-BGsW7iPe.mjs} +6 -6
- package/dist/{logs-CC_-ZzEE.mjs → logs-DI5ILkYB.mjs} +4 -4
- package/dist/{macos-DlCBhMw5.mjs → macos-Bo9st9Di.mjs} +18 -18
- package/dist/{macos-BGmTpnv9.mjs → macos-C12RMJQF.mjs} +1 -1
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +4 -4
- package/dist/{metro-CvyD-xwe.mjs → metro-BnhXV2Mj.mjs} +1 -1
- package/dist/{metro-gateway-BnHdqMO_.mjs → metro-request-DXyKjVDF.mjs} +25 -46
- package/dist/{named-ports-BCyMWA6b.mjs → named-ports-Phoi2POD.mjs} +1 -1
- package/dist/{native-android-DlpxCyOP.mjs → native-android-vxgtLD7w.mjs} +14 -14
- package/dist/{native-gradle-artifact-inputs-C13qT7R_.mjs → native-gradle-artifact-inputs-BN96IVw8.mjs} +3 -3
- package/dist/{native-runtime-DqaIBO5w.mjs → native-runtime-DG4Rodzj.mjs} +6 -6
- package/dist/{native-xcode-inputs-B1W8SrxB.mjs → native-xcode-inputs-BKarCoKg.mjs} +2 -2
- package/dist/{native-xcode-ios-QPP0Rm68.mjs → native-xcode-ios-8A-efGa5.mjs} +14 -14
- package/dist/offload-worker.mjs +18 -18
- package/dist/{ownership-Bx-0cku-.mjs → ownership-DJCq48IJ.mjs} +2 -2
- package/dist/{phone-reverses-C9yAaKEv.mjs → phone-reverses-BzTa8g1F.mjs} +3 -3
- package/dist/{placement-log-BXUbiZM6.mjs → placement-log-Cvhta5ib.mjs} +1 -1
- package/dist/{plan-placement-UxnQjv5Z.mjs → plan-placement-WkZdccuN.mjs} +5 -5
- package/dist/{ports-uUrghqWN.mjs → ports-UV4mJgyC.mjs} +2 -2
- package/dist/{prebuild-BDpToDgR.mjs → prebuild-k8d_tqOq.mjs} +8 -8
- package/dist/{project-DYj-HVx6.mjs → project-Sui52ywT.mjs} +14 -14
- package/dist/{react-native-android-DDBccgJw.mjs → react-native-android-DANlGGQf.mjs} +21 -21
- package/dist/{react-native-build-DaK2IFyP.mjs → react-native-build-jUHnIfZ9.mjs} +6 -6
- package/dist/{react-native-doctor-B-Mw6DcR.mjs → react-native-doctor-DCWRjS7K.mjs} +5 -5
- package/dist/{react-native-ios-DjYwUF9U.mjs → react-native-ios-BwMsFMXi.mjs} +14 -14
- package/dist/{recordings-C20iUZfp.mjs → recordings-iy0mkm7b.mjs} +1 -1
- package/dist/{reload-DJBeF_rC.mjs → reload-Bj7QyuDy.mjs} +1 -1
- package/dist/{reload-fUdkH2_p.mjs → reload-c_uEyc_X.mjs} +13 -13
- package/dist/{remote-y6n99WMW.mjs → remote-DFlpAqdV.mjs} +8 -8
- package/dist/{result-CTqBw2Te.mjs → result-BIcXREyC.mjs} +14 -14
- package/dist/{run-DaCeNKRm.mjs → run-y2HwyNvg.mjs} +1 -1
- package/dist/{selection-Bs8phwhN.mjs → selection-CXgM_VK_.mjs} +2 -2
- package/dist/{server-bare-BOh-iZEj.mjs → server-bare-2N4vSRZG.mjs} +1 -1
- package/dist/{server-command-8CuA51Cv.mjs → server-command-qneHPcRI.mjs} +4 -4
- package/dist/{server-expo-ABQs2XFA.mjs → server-expo-Ccm9zB0o.mjs} +2 -2
- package/dist/server-expo-WulkyAwT.mjs +2 -0
- package/dist/{settings-BDVI8Ivc.mjs → settings-CY5JZlNN.mjs} +46 -2
- package/dist/{settings-CMHhQNwI.mjs → settings-Cfd_Q6ys.mjs} +2 -2
- package/dist/{settings-payload-cm60Zhib.mjs → settings-payload-DwQiEMCn.mjs} +2 -2
- package/dist/{settings-write-BdNRLlBn.mjs → settings-write-CJpjkeAd.mjs} +3 -3
- package/dist/{slot-launch-0l7RqSpr.mjs → slot-launch-BpmanOnk.mjs} +5 -5
- package/dist/{stage-F4cAfJGi.mjs → stage-CmugrSG5.mjs} +1 -1
- package/dist/{start-DcqnF9p8.mjs → start-CHH3zgIU.mjs} +1 -1
- package/dist/{start-DrPwER_2.mjs → start-DYLk6GXn.mjs} +8 -8
- package/dist/{state-BX1y5syV.mjs → state-B2QJbDwz.mjs} +2 -2
- package/dist/{state-CZxLyetD.mjs → state-BXC1Lfxw.mjs} +1 -1
- package/dist/{stats-GxuCbles.mjs → stats-DxKqhcGp.mjs} +3 -3
- package/dist/{status-BfnK9pUd.mjs → status-BHCkOZga.mjs} +46 -23
- package/dist/{status-Bj7ZYvvc.mjs → status-D_Ljc89p.mjs} +1 -1
- package/dist/{status-watch-BfabQn03.mjs → status-watch-BmsPqYSU.mjs} +17 -6
- package/dist/status-worker.mjs +1 -1
- package/dist/{stop-D-EAr25B.mjs → stop-D-dGE9gh.mjs} +14 -14
- package/dist/{stop-CH79S3IZ.mjs → stop-DQvE-P76.mjs} +9 -5
- package/dist/{stop-x1Yu3He4.mjs → stop-b2pouxAO.mjs} +2 -2
- package/dist/supervisor-run.mjs +232 -58
- package/dist/{support-CNg_YsOk.mjs → support-04IhBUTT.mjs} +4 -4
- package/dist/{support-Be0UeVZU.mjs → support-BtlJKjyQ.mjs} +11 -10
- package/dist/{swiftpm-artifact-inputs-uPqYvGBv.mjs → swiftpm-artifact-inputs-Cj2UpmPN.mjs} +1 -1
- package/dist/{swiftpm-macos-Ch4YjY_A.mjs → swiftpm-macos-BhF2stxY.mjs} +7 -7
- package/dist/{toolchain-CbCG6C5Z.mjs → toolchain-mLA_km-b.mjs} +4 -4
- package/dist/{toolchain-JYAOquPg.mjs → toolchain-qktiV8xc.mjs} +1 -1
- package/dist/{warm-progress-C0RsbngN.mjs → warm-progress-B0Vpuvpl.mjs} +3 -3
- package/dist/{web-Cq_AQ4DK.mjs → web-BYmK0TjL.mjs} +6 -6
- package/dist/web-CrVLVQZY.mjs +2 -0
- package/dist/web-run.mjs +4 -4
- package/dist/{workspace-state-BjqdjnJR.mjs → workspace-state-kIZrdlSg.mjs} +1 -1
- package/dist/{workspaces-DFbj07jp.mjs → workspaces-CmOcceDN.mjs} +105 -25
- package/dist/{worktree-COAJ3-OD.mjs → worktree-2dk5edza.mjs} +23 -44
- package/dist/worktree-nliAoHxB.mjs +2 -0
- package/package.json +7 -7
- package/dist/server-expo-Ba_Y21vB.mjs +0 -2
- package/dist/web-Je6abcpz.mjs +0 -2
- package/dist/worktree-JGUd_53L.mjs +0 -2
|
@@ -5,7 +5,7 @@ import { accessSync, chmodSync, constants, existsSync, lstatSync, mkdirSync, mkd
|
|
|
5
5
|
import { tmpdir } from "node:os";
|
|
6
6
|
import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
7
7
|
import { ambientEnv, buildCacheRoot, compiledHelper, configDir } from "@stim-cli/core";
|
|
8
|
-
import { REMOTE_DEVICE_BACKENDS, REPLACED_SETTINGS, SETTINGS, SETTING_GROUPS, TUNNEL_MODES, WEB_VIEWPORTS, acceptsShape, coerceSettingText, expectedShape, isLayeredSetting, placementWord, replacementAdvice, settingDefinition, settingValueError, trashRoot } from "@stim-cli/core/state";
|
|
8
|
+
import { REMOTE_DEVICE_BACKENDS, REPLACED_SETTINGS, SETTINGS, SETTING_GROUPS, TUNNEL_MODES, WEB_VIEWPORTS, acceptsShape, coerceSettingText, expectedShape, isLayeredSetting, isPathPrefix, placementWord, replacementAdvice, settingDefinition, settingValueError, trashRoot } from "@stim-cli/core/state";
|
|
9
9
|
import { basename as basename$1, dirname as dirname$1, isAbsolute as isAbsolute$1, join as join$1, normalize, relative as relative$1, resolve as resolve$1, sep as sep$1 } from "path";
|
|
10
10
|
import { fileURLToPath } from "node:url";
|
|
11
11
|
import { captureProcessIdentity } from "@stim-cli/core/process-identity";
|
|
@@ -1062,6 +1062,32 @@ async function deleteBranchAsync(cwd, branch, expectedSha, options = {}) {
|
|
|
1062
1062
|
write: true
|
|
1063
1063
|
});
|
|
1064
1064
|
}
|
|
1065
|
+
function nativeCanonicalPath(path) {
|
|
1066
|
+
const missing = [];
|
|
1067
|
+
for (let existing = resolve$1(path);; existing = dirname$1(existing)) try {
|
|
1068
|
+
return resolve$1(realpathSync$1.native(existing), ...missing);
|
|
1069
|
+
} catch {
|
|
1070
|
+
if (dirname$1(existing) === existing) return resolve$1(path);
|
|
1071
|
+
missing.unshift(basename$1(existing));
|
|
1072
|
+
}
|
|
1073
|
+
}
|
|
1074
|
+
function matchWorktreeEntry(entries, path) {
|
|
1075
|
+
let best = null;
|
|
1076
|
+
const target = nativeCanonicalPath(path);
|
|
1077
|
+
(entries || []).forEach((entry, index) => {
|
|
1078
|
+
if (!entry?.path || !isPathPrefix(nativeCanonicalPath(entry.path), target)) return;
|
|
1079
|
+
if (!best || entry.path.length > best.path.length) best = {
|
|
1080
|
+
...entry,
|
|
1081
|
+
index
|
|
1082
|
+
};
|
|
1083
|
+
});
|
|
1084
|
+
return best;
|
|
1085
|
+
}
|
|
1086
|
+
const LOCKED_REASON = "locked with git worktree lock";
|
|
1087
|
+
const LOCK_UNKNOWN_REASON = "git could not tell whether its worktree is locked";
|
|
1088
|
+
function lockReason(lock) {
|
|
1089
|
+
return lock === "locked" ? LOCKED_REASON : LOCK_UNKNOWN_REASON;
|
|
1090
|
+
}
|
|
1065
1091
|
function parseWorktrees(out) {
|
|
1066
1092
|
const entries = [];
|
|
1067
1093
|
let current = {};
|
|
@@ -1107,6 +1133,24 @@ async function listWorktreesAsync(cwd, options = {}) {
|
|
|
1107
1133
|
], options);
|
|
1108
1134
|
return out ? parseWorktrees(out) : [];
|
|
1109
1135
|
}
|
|
1136
|
+
function insideGitCheckout(root) {
|
|
1137
|
+
for (let dir = resolve$1(root);; dir = dirname$1(dir)) {
|
|
1138
|
+
if (existsSync$1(join$1(dir, ".git"))) return true;
|
|
1139
|
+
if (dirname$1(dir) === dir) return false;
|
|
1140
|
+
}
|
|
1141
|
+
}
|
|
1142
|
+
function lockOf(entries, root) {
|
|
1143
|
+
const entry = matchWorktreeEntry(entries, root);
|
|
1144
|
+
if (entry) return entry.locked ? "locked" : null;
|
|
1145
|
+
return existsSync$1(root) && insideGitCheckout(root) ? "unknown" : null;
|
|
1146
|
+
}
|
|
1147
|
+
/** Null when `root` is not in a locked worktree; 'unknown' when git lists nothing for a path inside a git checkout. */
|
|
1148
|
+
function worktreeLock(root) {
|
|
1149
|
+
return lockOf(listWorktrees(root), root);
|
|
1150
|
+
}
|
|
1151
|
+
async function worktreeLockAsync(root, options = {}) {
|
|
1152
|
+
return lockOf(await listWorktreesAsync(root, options), root);
|
|
1153
|
+
}
|
|
1110
1154
|
function branchOf(head) {
|
|
1111
1155
|
return head.startsWith("ref: refs/heads/") ? head.slice(16) : void 0;
|
|
1112
1156
|
}
|
|
@@ -2011,4 +2055,4 @@ function webSettings(settings) {
|
|
|
2011
2055
|
};
|
|
2012
2056
|
}
|
|
2013
2057
|
//#endregion
|
|
2014
|
-
export { runnableMetroCommand as $,
|
|
2058
|
+
export { runnableMetroCommand as $, TRASH_MANIFEST as $t, metroCommandSetting as A, listWorktrees as At, publicUrlSetting as B, repoRoot as Bt, iosSigningIdentitySettingError as C, gitCommonDirOnDisk as Ct, iosSimSlimProfileSetting as D, isPodInstallChurn as Dt, iosSimSlimDefaultSetting as E, hasUncommittedWorkAsync as Et, metroWarmupUrlSetting as F, matchWorktreeEntry as Ft, remoteIosSetting as G, restoreFileAsync as Gt, realpathInside as H, resolveFullRef as Ht, ngrokUrlSetting as I, nativeCanonicalPath as It, resolveCacheProviderConfig as J, warmWorktreePaths as Jt, removedMachineSettings as K, sourceCheckoutOf as Kt, parseIosRemote as L, podsOutOfSync as Lt, metroIdleStopMinutesSetting as M, locallyKnownUpstream as Mt, metroPortSetting as N, locallyKnownUpstreamAsync as Nt, maintenanceKeepSetting as O, linkedWorktreesOnDisk as Ot, metroTunnelSettingError as P, lockReason as Pt, resolveSettings as Q, TRASH_ENTRY_PREFIX as Qt, projectSettingsContext as R, readWorktreeExclude as Rt, iosSigningIdentitySetting as S, gitCommonDirAsync as St, iosSigningIdentitySha1SettingError as T, hasRemoteAsync as Tt, remoteAndroidSetting as U, resolveFullRefAsync as Ut, readCommittedSettings as V, repoRootAsync as Vt, remoteEasFallbackSetting as W, resolveSourceCheckoutAsync as Wt, resolveProjectSettings as X, worktreeLockAsync as Xt, resolveIosProjectDir as Y, worktreeLock as Yt, resolveProjectSettingsAsync as Z, TRASH_CLAIMS as Zt, inertSettingWarning as _, deleteBranchAsync as _t, SETTING_SHAPE_REMEDY as a, makeTemporaryDirectory as an, settingsLayers as at, iosProjectDirSetting as b, dirtyPathsAsync as bt, androidDataPartitionSizeBytes as c, temporaryRoot as cn, webSettings as ct, androidLayoutSetting as d, detectProviders as dt, deleteTrashEntry as en, settingFile as et, androidLayoutSettingError as f, planMetroReach as ft, deviceReclaimIdleMinutesSetting as g, cloneIgnoredEntries as gt, deviceIdleShutdownMinutesSetting as h, branchExistsAsync as ht, SETTINGS_WITH_RESOLVE_TIME_FALLBACK as i, filesystemDevice as in, settingValueAt as it, metroCommandSettingError as j, listWorktreesAsync as jt, mergeSettingsLayers as k, listCarryableIgnoredEntries as kt, androidDataPartitionSizeGbSetting as l, workspaceHiddenSetting as lt, defaultAndroidLayout as m, LOCKED_REASON as mt, METRO_COMMAND_PORT as n, moveIgnoredTreesToTrash as nn, settingOriginScope as nt, androidAvdConfigSetting as o, removeTemporaryEntry as on, tunnelModeSetting as ot, cacheProviderSettingError as p, resolveTailscaleBinary as pt, resolveAndroidLayout as q, unpushedCommitsAsync as qt, PATH_SETTINGS as r, restoreTrashedTrees as rn, settingShapeErrors as rt, androidAvdConfigSettingError as s, removeTemporaryEntryAsync as sn, unknownSettingKeys as st, ANDROID_AVD_CONFIG_HELP as t, disposeTrash as tn, settingOrigin as tt, androidDataPartitionSizeGbSettingError as u, PUBLIC_METRO_ENV as ut, iosLanHostSetting as v, depsOutOfSync as vt, iosSigningIdentitySha1Setting as w, hasPopulatedSubmodulesAsync as wt, iosProjectDirSettingError as x, gitCommonDir as xt, iosLanHostSettingError as y, dirtyFingerprintFiles as yt, projectSettingsContextAsync as z, removeWorktreeAsync as zt };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as readSettingsPayload, l as settingEntry, o as layerFile, s as readSettingsContext, t as SettingsRefusal } from "./settings-payload-
|
|
2
|
-
import { i as unsetReplacedSetting, n as readScope, r as requireSetting, t as mutateSetting } from "./settings-write-
|
|
1
|
+
import { c as readSettingsPayload, l as settingEntry, o as layerFile, s as readSettingsContext, t as SettingsRefusal } from "./settings-payload-DwQiEMCn.mjs";
|
|
2
|
+
import { i as unsetReplacedSetting, n as readScope, r as requireSetting, t as mutateSetting } from "./settings-write-CJpjkeAd.mjs";
|
|
3
3
|
import { REPLACED_SETTINGS, SETTING_SCOPES } from "@stim-cli/core/state";
|
|
4
4
|
import chalk from "chalk";
|
|
5
5
|
//#region src/commands/settings.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as loadConfig$1, f as getConfigPath$1, h as getRepoSettings, m as getProjectSettings } from "./config-Cn94Jc0g.mjs";
|
|
2
2
|
import { a as killOnAbort, i as gitPath } from "./operation-exec-Dp4FuIGR.mjs";
|
|
3
|
-
import { K as removedMachineSettings, V as readCommittedSettings, st as unknownSettingKeys } from "./settings-
|
|
4
|
-
import { r as findCommandWorkspaceAsync } from "./project-
|
|
3
|
+
import { K as removedMachineSettings, V as readCommittedSettings, st as unknownSettingKeys } from "./settings-CY5JZlNN.mjs";
|
|
4
|
+
import { r as findCommandWorkspaceAsync } from "./project-Sui52ywT.mjs";
|
|
5
5
|
import { i as stimDesktopInstalledAsync, n as settingDefault, r as stimDesktopInstalled } from "./stim-desktop-CbWo21kb.mjs";
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { SETTINGS, SETTING_SCOPES, coerceSettingText, isJsonObject, replacementAdvice, settingDefinition, settingValueError } from "@stim-cli/core/state";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { u as withWorkspaceProcessLock } from "./exec-aULwtNly.mjs";
|
|
2
2
|
import { A as writeConfigSettingAsync, O as withConfigLockAsync$1, f as getConfigPath$1 } from "./config-Cn94Jc0g.mjs";
|
|
3
|
-
import { t as NO_PROJECT_REFUSAL } from "./project-
|
|
3
|
+
import { t as NO_PROJECT_REFUSAL } from "./project-Sui52ywT.mjs";
|
|
4
4
|
import { i as stimDesktopInstalledAsync } from "./stim-desktop-CbWo21kb.mjs";
|
|
5
|
-
import { n as recordingLayers, t as deleteTurnedOffRecordings } from "./recordings-
|
|
6
|
-
import { d as unknownEntries, l as settingEntry, o as layerFile, r as committedDirectory, s as readSettingsContext, t as SettingsRefusal, u as settingExample } from "./settings-payload-
|
|
5
|
+
import { n as recordingLayers, t as deleteTurnedOffRecordings } from "./recordings-iy0mkm7b.mjs";
|
|
6
|
+
import { d as unknownEntries, l as settingEntry, o as layerFile, r as committedDirectory, s as readSettingsContext, t as SettingsRefusal, u as settingExample } from "./settings-payload-DwQiEMCn.mjs";
|
|
7
7
|
import { existsSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import { configDir } from "@stim-cli/core";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { r as readWorkspaceState$1 } from "./workspace-state-
|
|
1
|
+
import { r as readWorkspaceState$1 } from "./workspace-state-kIZrdlSg.mjs";
|
|
2
2
|
import { G as projectDeviceSlots, U as parseDeviceSlotKey, p as getProject } from "./config-Cn94Jc0g.mjs";
|
|
3
|
-
import { O as getAvdNameForSerialAsync, j as listAdbDevicesAsync } from "./android-
|
|
4
|
-
import { on as deviceShellArg } from "./ccache-
|
|
5
|
-
import { y as fileLeaseIo } from "./activity-
|
|
6
|
-
import { f as listAllIosSimsAsync } from "./ios-
|
|
3
|
+
import { O as getAvdNameForSerialAsync, j as listAdbDevicesAsync } from "./android-CsPs-7Mg.mjs";
|
|
4
|
+
import { on as deviceShellArg } from "./ccache-Bm_A1xX9.mjs";
|
|
5
|
+
import { y as fileLeaseIo } from "./activity-DRMg4_mD.mjs";
|
|
6
|
+
import { f as listAllIosSimsAsync } from "./ios-B1DYuOjh.mjs";
|
|
7
7
|
import { hostedNativeRecords } from "@stim-cli/core/state";
|
|
8
8
|
//#region src/engine/slot-launch.ts
|
|
9
9
|
function launchSlotScope(root, slot = "default") {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { c as throwIfCancelled, t as getExecutor, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { ot as runCancellationSignal } from "./toolchain-
|
|
2
|
+
import { ot as runCancellationSignal } from "./toolchain-mLA_km-b.mjs";
|
|
3
3
|
import { existsSync, lstatSync, promises, readdirSync, realpathSync, statSync } from "node:fs";
|
|
4
4
|
import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
5
5
|
import { validMacosResourceDestination } from "@stim-cli/core";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as registerStart, c as startDevServer, d as supervisorSignalable, f as tailLines, i as readLogTail, l as startFacts, n as liveSupervisor, o as resolveWorkspaceMetroPort, p as wantsExpoOwnTunnel, r as parseWait, s as startCommand, t as failureEvidence, u as supervisorEntry } from "./start-
|
|
1
|
+
import { a as registerStart, c as startDevServer, d as supervisorSignalable, f as tailLines, i as readLogTail, l as startFacts, n as liveSupervisor, o as resolveWorkspaceMetroPort, p as wantsExpoOwnTunnel, r as parseWait, s as startCommand, t as failureEvidence, u as supervisorEntry } from "./start-DYLk6GXn.mjs";
|
|
2
2
|
export { startCommand as default, failureEvidence, liveSupervisor, parseWait, readLogTail, registerStart, resolveWorkspaceMetroPort, startDevServer, startFacts, supervisorEntry, supervisorSignalable, tailLines, wantsExpoOwnTunnel };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, S as process_identity_exports, a as waitForGroupExit, c as throwIfCancelled, d as workspaceProcessLockError, l as WorkspaceProcessCleanupError, o as cancellableSleep, r as groupExitBudgetMs, t as getExecutor, u as withWorkspaceProcessLock, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { S as supervisorLogFile, _ as ensureWorkspaceStorage, i as recordWorkspaceUse, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, n as clearWorkspaceStateKeys, r as readWorkspaceState$1, s as updateWorkspaceStateAsync, w as workspaceAgentDeviceDir } from "./workspace-state-
|
|
2
|
+
import { S as supervisorLogFile, _ as ensureWorkspaceStorage, i as recordWorkspaceUse, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, n as clearWorkspaceStateKeys, r as readWorkspaceState$1, s as updateWorkspaceStateAsync, w as workspaceAgentDeviceDir } from "./workspace-state-kIZrdlSg.mjs";
|
|
3
3
|
import { E as upsertProject, O as withConfigLockAsync$1, p as getProject, x as releaseMetroPort } from "./config-Cn94Jc0g.mjs";
|
|
4
|
-
import { _ as stepTimer, l as phaseLine } from "./command-output-
|
|
5
|
-
import { A as metroCommandSetting, B as publicUrlSetting, G as remoteIosSetting, I as ngrokUrlSetting, J as resolveCacheProviderConfig, M as metroIdleStopMinutesSetting, N as metroPortSetting, P as metroTunnelSettingError, U as remoteAndroidSetting, Y as resolveIosProjectDir, Z as resolveProjectSettingsAsync, _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, dt as detectProviders, ft as planMetroReach, h as deviceIdleShutdownMinutesSetting, j as metroCommandSettingError, m as defaultAndroidLayout, ot as tunnelModeSetting, p as cacheProviderSettingError, q as resolveAndroidLayout, rt as settingShapeErrors, st as unknownSettingKeys, ut as PUBLIC_METRO_ENV } from "./settings-
|
|
6
|
-
import { E as MODE_EXPO, M as readMetroTunnel, O as clearManagedMetroTunnel, S as readAppJson, T as MODE_COMMAND, c as projectProblem, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL, v as detectIsExpo, w as MODE_BARE, x as readAppConfigText } from "./project-
|
|
4
|
+
import { _ as stepTimer, l as phaseLine } from "./command-output-C8R1KIvi.mjs";
|
|
5
|
+
import { A as metroCommandSetting, B as publicUrlSetting, G as remoteIosSetting, I as ngrokUrlSetting, J as resolveCacheProviderConfig, M as metroIdleStopMinutesSetting, N as metroPortSetting, P as metroTunnelSettingError, U as remoteAndroidSetting, Y as resolveIosProjectDir, Z as resolveProjectSettingsAsync, _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, dt as detectProviders, ft as planMetroReach, h as deviceIdleShutdownMinutesSetting, j as metroCommandSettingError, m as defaultAndroidLayout, ot as tunnelModeSetting, p as cacheProviderSettingError, q as resolveAndroidLayout, rt as settingShapeErrors, st as unknownSettingKeys, ut as PUBLIC_METRO_ENV } from "./settings-CY5JZlNN.mjs";
|
|
6
|
+
import { E as MODE_EXPO, M as readMetroTunnel, O as clearManagedMetroTunnel, S as readAppJson, T as MODE_COMMAND, c as projectProblem, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL, v as detectIsExpo, w as MODE_BARE, x as readAppConfigText } from "./project-Sui52ywT.mjs";
|
|
7
7
|
import { a as workspaceLinkLine, o as workspaceLinks } from "./stim-desktop-CbWo21kb.mjs";
|
|
8
|
-
import { _ as PORT_INSPECTION_REMEDY, a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, f as signalProcessTree, g as reserveMetroPort, h as isMetroRunning, m as createPortProbe, u as processCwds, v as PortInspectionError } from "./metro-
|
|
8
|
+
import { _ as PORT_INSPECTION_REMEDY, a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, f as signalProcessTree, g as reserveMetroPort, h as isMetroRunning, m as createPortProbe, u as processCwds, v as PortInspectionError } from "./metro-BnhXV2Mj.mjs";
|
|
9
9
|
import { a as levelRank } from "./ndjson-Dy2W4vRa.mjs";
|
|
10
|
-
import { En as runProcessOperation, In as readProjectConfig, Vn as remoteCliInvocation, b as stopOwnedMetroForReset, c as budgetGate, wn as exitAfterFlush } from "./ccache-
|
|
11
|
-
import { C as
|
|
12
|
-
import { i as restoreLightenedDependencies } from "./lightened-
|
|
10
|
+
import { En as runProcessOperation, In as readProjectConfig, Vn as remoteCliInvocation, b as stopOwnedMetroForReset, c as budgetGate, wn as exitAfterFlush } from "./ccache-Bm_A1xX9.mjs";
|
|
11
|
+
import { C as stopTunnel, D as withManagedTunnelLock, S as startTunnelSequence, T as withManagedRemoteWorktreeLock, w as terminateChild, x as resolveSupervisorTarget } from "./workspaces-CmOcceDN.mjs";
|
|
12
|
+
import { i as restoreLightenedDependencies } from "./lightened-DFAJgfIk.mjs";
|
|
13
13
|
import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
|
|
14
14
|
import { n as windowsLauncherArgs } from "./detached-entry-BPlSaCwC.mjs";
|
|
15
15
|
import { appendFileSync, closeSync, mkdirSync, openSync, readFileSync } from "node:fs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, S as process_identity_exports, l as WorkspaceProcessCleanupError, t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { E as workspaceDir, d as writeWorkspaceState, k as workspaceLogsDir$1, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-
|
|
2
|
+
import { E as workspaceDir, d as writeWorkspaceState, k as workspaceLogsDir$1, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-kIZrdlSg.mjs";
|
|
3
3
|
import { t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
|
|
4
|
-
import { c as pidExists } from "./metro-
|
|
4
|
+
import { c as pidExists } from "./metro-BnhXV2Mj.mjs";
|
|
5
5
|
import { readFileSync, readlinkSync, rmSync } from "node:fs";
|
|
6
6
|
import { hostname } from "node:os";
|
|
7
7
|
import { join } from "node:path";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { S as process_identity_exports } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { E as workspaceDir, k as workspaceLogsDir$1, o as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-
|
|
2
|
+
import { E as workspaceDir, k as workspaceLogsDir$1, o as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-kIZrdlSg.mjs";
|
|
3
3
|
import { existsSync } from "node:fs";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { readMacosRecord } from "@stim-cli/core/state";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { P as formatBytes } from "./config-Cn94Jc0g.mjs";
|
|
2
|
-
import { o as formatLongDuration } from "./command-output-
|
|
3
|
-
import { i as findProjectRoot$1 } from "./project-
|
|
4
|
-
import { i as getSwiftpmCacheUsage, n as swiftpmCacheLines, r as getAgentDeviceUsage, t as agentDeviceLines } from "./agent-device-usage-output-
|
|
2
|
+
import { o as formatLongDuration } from "./command-output-C8R1KIvi.mjs";
|
|
3
|
+
import { i as findProjectRoot$1 } from "./project-Sui52ywT.mjs";
|
|
4
|
+
import { i as getSwiftpmCacheUsage, n as swiftpmCacheLines, r as getAgentDeviceUsage, t as agentDeviceLines } from "./agent-device-usage-output-tE90fDdo.mjs";
|
|
5
5
|
import { t as readProjectStats } from "./stats-report-B86Cv7Uc.mjs";
|
|
6
6
|
import { archivedUsage, readArchives } from "@stim-cli/core/state";
|
|
7
7
|
import chalk from "chalk";
|
|
@@ -1,34 +1,35 @@
|
|
|
1
1
|
import { S as process_identity_exports, t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { O as workspaceLogErrorIndex, k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-
|
|
3
|
-
import { G as projectDeviceSlots, P as formatBytes, R as volumeRootFor, U as parseDeviceSlotKey, V as deviceSlotKey, _ as loadConfig$1, d as getConfigDir } from "./config-Cn94Jc0g.mjs";
|
|
4
|
-
import { a as formatElapsed, i as formatDuration, r as clockTime, u as plural } from "./command-output-
|
|
2
|
+
import { O as workspaceLogErrorIndex, k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-kIZrdlSg.mjs";
|
|
3
|
+
import { G as projectDeviceSlots, P as formatBytes, R as volumeRootFor, U as parseDeviceSlotKey, V as deviceSlotKey, _ as loadConfig$1, d as getConfigDir, u as getConcurrencyLimits } from "./config-Cn94Jc0g.mjs";
|
|
4
|
+
import { a as formatElapsed, i as formatDuration, r as clockTime, u as plural } from "./command-output-C8R1KIvi.mjs";
|
|
5
5
|
import { s as gitAsync } from "./operation-exec-Dp4FuIGR.mjs";
|
|
6
|
-
import {
|
|
7
|
-
import { I as readWorkspaceLaunches, M as readMetroTunnel, P as readRemoteSession, S as readAppJson, a as findServerWorkspace, l as projectShortcut, u as detectPlatforms, v as detectIsExpo, y as detectTutorial } from "./project-
|
|
8
|
-
import { A as listAdbDevices, B as ownedAvdDeviceProfile, W as ownedAvdSerialResolver, ft as POOL_SETTING_REMEDY, vt as parkedMaxSetting, yt as readParked } from "./android-
|
|
9
|
-
import { c as pidExists, d as resolveProjectMetro, h as isMetroRunning, i as listeningPids, l as processCwd, o as listeningPidsByPort, u as processCwds } from "./metro-
|
|
6
|
+
import { Bt as repoRoot, Ct as gitCommonDirOnDisk, Ot as linkedWorktreesOnDisk, Q as resolveSettings, lt as workspaceHiddenSetting, xt as gitCommonDir } from "./settings-CY5JZlNN.mjs";
|
|
7
|
+
import { I as readWorkspaceLaunches, M as readMetroTunnel, P as readRemoteSession, S as readAppJson, a as findServerWorkspace, l as projectShortcut, u as detectPlatforms, v as detectIsExpo, y as detectTutorial } from "./project-Sui52ywT.mjs";
|
|
8
|
+
import { A as listAdbDevices, B as ownedAvdDeviceProfile, W as ownedAvdSerialResolver, ft as POOL_SETTING_REMEDY, j as listAdbDevicesAsync, vt as parkedMaxSetting, yt as readParked } from "./android-CsPs-7Mg.mjs";
|
|
9
|
+
import { c as pidExists, d as resolveProjectMetro, h as isMetroRunning, i as listeningPids, l as processCwd, o as listeningPidsByPort, u as processCwds } from "./metro-BnhXV2Mj.mjs";
|
|
10
10
|
import { o as parseNdjsonLine } from "./ndjson-Dy2W4vRa.mjs";
|
|
11
|
-
import { E as metroLastStop, S as describeMetroLastStop, cn as hasMetroReverse, cr as attributeMachineUsage, lr as readFootprints, p as machineNumber } from "./ccache-
|
|
12
|
-
import { a as readWebPage, o as readWebRecord, u as webFacts } from "./state-
|
|
13
|
-
import { A as
|
|
14
|
-
import {
|
|
15
|
-
import { a as createDeviceProcessTables, b as leaseIsExpired, h as tailLines, m as readWebActivity, r as createActivityReader, w as parseWorkspaceLeases, x as listLeaseFiles } from "./activity-
|
|
16
|
-
import { b as parseSimctlList, f as listAllIosSimsAsync } from "./ios-
|
|
17
|
-
import {
|
|
18
|
-
import "./hosted-macos-
|
|
19
|
-
import { i as readSupervisorState } from "./stop-D-
|
|
20
|
-
import { l as applyStatusMeasures, n as workspacePhase, s as mergeState, u as createStatusMeasurer } from "./warm-progress-
|
|
21
|
-
import { r as workspaceRecordingEnabled } from "./recordings-
|
|
11
|
+
import { E as metroLastStop, S as describeMetroLastStop, cn as hasMetroReverse, cr as attributeMachineUsage, lr as readFootprints, p as machineNumber } from "./ccache-Bm_A1xX9.mjs";
|
|
12
|
+
import { a as readWebPage, o as readWebRecord, u as webFacts } from "./state-B2QJbDwz.mjs";
|
|
13
|
+
import { A as poolLine, C as diskLine, D as loadLine, E as gitSummaryText, F as tightVolumes, I as unprovisionedWorktrees, L as withWebFacts, M as remoteDeviceState, N as slotUsageLines, O as metroReverseTargets, P as statusActivity, S as deviceLeaseStates, _ as addReverseMissingIssue, b as capacityLoad, g as activityLabel, j as remoteDeviceLine, k as parseDfFree, r as readEasSessionLedger$1, v as applyMachineMemory, w as environmentState, x as deviceLeaseLines, y as capacity } from "./eas-session-ledger-CBFo_Uo1.mjs";
|
|
14
|
+
import { Ct as buildSlotUsage, G as buildStatusLine, J as parseActiveBuild, K as bundlingActivity, U as activeBuildState, V as ACTIVE_BUILD_KEY, W as buildReport, at as readStats$1, lt as statsProjectKey$1, x as resolveSupervisorTarget } from "./workspaces-CmOcceDN.mjs";
|
|
15
|
+
import { a as createDeviceProcessTables, b as leaseIsExpired, h as tailLines, m as readWebActivity, r as createActivityReader, w as parseWorkspaceLeases, x as listLeaseFiles } from "./activity-DRMg4_mD.mjs";
|
|
16
|
+
import { b as parseSimctlList, f as listAllIosSimsAsync } from "./ios-B1DYuOjh.mjs";
|
|
17
|
+
import { p as probeHostedSession } from "./hosted-client-DDRm9hPJ.mjs";
|
|
18
|
+
import "./hosted-macos-B7-8Pv4H.mjs";
|
|
19
|
+
import { i as readSupervisorState } from "./stop-D-dGE9gh.mjs";
|
|
20
|
+
import { l as applyStatusMeasures, n as workspacePhase, s as mergeState, u as createStatusMeasurer } from "./warm-progress-B0Vpuvpl.mjs";
|
|
21
|
+
import { r as workspaceRecordingEnabled } from "./recordings-iy0mkm7b.mjs";
|
|
22
22
|
import { n as maintenanceLines, r as maintenanceStatus } from "./status-7ULDEJ1e.mjs";
|
|
23
|
-
import {
|
|
23
|
+
import { s as deviceSlotUsage } from "./device-capacity-Cd8lMSn3.mjs";
|
|
24
|
+
import { d as readIosDevices, s as isReachable } from "./ios-device-B4elVFKi.mjs";
|
|
24
25
|
import { t as triggerMaintenance } from "./trigger-DMou-X7j.mjs";
|
|
25
|
-
import { a as createRefreshScheduler, c as watchStatusSources, n as WATCH_LIGHT_INTERVAL_MS, o as watchChangeKey, r as WATCH_MACHINE_INTERVAL_MS, s as watchPayload, t as WATCH_FALLBACK_MS } from "./status-watch-
|
|
26
|
+
import { a as createRefreshScheduler, c as watchStatusSources, n as WATCH_LIGHT_INTERVAL_MS, o as watchChangeKey, r as WATCH_MACHINE_INTERVAL_MS, s as watchPayload, t as WATCH_FALLBACK_MS } from "./status-watch-BmsPqYSU.mjs";
|
|
26
27
|
import { t as watchStdoutReader } from "./stdout-reader-C8yjre1x.mjs";
|
|
27
28
|
import { createHash, randomUUID } from "node:crypto";
|
|
28
29
|
import { mkdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
29
30
|
import { join, posix, resolve } from "node:path";
|
|
30
31
|
import { rotatedLogPath } from "@stim-cli/core";
|
|
31
|
-
import { DEVICE_RECLAIM_REASON, ERROR_SOURCES, archiveRoot, archivedUsage, bundleMarkerPlatform, countErrorEntries, gitMergeCacheDir, hostedAndroidPlacements, hostedAndroidRecords, hostedAndroidStatus, hostedIosPlacements, hostedIosRecords, hostedIosStatus, linkReplacedArchives, logFiles, macosAppState, parseHostedAndroidPlacement, parseHostedIosPlacement, queryLogs, readArchives, readBuildDetail, readBuildHistory, readDeviceIdleShutdowns, readDevicePlacement, readIdleStop, readLastBuilds, readMacosRecord, recordMatches, sortByTs, unreadableHostedAndroid, unreadableHostedIos, withDerivedFacts, withGitChip, withStateReadCache } from "@stim-cli/core/state";
|
|
32
|
+
import { DEVICE_RECLAIM_REASON, ERROR_SOURCES, archiveRoot, archivedUsage, bundleMarkerPlatform, countErrorEntries, gitMergeCacheDir, hostedAndroidPlacements, hostedAndroidRecords, hostedAndroidStatus, hostedIosPlacements, hostedIosRecords, hostedIosStatus, linkReplacedArchives, loadPerCore, logFiles, macosAppState, maxLoadPerCore, parseHostedAndroidPlacement, parseHostedIosPlacement, queryLogs, readArchives, readBuildDetail, readBuildHistory, readDeviceIdleShutdowns, readDevicePlacement, readIdleStop, readLastBuilds, readMacosRecord, recordMatches, sortByTs, unreadableHostedAndroid, unreadableHostedIos, withDerivedFacts, withGitChip, withStateReadCache } from "@stim-cli/core/state";
|
|
32
33
|
import { basename as basename$1, dirname as dirname$1, join as join$1 } from "path";
|
|
33
34
|
import chalk from "chalk";
|
|
34
35
|
import { closeSync as closeSync$1, existsSync as existsSync$1, fstatSync as fstatSync$1, openSync as openSync$1, readFileSync as readFileSync$1, readSync as readSync$1, renameSync as renameSync$1, rmSync as rmSync$1, statSync as statSync$1, writeFileSync as writeFileSync$1 } from "fs";
|
|
@@ -880,10 +881,12 @@ async function readStatusFacts(probes, gitScope, cwd) {
|
|
|
880
881
|
const simsByUdid = {};
|
|
881
882
|
let simsAvailable = true;
|
|
882
883
|
let simctlError = null;
|
|
884
|
+
let simctlFailure = null;
|
|
883
885
|
try {
|
|
884
886
|
for (const sim of await simsRead) simsByUdid[sim.udid] = sim;
|
|
885
887
|
} catch (e) {
|
|
886
888
|
simsAvailable = false;
|
|
889
|
+
simctlFailure = e;
|
|
887
890
|
simctlError = String(e?.message || e).split("\n")[0] ?? "";
|
|
888
891
|
}
|
|
889
892
|
const running = await processes;
|
|
@@ -1034,6 +1037,17 @@ async function readStatusFacts(probes, gitScope, cwd) {
|
|
|
1034
1037
|
busy: sims.some((sim) => sim.state === "Booted"),
|
|
1035
1038
|
probes
|
|
1036
1039
|
});
|
|
1040
|
+
const { maxBuilds, maxDevices } = getConcurrencyLimits();
|
|
1041
|
+
const slotUsage = {
|
|
1042
|
+
...maxBuilds > 0 ? { builds: buildSlotUsage(maxBuilds) } : {},
|
|
1043
|
+
...maxDevices > 0 ? { devices: await deviceSlotUsage(maxDevices, {
|
|
1044
|
+
config: cfg,
|
|
1045
|
+
sims: process.platform !== "darwin" ? [] : simsAvailable ? sims : () => {
|
|
1046
|
+
throw simctlFailure;
|
|
1047
|
+
},
|
|
1048
|
+
adb: () => listAdbDevicesAsync({ timeoutMs: PHYSICAL_DEVICE_LIST_TIMEOUT_MS })
|
|
1049
|
+
}) } : {}
|
|
1050
|
+
};
|
|
1037
1051
|
const archives = probes.archives();
|
|
1038
1052
|
const maxCount = machineNumber("archive.maxCount", cfg, process.env);
|
|
1039
1053
|
return {
|
|
@@ -1051,6 +1065,7 @@ async function readStatusFacts(probes, gitScope, cwd) {
|
|
|
1051
1065
|
cwdRoot,
|
|
1052
1066
|
tables,
|
|
1053
1067
|
machine,
|
|
1068
|
+
slotUsage,
|
|
1054
1069
|
roots,
|
|
1055
1070
|
simNames,
|
|
1056
1071
|
probes,
|
|
@@ -1431,10 +1446,14 @@ function statusCommand(program) {
|
|
|
1431
1446
|
for (const line of renderStatus(await readStatus(), json)) console.log(line);
|
|
1432
1447
|
});
|
|
1433
1448
|
}
|
|
1434
|
-
function renderStatus({ archived, archivedUsage: usage, projects, states, labelOnlyRoots, leases, leaseNow, orphanWorktrees, simsAvailable, simctlError, cwdRoot, machine }, json, settle = (payload) => payload, cwd = process.cwd()) {
|
|
1449
|
+
function renderStatus({ archived, archivedUsage: usage, projects, states, labelOnlyRoots, leases, leaseNow, orphanWorktrees, simsAvailable, simctlError, cwdRoot, machine, slotUsage }, json, settle = (payload) => payload, cwd = process.cwd()) {
|
|
1435
1450
|
const out = [];
|
|
1436
1451
|
const totalMemoryMb = Math.round(totalmem() / 1048576);
|
|
1437
|
-
const cap =
|
|
1452
|
+
const cap = {
|
|
1453
|
+
...capacity(states, totalMemoryMb),
|
|
1454
|
+
...slotUsage,
|
|
1455
|
+
load: capacityLoad(loadPerCore(), maxLoadPerCore(), null)
|
|
1456
|
+
};
|
|
1438
1457
|
const pools = ["ios", "android"].map((platform) => {
|
|
1439
1458
|
const { max, error } = parkedMaxSetting(platform);
|
|
1440
1459
|
return {
|
|
@@ -1474,6 +1493,8 @@ function renderStatus({ archived, archivedUsage: usage, projects, states, labelO
|
|
|
1474
1493
|
if (pool.line) out.push(chalk.dim(pool.line));
|
|
1475
1494
|
}
|
|
1476
1495
|
for (const line of deviceLeaseLines(leases, leaseNow)) out.push(line);
|
|
1496
|
+
out.push(chalk.dim(loadLine(cap.load)));
|
|
1497
|
+
for (const line of slotUsageLines(cap)) out.push(chalk.dim(line));
|
|
1477
1498
|
return out;
|
|
1478
1499
|
}
|
|
1479
1500
|
if (!simsAvailable) out.push(chalk.yellow(`simctl could not be read (${simctlError}), so no iOS sim below could be checked.`));
|
|
@@ -1552,6 +1573,8 @@ function renderStatus({ archived, archivedUsage: usage, projects, states, labelO
|
|
|
1552
1573
|
for (const w of orphanWorktrees) out.push(chalk.dim(` ${orphanWorktreeLine(w)}`));
|
|
1553
1574
|
}
|
|
1554
1575
|
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.`));
|
|
1576
|
+
out.push(chalk.dim(loadLine(cap.load)));
|
|
1577
|
+
for (const line of slotUsageLines(cap)) out.push(chalk.dim(line));
|
|
1555
1578
|
const volumes = readVolumes(cwdRoot || cwd);
|
|
1556
1579
|
const line = diskLine(volumes);
|
|
1557
1580
|
if (line) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as runStatusWatch, r as statusCommand, t as readVolumes } from "./status-
|
|
1
|
+
import { n as runStatusWatch, r as statusCommand, t as readVolumes } from "./status-BHCkOZga.mjs";
|
|
2
2
|
export { statusCommand as default, readVolumes, runStatusWatch };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { d as androidToolPath } from "./android-
|
|
3
|
-
import { c as pidExists } from "./metro-
|
|
4
|
-
import { n as easMachineStateRoot } from "./eas-session-ledger-
|
|
5
|
-
import { b as parseSimctlList } from "./ios-
|
|
2
|
+
import { d as androidToolPath } from "./android-CsPs-7Mg.mjs";
|
|
3
|
+
import { c as pidExists } from "./metro-BnhXV2Mj.mjs";
|
|
4
|
+
import { n as easMachineStateRoot } from "./eas-session-ledger-CBFo_Uo1.mjs";
|
|
5
|
+
import { b as parseSimctlList } from "./ios-B1DYuOjh.mjs";
|
|
6
6
|
import { existsSync, readdirSync, statSync, watch } from "node:fs";
|
|
7
7
|
import { basename, dirname, join } from "node:path";
|
|
8
8
|
//#region src/status-watch.ts
|
|
@@ -417,9 +417,13 @@ function ownerKey(owner) {
|
|
|
417
417
|
function ownerSteady(before, after) {
|
|
418
418
|
return Math.abs(after.cpuPercent - before.cpuPercent) < 5 && Math.abs(after.memoryMb - before.memoryMb) < 16;
|
|
419
419
|
}
|
|
420
|
+
function loadSteady(before, after) {
|
|
421
|
+
return before.state === after.state && before.limit === after.limit && before.busyAt === after.busyAt && before.cpus === after.cpus && Math.abs(Math.round((after.loadPerCore - before.loadPerCore) * 10)) < 10;
|
|
422
|
+
}
|
|
420
423
|
/**
|
|
421
424
|
* The payload `status --watch --json` prints. A usage figure keeps its value from the `previous` printed payload until it moves by a step: an owner's `cpuPercent`
|
|
422
|
-
* and `memoryMb`, an environment's `memoryMb` and `capacity.
|
|
425
|
+
* and `memoryMb`, an environment's `memoryMb`, `capacity.committedMb`, and `capacity.load` while its `state`, `limit`,
|
|
426
|
+
* `busyAt` and `cpus` stay the same and its `loadPerCore` moves less than a step. An owner's row is kept whole, `residentMb`
|
|
423
427
|
* and `processes` included, until one of its two figures moves, so a machine whose processes only jitter prints no new line.
|
|
424
428
|
*/
|
|
425
429
|
function watchPayload(previous, next) {
|
|
@@ -444,7 +448,14 @@ function watchPayload(previous, next) {
|
|
|
444
448
|
} : env;
|
|
445
449
|
});
|
|
446
450
|
const { capacity } = previous;
|
|
447
|
-
if (capacity.overCapacity === next.capacity.overCapacity && capacity.liveCount === next.capacity.liveCount && capacity.totalMemoryMb === next.capacity.totalMemoryMb && Math.abs(next.capacity.committedMb - capacity.committedMb) < 16) payload.capacity =
|
|
451
|
+
if (capacity.overCapacity === next.capacity.overCapacity && capacity.liveCount === next.capacity.liveCount && capacity.totalMemoryMb === next.capacity.totalMemoryMb && Math.abs(next.capacity.committedMb - capacity.committedMb) < 16) payload.capacity = {
|
|
452
|
+
...payload.capacity,
|
|
453
|
+
committedMb: capacity.committedMb
|
|
454
|
+
};
|
|
455
|
+
if (capacity.load && next.capacity.load && loadSteady(capacity.load, next.capacity.load)) payload.capacity = {
|
|
456
|
+
...payload.capacity,
|
|
457
|
+
load: capacity.load
|
|
458
|
+
};
|
|
448
459
|
return payload;
|
|
449
460
|
}
|
|
450
461
|
const holdPullRequest = (worktree) => worktree.pullRequest ? {
|
package/dist/status-worker.mjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, E as debugLog, S as process_identity_exports, l as WorkspaceProcessCleanupError, u as withWorkspaceProcessLock } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { E as workspaceDir, c as withWorkspaceStateLock, d as writeWorkspaceState, l as withWorkspaceStateLockAsync, n as clearWorkspaceStateKeys, r as readWorkspaceState$1, s as updateWorkspaceStateAsync } from "./workspace-state-
|
|
2
|
+
import { E as workspaceDir, c as withWorkspaceStateLock, d as writeWorkspaceState, l as withWorkspaceStateLockAsync, n as clearWorkspaceStateKeys, r as readWorkspaceState$1, s as updateWorkspaceStateAsync } from "./workspace-state-kIZrdlSg.mjs";
|
|
3
3
|
import { E as upsertProject, G as projectDeviceSlots, H as deviceSlotPlatforms, O as withConfigLockAsync$1, U as parseDeviceSlotKey, W as parseDeviceSlotOption, o as clearSupervisor, p as getProject, q as validateDeviceSlot } from "./config-Cn94Jc0g.mjs";
|
|
4
|
-
import { f as refuseNoProject, l as phaseLine, p as releasedLeaseFact, u as plural } from "./command-output-
|
|
5
|
-
import { A as clearWorkspaceLaunches, M as readMetroTunnel, O as clearManagedMetroTunnel, P as readRemoteSession, T as MODE_COMMAND, j as clearWorkspaceSupervisor, k as clearRemoteSession, n as findCommandWorkspace } from "./project-
|
|
6
|
-
import { t as macosAppPresent } from "./state-
|
|
7
|
-
import { et as removeOwnedEmulatorMetroReverses } from "./android-
|
|
8
|
-
import { a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, h as isMetroRunning, p as signalProcessTreeAsync, r as killMetroTreeAsync, u as processCwds } from "./metro-
|
|
9
|
-
import { D as requestDevServerStop, Ln as resolveEasCliBin, Ot as endRecordedSession, T as logVanishedSupervisor, k as withdrawDevServerStopRequest } from "./ccache-
|
|
10
|
-
import {
|
|
11
|
-
import { $ as clearNativeRunCancel, X as NATIVE_RUN_LOCK, Z as NATIVE_RUN_WAIT_MS, et as decideStopAction, it as requestNativeRunCancel, nt as nativeRunHolder, rt as nativeRunWaitNotice, tt as describeNativeRunHolder } from "./toolchain-
|
|
12
|
-
import { O as releaseWorkspaceLeasesAsync, y as fileLeaseIo } from "./activity-
|
|
13
|
-
import { i as stopHostedAndroid } from "./hosted-android-
|
|
14
|
-
import { a as stopHostedIos, n as removePhoneReverses } from "./phone-reverses-
|
|
15
|
-
import {
|
|
16
|
-
import { n as verifyCollectorOwnership } from "./ownership-
|
|
4
|
+
import { f as refuseNoProject, l as phaseLine, p as releasedLeaseFact, u as plural } from "./command-output-C8R1KIvi.mjs";
|
|
5
|
+
import { A as clearWorkspaceLaunches, M as readMetroTunnel, O as clearManagedMetroTunnel, P as readRemoteSession, T as MODE_COMMAND, j as clearWorkspaceSupervisor, k as clearRemoteSession, n as findCommandWorkspace } from "./project-Sui52ywT.mjs";
|
|
6
|
+
import { t as macosAppPresent } from "./state-BXC1Lfxw.mjs";
|
|
7
|
+
import { et as removeOwnedEmulatorMetroReverses } from "./android-CsPs-7Mg.mjs";
|
|
8
|
+
import { a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, h as isMetroRunning, p as signalProcessTreeAsync, r as killMetroTreeAsync, u as processCwds } from "./metro-BnhXV2Mj.mjs";
|
|
9
|
+
import { D as requestDevServerStop, Ln as resolveEasCliBin, Ot as endRecordedSession, T as logVanishedSupervisor, k as withdrawDevServerStopRequest } from "./ccache-Bm_A1xX9.mjs";
|
|
10
|
+
import { C as stopTunnel, ht as teardownOwnedIosSim, mt as teardownOwnedBrowser, pt as teardownOwnedAvd, x as resolveSupervisorTarget } from "./workspaces-CmOcceDN.mjs";
|
|
11
|
+
import { $ as clearNativeRunCancel, X as NATIVE_RUN_LOCK, Z as NATIVE_RUN_WAIT_MS, et as decideStopAction, it as requestNativeRunCancel, nt as nativeRunHolder, rt as nativeRunWaitNotice, tt as describeNativeRunHolder } from "./toolchain-mLA_km-b.mjs";
|
|
12
|
+
import { O as releaseWorkspaceLeasesAsync, y as fileLeaseIo } from "./activity-DRMg4_mD.mjs";
|
|
13
|
+
import { i as stopHostedAndroid } from "./hosted-android-DlaKLbW0.mjs";
|
|
14
|
+
import { a as stopHostedIos, n as removePhoneReverses } from "./phone-reverses-BzTa8g1F.mjs";
|
|
15
|
+
import { r as stopMacosApp } from "./stop-DQvE-P76.mjs";
|
|
16
|
+
import { n as verifyCollectorOwnership } from "./ownership-DJCq48IJ.mjs";
|
|
17
17
|
import { hostedAndroidDeviceName, hostedAndroidRecords, hostedIosRecords, hostedNativeRecords, isJsonObject, parseHostedNativePlacement } from "@stim-cli/core/state";
|
|
18
18
|
import chalk from "chalk";
|
|
19
19
|
//#region src/commands/stop.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, S as process_identity_exports, u as withWorkspaceProcessLock } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { E as workspaceDir, d as writeWorkspaceState, l as withWorkspaceStateLockAsync } from "./workspace-state-
|
|
3
|
-
import { a as macosRuntimeClaim, o as requiredMacosRecord } from "./state-
|
|
4
|
-
import {
|
|
5
|
-
import { n as stopHostedMacos } from "./hosted-macos-
|
|
2
|
+
import { E as workspaceDir, d as writeWorkspaceState, l as withWorkspaceStateLockAsync } from "./workspace-state-kIZrdlSg.mjs";
|
|
3
|
+
import { a as macosRuntimeClaim, o as requiredMacosRecord } from "./state-BXC1Lfxw.mjs";
|
|
4
|
+
import { A as runningBundleInstancesAsync, j as runningInstancesInAsync, k as hostedBundleDirs } from "./workspaces-CmOcceDN.mjs";
|
|
5
|
+
import { n as stopHostedMacos } from "./hosted-macos-B7-8Pv4H.mjs";
|
|
6
6
|
import { readMacosRecord } from "@stim-cli/core/state";
|
|
7
7
|
//#region src/macos/stop.ts
|
|
8
8
|
const APP_EXIT_MS = 5e3;
|
|
@@ -40,6 +40,10 @@ async function stopBundleInstances(root, operation) {
|
|
|
40
40
|
await stopProcesses(instances, void 0, operation);
|
|
41
41
|
return instances.length > 0;
|
|
42
42
|
}
|
|
43
|
+
/** Stops every running copy of a hosted session's app bundles, including copies LaunchServices started from an earlier attempt. */
|
|
44
|
+
async function stopHostedBundleInstances(area, operation) {
|
|
45
|
+
await stopProcesses(await runningInstancesInAsync(hostedBundleDirs(area), operation), void 0, operation);
|
|
46
|
+
}
|
|
43
47
|
async function stopMacosAppHeld(root, operation) {
|
|
44
48
|
operation?.signal.throwIfAborted();
|
|
45
49
|
const record = requiredMacosRecord(root);
|
|
@@ -78,4 +82,4 @@ function stopMacosApp(root, operation) {
|
|
|
78
82
|
});
|
|
79
83
|
}
|
|
80
84
|
//#endregion
|
|
81
|
-
export {
|
|
85
|
+
export { stopMacosAppHeld as i, stopHostedBundleInstances as n, stopMacosApp as r, stopBundleInstances as t };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
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-D-
|
|
1
|
+
import { x as resolveSupervisorTarget } from "./workspaces-CmOcceDN.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-D-dGE9gh.mjs";
|
|
3
3
|
export { clearCollectorState, clearSupervisorState, stopCommand as default, readCollectorState, readSupervisorState, resolveCollectorTargets, resolveSupervisorTarget, runStop, stopWorkspaceNow };
|