stim 1.28.0 → 1.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{acquire-artifact-CKByBnTD.mjs → acquire-artifact-C2DKfenN.mjs} +1 -1
- package/dist/{act-8iswyfRa.mjs → act-CrTcskiE.mjs} +479 -29
- package/dist/{activity-DRMg4_mD.mjs → activity-BR5oHSO5.mjs} +6 -5
- package/dist/{agent-device-usage-output-tE90fDdo.mjs → agent-device-usage-output-W0x4SoC7.mjs} +4 -4
- package/dist/{android-CsPs-7Mg.mjs → android-BHKgeOuq.mjs} +5 -5
- package/dist/{android-YWCbmkVK.mjs → android-BPmCmyAy.mjs} +5 -5
- package/dist/{android-D577ApKG.mjs → android-CLU_MMnb.mjs} +1 -1
- package/dist/{android-cas-_aDifWW0.mjs → android-cas-BH6K12__.mjs} +4 -4
- package/dist/{android-CHmSU4B4.mjs → android-l616dRP1.mjs} +37 -37
- package/dist/{android-project-DUGMbq28.d.mts → android-project-CCEQyYJK.d.mts} +6 -2
- package/dist/api.d.mts +7 -4
- package/dist/api.mjs +27 -27
- package/dist/{apk-signed-tail-CQbwM0qO.mjs → apk-signed-tail-B-wKoF_8.mjs} +2 -2
- package/dist/{artifact-bFkfD3vf.mjs → artifact-DHuFYfhD.mjs} +12 -12
- package/dist/{artifact-DYtHjxsn.mjs → artifact-Dm9ScLrh.mjs} +12 -12
- package/dist/{auto-placement-BVqs8AJi.mjs → auto-placement-C8sJsyMN.mjs} +8 -8
- package/dist/{browser-web-BUaLcafY.mjs → browser-web-_tQTbQUs.mjs} +12 -12
- package/dist/{build-cQURy_KW.mjs → build-DtCU9Kim.mjs} +23 -23
- package/dist/{build-cache-CZULpXVl.mjs → build-cache-BGwTsIEa.mjs} +4 -4
- package/dist/{build-plan-CxoYfxsc.mjs → build-plan-CWyjMPKo.mjs} +6 -6
- package/dist/{cache-manifest-DEjqGGat.mjs → cache-manifest-evF_zJ9U.mjs} +1 -1
- package/dist/cache-manifest.mjs +1 -1
- package/dist/{ccache-Bm_A1xX9.mjs → ccache-DsDkdP72.mjs} +17 -17
- package/dist/{cli-CpbaLDa7.mjs → cli-3fjOg-Oc.mjs} +19 -19
- package/dist/cli.mjs +1 -1
- package/dist/{client-YxCer6ab.mjs → client-BTUH8TF1.mjs} +5 -5
- package/dist/collector-run.mjs +5 -5
- package/dist/{command-output-C8R1KIvi.mjs → command-output-DjCsmzLZ.mjs} +1 -1
- package/dist/{config-Cn94Jc0g.mjs → config-AbUjIBOQ.mjs} +121 -19
- package/dist/{dependencies-DKeMzwXY.mjs → dependencies-CHNqX6Pr.mjs} +38 -38
- package/dist/{dependency-state-CojA2o0t.mjs → dependency-state-CPKAKCZ8.mjs} +1 -1
- package/dist/{dev-client-D-BW5uiq.mjs → dev-client-CROrxj1x.mjs} +2 -2
- package/dist/{device-CgXfbcz5.mjs → device-Bmm5qjM-.mjs} +14 -14
- package/dist/device-BvpasThQ.mjs +297 -0
- package/dist/{device-capacity-Cd8lMSn3.mjs → device-capacity-B2ChA-bz.mjs} +7 -7
- package/dist/device-host-worker.mjs +12 -12
- package/dist/{device-ios-Cc9ulihb.mjs → device-ios-CYzivd31.mjs} +9 -9
- package/dist/{device-lease-run-Mtzp4THX.mjs → device-lease-run-qRq_2W2V.mjs} +4 -4
- package/dist/{device-pool-eRz6DtCg.mjs → device-pool-CrmiE4_x.mjs} +3 -3
- package/dist/{device-eeK95Lir.mjs → device-provision-CK2XiEp1.mjs} +11 -302
- package/dist/{doctor-C2QyhejJ.mjs → doctor-BO_kaFWX.mjs} +1 -1
- package/dist/{doctor-Bz_ouYAW.mjs → doctor-Cp4-HN1f.mjs} +20 -15
- package/dist/{doctor-xf7ht-5n.mjs → doctor-Dr3C1iXV.mjs} +19 -19
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-watchman-BTW82PDC.mjs → doctor-watchman-CJr2aXXv.mjs} +4 -4
- package/dist/{eas-build-Dm6q68QY.mjs → eas-build-D-9HmGZS.mjs} +2 -2
- package/dist/{eas-fallback-DajNpxf-.mjs → eas-fallback-Cemt2GVL.mjs} +4 -4
- package/dist/{eas-session-ledger-CBFo_Uo1.mjs → eas-session-ledger-B0KLZx5m.mjs} +5 -5
- package/dist/{error-diagnostics-D1QfyJzQ.mjs → error-diagnostics-CV_1RoEH.mjs} +8 -8
- package/dist/{gc-DM5oMm-J.mjs → gc-CKHqL4aS.mjs} +80 -18
- package/dist/{gc-PLFwb0k4.mjs → gc-DjXwQXHK.mjs} +2 -2
- package/dist/{guide-C4I46XAk.mjs → guide-CeRlWVsS.mjs} +129 -25
- package/dist/{hosted-android-DlaKLbW0.mjs → hosted-android-DI_vvv7U.mjs} +3 -3
- package/dist/{hosted-client-DDRm9hPJ.mjs → hosted-client-CgoxdU9j.mjs} +3 -3
- package/dist/{hosted-logs-bSebOKbz.mjs → hosted-logs-C-4INmkn.mjs} +17 -8
- package/dist/{hosted-logs-sync-B0c53W_c.mjs → hosted-logs-sync-Bf5s02fi.mjs} +5 -5
- package/dist/{hosted-macos-B7-8Pv4H.mjs → hosted-macos-Doh85YUM.mjs} +5 -5
- package/dist/{hosted-native-CDe33CSr.mjs → hosted-native-DvZENAL-.mjs} +6 -6
- package/dist/{idle-shutdown-CQ0QwU9J.mjs → idle-shutdown-BM37gMfU.mjs} +7 -7
- package/dist/{ios-B1HvafEG.mjs → ios-CNDH6fNF.mjs} +8 -8
- package/dist/{ios-B1DYuOjh.mjs → ios-CoMCWfub.mjs} +4 -4
- package/dist/{ios-tg4tp3q1.mjs → ios-UM_dManb.mjs} +28 -28
- package/dist/{ios-device-B4elVFKi.mjs → ios-device-L1-pota_.mjs} +1 -1
- package/dist/{ios-project-CR4mZ7CH.mjs → ios-project-DJYptOCh.mjs} +7 -7
- package/dist/{ios-state-BPHqMDdZ.mjs → ios-state-Ce_dystM.mjs} +1 -1
- package/dist/{js-swap-CVpSW1fn.mjs → js-swap-BthE4kZC.mjs} +4 -4
- package/dist/{launch-DoySmhjz.mjs → launch-D798aSm8.mjs} +19 -19
- package/dist/{lightened-DFAJgfIk.mjs → lightened-vSxkstg6.mjs} +4 -4
- package/dist/{logs-BGsW7iPe.mjs → logs-BND8MiBq.mjs} +9 -8
- package/dist/{logs-DI5ILkYB.mjs → logs-CilPftm3.mjs} +5 -5
- package/dist/{macos-C12RMJQF.mjs → macos-BOQrKYeJ.mjs} +1 -1
- package/dist/{macos-Bo9st9Di.mjs → macos-CxUi9xcE.mjs} +20 -20
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +13 -9
- package/dist/{metro-BnhXV2Mj.mjs → metro-BMQHczcf.mjs} +2 -2
- package/dist/{metro-request-DXyKjVDF.mjs → metro-request-BtF7ox53.mjs} +1 -1
- package/dist/{named-ports-Phoi2POD.mjs → named-ports-DcktE2Pw.mjs} +2 -2
- package/dist/{native-android-vxgtLD7w.mjs → native-android-BkhrCjdX.mjs} +16 -16
- package/dist/{native-gradle-artifact-inputs-BN96IVw8.mjs → native-gradle-artifact-inputs-Cw4P6Gyr.mjs} +3 -3
- package/dist/{native-runtime-DG4Rodzj.mjs → native-runtime-DyH2gkXK.mjs} +6 -6
- package/dist/{native-xcode-inputs-BKarCoKg.mjs → native-xcode-inputs-DV8jr3kJ.mjs} +2 -2
- package/dist/{native-xcode-ios-8A-efGa5.mjs → native-xcode-ios-DdpPG2iT.mjs} +15 -15
- package/dist/{ndjson-Dy2W4vRa.mjs → ndjson-CrjIsGzw.mjs} +2 -2
- package/dist/offload-worker.d.mts +1 -1
- package/dist/offload-worker.mjs +22 -22
- package/dist/{ownership-DJCq48IJ.mjs → ownership-Dtz9G5Gl.mjs} +2 -2
- package/dist/{phone-reverses-BzTa8g1F.mjs → phone-reverses-DZRad8HT.mjs} +4 -4
- package/dist/{placement-log-Cvhta5ib.mjs → placement-log-CoN6xrjY.mjs} +1 -1
- package/dist/{plan-placement-WkZdccuN.mjs → plan-placement-7sHuqR-r.mjs} +6 -6
- package/dist/{ports-UV4mJgyC.mjs → ports-VQSAPZhl.mjs} +3 -3
- package/dist/{prebuild-k8d_tqOq.mjs → prebuild-Bqp0LFGN.mjs} +9 -9
- package/dist/{project-Sui52ywT.mjs → project-D1n0K4yg.mjs} +15 -15
- package/dist/{react-native-android-DANlGGQf.mjs → react-native-android-FQ-yX3Mv.mjs} +22 -22
- package/dist/{react-native-build-jUHnIfZ9.mjs → react-native-build-D58bIqV9.mjs} +7 -7
- package/dist/{react-native-doctor-DCWRjS7K.mjs → react-native-doctor-AkUH2aca.mjs} +5 -5
- package/dist/{react-native-ios-BwMsFMXi.mjs → react-native-ios-Dmsv8j7T.mjs} +14 -14
- package/dist/{recordings-iy0mkm7b.mjs → recordings-CHMaF73C.mjs} +1 -1
- package/dist/{reload-c_uEyc_X.mjs → reload-BV0nD-k9.mjs} +14 -14
- package/dist/{reload-Bj7QyuDy.mjs → reload-CDKEzzaf.mjs} +1 -1
- package/dist/{remote-DFlpAqdV.mjs → remote-C8xyslUa.mjs} +8 -8
- package/dist/{result-BIcXREyC.mjs → result-9fqcJ90W.mjs} +16 -16
- package/dist/{run-y2HwyNvg.mjs → run-BQAmrohh.mjs} +2 -2
- package/dist/{selection-CXgM_VK_.mjs → selection-D1ZDzHFX.mjs} +105 -62
- package/dist/{server-bare-2N4vSRZG.mjs → server-bare-CEQdB_F4.mjs} +37 -1
- package/dist/{server-command-qneHPcRI.mjs → server-command-RlS-Kl4a.mjs} +5 -5
- package/dist/server-expo-BVV9qy31.mjs +2 -0
- package/dist/{server-expo-Ccm9zB0o.mjs → server-expo-bB1VV2k-.mjs} +8 -5
- package/dist/{settings-Cfd_Q6ys.mjs → settings-BcVCcAT5.mjs} +2 -2
- package/dist/{settings-CY5JZlNN.mjs → settings-D776ygML.mjs} +1 -1
- package/dist/{settings-Djl-mpjX.mjs → settings-D9LtQaUw.mjs} +2 -1
- package/dist/{settings-payload-DwQiEMCn.mjs → settings-payload-_aatELz2.mjs} +4 -4
- package/dist/{settings-write-CJpjkeAd.mjs → settings-write-CkTVGQ4O.mjs} +5 -5
- package/dist/settings.schema.json +58 -9
- package/dist/{simslim-DCQwzoPy.mjs → simslim-CbpHERcv.mjs} +1 -1
- package/dist/{slot-launch-BpmanOnk.mjs → slot-launch-Dbgfh8gc.mjs} +6 -6
- package/dist/{stage-CmugrSG5.mjs → stage-BuHuRj1y.mjs} +1 -1
- package/dist/{start-CHH3zgIU.mjs → start-Cr-c3Xhq.mjs} +1 -1
- package/dist/{start-DYLk6GXn.mjs → start-Dlv4XXTP.mjs} +11 -11
- package/dist/{state-BXC1Lfxw.mjs → state-C2AUjjhg.mjs} +1 -1
- package/dist/{state-B2QJbDwz.mjs → state-D5ZxwCGJ.mjs} +2 -2
- package/dist/{stats-DxKqhcGp.mjs → stats-D5c-uIBp.mjs} +4 -4
- package/dist/{status-7ULDEJ1e.mjs → status-CK7ZoEhV.mjs} +2 -2
- package/dist/{status-BHCkOZga.mjs → status-D6PBK6_-.mjs} +24 -24
- package/dist/{status-D_Ljc89p.mjs → status-DbQv--Yb.mjs} +1 -1
- package/dist/{status-watch-BmsPqYSU.mjs → status-watch-okrpea4i.mjs} +4 -4
- package/dist/status-worker.mjs +1 -1
- package/dist/{stim-desktop-CbWo21kb.mjs → stim-desktop-CYXLFpFS.mjs} +1 -1
- package/dist/{stop-b2pouxAO.mjs → stop-CHtAiv79.mjs} +2 -2
- package/dist/{stop-D-dGE9gh.mjs → stop-p9uSKuGE.mjs} +20 -19
- package/dist/{stop-DQvE-P76.mjs → stop-uRQ-zYcl.mjs} +4 -4
- package/dist/supervisor-run.d.mts +1 -0
- package/dist/supervisor-run.mjs +23 -19
- package/dist/{support-BtlJKjyQ.mjs → support-BMpQIug0.mjs} +9 -9
- package/dist/{support-04IhBUTT.mjs → support-PFyTkrnr.mjs} +4 -4
- package/dist/{swiftpm-artifact-inputs-Cj2UpmPN.mjs → swiftpm-artifact-inputs-Cddq6jN2.mjs} +1 -1
- package/dist/{swiftpm-macos-BhF2stxY.mjs → swiftpm-macos-BSj9iZlI.mjs} +8 -8
- package/dist/{toolchain-qktiV8xc.mjs → toolchain-B-mzR9Rh.mjs} +1 -1
- package/dist/{toolchain-mLA_km-b.mjs → toolchain-CLGnEUgT.mjs} +4 -4
- package/dist/{trigger-DMou-X7j.mjs → trigger-CfnOfpDd.mjs} +1 -1
- package/dist/trigger-DBZ-GBrl.mjs +2 -0
- package/dist/{warm-progress-B0Vpuvpl.mjs → warm-progress--KkkBBaq.mjs} +3 -3
- package/dist/web-BxSo493O.mjs +2 -0
- package/dist/web-run.mjs +5 -5
- package/dist/{web-BYmK0TjL.mjs → web-xlVssjQf.mjs} +8 -8
- package/dist/{workspace-state-kIZrdlSg.mjs → workspace-state-DGwkPXwq.mjs} +2 -2
- package/dist/{workspaces-CmOcceDN.mjs → workspaces-CvSYD_78.mjs} +11 -11
- package/dist/{worktree-2dk5edza.mjs → worktree-CaQBf6kh.mjs} +25 -25
- package/dist/{worktree-nliAoHxB.mjs → worktree-DTOIohFe.mjs} +1 -1
- package/package.json +7 -7
- package/shim/bundle-response.cjs +37 -0
- package/dist/server-expo-WulkyAwT.mjs +0 -2
- package/dist/trigger-qp2ji5wE.mjs +0 -2
- package/dist/web-CrVLVQZY.mjs +0 -2
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, S as process_identity_exports, c as throwIfCancelled, l as WorkspaceProcessCleanupError, m as declareSpawnsOn, t as getExecutor, v as stopDeclaringSpawnsOn, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { E as workspaceDir, u as workspaceLastUsed } from "./workspace-state-
|
|
3
|
-
import { F as isOnMountedVolume, G as projectDeviceSlots, I as listMountedVolumes, L as measuredDirectorySizeAsync, N as directorySizeAsync, O as withConfigLockAsync$1, P as formatBytes, R as volumeRootFor, S as removeProject, _ as loadConfig$1, d as getConfigDir, j as acquireAvdClaim } from "./config-
|
|
4
|
-
import { d as quotedPath$1, h as shortUdid, o as formatLongDuration, u as plural } from "./command-output-
|
|
2
|
+
import { E as workspaceDir, u as workspaceLastUsed } from "./workspace-state-DGwkPXwq.mjs";
|
|
3
|
+
import { F as isOnMountedVolume, G as projectDeviceSlots, I as listMountedVolumes, L as measuredDirectorySizeAsync, N as directorySizeAsync, O as withConfigLockAsync$1, P as formatBytes, R as volumeRootFor, S as removeProject, _ as loadConfig$1, d as getConfigDir, j as acquireAvdClaim } from "./config-AbUjIBOQ.mjs";
|
|
4
|
+
import { d as quotedPath$1, h as shortUdid, o as formatLongDuration, u as plural } from "./command-output-DjCsmzLZ.mjs";
|
|
5
5
|
import { t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
|
|
6
|
-
import { $t as TRASH_MANIFEST, Ft as matchWorktreeEntry, Wt as resolveSourceCheckoutAsync, Zt as TRASH_CLAIMS, en as deleteTrashEntry, jt as listWorktreesAsync } from "./settings-
|
|
7
|
-
import { i as findProjectRoot$1, v as detectIsExpo } from "./project-
|
|
8
|
-
import { Ct as forgetCreatedDeviceAsync, F as listAvdsAsync, L as listOrphanedAvdDirectories, V as ownedAvdDirectory, ft as POOL_SETTING_REMEDY, h as avdNameAbsent, vt as parkedMaxSetting, wt as readCreatedDevices$1 } from "./android-
|
|
9
|
-
import { $ as gradleVersionLines, $n as memoryCacheKind, B as includesArchives, Ct as describeError, En as runProcessOperation, F as gcOptionsOf, Ft as withEasProjectLock, G as planCacheEmptying, H as includesRecordings, J as selectsBeyondCaches, Jn as parseArchiveSelector, K as previewScopedEmptying, L as openGcLog, Q as deleteGradleVersions, St as deleteEasSessions, U as includesWorkspaceOutputs, V as includesParkedDevices, W as isWorkspacesScope, X as collectGradleVersions, Y as trimCaches, Zn as collectMemoryReport, _t as findStaleDeviceRecords, ar as scopedMemoryReport, at as DEVICE_LIST_TIMEOUT_MS, bt as withAndroidAvdSizes, ct as collectParkedSims, dt as deleteProjectDevices, er as memoryLines, et as gradleVersionsPending, fr as sizeCaches, gt as findOrphanedDevices, ht as eraseParkedDevices, ir as reclaimMemory, it as collectInventory, lt as deleteParkedAvds, mt as deviceSweepIsScoped, nr as memorySweepIsScoped, ot as collectDeviceLeases, pt as describeUnverifiableDevices, q as selectCaches, rr as memoryWorkPending, rt as getMachineCacheReport, sr as phase, st as collectParkedAvds, tr as memoryScope, tt as includesGradleVersions, ur as discoverCaches, ut as deleteParkedSims, vt as findStaleProjectDevices, wt as withRemoteSessionGcLocks, xt as collectEasSessionSweep, yt as unverifiedDeviceCommand, z as emptyCaches } from "./ccache-
|
|
10
|
-
import { n as easMachineStateRoot$1, o as removeEasSessionClaimAsync, r as readEasSessionLedger$1 } from "./eas-session-ledger-
|
|
11
|
-
import { At as mapLimited, Dt as createGcResults, Et as GC_OUTPUT, I as idleDeviceLines, M as collectIdleDevices, Mt as sizeConcurrency, N as collectIdleDevicesAsync, R as parseIdleDuration, a as collectOrphanedWorkspaces, b as workspaceInUseAsync, c as isInsideWorkspaces, f as rootPresence, g as ARTIFACT_DIRS, i as clearWorkspaceOutputs, jt as readConcurrency, kt as eachLimited, n as REBUILD_COST, o as collectWorkspaceOutputs, p as sizeText, r as WORKSPACE_OUTPUT_DIRS, s as deleteOrphanedWorkspaces, t as LIGHTEN_AFTER_MS, u as listWorkspaceDirs, v as withIdleWorkspace, wt as listBuildSlots, z as shutDownIdleDevices } from "./workspaces-
|
|
6
|
+
import { $t as TRASH_MANIFEST, Ft as matchWorktreeEntry, Wt as resolveSourceCheckoutAsync, Zt as TRASH_CLAIMS, en as deleteTrashEntry, jt as listWorktreesAsync } from "./settings-D776ygML.mjs";
|
|
7
|
+
import { i as findProjectRoot$1, v as detectIsExpo } from "./project-D1n0K4yg.mjs";
|
|
8
|
+
import { Ct as forgetCreatedDeviceAsync, F as listAvdsAsync, L as listOrphanedAvdDirectories, V as ownedAvdDirectory, ft as POOL_SETTING_REMEDY, h as avdNameAbsent, vt as parkedMaxSetting, wt as readCreatedDevices$1 } from "./android-BHKgeOuq.mjs";
|
|
9
|
+
import { $ as gradleVersionLines, $n as memoryCacheKind, B as includesArchives, Ct as describeError, En as runProcessOperation, F as gcOptionsOf, Ft as withEasProjectLock, G as planCacheEmptying, H as includesRecordings, J as selectsBeyondCaches, Jn as parseArchiveSelector, K as previewScopedEmptying, L as openGcLog, Q as deleteGradleVersions, St as deleteEasSessions, U as includesWorkspaceOutputs, V as includesParkedDevices, W as isWorkspacesScope, X as collectGradleVersions, Y as trimCaches, Zn as collectMemoryReport, _t as findStaleDeviceRecords, ar as scopedMemoryReport, at as DEVICE_LIST_TIMEOUT_MS, bt as withAndroidAvdSizes, ct as collectParkedSims, dt as deleteProjectDevices, er as memoryLines, et as gradleVersionsPending, fr as sizeCaches, gt as findOrphanedDevices, ht as eraseParkedDevices, ir as reclaimMemory, it as collectInventory, lt as deleteParkedAvds, mt as deviceSweepIsScoped, nr as memorySweepIsScoped, ot as collectDeviceLeases, pt as describeUnverifiableDevices, q as selectCaches, rr as memoryWorkPending, rt as getMachineCacheReport, sr as phase, st as collectParkedAvds, tr as memoryScope, tt as includesGradleVersions, ur as discoverCaches, ut as deleteParkedSims, vt as findStaleProjectDevices, wt as withRemoteSessionGcLocks, xt as collectEasSessionSweep, yt as unverifiedDeviceCommand, z as emptyCaches } from "./ccache-DsDkdP72.mjs";
|
|
10
|
+
import { n as easMachineStateRoot$1, o as removeEasSessionClaimAsync, r as readEasSessionLedger$1 } from "./eas-session-ledger-B0KLZx5m.mjs";
|
|
11
|
+
import { At as mapLimited, Dt as createGcResults, Et as GC_OUTPUT, I as idleDeviceLines, M as collectIdleDevices, Mt as sizeConcurrency, N as collectIdleDevicesAsync, R as parseIdleDuration, a as collectOrphanedWorkspaces, b as workspaceInUseAsync, c as isInsideWorkspaces, f as rootPresence, g as ARTIFACT_DIRS, i as clearWorkspaceOutputs, jt as readConcurrency, kt as eachLimited, n as REBUILD_COST, o as collectWorkspaceOutputs, p as sizeText, r as WORKSPACE_OUTPUT_DIRS, s as deleteOrphanedWorkspaces, t as LIGHTEN_AFTER_MS, u as listWorkspaceDirs, v as withIdleWorkspace, wt as listBuildSlots, z as shutDownIdleDevices } from "./workspaces-CvSYD_78.mjs";
|
|
12
12
|
import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
|
|
13
|
-
import { N as listBuildLocks, k as removeExpiredLease } from "./activity-
|
|
14
|
-
import { d as listAllIosSims, f as listAllIosSimsAsync } from "./ios-
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
13
|
+
import { N as listBuildLocks, k as removeExpiredLease } from "./activity-BR5oHSO5.mjs";
|
|
14
|
+
import { d as listAllIosSims, f as listAllIosSimsAsync } from "./ios-CoMCWfub.mjs";
|
|
15
|
+
import { t as resolveMaintenanceSettings } from "./settings-D9LtQaUw.mjs";
|
|
16
|
+
import { r as readCollectors } from "./ownership-Dtz9G5Gl.mjs";
|
|
17
|
+
import { A as deleteSelectedArchives, O as describeDereferenced, j as sweepArchiveStaging, k as reclaimProject } from "./worktree-CaQBf6kh.mjs";
|
|
18
|
+
import { p as writeCacheFile } from "./warm-progress--KkkBBaq.mjs";
|
|
19
|
+
import { a as restoreProblem, o as workspaceKeys } from "./lightened-vSxkstg6.mjs";
|
|
20
|
+
import { C as candidateRootsAsync, D as worktreeRemovalReason, E as worktreePullRequestNote, S as maintenancePinned, T as removeWorktrees, _ as finishedWorkspaces, a as previewMaintenance, b as cachedDeviceActivity, c as deleteTempLeftovers, d as appRoots, f as artifactWorktrees, g as stopIdleWorkspace, h as planIdleStop, l as tempLeftoverLines, m as collectArtifactsAsync, o as triggeringRoot, p as clearArtifact, s as collectTempLeftovers, t as deleteIdleWorkspaceDevices, u as tempLeftoverSection, w as collectWorktreeSweep, x as cachedDeviceActivityAsync, y as ownedDeviceUsage } from "./act-CrTcskiE.mjs";
|
|
21
|
+
import { i as getSwiftpmCacheUsage, n as swiftpmCacheLines, r as getAgentDeviceUsage, t as agentDeviceLines } from "./agent-device-usage-output-W0x4SoC7.mjs";
|
|
21
22
|
import { claimRemoveCommand, isClaimRefusal, isClaimUnavailable, readClaimSet, releaseClaim, tryAcquireClaim } from "@stim-cli/core/ownership-claim";
|
|
22
23
|
import { existsSync, lstatSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
23
24
|
import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
@@ -2192,6 +2193,65 @@ async function deleteParkedHostedDevices(devices, { listAvds: list, operation }
|
|
|
2192
2193
|
return failures;
|
|
2193
2194
|
}
|
|
2194
2195
|
//#endregion
|
|
2196
|
+
//#region src/commands/gc/idle-workspaces.ts
|
|
2197
|
+
/**
|
|
2198
|
+
* Stops each workspace idle past its maintenance.idleStopHours, as automatic maintenance does, unless
|
|
2199
|
+
* maintenance.mode is off, so the dry run's maintenance plan lists every stop; returns failures.
|
|
2200
|
+
*/
|
|
2201
|
+
async function stopIdleWorkspaces(output, operation) {
|
|
2202
|
+
const env = operation?.env ?? process.env;
|
|
2203
|
+
if (resolveMaintenanceSettings(void 0, env).mode === "off") return 0;
|
|
2204
|
+
const devices = () => {
|
|
2205
|
+
const now = Date.now();
|
|
2206
|
+
return operation ? cachedDeviceActivityAsync(now, env, operation.signal, operation) : cachedDeviceActivity(now);
|
|
2207
|
+
};
|
|
2208
|
+
const protectedRoot = triggeringRoot(operation);
|
|
2209
|
+
let plan;
|
|
2210
|
+
try {
|
|
2211
|
+
plan = await planIdleStop({
|
|
2212
|
+
protectedRoot,
|
|
2213
|
+
now: Date.now(),
|
|
2214
|
+
env,
|
|
2215
|
+
devices: devices(),
|
|
2216
|
+
operation
|
|
2217
|
+
});
|
|
2218
|
+
} catch (error) {
|
|
2219
|
+
if (error instanceof WorkspaceProcessCleanupError || error instanceof Error && "reportCleanup" in error) throw error;
|
|
2220
|
+
operation?.signal.throwIfAborted();
|
|
2221
|
+
output.log(chalk.red(`Could not plan idle workspace stops: ${error instanceof Error ? error.message : String(error)}`));
|
|
2222
|
+
return 1;
|
|
2223
|
+
}
|
|
2224
|
+
let failures = 0;
|
|
2225
|
+
for (const action of plan.actions) {
|
|
2226
|
+
operation?.signal.throwIfAborted();
|
|
2227
|
+
let outcome;
|
|
2228
|
+
try {
|
|
2229
|
+
outcome = await stopIdleWorkspace(action, {
|
|
2230
|
+
protectedRoot,
|
|
2231
|
+
devices,
|
|
2232
|
+
operation,
|
|
2233
|
+
by: "stim gc --delete"
|
|
2234
|
+
});
|
|
2235
|
+
} catch (error) {
|
|
2236
|
+
if (error instanceof WorkspaceProcessCleanupError || error instanceof Error && "reportCleanup" in error) throw error;
|
|
2237
|
+
operation?.signal.throwIfAborted();
|
|
2238
|
+
outcome = {
|
|
2239
|
+
status: "failed",
|
|
2240
|
+
bytes: 0,
|
|
2241
|
+
detail: error instanceof Error ? error.message : String(error)
|
|
2242
|
+
};
|
|
2243
|
+
}
|
|
2244
|
+
output.record("devServer", outcome.status, action.target, { detail: outcome.status === "done" ? action.reason : outcome.detail });
|
|
2245
|
+
if (outcome.status === "done") output.log(chalk.green(`Stopped the idle workspace ${action.target}: ${action.reason}`));
|
|
2246
|
+
else if (outcome.status === "kept") output.log(chalk.dim(`Kept the workspace ${action.target}: ${outcome.detail}`));
|
|
2247
|
+
else {
|
|
2248
|
+
failures++;
|
|
2249
|
+
output.log(chalk.red(`Could not stop the idle workspace ${action.target}: ${outcome.detail}`));
|
|
2250
|
+
}
|
|
2251
|
+
}
|
|
2252
|
+
return failures;
|
|
2253
|
+
}
|
|
2254
|
+
//#endregion
|
|
2195
2255
|
//#region src/commands/gc.ts
|
|
2196
2256
|
function readGcReport(options = {}, deps = {}) {
|
|
2197
2257
|
return sweep({
|
|
@@ -3009,6 +3069,8 @@ async function runGcCore(opts, deps, execution, reportOnly = false) {
|
|
|
3009
3069
|
}
|
|
3010
3070
|
let deleteFailures = idleFailures;
|
|
3011
3071
|
throwIfCancelled(signal, "GC");
|
|
3072
|
+
if (cache === null) deleteFailures += await stopIdleWorkspaces(output, deps.operation);
|
|
3073
|
+
throwIfCancelled(signal, "GC");
|
|
3012
3074
|
deleteFailures += await deleteArchives(report.archives, output, signal);
|
|
3013
3075
|
throwIfCancelled(signal, "GC");
|
|
3014
3076
|
deleteFailures += report.workspaceOutputs ? (await clearWorkspaceOutputs(report.workspaceOutputs, {
|
|
@@ -3143,7 +3205,7 @@ async function runGcCore(opts, deps, execution, reportOnly = false) {
|
|
|
3143
3205
|
return payload(deleteFailures);
|
|
3144
3206
|
}
|
|
3145
3207
|
function gcCommand(program) {
|
|
3146
|
-
program.command("gc").description("Report what Stim has left behind: dead project entries, orphaned workspace directories, clean Stim-managed linked worktrees whose branch is merged or whose pull request was merged or closed, orphaned owned devices and EAS sessions, records of devices that no longer exist, build locks whose builder is gone, expired physical-device leases, the shared build caches, the build outputs and logs of each workspace, the memory of watchman and of the Gradle and Kotlin daemons, and recognized leftovers in TMPDIR. Reports by default; pass --delete to act.").option("--worktrees", "also remove clean, idle Stim-managed linked worktrees, not only merged ones: with --delete run `stim worktree remove` (never --force) on each; idle means unused for --older-than days, 7 without it").option("--delete", "actually prune the reported entries, reap the reported devices, lighten every workspace that is not building and ran no ios, android or macos command in the last 15 minutes by clearing its build outputs, a running dev server or booted device included,
|
|
3208
|
+
program.command("gc").description("Report what Stim has left behind: dead project entries, orphaned workspace directories, clean Stim-managed linked worktrees whose branch is merged or whose pull request was merged or closed, orphaned owned devices and EAS sessions, records of devices that no longer exist, build locks whose builder is gone, expired physical-device leases, the shared build caches, the build outputs and logs of each workspace, the memory of watchman and of the Gradle and Kotlin daemons, and recognized leftovers in TMPDIR. Reports by default; pass --delete to act.").option("--worktrees", "also remove clean, idle Stim-managed linked worktrees, not only merged ones: with --delete run `stim worktree remove` (never --force) on each; idle means unused for --older-than days, 7 without it").option("--delete", "actually prune the reported entries, reap the reported devices, lighten every workspace that is not building and ran no ios, android or macos command in the last 15 minutes by clearing its build outputs, a running dev server or booted device included, trim its Metro, client and device logs to their newest 8 MiB, and, unless maintenance.mode is off, stop each workspace idle past maintenance.idleStopHours as stim stop does").option("--older-than <days>", "also reap owned devices whose workspace has not been used this long, trim shared cache entries nothing has used in that time and device recordings made before it, and clear workspace build outputs only for workspaces idle this long and parked devices only once parked this long", (v) => {
|
|
3147
3209
|
const n = parseInt(v, 10);
|
|
3148
3210
|
if (!Number.isFinite(n) || String(n) !== String(v).trim()) throw new InvalidArgumentError("must be a whole number of days, e.g. --older-than 30");
|
|
3149
3211
|
return n;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { _t as findStaleDeviceRecords, ft as describeParkedSims, gt as findOrphanedDevices, pt as describeUnverifiableDevices, q as selectCaches, ut as deleteParkedSims, vt as findStaleProjectDevices } from "./ccache-
|
|
2
|
-
import { a as runGc, i as readGcReport, n as executeGc, o as withGcMaintenanceClaim, r as gcCommand, s as formatGcReport, t as collectGcReport } from "./gc-
|
|
1
|
+
import { _t as findStaleDeviceRecords, ft as describeParkedSims, gt as findOrphanedDevices, pt as describeUnverifiableDevices, q as selectCaches, ut as deleteParkedSims, vt as findStaleProjectDevices } from "./ccache-DsDkdP72.mjs";
|
|
2
|
+
import { a as runGc, i as readGcReport, n as executeGc, o as withGcMaintenanceClaim, r as gcCommand, s as formatGcReport, t as collectGcReport } from "./gc-CKHqL4aS.mjs";
|
|
3
3
|
export { collectGcReport, gcCommand as default, deleteParkedSims, describeParkedSims, describeUnverifiableDevices, executeGc, findOrphanedDevices, findStaleDeviceRecords, findStaleProjectDevices, formatGcReport, readGcReport, runGc, selectCaches, withGcMaintenanceClaim };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as ANDROID_AVD_CONFIG_HELP } from "./settings-
|
|
2
|
-
import { i as findProjectRoot$1 } from "./project-
|
|
3
|
-
import { h as RECENT_LAUNCH_MS } from "./eas-session-ledger-
|
|
4
|
-
import { o as guideStatus, t as WATCHMAN_NESTED_WORKTREES } from "./doctor-watchman-
|
|
5
|
-
import "./status-watch-
|
|
1
|
+
import { t as ANDROID_AVD_CONFIG_HELP } from "./settings-D776ygML.mjs";
|
|
2
|
+
import { i as findProjectRoot$1 } from "./project-D1n0K4yg.mjs";
|
|
3
|
+
import { h as RECENT_LAUNCH_MS } from "./eas-session-ledger-B0KLZx5m.mjs";
|
|
4
|
+
import { o as guideStatus, t as WATCHMAN_NESTED_WORKTREES } from "./doctor-watchman-CJr2aXXv.mjs";
|
|
5
|
+
import "./status-watch-okrpea4i.mjs";
|
|
6
6
|
import { SETTINGS, SETTINGS_SCHEMA_URL, TUTORIAL_VERSION } from "@stim-cli/core/state";
|
|
7
7
|
import chalk from "chalk";
|
|
8
8
|
//#region src/guide/agent.ts
|
|
@@ -288,6 +288,12 @@ activity prevent reclaim. The supervisor's own idle shutdown default is 30m.
|
|
|
288
288
|
Read the holder names in progress and build.waitingFor in status; do not start
|
|
289
289
|
replacement runs while one is queued. See \`stim guide lifecycle concurrency\`.
|
|
290
290
|
|
|
291
|
+
After maintenance.idleStopHours (default 6) with no Stim command, native run,
|
|
292
|
+
Metro bundle or HMR request, agent-device command or live view, automatic
|
|
293
|
+
maintenance stops the workspace as stim stop does. Device and app logs do not
|
|
294
|
+
count. After a long pause, run stim ios or android again before driving the
|
|
295
|
+
app; see \`stim guide cleanup\`.
|
|
296
|
+
|
|
291
297
|
Treat a refusal as an ownership or state mismatch: read its code and remedy.
|
|
292
298
|
Never reach for --force first.
|
|
293
299
|
Stim leaves externally started Metro servers alone. Stop them with their original
|
|
@@ -1236,9 +1242,10 @@ leased until <time>" for each one.`,
|
|
|
1236
1242
|
null when off; plan lists what the next start, ios or
|
|
1237
1243
|
android would reclaim, in the \`reclaimed\` shape without
|
|
1238
1244
|
freedMb, and is empty while under budget
|
|
1239
|
-
deviceHosts one { machine, state, dnsName?, deviceId?, requestedAt?,
|
|
1240
|
-
host? } per remote.machines entry. state is "approved",
|
|
1241
|
-
"pending", "not-asked", "revoked", "lapsed", "key-changed",
|
|
1245
|
+
deviceHosts one { machine, state, dnsName?, fingerprint?, deviceId?, requestedAt?,
|
|
1246
|
+
expiresAt?, host? } per remote.machines entry. state is "approved",
|
|
1247
|
+
"pending", "not-asked", "revoked", "lapsed", "key-changed",
|
|
1248
|
+
"key-unconfirmed", "outdated",
|
|
1242
1249
|
"not-on-tailnet", "tailscale-off", "unreachable", "invalid",
|
|
1243
1250
|
"credentials-unavailable" or "busy". Setup tickets stay private.
|
|
1244
1251
|
Only --fix asks for access or forgets removed names. A
|
|
@@ -1254,7 +1261,12 @@ leased until <time>" for each one.`,
|
|
|
1254
1261
|
expires, absent for a Stim Desktop ticket; "lapsed" is a
|
|
1255
1262
|
pending request whose expiry passed. --fix asks again.
|
|
1256
1263
|
"key-changed" means the worker did not prove the
|
|
1257
|
-
stim-server key pinned at approval. "
|
|
1264
|
+
stim-server key pinned at approval. "key-unconfirmed" is a
|
|
1265
|
+
local: machine that approved this one but whose key no
|
|
1266
|
+
person confirmed, so nothing pinned it; fingerprint is the
|
|
1267
|
+
key's fingerprint to compare with the one stim-server setup
|
|
1268
|
+
printed there, and only stim doctor --fix in a terminal asks.
|
|
1269
|
+
A local: entry has no dnsName. "outdated" means its
|
|
1258
1270
|
stim-server speaks protocol 1; the finding names the
|
|
1259
1271
|
stim-server service update command to run there.
|
|
1260
1272
|
toolchain { entries, projectNode } on macOS, else null. entries is one { name, value,
|
|
@@ -1267,11 +1279,12 @@ leased until <time>" for each one.`,
|
|
|
1267
1279
|
pins Node (bin, version and match are null when no install
|
|
1268
1280
|
fits the pin; match is "exact", or "major" for the newest
|
|
1269
1281
|
install of the pinned major not older than the pin), else null
|
|
1270
|
-
remoteMachines one { machine, state, diagnosis?, dnsName?,
|
|
1271
|
-
expiresAt?, offloadable?, reasons?, problems?, capacity?, host? } per
|
|
1282
|
+
remoteMachines one { machine, state, diagnosis?, dnsName?, fingerprint?, deviceId?,
|
|
1283
|
+
requestedAt?, expiresAt?, offloadable?, reasons?, problems?, capacity?, host? } per
|
|
1272
1284
|
remote.machines entry, for its build approval; state is "approved", "pending", "not-asked",
|
|
1273
1285
|
"revoked" (revoked or denied), "lapsed" (the request lapsed
|
|
1274
|
-
before approval), "key-changed", "
|
|
1286
|
+
before approval), "key-changed", "key-unconfirmed" (as in
|
|
1287
|
+
deviceHosts), "outdated",
|
|
1275
1288
|
"not-on-tailnet", "tailscale-off", "unreachable" or
|
|
1276
1289
|
"invalid". diagnosis is { layer, code, title, message, remedy }
|
|
1277
1290
|
for the first layer that stopped this machine, present for
|
|
@@ -1286,6 +1299,11 @@ leased until <time>" for each one.`,
|
|
|
1286
1299
|
nothing behind the route), server-not-ready (503: running but
|
|
1287
1300
|
not serving; its message gives the cause the server reports),
|
|
1288
1301
|
server-no-answer (silent route while tailscale ping reaches the Mac), server-outdated and connect-failed (none of the above).
|
|
1302
|
+
A local: machine never reads Tailscale and reports
|
|
1303
|
+
lan-not-listening (nothing accepts connections on its
|
|
1304
|
+
stim-server port), lan-no-answer (no reply: the network, or
|
|
1305
|
+
the macOS firewall on that machine), server-not-ready or
|
|
1306
|
+
connect-failed.
|
|
1289
1307
|
Tailscale's own "offline" flag lags a reachable peer, so an
|
|
1290
1308
|
answer from the machine outranks it. host has the same shape and presence rule as in
|
|
1291
1309
|
deviceHosts, as do expiresAt (a pending request's lapse
|
|
@@ -2041,7 +2059,7 @@ RULES
|
|
|
2041
2059
|
Each booted simulator and detected emulator in environments (and in
|
|
2042
2060
|
slots) carries activity; a shut-down or physical device has none:
|
|
2043
2061
|
|
|
2044
|
-
activity { state, driver?, lastActivityAt?, recent?, basis }
|
|
2062
|
+
activity { state, driver?, lastActivityAt?, recent?, basis, unknown? }
|
|
2045
2063
|
|
|
2046
2064
|
state "driven" a live claim or driver holds the device now
|
|
2047
2065
|
"active" no driver, but activity in the last 10 minutes
|
|
@@ -2064,6 +2082,8 @@ RULES
|
|
|
2064
2082
|
workspace-use, supervisor-start, page-log or viewer, each
|
|
2065
2083
|
rounded down to the minute. viewer is now while a
|
|
2066
2084
|
stim-server client streams the device's frames
|
|
2085
|
+
unknown for "driven" only: the checks that could not be read, in
|
|
2086
|
+
basis's vocabulary; absent when every check was read
|
|
2067
2087
|
basis the evidence behind state, strongest first:
|
|
2068
2088
|
agent-device-claim, agent-device-lease agent-device state,
|
|
2069
2089
|
read only; live only when every recorded process is alive
|
|
@@ -2445,8 +2465,8 @@ RULES
|
|
|
2445
2465
|
minutes. It caches them in $STIM_HOME/agent-sessions.json, which one-shot
|
|
2446
2466
|
status reads and ignores once it is 2 minutes old. Both sources are other
|
|
2447
2467
|
tools' internal files; a missing or changed one only drops its sessions.
|
|
2448
|
-
\`start\`, \`ios\`, \`android\`, \`web\`, \`reload\` and
|
|
2449
|
-
also record the CLAUDE_CODE_SESSION_ID or CODEX_THREAD_ID of the shell
|
|
2468
|
+
\`start\`, \`ios\`, \`android\`, \`web\`, \`reload\`, \`logs\` and
|
|
2469
|
+
\`worktree warm\` also record the CLAUDE_CODE_SESSION_ID or CODEX_THREAD_ID of the shell
|
|
2450
2470
|
that ran them, so that session is listed for 30 minutes after the command
|
|
2451
2471
|
even when status cannot see it, and for as long as it runs.
|
|
2452
2472
|
|
|
@@ -2990,8 +3010,8 @@ WHAT THE SUPERVISOR IS
|
|
|
2990
3010
|
(default 60; 0 never stops) with no bundle request, no client log record
|
|
2991
3011
|
(in-app console logs; for Expo or metro.command, any stdout line of the
|
|
2992
3012
|
dev server) and no Stim
|
|
2993
|
-
command in the workspace (start, ios, android, reload, worktree
|
|
2994
|
-
checks once a minute. It keeps running while a bundle response is in
|
|
3013
|
+
command in the workspace (start, ios, android, reload, logs, worktree
|
|
3014
|
+
warm). It checks once a minute. It keeps running while a bundle response is in
|
|
2995
3015
|
flight, while a build in the workspace is in progress, while a stim ios,
|
|
2996
3016
|
android or stop run holds the workspace's native-run lock, while the
|
|
2997
3017
|
workspace holds an unexpired device lease (\`stim device lock\` or a
|
|
@@ -3024,8 +3044,9 @@ WHAT THE SUPERVISOR IS
|
|
|
3024
3044
|
own stops show only in the log).
|
|
3025
3045
|
requested a Stim command stopped it and says which: stim stop,
|
|
3026
3046
|
stim worktree remove, stim gc --delete, stim start
|
|
3027
|
-
--reset-cache,
|
|
3028
|
-
ios, android or start run reclaimed it)
|
|
3047
|
+
--reset-cache, budget reclaim (with the workspace whose
|
|
3048
|
+
ios, android or start run reclaimed it), or automatic
|
|
3049
|
+
maintenance with its idle reason (guide cleanup, IDLE STOP)
|
|
3029
3050
|
signal a SIGTERM or SIGINT with no Stim stop request recorded,
|
|
3030
3051
|
so it likely came from outside Stim (level warn)
|
|
3031
3052
|
server-exited the dev server exited on its own (level error). Expo CLI
|
|
@@ -3627,7 +3648,9 @@ WHAT WRITES WHAT
|
|
|
3627
3648
|
and, on Expo, one per dev-client manifest
|
|
3628
3649
|
request (manifest_request_started, _finished,
|
|
3629
3650
|
_failed: debug level, with platform and requestId;
|
|
3630
|
-
launch verification reads them as progress)
|
|
3651
|
+
launch verification reads them as progress), and
|
|
3652
|
+
an hmr_update debug record, at most once a minute,
|
|
3653
|
+
when Metro pushes a Fast Refresh change to the app
|
|
3631
3654
|
client.ndjson in-app console logs and redboxes -- BARE PROJECTS ONLY.
|
|
3632
3655
|
In expo-child and command-child mode everything the
|
|
3633
3656
|
dev server prints lands in metro.ndjson with raw: true,
|
|
@@ -7904,7 +7927,7 @@ OPT-IN CONCURRENCY LIMITS (UNLIMITED BY DEFAULT)
|
|
|
7904
7927
|
|
|
7905
7928
|
Warm registers the app it prepares, so \`stim status\` lists the workspace
|
|
7906
7929
|
with phase "warming" while it runs and "ready" once it succeeds, until the
|
|
7907
|
-
first start, ios, android, web or
|
|
7930
|
+
first start, ios, android, web, reload or logs there or for 2 hours
|
|
7908
7931
|
(\`guide facts status\`). In a monorepo worktree root, that app is the one
|
|
7909
7932
|
the source checkout has registered.
|
|
7910
7933
|
|
|
@@ -8689,6 +8712,52 @@ supervisor's idle rules and records (guide lifecycle budget). While the level is
|
|
|
8689
8712
|
check also names abnormally large processes (guide lifecycle simslim) in
|
|
8690
8713
|
status's maintenance block and the maintenance log.
|
|
8691
8714
|
|
|
8715
|
+
IDLE STOP: the idle check, and gc --delete unless maintenance.mode is off (its
|
|
8716
|
+
dry run lists them in the maintenance plan), stop a workspace whose dev server
|
|
8717
|
+
runs or whose owned simulator or emulator is booted once it has had no real
|
|
8718
|
+
activity for maintenance.idleStopHours (default 6; 0 never; machine or project
|
|
8719
|
+
layers; STIM_MAINTENANCE_IDLE_STOP_HOURS overrides; fractions work). Six hours
|
|
8720
|
+
outlasts a lunch break, a meeting or an agent's pause between tasks, and still
|
|
8721
|
+
frees the memory overnight. Real activity is the newest of: a Stim command in
|
|
8722
|
+
the workspace (start, ios, android, macos, web, reload, logs, worktree warm),
|
|
8723
|
+
the end of its last native build, the start, progress or end of a Metro
|
|
8724
|
+
bundle or manifest request, or an HMR update, in metro.ndjson, an agent-device command in the workspace's
|
|
8725
|
+
agent-device sessions, and an open stim-server live view of its device.
|
|
8726
|
+
Device and system log lines, in-app console logs, dev server output,
|
|
8727
|
+
collector writes and maintenance's own records never count, and an app that
|
|
8728
|
+
only stays connected does not either. The stop is stim stop's: the dev
|
|
8729
|
+
server stops, the owned devices shut down through centralized teardown
|
|
8730
|
+
(never deleted), and the port is released; device leases stay. A build, a
|
|
8731
|
+
held native-run or metro-start lock, a build lock or slot, a running macOS
|
|
8732
|
+
app, a hosted or remote session, an unexpired device lease, a managed tunnel
|
|
8733
|
+
or remote lock, a running owned Chrome, a device driver other than
|
|
8734
|
+
agent-device, a live agent-device claim with no session activity to judge,
|
|
8735
|
+
device activity, an emulator list or an emulator's AVD name that cannot be read keeps
|
|
8736
|
+
the workspace;
|
|
8737
|
+
the check decides again under the native-run and metro-start locks. Each stop
|
|
8738
|
+
is a maintenance_action line naming the idle time (gc --delete records itself
|
|
8739
|
+
as the requester), each workspace kept past the window a maintenance_skip line
|
|
8740
|
+
with the reason. The port is released, so status shows the workspace idle as
|
|
8741
|
+
after stim stop, and the supervisor_stopped line in metro.ndjson names
|
|
8742
|
+
automatic maintenance and the idle time as the requester. The next start, ios or android starts it
|
|
8743
|
+
again. An owned emulator the activity check missed keeps the workspace while
|
|
8744
|
+
adb lists it, and so does any emulator adb lists without an AVD name, such as
|
|
8745
|
+
a stale offline entry that adb kill-server clears. A dev server that may still run after its supervisor
|
|
8746
|
+
exited is kept until stim stop ends it. So is a dev server whose requests Stim
|
|
8747
|
+
does not record: an Expo project before SDK 54, which cannot load Stim's Metro config
|
|
8748
|
+
adapter, or a dev server an older Stim started, until stim stop and stim start
|
|
8749
|
+
restart it. Unlike the other actions, it can stop the workspace whose dev server
|
|
8750
|
+
supervisor or status --watch timer started the pass; a pass a command starts,
|
|
8751
|
+
gc --delete included, never stops the command's own workspace.
|
|
8752
|
+
A dev server run through metro.command is kept: Stim sees none of its
|
|
8753
|
+
bundle or HMR requests. A Metro log that cannot be read, or that rotated
|
|
8754
|
+
within the window, and agent-device sessions, a state.json or a stim-server
|
|
8755
|
+
viewer record that cannot be read or verified keep the workspace too. A STIM_HOME-scoped home never
|
|
8756
|
+
idle-stops, because its devices are machine-wide. maintenance.keep does not keep a workspace from idle
|
|
8757
|
+
stop, which deletes nothing; set maintenance.idleStopHours 0 at workspace
|
|
8758
|
+
scope instead.
|
|
8759
|
+
stim settings set maintenance.idleStopHours 1 --scope machine
|
|
8760
|
+
|
|
8692
8761
|
In on mode a pass runs, cheapest to rebuild first:
|
|
8693
8762
|
1. orphaned workspace directories whose project is gone, and registered
|
|
8694
8763
|
caches whose directory no longer exists
|
|
@@ -8733,7 +8802,8 @@ live build lock, or in a Metro store with a running or unverifiable dev
|
|
|
8733
8802
|
server. Anything the pass cannot verify is kept. A device is deleted only when
|
|
8734
8803
|
its workspace is idle: no dev server, native run, build, lease, managed lock,
|
|
8735
8804
|
driven or busy device, and no recorded use within the window. Below disk
|
|
8736
|
-
pressure level 3 a pass
|
|
8805
|
+
pressure level 3 a pass stops a dev server only by IDLE STOP above and never
|
|
8806
|
+
stops watchman; removing a
|
|
8737
8807
|
finished worktree or orphaned directory does tear down that workspace's own
|
|
8738
8808
|
dev server, owned devices and Chrome profile, as gc --delete does. ccache evicts by itself under
|
|
8739
8809
|
caches.ccacheMaxGb.
|
|
@@ -9792,8 +9862,8 @@ WORKSPACE BUILD OUTPUTS
|
|
|
9792
9862
|
1 keeps its own rules. A running, building, unverified or hosted macOS app
|
|
9793
9863
|
keeps its workspace untouched.
|
|
9794
9864
|
stim gc --delete --cache workspaces --older-than 7
|
|
9795
|
-
Last use is the newest of the lastUsedAt that start, ios, android, reload
|
|
9796
|
-
and worktree warm record in state.json, lastBuild.startedAt,
|
|
9865
|
+
Last use is the newest of the lastUsedAt that start, ios, android, reload,
|
|
9866
|
+
logs and worktree warm record in state.json, lastBuild.startedAt,
|
|
9797
9867
|
supervisor.startedAt and the mtimes under logs/, so a dev server that keeps
|
|
9798
9868
|
logging keeps its workspace in use.
|
|
9799
9869
|
A workspace with none of those was last used when its workspace.json was
|
|
@@ -10529,6 +10599,8 @@ floors below; report measures and plans and deletes nothing; off disables it.
|
|
|
10529
10599
|
STIM_HOME and CI make the mode off unless STIM_MAINTENANCE is set.
|
|
10530
10600
|
maintenance.keep is a project setting: pin a workspace so a pass never clears
|
|
10531
10601
|
its build outputs or removes its worktree.
|
|
10602
|
+
maintenance.idleStopHours takes machine or project layers, so one workspace can
|
|
10603
|
+
stop sooner, later or never.
|
|
10532
10604
|
See \`guide cleanup\` for checks, plans and log paths.
|
|
10533
10605
|
|
|
10534
10606
|
${SETTINGS.filter((setting) => setting.key.startsWith("maintenance.") || /^caches\..*MaxGb$/.test(setting.key)).map((setting) => ` ${setting.key} ${setting.env ?? "project setting"} ${setting.default === void 0 ? "unset" : `default ${setting.default}`}
|
|
@@ -10697,6 +10769,38 @@ machine a \`priority\` in its JSON:
|
|
|
10697
10769
|
A host reports its own load limit in its device offer; a stim-server older than
|
|
10698
10770
|
that does not, and this machine's \`server.maxLoadPerCore\` stands in for it.
|
|
10699
10771
|
|
|
10772
|
+
REMOTE MACHINES ON THE LOCAL NETWORK
|
|
10773
|
+
A machine on the same local network, without Tailscale, is named
|
|
10774
|
+
\`local:<host>\`: its private IPv4 address or host name, with an optional
|
|
10775
|
+
stim-server port (default 7787). On the worker, a person first chooses where
|
|
10776
|
+
stim-server listens with the machine setting \`server.lanAddresses\`, a list of
|
|
10777
|
+
network interface names or private IPv4 addresses. It defaults to [], which
|
|
10778
|
+
listens on no local network address; wildcard, loopback, public and IPv6
|
|
10779
|
+
addresses are refused, and the running server applies a change within seconds.
|
|
10780
|
+
An interface name follows the interface onto whatever private network it
|
|
10781
|
+
joins, so name the address on a machine that moves between networks, and an
|
|
10782
|
+
interface only on a worker that stays put. Then the person runs the setup
|
|
10783
|
+
command \`stim doctor --fix\` prints here:
|
|
10784
|
+
|
|
10785
|
+
stim settings set server.lanAddresses '["10.0.0.92"]' # on the worker
|
|
10786
|
+
stim settings set remote.machines '["local:10.0.0.92"]' # on this machine
|
|
10787
|
+
stim doctor --fix
|
|
10788
|
+
|
|
10789
|
+
Every connection runs Stim's Noise handshake, so plain WebSocket carries it
|
|
10790
|
+
without TLS, and the address never identifies anyone. Nothing on a local network
|
|
10791
|
+
vouches for the worker's key, so \`stim-server setup\` prints the worker's server
|
|
10792
|
+
key fingerprint and \`stim doctor --fix\`, run by a person in a terminal, shows
|
|
10793
|
+
the fingerprint the worker answered with and pins the key only after they
|
|
10794
|
+
confirm it matches. Until then the entry reports key-unconfirmed and is not
|
|
10795
|
+
used. Agents never answer that question. The printed setup command carries the
|
|
10796
|
+
ticket, which is a credential: whoever spends it first, after setup stores it,
|
|
10797
|
+
gets the approval, and on a local network that takes only the ticket and a
|
|
10798
|
+
route to the worker, not tailnet membership. Agents show it only to the user.
|
|
10799
|
+
Offloaded builds and hosted Debug and
|
|
10800
|
+
Release runs work there; agent control of hosted apps needs a tailnet machine.
|
|
10801
|
+
\`stim-server pair\` puts \`ws://<address>:<port>\` in the phone pairing code
|
|
10802
|
+
when Tailscale is not running and \`server.lanAddresses\` is set.
|
|
10803
|
+
|
|
10700
10804
|
Automatic membership is separate from approval. In Desktop Settings > Remote
|
|
10701
10805
|
Machines, use Builds enabled and Simulators enabled for this machine or a
|
|
10702
10806
|
configured remote. The equivalent machine settings list the excluded members;
|
|
@@ -11135,7 +11239,7 @@ scope, so it needs no --scope. Run it from the workspace:
|
|
|
11135
11239
|
|
|
11136
11240
|
\`stim status --json\` then reports hidden: true on that environment, and
|
|
11137
11241
|
clients that read it list the workspace under Hidden. The next start, ios,
|
|
11138
|
-
android, web, macos, reload or worktree warm in the workspace clears it, so
|
|
11242
|
+
android, web, macos, reload, logs or worktree warm in the workspace clears it, so
|
|
11139
11243
|
a workspace in use is never hidden. \`worktree remove\` drops it with the
|
|
11140
11244
|
workspace.
|
|
11141
11245
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as throwIfCancelled } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { c as call, l as connectHost } from "./hosted-client-
|
|
3
|
-
import { i as requestHostedMetro } from "./metro-request-
|
|
4
|
-
import { a as stopHostedNative, i as prepareHostedNative, r as placeHostedNative } from "./hosted-native-
|
|
2
|
+
import { c as call, l as connectHost } from "./hosted-client-CgoxdU9j.mjs";
|
|
3
|
+
import { i as requestHostedMetro } from "./metro-request-BtF7ox53.mjs";
|
|
4
|
+
import { a as stopHostedNative, i as prepareHostedNative, r as placeHostedNative } from "./hosted-native-DvZENAL-.mjs";
|
|
5
5
|
//#region src/device-host/hosted-android.ts
|
|
6
6
|
async function prepareHostedAndroid(machine, selectors, recorded, mode) {
|
|
7
7
|
return await prepareHostedNative(machine, selectors, recorded, "android", false, mode);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as throwIfCancelled, o as cancellableSleep } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { Y as diagnoseConnectFailure,
|
|
3
|
-
import { t as BuildConnection } from "./client-
|
|
4
|
-
import { g as configuredMachines } from "./selection-
|
|
2
|
+
import { Y as diagnoseConnectFailure, st as resolveEndpoint } from "./config-AbUjIBOQ.mjs";
|
|
3
|
+
import { t as BuildConnection } from "./client-BTUH8TF1.mjs";
|
|
4
|
+
import { g as configuredMachines } from "./selection-D1ZDzHFX.mjs";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { lstatSync, readFileSync, readdirSync, readlinkSync } from "node:fs";
|
|
7
7
|
import { join } from "node:path";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { E as workspaceDir, k as workspaceLogsDir$1 } from "./workspace-state-
|
|
3
|
-
import { B as deviceSlotFileKey,
|
|
4
|
-
import { l as phaseLine } from "./command-output-
|
|
5
|
-
import { n as macosDir } from "./state-
|
|
6
|
-
import { n as androidLogGroups, r as isAndroidCrashText } from "./android-
|
|
7
|
-
import { c as readNdjsonGenerations$1, i as createNdjsonWriter } from "./ndjson-
|
|
8
|
-
import { c as call } from "./hosted-client-
|
|
2
|
+
import { E as workspaceDir, k as workspaceLogsDir$1 } from "./workspace-state-DGwkPXwq.mjs";
|
|
3
|
+
import { B as deviceSlotFileKey, it as parseMachine$1, q as validateDeviceSlot } from "./config-AbUjIBOQ.mjs";
|
|
4
|
+
import { l as phaseLine } from "./command-output-DjCsmzLZ.mjs";
|
|
5
|
+
import { n as macosDir } from "./state-C2AUjjhg.mjs";
|
|
6
|
+
import { n as androidLogGroups, r as isAndroidCrashText } from "./android-CLU_MMnb.mjs";
|
|
7
|
+
import { c as readNdjsonGenerations$1, i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
|
|
8
|
+
import { c as call } from "./hosted-client-CgoxdU9j.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, ambientWrite, withDirLockAsync } from "@stim-cli/core";
|
|
@@ -47,11 +47,20 @@ async function removeAgentAccess(file, keep) {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
async function agentAccess(file, credential, grant, note, platform = "macos") {
|
|
50
|
+
const machine = parseMachine$1(credential.machine);
|
|
51
|
+
if (machine?.transport === "local") {
|
|
52
|
+
if (grant !== void 0) note(`Agent control of apps hosted on ${credential.machine} needs a tailnet machine; the local network does not carry it.`);
|
|
53
|
+
await removeAgentAccess(file);
|
|
54
|
+
return {
|
|
55
|
+
driver: "none",
|
|
56
|
+
setting: "hosting.agentDriver"
|
|
57
|
+
};
|
|
58
|
+
}
|
|
50
59
|
const parsed = grant === void 0 ? null : parseHostedAgentGrant(grant);
|
|
51
60
|
const issued = parsed && "token" in parsed ? parsed : null;
|
|
52
61
|
const loaded = issued ? await agentDriverClient(issued.driver) : null;
|
|
53
62
|
if (grant !== void 0 && !parsed || loaded && "unavailable" in loaded) note(`${credential.machine} offered agent control this Stim does not support.`);
|
|
54
|
-
const port =
|
|
63
|
+
const port = machine?.port ?? 443;
|
|
55
64
|
const client = loaded && "client" in loaded ? loaded.client : null;
|
|
56
65
|
const target = client ? join(dirname(file), client.configFile) : file;
|
|
57
66
|
const access = client && issued ? client.access({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { n as pullHostedNativeLogs, r as readHostedNativeLogs, t as pullHostedMacosLogs } from "./hosted-logs-
|
|
2
|
-
import { l as phaseLine } from "./command-output-
|
|
3
|
-
import { l as connectHost } from "./hosted-client-
|
|
4
|
-
import { n as readHostedIos, t as readHostedAndroid } from "./ios-state-
|
|
5
|
-
import "./hosted-macos-
|
|
1
|
+
import { n as pullHostedNativeLogs, r as readHostedNativeLogs, t as pullHostedMacosLogs } from "./hosted-logs-C-4INmkn.mjs";
|
|
2
|
+
import { l as phaseLine } from "./command-output-DjCsmzLZ.mjs";
|
|
3
|
+
import { l as connectHost } from "./hosted-client-CgoxdU9j.mjs";
|
|
4
|
+
import { n as readHostedIos, t as readHostedAndroid } from "./ios-state-Ce_dystM.mjs";
|
|
5
|
+
import "./hosted-macos-Doh85YUM.mjs";
|
|
6
6
|
import { watch } from "node:fs";
|
|
7
7
|
import { dirname, relative, resolve, sep } from "node:path";
|
|
8
8
|
import { ambientWrite, configDir } from "@stim-cli/core";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { o as cancellableSleep } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { a as agentAccess, i as closeAgentConnection, o as removeAgentAccess, t as pullHostedMacosLogs } from "./hosted-logs-
|
|
3
|
-
import { l as phaseLine } from "./command-output-
|
|
4
|
-
import { n as macosDir } from "./state-
|
|
5
|
-
import { ot as runCancellationSignal } from "./toolchain-
|
|
6
|
-
import { _ as stoppedSession, a as SESSION_TIMEOUT_MS, c as call, f as hostedSession, g as sha256, h as settle, i as RESERVE_TIMEOUT_MS, l as connectHost, o as attach, r as PREPARE_TIMEOUT_MS, s as bundleManifest, t as INSTALL_TIMEOUT_MS, u as heldNoLonger, v as unknownSession, y as upload } from "./hosted-client-
|
|
2
|
+
import { a as agentAccess, i as closeAgentConnection, o as removeAgentAccess, t as pullHostedMacosLogs } from "./hosted-logs-C-4INmkn.mjs";
|
|
3
|
+
import { l as phaseLine } from "./command-output-DjCsmzLZ.mjs";
|
|
4
|
+
import { n as macosDir } from "./state-C2AUjjhg.mjs";
|
|
5
|
+
import { ot as runCancellationSignal } from "./toolchain-CLGnEUgT.mjs";
|
|
6
|
+
import { _ as stoppedSession, a as SESSION_TIMEOUT_MS, c as call, f as hostedSession, g as sha256, h as settle, i as RESERVE_TIMEOUT_MS, l as connectHost, o as attach, r as PREPARE_TIMEOUT_MS, s as bundleManifest, t as INSTALL_TIMEOUT_MS, u as heldNoLonger, v as unknownSession, y as upload } from "./hosted-client-CgoxdU9j.mjs";
|
|
7
7
|
import { randomUUID } from "node:crypto";
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import { ambientContext, ambientWrite } from "@stim-cli/core";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { o as cancellableSleep, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { E as workspaceDir, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1 } from "./workspace-state-
|
|
3
|
-
import { a as agentAccess, i as closeAgentConnection, n as pullHostedNativeLogs, o as removeAgentAccess } from "./hosted-logs-
|
|
4
|
-
import { ot as runCancellationSignal } from "./toolchain-
|
|
5
|
-
import { _ as stoppedSession, a as SESSION_TIMEOUT_MS, c as call, f as hostedSession, g as sha256, h as settle, i as RESERVE_TIMEOUT_MS, l as connectHost, m as requireHostedAppMode, n as OFFER_TIMEOUT_MS, o as attach, r as PREPARE_TIMEOUT_MS, s as bundleManifest, t as INSTALL_TIMEOUT_MS, u as heldNoLonger, v as unknownSession, y as upload } from "./hosted-client-
|
|
6
|
-
import { a as requireHostedMetro, i as requestHostedMetro, n as closeHostedMetro } from "./metro-request-
|
|
7
|
-
import { s as writeHostedNative } from "./ios-state-
|
|
2
|
+
import { E as workspaceDir, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1 } from "./workspace-state-DGwkPXwq.mjs";
|
|
3
|
+
import { a as agentAccess, i as closeAgentConnection, n as pullHostedNativeLogs, o as removeAgentAccess } from "./hosted-logs-C-4INmkn.mjs";
|
|
4
|
+
import { ot as runCancellationSignal } from "./toolchain-CLGnEUgT.mjs";
|
|
5
|
+
import { _ as stoppedSession, a as SESSION_TIMEOUT_MS, c as call, f as hostedSession, g as sha256, h as settle, i as RESERVE_TIMEOUT_MS, l as connectHost, m as requireHostedAppMode, n as OFFER_TIMEOUT_MS, o as attach, r as PREPARE_TIMEOUT_MS, s as bundleManifest, t as INSTALL_TIMEOUT_MS, u as heldNoLonger, v as unknownSession, y as upload } from "./hosted-client-CgoxdU9j.mjs";
|
|
6
|
+
import { a as requireHostedMetro, i as requestHostedMetro, n as closeHostedMetro } from "./metro-request-BtF7ox53.mjs";
|
|
7
|
+
import { s as writeHostedNative } from "./ios-state-Ce_dystM.mjs";
|
|
8
8
|
import { randomUUID } from "node:crypto";
|
|
9
9
|
import { readFileSync } from "node:fs";
|
|
10
10
|
import { join } from "node:path";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { k as workspaceLogsDir$1, r as readWorkspaceState$1, s as updateWorkspaceStateAsync } from "./workspace-state-
|
|
2
|
-
import { V as deviceSlotKey, _ as loadConfig$1 } from "./config-
|
|
3
|
-
import { o as formatLongDuration } from "./command-output-
|
|
4
|
-
import { i as createNdjsonWriter } from "./ndjson-
|
|
5
|
-
import { B as workspaceBuildInProgress, P as collectOwnedDeviceActivity, ht as teardownOwnedIosSim, pt as teardownOwnedAvd } from "./workspaces-
|
|
1
|
+
import { k as workspaceLogsDir$1, r as readWorkspaceState$1, s as updateWorkspaceStateAsync } from "./workspace-state-DGwkPXwq.mjs";
|
|
2
|
+
import { V as deviceSlotKey, _ as loadConfig$1 } from "./config-AbUjIBOQ.mjs";
|
|
3
|
+
import { o as formatLongDuration } from "./command-output-DjCsmzLZ.mjs";
|
|
4
|
+
import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
|
|
5
|
+
import { B as workspaceBuildInProgress, P as collectOwnedDeviceActivity, ht as teardownOwnedIosSim, pt as teardownOwnedAvd } from "./workspaces-CvSYD_78.mjs";
|
|
6
6
|
import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
|
|
7
|
-
import { _ as workspaceDeviceLastUseAt } from "./activity-
|
|
8
|
-
import { d as listAllIosSims } from "./ios-
|
|
7
|
+
import { _ as workspaceDeviceLastUseAt } from "./activity-BR5oHSO5.mjs";
|
|
8
|
+
import { d as listAllIosSims } from "./ios-CoMCWfub.mjs";
|
|
9
9
|
import { join } from "node:path";
|
|
10
10
|
import { LOG_ROTATE_BYTES } from "@stim-cli/core";
|
|
11
11
|
import { DEVICE_IDLE_SHUTDOWN_KEY, DEVICE_RECLAIM_REASON, readDeviceIdleShutdowns } from "@stim-cli/core/state";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { h as shortUdid, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-
|
|
2
|
-
import { xn as schemesFromInfoPlist, yn as pickDevClientScheme } from "./ccache-
|
|
3
|
-
import { f as podAction, h as resolveDeviceType, i as deviceLabel, m as resolveConfiguration, n as buildLogFile, s as iosConfigurationSetting, t as appNameFromPath, u as isReleaseConfiguration, v as resolveRuntime } from "./support-
|
|
4
|
-
import { n as ensureWorkspaceStorageSafely } from "./native-runtime-
|
|
5
|
-
import { t as devClientScheme } from "./dev-client-
|
|
6
|
-
import { c as writeLastBuild, i as iosFacts, n as cacheDescription, o as lastBuildRecord } from "./ios-project-
|
|
7
|
-
import { d as replaceCollector, u as collectorEntry } from "./dependencies-
|
|
8
|
-
import { n as registerIos, r as runIosOperation, t as iosCommand } from "./ios-
|
|
1
|
+
import { h as shortUdid, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-DjCsmzLZ.mjs";
|
|
2
|
+
import { xn as schemesFromInfoPlist, yn as pickDevClientScheme } from "./ccache-DsDkdP72.mjs";
|
|
3
|
+
import { f as podAction, h as resolveDeviceType, i as deviceLabel, m as resolveConfiguration, n as buildLogFile, s as iosConfigurationSetting, t as appNameFromPath, u as isReleaseConfiguration, v as resolveRuntime } from "./support-BMpQIug0.mjs";
|
|
4
|
+
import { n as ensureWorkspaceStorageSafely } from "./native-runtime-DyH2gkXK.mjs";
|
|
5
|
+
import { t as devClientScheme } from "./dev-client-CROrxj1x.mjs";
|
|
6
|
+
import { c as writeLastBuild, i as iosFacts, n as cacheDescription, o as lastBuildRecord } from "./ios-project-DJYptOCh.mjs";
|
|
7
|
+
import { d as replaceCollector, u as collectorEntry } from "./dependencies-CHNqX6Pr.mjs";
|
|
8
|
+
import { n as registerIos, r as runIosOperation, t as iosCommand } from "./ios-UM_dManb.mjs";
|
|
9
9
|
export { appNameFromPath, buildLogFile, cacheDescription, collectorEntry, iosCommand as default, devClientScheme, deviceLabel, ensureWorkspaceStorageSafely, formatDuration, iosConfigurationSetting, iosFacts, isReleaseConfiguration, lastBuildRecord, phaseLine, pickDevClientScheme, podAction, registerIos, replaceCollector, resolveConfiguration, resolveDeviceType, resolveRuntime, runIosOperation, schemesFromInfoPlist, shortHash, shortUdid, writeLastBuild };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { l as WorkspaceProcessCleanupError, n as isTimeoutError, o as cancellableSleep, t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { P as formatBytes, _ as loadConfig$1 } from "./config-
|
|
2
|
+
import { P as formatBytes, _ as loadConfig$1 } from "./config-AbUjIBOQ.mjs";
|
|
3
3
|
import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
|
|
4
4
|
import { n as runOperationFileQuiet, t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
|
|
5
|
-
import { i as stimDesktopInstalledAsync, n as settingDefault, t as STIM_DESKTOP_OPEN_OPTIONS } from "./stim-desktop-
|
|
6
|
-
import { Ct as forgetCreatedDeviceAsync, Et as recordCreatedDeviceAsync, dt as isStimOwnedSim } from "./android-
|
|
7
|
-
import { n as signedTailFor } from "./apk-signed-tail-
|
|
5
|
+
import { i as stimDesktopInstalledAsync, n as settingDefault, t as STIM_DESKTOP_OPEN_OPTIONS } from "./stim-desktop-CYXLFpFS.mjs";
|
|
6
|
+
import { Ct as forgetCreatedDeviceAsync, Et as recordCreatedDeviceAsync, dt as isStimOwnedSim } from "./android-BHKgeOuq.mjs";
|
|
7
|
+
import { n as signedTailFor } from "./apk-signed-tail-B-wKoF_8.mjs";
|
|
8
8
|
import { createHash } from "node:crypto";
|
|
9
9
|
import { closeSync, existsSync, lstatSync, mkdtempSync, openSync, readSync, readdirSync, rmSync, writeFileSync } from "node:fs";
|
|
10
10
|
import { tmpdir, totalmem } from "node:os";
|