stim 1.33.0 → 1.34.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.
Files changed (121) hide show
  1. package/dist/{acquire-artifact-DTh_LxrE.mjs → acquire-artifact-B0SWoVNt.mjs} +1 -1
  2. package/dist/{act-Cur4YKtK.mjs → act-7f7wIvCQ.mjs} +10 -10
  3. package/dist/{activity-C8kBq9w0.mjs → activity-DkS-Ir6V.mjs} +1 -1
  4. package/dist/{agent-device-usage-output-BTRaK_up.mjs → agent-device-usage-output-BVdgKbfz.mjs} +3 -3
  5. package/dist/{android-D5mCdVl2.mjs → android-BU4uBX8I.mjs} +5 -5
  6. package/dist/{android-BL-QqHjc.mjs → android-D7qjT2fq.mjs} +28 -28
  7. package/dist/{android-project-BDlPnfmL.d.mts → android-project-DhO6el8N.d.mts} +1 -1
  8. package/dist/api.d.mts +1 -1
  9. package/dist/api.mjs +21 -21
  10. package/dist/{artifact-BufzdGbT.mjs → artifact-CNnTZs3R.mjs} +10 -10
  11. package/dist/{artifact-BMjubIP2.mjs → artifact-DmRtKFXW.mjs} +10 -10
  12. package/dist/{auto-placement-D7P98glJ.mjs → auto-placement-DA65VQH7.mjs} +5 -5
  13. package/dist/{browser-web-C74et-Nv.mjs → browser-web-Dn_hgKZC.mjs} +5 -5
  14. package/dist/{build-DFBGWOTc.mjs → build-D7SuVoRX.mjs} +15 -15
  15. package/dist/build-artifact-cache-D7B6seMj.mjs +174 -0
  16. package/dist/build-artifact-cache.d.mts +25 -0
  17. package/dist/build-artifact-cache.mjs +2 -0
  18. package/dist/{build-plan-T3Hi24ax.mjs → build-plan-Ct1FiA3E.mjs} +4 -4
  19. package/dist/{ccache-BXtzEL6M.mjs → ccache-ChBMXlBq.mjs} +8 -50
  20. package/dist/{cli-B2YSjc9s.mjs → cli-DjdvQG5U.mjs} +17 -17
  21. package/dist/cli.mjs +1 -1
  22. package/dist/{client-0_Mnfz0a.mjs → client-kU37gURU.mjs} +45 -8
  23. package/dist/{command-output-DWI9tGPU.mjs → command-output-DjExb_tZ.mjs} +1 -1
  24. package/dist/{dependencies-CgvBZbXD.mjs → dependencies-CZ7c8XX_.mjs} +29 -29
  25. package/dist/{dev-client-ChsHwgrn.mjs → dev-client-D3wOllNd.mjs} +2 -2
  26. package/dist/{device-B0htCt2u.mjs → device-CWPFAqs0.mjs} +8 -8
  27. package/dist/{device-DOehZpyx.mjs → device-DH5yf6TU.mjs} +6 -6
  28. package/dist/{device-android-B8TQP5AX.mjs → device-android-ChfF5I9A.mjs} +3 -3
  29. package/dist/{device-capacity-BAkETfIl.mjs → device-capacity-CHC3dKWg.mjs} +3 -3
  30. package/dist/device-host-worker.mjs +7 -7
  31. package/dist/{device-ios-DFaYFdar.mjs → device-ios-B3-Ah--R.mjs} +3 -3
  32. package/dist/{device-lease-run-DpiCnRbZ.mjs → device-lease-run-i3FNX4OE.mjs} +3 -3
  33. package/dist/{device-pool-DP4sCeCC.mjs → device-pool-EZziQ0uS.mjs} +2 -2
  34. package/dist/{device-provision-CnNOIxCF.mjs → device-provision-CfpEy-Vm.mjs} +7 -7
  35. package/dist/{doctor-9GrW5YSP.mjs → doctor-B5uEZiKp.mjs} +11 -11
  36. package/dist/{doctor-C6Xn96RS.mjs → doctor-CGBsS_68.mjs} +1 -1
  37. package/dist/{doctor-nRLBoajo.mjs → doctor-dwRboaXx.mjs} +11 -11
  38. package/dist/{doctor-watchman-CDhpC3Oh.mjs → doctor-watchman-r7M9UPi0.mjs} +2 -2
  39. package/dist/{eas-build-CpJ4h9tG.mjs → eas-build-BpHIt_M3.mjs} +2 -2
  40. package/dist/{eas-fallback-B3z5nL1g.mjs → eas-fallback-CNPcjq3K.mjs} +2 -2
  41. package/dist/{eas-session-ledger-Bspy-VJQ.mjs → eas-session-ledger-CXwagcQ7.mjs} +1 -1
  42. package/dist/{error-diagnostics-DoLGklYX.mjs → error-diagnostics-Ym2mjmJ0.mjs} +3 -3
  43. package/dist/{gc-BWoOp9q7.mjs → gc-B464w_a5.mjs} +2 -2
  44. package/dist/{gc-DolXpMSB.mjs → gc-C7YxKNci.mjs} +10 -10
  45. package/dist/{guide-CmZB0GtP.mjs → guide-BFW-cB7R.mjs} +8 -6
  46. package/dist/{hosted-android-ByG-ICuh.mjs → hosted-android-B7yfqXEy.mjs} +2 -2
  47. package/dist/{hosted-client-D19Lv0tg.mjs → hosted-client-CQuzZwAu.mjs} +2 -2
  48. package/dist/{hosted-logs-D7anR6Dk.mjs → hosted-logs-DfYCqrrR.mjs} +2 -2
  49. package/dist/{hosted-logs-sync-D182b1eJ.mjs → hosted-logs-sync-Dlpa2mQF.mjs} +4 -4
  50. package/dist/{hosted-macos-D0DDQxvl.mjs → hosted-macos-JKefapEm.mjs} +4 -4
  51. package/dist/{hosted-native-BzXIy97W.mjs → hosted-native-B7OFt5gB.mjs} +4 -4
  52. package/dist/{idle-shutdown-6i8CHoNq.mjs → idle-shutdown-DPD8oV36.mjs} +3 -3
  53. package/dist/{ios-dbXzjTxx.mjs → ios-DSBs9c6d.mjs} +21 -21
  54. package/dist/{ios-device-DXbHZfFe.mjs → ios-device-Drplrgzo.mjs} +1 -1
  55. package/dist/{ios-project-BzfLigfh.mjs → ios-project-DoTQYghg.mjs} +5 -5
  56. package/dist/{ios-AdhPKXO3.mjs → ios-sUPbWqEh.mjs} +8 -8
  57. package/dist/ios-signing-R34vbrNU.mjs +202 -0
  58. package/dist/{js-swap-EDVOJmqx.mjs → js-swap-DrokhOfo.mjs} +3 -3
  59. package/dist/{launch-CKHpthsw.mjs → launch-Cy-MWEZc.mjs} +12 -12
  60. package/dist/{lightened-Cv4ToJRX.mjs → lightened-ALwQcQtV.mjs} +2 -2
  61. package/dist/{logs-DCQ3_tGS.mjs → logs-DWT7jGpF.mjs} +3 -3
  62. package/dist/{logs-IagR9dWI.mjs → logs-DuED-01Z.mjs} +5 -5
  63. package/dist/{macos-Ch7vuM-G.mjs → macos-CtBtA_hW.mjs} +14 -14
  64. package/dist/{macos-pc0aVVbN.mjs → macos-kWGcfLzx.mjs} +1 -1
  65. package/dist/maintenance-run.mjs +3 -3
  66. package/dist/{native-android-B3CEDq4R.mjs → native-android-tISP2EVp.mjs} +10 -10
  67. package/dist/{native-gradle-artifact-inputs-BLnO2hHR.mjs → native-gradle-artifact-inputs-DVoeZkrw.mjs} +1 -1
  68. package/dist/{native-runtime-e1OU8gEN.mjs → native-runtime-CNgxeOCG.mjs} +3 -3
  69. package/dist/{native-xcode-inputs-DL3ETb8s.mjs → native-xcode-inputs-DGzkhpu4.mjs} +1 -1
  70. package/dist/{native-xcode-ios-D4e8k2Jy.mjs → native-xcode-ios-B9nsfId2.mjs} +12 -12
  71. package/dist/offload-worker.d.mts +6 -1
  72. package/dist/offload-worker.mjs +38 -13
  73. package/dist/{phone-reverses-rvyxW1Fl.mjs → phone-reverses-Bo0EzJ-P.mjs} +1 -1
  74. package/dist/{placement-log-nnGnu8mo.mjs → placement-log-BsGvKLtU.mjs} +1 -1
  75. package/dist/{plan-placement-D3JD-T-K.mjs → plan-placement-Am0IjuxB.mjs} +4 -4
  76. package/dist/{ports-CZJJfJ8Q.mjs → ports-CNzg1LYD.mjs} +1 -1
  77. package/dist/{prebuild-Bhs7TTcz.mjs → prebuild-BfJII57G.mjs} +5 -5
  78. package/dist/{project-DWEXiBA9.mjs → project-DU3jjnBE.mjs} +11 -11
  79. package/dist/{react-native-android-C6Y270GS.mjs → react-native-android-3dZiJv-4.mjs} +17 -17
  80. package/dist/{react-native-build-DaPfzf_e.mjs → react-native-build-CuvNPt-q.mjs} +4 -4
  81. package/dist/{react-native-doctor-DGMPxkPS.mjs → react-native-doctor-a35BwMUO.mjs} +4 -4
  82. package/dist/{react-native-ios-dX48_92n.mjs → react-native-ios-CqnReM1t.mjs} +13 -12
  83. package/dist/{reload-DsOByDfy.mjs → reload-CC3sNo10.mjs} +6 -6
  84. package/dist/{reload-BGwblBJ9.mjs → reload-YPnvXGlB.mjs} +1 -1
  85. package/dist/{remote-D0uJZ76R.mjs → remote-BfaIHnhM.mjs} +6 -6
  86. package/dist/{result-DuimMZKJ.mjs → result-H-AxY7Ud.mjs} +10 -10
  87. package/dist/{selection-xS50Mt0V.mjs → selection-CH-MUVGD.mjs} +1 -1
  88. package/dist/{server-command-BC0EgMfY.mjs → server-command-Bn_gOObU.mjs} +2 -2
  89. package/dist/server-expo-B59N16uT.mjs +2 -0
  90. package/dist/{server-expo-15RjL0ir.mjs → server-expo-CUJ2fuv1.mjs} +1 -1
  91. package/dist/{settings-CuP55ieT.mjs → settings-DoWHJopy.mjs} +2 -2
  92. package/dist/{settings-payload-BIGGQ3or.mjs → settings-payload-Bxw3hid5.mjs} +1 -1
  93. package/dist/{settings-write-D85j8mej.mjs → settings-write-C6d7EC54.mjs} +2 -2
  94. package/dist/{slot-launch-D4oREwhx.mjs → slot-launch-kq0-7w9C.mjs} +2 -2
  95. package/dist/{stage-DKC6tDXu.mjs → stage-CBfMTUK3.mjs} +1 -1
  96. package/dist/{start-DfPSLc__.mjs → start-Diu8q6_U.mjs} +1 -1
  97. package/dist/{start-BsEV4S-s.mjs → start-WTMumMHi.mjs} +5 -5
  98. package/dist/{stats-ByEUblPr.mjs → stats-D4cW247z.mjs} +3 -3
  99. package/dist/{status-FP1MH9qn.mjs → status-B-oeWS0Z.mjs} +1 -1
  100. package/dist/{status-C6hLlDqW.mjs → status-CEwxo-PS.mjs} +12 -12
  101. package/dist/{status-watch-D8s823CZ.mjs → status-watch-D63R5nSI.mjs} +1 -1
  102. package/dist/status-worker.mjs +1 -1
  103. package/dist/{stop-5LKfVv-0.mjs → stop-Dm9ON6Os.mjs} +2 -2
  104. package/dist/{stop-CpTy6bod.mjs → stop-HL2RvhrE.mjs} +2 -2
  105. package/dist/{stop-BVI2-L7s.mjs → stop-vX4w3_8V.mjs} +9 -9
  106. package/dist/supervisor-run.mjs +8 -8
  107. package/dist/{support-CqyWfZZI.mjs → support-BNe1_Hg7.mjs} +3 -3
  108. package/dist/{support-D8OH0z98.mjs → support-ivsfDj0v.mjs} +6 -6
  109. package/dist/{swiftpm-macos-BuhqYB3n.mjs → swiftpm-macos-ClF203_2.mjs} +2 -2
  110. package/dist/{toolchain-D_jotUG7.mjs → toolchain-CECahBDa.mjs} +1 -1
  111. package/dist/{toolchain-s5ZmG42Z.mjs → toolchain-CYonNjd_.mjs} +406 -8
  112. package/dist/{web-DwYCTFdh.mjs → web-BdaMBr2O.mjs} +3 -3
  113. package/dist/web-CIpHpGp8.mjs +2 -0
  114. package/dist/web-run.mjs +1 -1
  115. package/dist/{workspaces-B3ahAHZc.mjs → workspaces-B9v5V7Es.mjs} +2 -2
  116. package/dist/{worktree-BhsML6GV.mjs → worktree-C3N86KpI.mjs} +10 -10
  117. package/dist/{worktree-CrjsPIs2.mjs → worktree-C4MBOMz7.mjs} +1 -1
  118. package/package.json +12 -7
  119. package/dist/ios-signing-D-tSX1iF.mjs +0 -489
  120. package/dist/server-expo-gYIypb0-.mjs +0 -2
  121. package/dist/web-cCfM8kwV.mjs +0 -2
@@ -0,0 +1,2 @@
1
+ import { n as validArtifactIdentity, t as BuildArtifactCache } from "./build-artifact-cache-D7B6seMj.mjs";
2
+ export { BuildArtifactCache, validArtifactIdentity };
@@ -1,10 +1,10 @@
1
1
  import { a as trackReportResource } from "./exec-CGuDzt40.mjs";
2
- import { i as formatDuration, l as phaseLine, m as shortHash, u as plural } from "./command-output-DWI9tGPU.mjs";
2
+ import { i as formatDuration, l as phaseLine, m as shortHash, u as plural } from "./command-output-DjExb_tZ.mjs";
3
3
  import { an as makeTemporaryDirectory, sn as removeTemporaryEntryAsync } from "./settings-B5IBDfTx.mjs";
4
- import { jn as easAuthNote } from "./ccache-BXtzEL6M.mjs";
5
- import { at as readStats, q as estimateBuild } from "./workspaces-B3ahAHZc.mjs";
4
+ import { On as easAuthNote } from "./ccache-ChBMXlBq.mjs";
5
+ import { at as readStats, q as estimateBuild } from "./workspaces-B9v5V7Es.mjs";
6
6
  import { c as entryDir, t as artifactIn } from "./build-cache-Cqj4FGnX.mjs";
7
- import { l as predictBuildMiss, o as staleNativeDirRefusal } from "./prebuild-Bhs7TTcz.mjs";
7
+ import { l as predictBuildMiss, o as staleNativeDirRefusal } from "./prebuild-BfJII57G.mjs";
8
8
  import chalk from "chalk";
9
9
  import { PROVIDER_LOAD_TIMEOUT_ENV, PROVIDER_LOAD_TIMEOUT_MS, buildResolveTimeoutMs, resolveTieredBuild, timeoutFromEnv } from "@stim-cli/cache";
10
10
  //#region src/commands/build-plan.ts
@@ -1,24 +1,24 @@
1
1
  import { C as operationState, D as ownership_claim_exports, E as debugLog, S as isTermination, T as process_identity_exports, d as throwIfCancelled, f as WorkspaceProcessCleanupError, l as cancellableSleep, m as workspaceProcessLockError, n as isTimeoutError, p as withWorkspaceProcessLock, t as getExecutor, u as cancelledError } from "./exec-CGuDzt40.mjs";
2
2
  import { D as workspaceId$1, E as workspaceDir, M as withDirLock$1, b as sharedCcache$1, d as writeWorkspaceState, j as workspaceStateFile$1, k as workspaceLogsDir$1, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1, t as clearWorkspaceStateKey, y as sharedBuildCache } from "./workspace-state-BdZ-QgmB.mjs";
3
3
  import { n as stripAnsi } from "./process-output-Fpl8PYi8.mjs";
4
- import { a as formatElapsed, l as phaseLine, o as formatLongDuration, s as isAppLaunchError, u as plural } from "./command-output-DWI9tGPU.mjs";
4
+ import { a as formatElapsed, l as phaseLine, o as formatLongDuration, s as isAppLaunchError, u as plural } from "./command-output-DjExb_tZ.mjs";
5
5
  import { a as clearDevice, at as isOnMountedVolume, ct as volumeRootFor, d as getConfigDir, ft as deviceSlotPlatforms, ht as projectDeviceSlots, k as withConfigLockAsync$1, m as getProject, nt as directorySizeAsync, o as clearSupervisor, rt as formatBytes, st as measuredDirectorySizeAsync, tt as directorySize, v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
6
6
  import { a as killOnAbort, n as runOperationFileQuiet, r as childEnvironment, t as runOperationFile } from "./operation-exec-DKlBcKAL.mjs";
7
7
  import { Z as resolveProjectSettingsAsync, d as androidLayoutSetting, ft as planMetroReach, m as defaultAndroidLayout } from "./settings-B5IBDfTx.mjs";
8
- import { C as resolvePackageJson, M as readMetroTunnel, N as readPidFile, P as readRemoteSession, i as findProjectRoot$1, j as clearWorkspaceSupervisor, k as clearRemoteSession, s as ownedDeviceLabel, v as detectIsExpo } from "./project-DWEXiBA9.mjs";
8
+ import { C as resolvePackageJson, M as readMetroTunnel, N as readPidFile, P as readRemoteSession, i as findProjectRoot$1, j as clearWorkspaceSupervisor, k as clearRemoteSession, s as ownedDeviceLabel, v as detectIsExpo } from "./project-DU3jjnBE.mjs";
9
9
  import { R as listAvdsAsync, U as ownedAvdDirectory, X as parseAvdSystemImage, Y as parseAvdDeviceProfile, d as androidToolPath, ft as isStimOwnedAvd, gt as dropParked, m as avdIniPaths, o as androidHome, pt as isStimOwnedSim, q as ownedAvdSerialResolverAsync, xt as readParked, y as avdStorageRoots, z as listInstalledSystemImages } from "./android-Iq0M2t2d.mjs";
10
10
  import { a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, h as isMetroRunning, r as killMetroTreeAsync, u as processCwds } from "./metro-B5PVz0Wv.mjs";
11
11
  import { c as readNdjsonGenerations$1, i as createNdjsonWriter, r as createNdjsonTail } from "./ndjson-CrjIsGzw.mjs";
12
- import { T as formatSpace, a as removeEasSessionClaim, d as parseWatchRoots, f as parseWatchmanClients, i as recordEasSessionClaim, l as parseSubscriberNames, n as easMachineStateRoot$1, o as removeEasSessionClaimAsync, p as parseWatchmanPid, r as readEasSessionLedger$1, s as compareStimVersions, t as assertEasMachineRootWritable, u as parseTriggerCount, w as environmentState, y as capacity } from "./eas-session-ledger-Bspy-VJQ.mjs";
12
+ import { T as formatSpace, a as removeEasSessionClaim, d as parseWatchRoots, f as parseWatchmanClients, i as recordEasSessionClaim, l as parseSubscriberNames, n as easMachineStateRoot$1, o as removeEasSessionClaimAsync, p as parseWatchmanPid, r as readEasSessionLedger$1, s as compareStimVersions, t as assertEasMachineRootWritable, u as parseTriggerCount, w as environmentState, y as capacity } from "./eas-session-ledger-CXwagcQ7.mjs";
13
13
  import { i as registeredCaches, r as register } from "./cache-manifest-8JX9S1QJ.mjs";
14
- import { At as mapLimited, B as workspaceBuildInProgress, Dt as createGcResults, Et as GC_OUTPUT, F as collectOwnedDeviceActivityAsync, L as idleShutdownCandidates, Mt as sizeConcurrency, N as collectIdleDevicesAsync, _t as teardownParkedIosSim, bt as measureDu, dt as eraseParkedIosSim, gt as teardownParkedAvd, ht as teardownOwnedIosSim, i as clearWorkspaceOutputs, l as keptByLock, o as collectWorkspaceOutputs, pt as teardownOwnedAvd, ut as eraseParkedAvd, v as withIdleWorkspace, vt as probePublicHttp, wt as listBuildSlots, x as resolveSupervisorTarget, xt as writeUsageCache, yt as canonical$1, z as shutDownIdleDevices } from "./workspaces-B3ahAHZc.mjs";
14
+ import { At as mapLimited, B as workspaceBuildInProgress, Dt as createGcResults, Et as GC_OUTPUT, F as collectOwnedDeviceActivityAsync, L as idleShutdownCandidates, Mt as sizeConcurrency, N as collectIdleDevicesAsync, _t as teardownParkedIosSim, bt as measureDu, dt as eraseParkedIosSim, gt as teardownParkedAvd, ht as teardownOwnedIosSim, i as clearWorkspaceOutputs, l as keptByLock, o as collectWorkspaceOutputs, pt as teardownOwnedAvd, ut as eraseParkedAvd, v as withIdleWorkspace, vt as probePublicHttp, wt as listBuildSlots, x as resolveSupervisorTarget, xt as writeUsageCache, yt as canonical$1, z as shutDownIdleDevices } from "./workspaces-B9v5V7Es.mjs";
15
15
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
16
- import { it as nativeRunWaitNotice, st as runCancellationSignal, ut as claimForEmptying } from "./toolchain-s5ZmG42Z.mjs";
17
- import { N as listBuildLocks, b as leaseIsExpired, g as workspaceActivity, o as envDir, p as readHostProcessTableAsync, x as listLeaseFiles } from "./activity-C8kBq9w0.mjs";
16
+ import { $ as readBundleSchemes, Z as approvableSchemes, _t as runCancellationSignal, bt as claimForEmptying, mt as nativeRunWaitNotice } from "./toolchain-CYonNjd_.mjs";
17
+ import { N as listBuildLocks, b as leaseIsExpired, g as workspaceActivity, o as envDir, p as readHostProcessTableAsync, x as listLeaseFiles } from "./activity-DkS-Ir6V.mjs";
18
18
  import { u as expoConfigContents } from "./build-cache-Cqj4FGnX.mjs";
19
19
  import { G as deviceHoldsBundle, O as sanitizeDeviceLabel, W as deviceHoldsApk, b as parseSimctlList, f as listAllIosSimsAsync, g as listUserApps, j as uninstallIosApp, p as listIosDeviceTypesAsync, u as iosSimulatorFailureAdvice, y as parseRuntimeVersion } from "./ios-BdZdNsAj.mjs";
20
20
  import { n as supervisorError } from "./errors-DHm_U5gv.mjs";
21
- import { c as findBinUpward, n as expoBinFromPackage, r as expoBinPath, s as expoTelemetryEnv } from "./server-expo-15RjL0ir.mjs";
21
+ import { c as findBinUpward, n as expoBinFromPackage, r as expoBinPath, s as expoTelemetryEnv } from "./server-expo-CUJ2fuv1.mjs";
22
22
  import { t as DEV_MENU_LAUNCH_ARGS } from "./ios-device-DLdEDWJj.mjs";
23
23
  import { t as resolveMaintenanceSettings } from "./settings-D9LtQaUw.mjs";
24
24
  import { createRequire } from "node:module";
@@ -2761,48 +2761,6 @@ async function readRemoteSimulatorArch(daemon, { fetch: fetchImpl = fetch, timeo
2761
2761
  }
2762
2762
  }
2763
2763
  //#endregion
2764
- //#region src/engine/app-schemes.ts
2765
- function schemesFromInfoPlist(plist) {
2766
- const types = plist?.CFBundleURLTypes;
2767
- if (!Array.isArray(types)) return [];
2768
- const out = [];
2769
- for (const type of types) {
2770
- const schemes = type?.CFBundleURLSchemes;
2771
- if (Array.isArray(schemes)) out.push(...schemes.filter((s) => typeof s === "string" && s.trim() !== ""));
2772
- }
2773
- return out;
2774
- }
2775
- function readBundleSchemes(appPath, { exec = null } = {}) {
2776
- if (typeof appPath !== "string" || appPath.trim() === "") return [];
2777
- const e = exec || getExecutor();
2778
- let out;
2779
- try {
2780
- out = e.runFile("plutil", [
2781
- "-convert",
2782
- "json",
2783
- "-o",
2784
- "-",
2785
- join(appPath, "Info.plist")
2786
- ], { timeoutMs: 1e4 });
2787
- } catch {
2788
- return [];
2789
- }
2790
- try {
2791
- return schemesFromInfoPlist(JSON.parse(String(out)));
2792
- } catch {
2793
- return [];
2794
- }
2795
- }
2796
- const THIRD_PARTY_SCHEME = /^(?:fb\d+|com\.googleusercontent\.apps\.|msauth\.|msauthv2|twitterkit-|db-[a-z0-9]+$|spotify|snapchat|com\.facebook)/i;
2797
- function approvableSchemes(schemes) {
2798
- return (Array.isArray(schemes) ? schemes : []).filter((s) => typeof s === "string" && s.trim() !== "").map((s) => s.trim()).filter((s) => !/^(?:https?|mailto|tel|sms|itms(?:-apps)?)$/i.test(s) && !THIRD_PARTY_SCHEME.test(s));
2799
- }
2800
- function pickDevClientScheme(schemes) {
2801
- const all = approvableSchemes(schemes);
2802
- const expo = all.filter((s) => s.startsWith("exp+"));
2803
- return (expo.length ? expo : all).toSorted((a, b) => b.length - a.length)[0] ?? null;
2804
- }
2805
- //#endregion
2806
2764
  //#region src/engine/app-install.ts
2807
2765
  const INSTALL_ERROR = "STIM_INSTALL_FAILED";
2808
2766
  const LAUNCH_ERROR = "STIM_LAUNCH_FAILED";
@@ -8515,4 +8473,4 @@ function resolveCcache({ root, layout = defaultAndroidLayout(root), dir = shared
8515
8473
  };
8516
8474
  }
8517
8475
  //#endregion
8518
- export { gradleVersionLines as $, memoryCacheKind as $n, INSTALL_ERROR as $t, diskPressureLevel as A, checkEasAuth as An, ensureRemoteBootOwned as At, includesArchives as B, bundleInvocation as Bn, RELEASE_VERIFY_WAIT_MS as Bt, devServerStopLevel as C, gateMetroOrigin as Cn, describeError as Ct, requestDevServerStop as D, RESOLVE_TIMEOUT_MS as Dn, bundleEntryPoint as Dt, metroLastStop as E, runProcessOperation as En, binOnPath as Et, gcOptionsOf as F, providerFromConfig as Fn, withEasProjectLock as Ft, planCacheEmptying as G, easCliSupport as Gn, unattributedLaunchLines as Gt, includesRecordings as H, remoteCommand as Hn, isBundleProof as Ht, maintenanceItem as I, readProjectConfig as In, LAUNCH_BUNDLING as It, selectsBeyondCaches as J, parseArchiveSelector as Jn, verifyLaunch as Jt, previewScopedEmptying as K, easCliUpgradeRemedy as Kn, unverifiedLaunchLines as Kt, openGcLog as L, resolveEasCliBin as Ln, LAUNCH_FATAL as Lt, levelStillShort as M, isEasAuthFailureText as Mn, remoteAndroidDeps as Mt, lowestFree as N, loadProjectProvider as Nn, remoteIosDeps as Nt, vanishedSupervisorMessage as O, UPLOAD_TIMEOUT_MS as On, endRecordedSession as Ot, protectWindowMs as P, ownerFromConfig as Pn, resolveRemoteContext as Pt, deleteGradleVersions as Q, inspectWatchmanMemory as Qn, DEFAULT_METRO_PORT as Qt, maintenanceLogger as R, resolveRemote as Rn, LAUNCH_UNVERIFIED as Rt, describeMetroLastStop as S, readRemoteSimulatorArch as Sn, deleteEasSessions as St, logVanishedSupervisor as T, processContext as Tn, REMOTE_SESSION_ERROR as Tt, includesWorkspaceOutputs as U, MIN_EAS_CLI_DEVICE_VERSION as Un, readCollectorRecords as Ut, includesParkedDevices as V, remoteCliInvocation as Vn, VERIFY_TIMEOUT_MS as Vt, isWorkspacesScope as W, MIN_EAS_CLI_SIMULATOR_VERSION as Wn, readMetroRecords as Wt, collectGradleVersions as X, WATCHMAN_KIND as Xn, APP_READINESS_TIMEOUT_MS as Xt, trimCaches as Y, GRADLE_DAEMONS_KIND as Yn, verifyReleaseLaunch as Yt, deleteGradleVersion as Z, collectMemoryReport as Zn, ADB_INSTALL_TIMEOUT_MS as Zt, resolveBudget as _, reverseMetroPorts as _n, findStaleDeviceRecords as _t, projectCmakeLauncher as a, devClientUrl as an, scopedMemoryReport as ar, DEVICE_LIST_TIMEOUT_MS$1 as at, stopOwnedMetroForReset as b, readBundleSchemes as bn, withAndroidAvdSizes as bt, budgetGate as c, hasMetroReverse as cn, attributeMachineUsage as cr, collectParkedSims as ct, enforceBudget as d, installIosApp as dn, pruneCache as dr, deleteProjectDevices as dt, IOS_DEV_MENU_OFF_DEFAULTS_PLIST as en, memoryLines as er, gradleVersionsPending as et, inspectBudget as f, iosAppProcess as fn, sizeCaches as fr, describeParkedSims as ft, readVolumeSpaceAsync as g, restartedAppNote as gn, findOrphanedDevices as gt, readVolumeSpace as h, launchIosApp as hn, eraseParkedDevices as ht, ccacheInstallCommand as i, clearOtherUserApps as in, reclaimMemory as ir, collectInventory as it, levelFloors as j, easAuthNote as jn, readInstalledEasCliVersionAsync as jt, withdrawDevServerStopRequest as k, cacheLevel as kn, ensureMetroReachable as kt, budgetLine as l, installAndroidApp as ln, readFootprints as lr, deleteParkedAvds as lt, peekBudget as m, launchAndroidReleaseApp as mn, deviceSweepIsScoped as mt, CCACHE_UNAVAILABLE as n, androidDevClientUrl as nn, memorySweepIsScoped as nr, waitForGradleExit as nt, readCcacheActivity as o, deviceShellArg as on, stopIdleGradleDaemons as or, collectDeviceLeases as ot, machineNumber as p, launchAndroidApp as pn, describeUnverifiableDevices as pt, selectCaches as q, ownedSessionName as qn, verifyAndroidReleaseLaunch as qt, ccacheActivityLine as r, appProcessFromPid as rn, memoryWorkPending as rr, getMachineCacheReport as rt, resolveCcache as s, ensureMetroReverse as sn, phase as sr, collectParkedAvds as st, CCACHE_NOT_RUN as t, androidAppProcess as tn, memoryScope as tr, includesGradleVersions as tt, cacheLabel as u, installConflictKind as un, discoverCaches as ur, deleteParkedSims as ut, trimmableCaches as v, writeDebugHttpHost as vn, findStaleProjectDevices as vt, devServerStopRecord as w, exitAfterFlush as wn, withRemoteSessionGcLocks as wt, describeDevServerStop as x, schemesFromInfoPlist as xn, collectEasSessionSweep as xt, stopOwnedMetro as y, pickDevClientScheme as yn, unverifiedDeviceCommand as yt, emptyCaches as z, uploadRemote as zn, MANIFEST_VERIFY_TIMEOUT_MS as zt };
8476
+ export { gradleVersionLines as $, memorySweepIsScoped as $n, INSTALL_ERROR as $t, diskPressureLevel as A, loadProjectProvider as An, ensureRemoteBootOwned as At, includesArchives as B, MIN_EAS_CLI_DEVICE_VERSION as Bn, RELEASE_VERIFY_WAIT_MS as Bt, devServerStopLevel as C, runProcessOperation as Cn, describeError as Ct, requestDevServerStop as D, checkEasAuth as Dn, bundleEntryPoint as Dt, metroLastStop as E, cacheLevel as En, binOnPath as Et, gcOptionsOf as F, resolveRemote as Fn, withEasProjectLock as Ft, planCacheEmptying as G, parseArchiveSelector as Gn, unattributedLaunchLines as Gt, includesRecordings as H, easCliSupport as Hn, isBundleProof as Ht, maintenanceItem as I, uploadRemote as In, LAUNCH_BUNDLING as It, selectsBeyondCaches as J, collectMemoryReport as Jn, verifyLaunch as Jt, previewScopedEmptying as K, GRADLE_DAEMONS_KIND as Kn, unverifiedLaunchLines as Kt, openGcLog as L, bundleInvocation as Ln, LAUNCH_FATAL as Lt, levelStillShort as M, providerFromConfig as Mn, remoteAndroidDeps as Mt, lowestFree as N, readProjectConfig as Nn, remoteIosDeps as Nt, vanishedSupervisorMessage as O, easAuthNote as On, endRecordedSession as Ot, protectWindowMs as P, resolveEasCliBin as Pn, resolveRemoteContext as Pt, deleteGradleVersions as Q, memoryScope as Qn, DEFAULT_METRO_PORT as Qt, maintenanceLogger as R, remoteCliInvocation as Rn, LAUNCH_UNVERIFIED as Rt, describeMetroLastStop as S, processContext as Sn, deleteEasSessions as St, logVanishedSupervisor as T, UPLOAD_TIMEOUT_MS as Tn, REMOTE_SESSION_ERROR as Tt, includesWorkspaceOutputs as U, easCliUpgradeRemedy as Un, readCollectorRecords as Ut, includesParkedDevices as V, MIN_EAS_CLI_SIMULATOR_VERSION as Vn, VERIFY_TIMEOUT_MS as Vt, isWorkspacesScope as W, ownedSessionName as Wn, readMetroRecords as Wt, collectGradleVersions as X, memoryCacheKind as Xn, APP_READINESS_TIMEOUT_MS as Xt, trimCaches as Y, inspectWatchmanMemory as Yn, verifyReleaseLaunch as Yt, deleteGradleVersion as Z, memoryLines as Zn, ADB_INSTALL_TIMEOUT_MS as Zt, resolveBudget as _, reverseMetroPorts as _n, findStaleDeviceRecords as _t, projectCmakeLauncher as a, devClientUrl as an, attributeMachineUsage as ar, DEVICE_LIST_TIMEOUT_MS$1 as at, stopOwnedMetroForReset as b, gateMetroOrigin as bn, withAndroidAvdSizes as bt, budgetGate as c, hasMetroReverse as cn, pruneCache as cr, collectParkedSims as ct, enforceBudget as d, installIosApp as dn, deleteProjectDevices as dt, IOS_DEV_MENU_OFF_DEFAULTS_PLIST as en, memoryWorkPending as er, gradleVersionsPending as et, inspectBudget as f, iosAppProcess as fn, describeParkedSims as ft, readVolumeSpaceAsync as g, restartedAppNote as gn, findOrphanedDevices as gt, readVolumeSpace as h, launchIosApp as hn, eraseParkedDevices as ht, ccacheInstallCommand as i, clearOtherUserApps as in, phase as ir, collectInventory as it, levelFloors as j, ownerFromConfig as jn, readInstalledEasCliVersionAsync as jt, withdrawDevServerStopRequest as k, isEasAuthFailureText as kn, ensureMetroReachable as kt, budgetLine as l, installAndroidApp as ln, sizeCaches as lr, deleteParkedAvds as lt, peekBudget as m, launchAndroidReleaseApp as mn, deviceSweepIsScoped as mt, CCACHE_UNAVAILABLE as n, androidDevClientUrl as nn, scopedMemoryReport as nr, waitForGradleExit as nt, readCcacheActivity as o, deviceShellArg as on, readFootprints as or, collectDeviceLeases as ot, machineNumber as p, launchAndroidApp as pn, describeUnverifiableDevices as pt, selectCaches as q, WATCHMAN_KIND as qn, verifyAndroidReleaseLaunch as qt, ccacheActivityLine as r, appProcessFromPid as rn, stopIdleGradleDaemons as rr, getMachineCacheReport as rt, resolveCcache as s, ensureMetroReverse as sn, discoverCaches as sr, collectParkedAvds as st, CCACHE_NOT_RUN as t, androidAppProcess as tn, reclaimMemory as tr, includesGradleVersions as tt, cacheLabel as u, installConflictKind as un, deleteParkedSims as ut, trimmableCaches as v, writeDebugHttpHost as vn, findStaleProjectDevices as vt, devServerStopRecord as w, RESOLVE_TIMEOUT_MS as wn, withRemoteSessionGcLocks as wt, describeDevServerStop as x, exitAfterFlush as xn, collectEasSessionSweep as xt, stopOwnedMetro as y, readRemoteSimulatorArch as yn, unverifiedDeviceCommand as yt, emptyCaches as z, remoteCommand as zn, MANIFEST_VERIFY_TIMEOUT_MS as zt };
@@ -5,23 +5,23 @@ import { runId, trace } from "@stim-cli/core/state";
5
5
  import { Command } from "commander";
6
6
  //#region bin/cli.ts
7
7
  const commands = /* @__PURE__ */ new Map([
8
- ["doctor", () => import("./doctor-C6Xn96RS.mjs")],
9
- ["worktree", () => import("./worktree-CrjsPIs2.mjs")],
10
- ["start", () => import("./start-DfPSLc__.mjs")],
11
- ["ports", () => import("./ports-CZJJfJ8Q.mjs")],
12
- ["stop", () => import("./stop-5LKfVv-0.mjs")],
13
- ["ios", () => import("./ios-AdhPKXO3.mjs")],
14
- ["android", () => import("./android-D5mCdVl2.mjs")],
15
- ["web", () => import("./web-cCfM8kwV.mjs")],
16
- ["macos", () => import("./macos-pc0aVVbN.mjs")],
17
- ["reload", () => import("./reload-BGwblBJ9.mjs")],
18
- ["device", () => import("./device-B0htCt2u.mjs")],
19
- ["logs", () => import("./logs-IagR9dWI.mjs")],
20
- ["settings", () => import("./settings-CuP55ieT.mjs")],
21
- ["status", () => import("./status-FP1MH9qn.mjs")],
22
- ["stats", () => import("./stats-ByEUblPr.mjs")],
23
- ["gc", () => import("./gc-BWoOp9q7.mjs")],
24
- ["guide", () => import("./guide-CmZB0GtP.mjs")]
8
+ ["doctor", () => import("./doctor-CGBsS_68.mjs")],
9
+ ["worktree", () => import("./worktree-C4MBOMz7.mjs")],
10
+ ["start", () => import("./start-Diu8q6_U.mjs")],
11
+ ["ports", () => import("./ports-CNzg1LYD.mjs")],
12
+ ["stop", () => import("./stop-Dm9ON6Os.mjs")],
13
+ ["ios", () => import("./ios-sUPbWqEh.mjs")],
14
+ ["android", () => import("./android-BU4uBX8I.mjs")],
15
+ ["web", () => import("./web-CIpHpGp8.mjs")],
16
+ ["macos", () => import("./macos-kWGcfLzx.mjs")],
17
+ ["reload", () => import("./reload-YPnvXGlB.mjs")],
18
+ ["device", () => import("./device-CWPFAqs0.mjs")],
19
+ ["logs", () => import("./logs-DuED-01Z.mjs")],
20
+ ["settings", () => import("./settings-DoWHJopy.mjs")],
21
+ ["status", () => import("./status-B-oeWS0Z.mjs")],
22
+ ["stats", () => import("./stats-D4cW247z.mjs")],
23
+ ["gc", () => import("./gc-B464w_a5.mjs")],
24
+ ["guide", () => import("./guide-BFW-cB7R.mjs")]
25
25
  ]);
26
26
  const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
27
27
  const program = new Command();
package/dist/cli.mjs CHANGED
@@ -4,6 +4,6 @@ const encode = (version) => version.split(".", 3).reduce((sum, part) => sum * 1e
4
4
  if (encode(process.versions.node) < encode("22.12.0")) {
5
5
  process.stderr.write(`STIM_NODE_UNSUPPORTED: Stim needs Node 22.12.0 or later; this is Node ${process.versions.node} at ${process.execPath}. To run Stim where a project pins an older Node, see https://stim.appandflow.com/docs/requirements#older-node-pins\n`);
6
6
  process.exitCode = 1;
7
- } else import("./cli-B2YSjc9s.mjs");
7
+ } else import("./cli-DjdvQG5U.mjs");
8
8
  //#endregion
9
9
  export {};
@@ -1,13 +1,14 @@
1
1
  import { C as operationState, E as debugLog, d as throwIfCancelled, r as reportSignal, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
2
  import { K as resolveEndpoint, V as openAuthenticated, q as sayHello, v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
3
3
  import { o as git, s as gitAsync } from "./operation-exec-DKlBcKAL.mjs";
4
- import { G as planCacheEmptying, R as maintenanceLogger, n as CCACHE_UNAVAILABLE, t as CCACHE_NOT_RUN, ur as discoverCaches, z as emptyCaches } from "./ccache-BXtzEL6M.mjs";
4
+ import { G as planCacheEmptying, R as maintenanceLogger, n as CCACHE_UNAVAILABLE, sr as discoverCaches, t as CCACHE_NOT_RUN, z as emptyCaches } from "./ccache-ChBMXlBq.mjs";
5
5
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
6
- import { A as COMPILATION_CACHE_NOT_RUN, D as readRubyVersion, S as workerToolchain, a as buildsOnlyOnWorker, b as toolchainNotes, c as iosToolchainAsync, j as COMPILATION_CACHE_UNAVAILABLE, o as cocoapodsDifference, st as runCancellationSignal, y as toolchainMismatches } from "./toolchain-s5ZmG42Z.mjs";
6
+ import { A as COMPILATION_CACHE_NOT_RUN, D as readRubyVersion, S as workerToolchain, _t as runCancellationSignal, a as buildsOnlyOnWorker, b as toolchainNotes, c as iosToolchainAsync, j as COMPILATION_CACHE_UNAVAILABLE, o as cocoapodsDifference, y as toolchainMismatches } from "./toolchain-CYonNjd_.mjs";
7
7
  import { t as resolveMaintenanceSettings } from "./settings-D9LtQaUw.mjs";
8
- import { f as workerFailureReason, m as pairedMachines, o as namedBuildMachine, t as OffloadRefusal } from "./selection-xS50Mt0V.mjs";
8
+ import { f as workerFailureReason, m as pairedMachines, o as namedBuildMachine, t as OffloadRefusal } from "./selection-CH-MUVGD.mjs";
9
9
  import { n as fingerprintNativeInputs, r as manifestDigest } from "./native-inputs-TRTTTRxt.mjs";
10
10
  import { a as sourceManifest, i as nativeTransferManifest, n as gitVisiblePaths, r as nativeFileDigest, t as checkNativeTransferMembership } from "./native-source-ChAGj7R1.mjs";
11
+ import { t as BuildArtifactCache } from "./build-artifact-cache-D7B6seMj.mjs";
11
12
  import { createHash, webcrypto } from "node:crypto";
12
13
  import { closeSync, existsSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, realpathSync, rmSync, writeSync } from "node:fs";
13
14
  import { isDeepStrictEqual } from "node:util";
@@ -16,7 +17,7 @@ import { ambientContext, dependencyLockfile, reactNativeArtifactIdentity, reactN
16
17
  import { automaticMachineEnabled, isJsonObject, maintenanceDir, mayRunHere, placementWord, requireAutomaticMachine, runId, saturation } from "@stim-cli/core/state";
17
18
  import { setTimeout as setTimeout$1 } from "node:timers/promises";
18
19
  import { WebSocket } from "ws";
19
- import { access, lstat, readFile, readlink, realpath } from "node:fs/promises";
20
+ import { access, lstat, readFile, readlink, realpath, rename, rm } from "node:fs/promises";
20
21
  //#region src/cache/compilation-cache-corruption.ts
21
22
  const COMPILATION_CACHE_CORRUPT = "STIM_COMPILATION_CACHE_CORRUPT";
22
23
  async function emptyCompilationCache(dir) {
@@ -368,6 +369,38 @@ function reactNativeArtifactReceipt(query, toolchain) {
368
369
  receipt
369
370
  };
370
371
  }
372
+ /**
373
+ * The development app stim-server retained for `query`, placed at `out/app.tgz` and unpacked beside it as a build
374
+ * leaves it, when the client allows a reused artifact and `query` carries a fingerprint other than the one the client
375
+ * looked up; null otherwise or on a miss.
376
+ */
377
+ async function reusedReactNativeArtifact(job, query, out, signal) {
378
+ if (!job.reuseArtifact || !job.artifactCache || query.fingerprint === job.expectedFingerprint) return null;
379
+ const cache = new BuildArtifactCache(job.artifactCache);
380
+ const cached = await cache.lookupReactNative(query, signal);
381
+ if (!cached) return null;
382
+ await rm(out, {
383
+ recursive: true,
384
+ force: true
385
+ });
386
+ const fetched = await cache.fetch(cached, out, signal);
387
+ if (!fetched) return null;
388
+ const archive = join(out, "app.tgz");
389
+ await rename(fetched.path, archive);
390
+ await getExecutor().runFileAsync("tar", [
391
+ "-xf",
392
+ archive,
393
+ "-C",
394
+ out
395
+ ], { timeoutMs: 6e5 });
396
+ const { name, size, sha256 } = fetched.artifact;
397
+ return {
398
+ path: archive,
399
+ name,
400
+ size,
401
+ sha256
402
+ };
403
+ }
371
404
  //#endregion
372
405
  //#region src/offload/client.ts
373
406
  const CONNECT_TIMEOUT_MS = 1e4;
@@ -1077,7 +1110,11 @@ function leavesPodsToWorker(choice, request) {
1077
1110
  return request.platform === "ios" && !request.native && target.platform === "ios" && buildsOnlyOnWorker(target.local);
1078
1111
  }
1079
1112
  function startPods(choice, request) {
1080
- return leavesPodsToWorker(choice, request) ? { podsOnWorker: true } : {};
1113
+ if (request.platform !== "ios" || !leavesPodsToWorker(choice, request)) return {};
1114
+ return {
1115
+ podsOnWorker: true,
1116
+ ...request.reuseArtifact === true && choice.connection.supports("build-reuse-artifact") ? { reuseArtifact: true } : {}
1117
+ };
1081
1118
  }
1082
1119
  /**
1083
1120
  * The fingerprint the machine built under after its own pod install, when it differs from the requested one; null
@@ -1641,7 +1678,6 @@ async function offloadBuild(input) {
1641
1678
  keepStaging = true;
1642
1679
  return {
1643
1680
  ok: true,
1644
- ...cacheHit ? { cacheHit: true } : {},
1645
1681
  ...rebuilt ? { builtFingerprint: rebuilt } : {},
1646
1682
  machine,
1647
1683
  artifactPath,
@@ -1650,7 +1686,7 @@ async function offloadBuild(input) {
1650
1686
  token: declared.handoff,
1651
1687
  sha256: digest
1652
1688
  } } : {},
1653
- ...offloadCacheActivity(request.platform, result.compilationCache, cacheHit),
1689
+ ...offloadCacheActivity(request.platform, result.compilationCache, cacheHit || result.reused === true),
1654
1690
  ...native?.provider === "gradle" ? { androidPackage: result.androidPackage } : {},
1655
1691
  timings: {
1656
1692
  offerMs: choice.offerMs,
@@ -1677,6 +1713,7 @@ async function offloadBuild(input) {
1677
1713
  }
1678
1714
  function offloadCacheActivity(platform, activity, cacheHit) {
1679
1715
  if (cacheHit) return {
1716
+ cacheHit: true,
1680
1717
  compilationCache: COMPILATION_CACHE_NOT_RUN,
1681
1718
  ccache: CCACHE_NOT_RUN
1682
1719
  };
@@ -1823,4 +1860,4 @@ function offloadCheck(projectRoot, targets) {
1823
1860
  };
1824
1861
  }
1825
1862
  //#endregion
1826
- export { COMPILATION_CACHE_CORRUPT as C, setRemoteLogSink as S, nativeGradleLocalSourceDigest as _, nativeTransferRefusal as a, validateGradleManifest as b, offloadPlacement as c, simulatorRuntime as d, reactNativeArtifactReceipt as f, gradleStateDirectories as g, gradleOffloadInputs as h, closeOffload as i, placementLoad as l, reactNativeBuildQuery as m, buildPlacementCandidates as n, offloadBuild as o, reactNativeArtifactToolchain as p, chooseBuildMachine as r, offloadCheck as s, BuildConnection as t, remotePhaseText as u, nativeGradleOutputs as v, clearCorruptCompilationCache as w, verifyGradleTransfer as x, nativeGradleTransfer as y };
1863
+ export { setRemoteLogSink as C, verifyGradleTransfer as S, clearCorruptCompilationCache as T, gradleStateDirectories as _, nativeTransferRefusal as a, nativeGradleTransfer as b, offloadPlacement as c, simulatorRuntime as d, reactNativeArtifactReceipt as f, gradleOffloadInputs as g, reusedReactNativeArtifact as h, closeOffload as i, placementLoad as l, reactNativeBuildQuery as m, buildPlacementCandidates as n, offloadBuild as o, reactNativeArtifactToolchain as p, chooseBuildMachine as r, offloadCheck as s, BuildConnection as t, remotePhaseText as u, nativeGradleLocalSourceDigest as v, COMPILATION_CACHE_CORRUPT as w, validateGradleManifest as x, nativeGradleOutputs as y };
@@ -1,5 +1,5 @@
1
1
  import { n as stripAnsi } from "./process-output-Fpl8PYi8.mjs";
2
- import { t as NO_PROJECT_REFUSAL } from "./project-DWEXiBA9.mjs";
2
+ import { t as NO_PROJECT_REFUSAL } from "./project-DU3jjnBE.mjs";
3
3
  import { quotedPath as quotedPath$1 } from "@stim-cli/core";
4
4
  import chalk from "chalk";
5
5
  //#region src/diagnostics/launch-error-preview.ts
@@ -1,44 +1,44 @@
1
1
  import { l as cancellableSleep, t as getExecutor, w as withDrainingCancellation } from "./exec-CGuDzt40.mjs";
2
2
  import { f as writeWorkspaceStateAsync, k as workspaceLogsDir, r as readWorkspaceState } from "./workspace-state-BdZ-QgmB.mjs";
3
- import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-DWI9tGPU.mjs";
3
+ import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-DjExb_tZ.mjs";
4
4
  import { D as upsertProject, dt as deviceSlotKey, k as withConfigLockAsync, m as getProject, u as getConcurrencyLimits, ut as deviceSlotFileKey, y as recordIosSchemeApprovals } from "./config-BW0fAtoK.mjs";
5
5
  import { J as resolveCacheProviderConfig, Q as resolveSettings, St as gitCommonDirAsync, Vt as repoRootAsync, an as makeTemporaryDirectory, at as settingsLayers, dt as detectProviders, nt as settingOriginScope, on as removeTemporaryEntry } from "./settings-B5IBDfTx.mjs";
6
- import { L as workspaceDevServerMode, f as projectRegistry, i as findProjectRoot, v as detectIsExpo, z as writeWorkspaceLaunchAsync } from "./project-DWEXiBA9.mjs";
6
+ import { L as workspaceDevServerMode, f as projectRegistry, i as findProjectRoot, v as detectIsExpo, z as writeWorkspaceLaunchAsync } from "./project-DU3jjnBE.mjs";
7
7
  import { o as workspaceLinks } from "./stim-desktop-_WTria-r.mjs";
8
8
  import { c as pidExists, d as resolveProjectMetro, f as signalProcessTree } from "./metro-B5PVz0Wv.mjs";
9
9
  import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
10
- import { An as checkEasAuth, At as ensureRemoteBootOwned, Bt as RELEASE_VERIFY_WAIT_MS, Cn as gateMetroOrigin, Dt as bundleEntryPoint, Gt as unattributedLaunchLines, Ht as isBundleProof, It as LAUNCH_BUNDLING, Jt as verifyLaunch, Kt as unverifiedLaunchLines, Ln as resolveEasCliBin, Lt as LAUNCH_FATAL, Nn as loadProjectProvider, Nt as remoteIosDeps, Pt as resolveRemoteContext, Rn as resolveRemote, Rt as LAUNCH_UNVERIFIED, Sn as readRemoteSimulatorArch, Ut as readCollectorRecords, Wt as readMetroRecords, Yt as verifyReleaseLaunch, an as devClientUrl, c as budgetGate, dn as installIosApp, en as IOS_DEV_MENU_OFF_DEFAULTS_PLIST, fn as iosAppProcess, gn as restartedAppNote, hn as launchIosApp, in as clearOtherUserApps, kt as ensureMetroReachable, zn as uploadRemote } from "./ccache-BXtzEL6M.mjs";
11
- import { St as acquireBuildSlot, Tt as releaseBuildSlot, ct as recordRunStats, it as readRunEstimates, ot as recordCapacityRefusal } from "./workspaces-B3ahAHZc.mjs";
12
- import { E as readPodState, H as readBundleId, T as podsAreStale, U as resolveScheme, V as readBundleExecutable, c as iosToolchainAsync, k as runPodInstall } from "./toolchain-s5ZmG42Z.mjs";
13
- import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-C8kBq9w0.mjs";
10
+ import { An as loadProjectProvider, At as ensureRemoteBootOwned, Bt as RELEASE_VERIFY_WAIT_MS, Dn as checkEasAuth, Dt as bundleEntryPoint, Fn as resolveRemote, Gt as unattributedLaunchLines, Ht as isBundleProof, In as uploadRemote, It as LAUNCH_BUNDLING, Jt as verifyLaunch, Kt as unverifiedLaunchLines, Lt as LAUNCH_FATAL, Nt as remoteIosDeps, Pn as resolveEasCliBin, Pt as resolveRemoteContext, Rt as LAUNCH_UNVERIFIED, Ut as readCollectorRecords, Wt as readMetroRecords, Yt as verifyReleaseLaunch, an as devClientUrl, bn as gateMetroOrigin, c as budgetGate, dn as installIosApp, en as IOS_DEV_MENU_OFF_DEFAULTS_PLIST, fn as iosAppProcess, gn as restartedAppNote, hn as launchIosApp, in as clearOtherUserApps, kt as ensureMetroReachable, yn as readRemoteSimulatorArch } from "./ccache-ChBMXlBq.mjs";
11
+ import { St as acquireBuildSlot, Tt as releaseBuildSlot, ct as recordRunStats, it as readRunEstimates, ot as recordCapacityRefusal } from "./workspaces-B9v5V7Es.mjs";
12
+ import { E as readPodState, H as readBundleId, T as podsAreStale, U as resolveScheme, V as readBundleExecutable, c as iosToolchainAsync, k as runPodInstall } from "./toolchain-CYonNjd_.mjs";
13
+ import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-DkS-Ir6V.mjs";
14
14
  import { T as storeBuild, h as fingerprintProject, j as untrackedNativeFiles, l as evictBuild, w as resolveBuild } from "./build-cache-Cqj4FGnX.mjs";
15
15
  import { d as listAllIosSims, h as listIosRuntimesAsync, r as clearIosAppData } from "./ios-BdZdNsAj.mjs";
16
16
  import { n as readHostedIos, o as writeHostedIosAsync } from "./ios-state-CWsBysyN.mjs";
17
- import { n as hostedMetroPortProbe } from "./hosted-native-BzXIy97W.mjs";
18
- import { i as prepareHostedIos, r as placeHostedIos } from "./phone-reverses-rvyxW1Fl.mjs";
17
+ import { n as hostedMetroPortProbe } from "./hosted-native-B7OFt5gB.mjs";
18
+ import { i as prepareHostedIos, r as placeHostedIos } from "./phone-reverses-Bo0EzJ-P.mjs";
19
19
  import { n as verifyCollectorOwnership } from "./ownership-hC7xvvxF.mjs";
20
- import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-D4oREwhx.mjs";
21
- import { a as discoverXcodeProject, r as buildIos } from "./react-native-build-DaPfzf_e.mjs";
22
- import { c as startDevServer, g as detectBundleId } from "./start-BsEV4S-s.mjs";
20
+ import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-kq0-7w9C.mjs";
21
+ import { a as discoverXcodeProject, r as buildIos } from "./react-native-build-CuvNPt-q.mjs";
22
+ import { c as startDevServer, g as detectBundleId } from "./start-WTMumMHi.mjs";
23
23
  import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
24
- import { a as acquireRunLease, c as lostRefusal, d as runLease, s as lostLine, t as DEBUG_VERIFY_STEP_MS, u as releaseLeaseOnAbort } from "./device-lease-run-DpiCnRbZ.mjs";
25
- import { r as checkDeviceCapacity } from "./device-capacity-BAkETfIl.mjs";
26
- import { n as clearIosAdoptionPending } from "./device-ios-DFaYFdar.mjs";
27
- import { i as deviceLabel, o as deviceShortName, t as appNameFromPath } from "./support-D8OH0z98.mjs";
28
- import { a as sealAppForDevice, r as gateProfileForDevice } from "./ios-signing-D-tSX1iF.mjs";
29
- import { a as resolveEasDevelopmentBuild } from "./eas-build-CpJ4h9tG.mjs";
30
- import { c as isWirelessIosDevice, i as iosDeviceProcess, l as listIosDevices, n as installIosDeviceApp, p as verifyIosDeviceReleaseLaunch, r as iosDeviceBounds, t as awaitIosDeviceLaunch, u as localNetworkPending } from "./ios-device-DXbHZfFe.mjs";
31
- import { a as captureNativeCrashes, c as simulatorConsolePaths, i as bundleBindFailure, n as IOS_CRASH_REPORT_RETRY, s as printNativeCrashReport, t as errorDiagnostics } from "./error-diagnostics-DoLGklYX.mjs";
32
- import { t as followHostedLaunchLogs } from "./hosted-logs-sync-D182b1eJ.mjs";
33
- import { a as runPrebuild, d as memoizedFingerprint, n as planPrebuildAsync } from "./prebuild-Bhs7TTcz.mjs";
34
- import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-e1OU8gEN.mjs";
35
- import { n as devClientTakesDevMenuParams, r as hasDevClient, t as devClientScheme } from "./dev-client-ChsHwgrn.mjs";
36
- import { t as automaticDevicePlacement } from "./auto-placement-D7P98glJ.mjs";
37
- import { t as checkEasFallback } from "./eas-fallback-B3z5nL1g.mjs";
38
- import { i as warmMetro, n as ensureBooted, r as ensureOwnedDevice } from "./device-DOehZpyx.mjs";
39
- import { t as selectFromPool } from "./device-pool-DP4sCeCC.mjs";
40
- import { s as reportIosResult } from "./ios-project-BzfLigfh.mjs";
41
- import { i as swapJsBundle } from "./js-swap-EDVOJmqx.mjs";
24
+ import { a as acquireRunLease, c as lostRefusal, d as runLease, s as lostLine, t as DEBUG_VERIFY_STEP_MS, u as releaseLeaseOnAbort } from "./device-lease-run-i3FNX4OE.mjs";
25
+ import { r as checkDeviceCapacity } from "./device-capacity-CHC3dKWg.mjs";
26
+ import { n as clearIosAdoptionPending } from "./device-ios-B3-Ah--R.mjs";
27
+ import { i as deviceLabel, o as deviceShortName, t as appNameFromPath } from "./support-ivsfDj0v.mjs";
28
+ import { a as sealAppForDevice, r as gateProfileForDevice } from "./ios-signing-R34vbrNU.mjs";
29
+ import { a as resolveEasDevelopmentBuild } from "./eas-build-BpHIt_M3.mjs";
30
+ import { c as isWirelessIosDevice, i as iosDeviceProcess, l as listIosDevices, n as installIosDeviceApp, p as verifyIosDeviceReleaseLaunch, r as iosDeviceBounds, t as awaitIosDeviceLaunch, u as localNetworkPending } from "./ios-device-Drplrgzo.mjs";
31
+ import { a as captureNativeCrashes, c as simulatorConsolePaths, i as bundleBindFailure, n as IOS_CRASH_REPORT_RETRY, s as printNativeCrashReport, t as errorDiagnostics } from "./error-diagnostics-Ym2mjmJ0.mjs";
32
+ import { t as followHostedLaunchLogs } from "./hosted-logs-sync-Dlpa2mQF.mjs";
33
+ import { a as runPrebuild, d as memoizedFingerprint, n as planPrebuildAsync } from "./prebuild-BfJII57G.mjs";
34
+ import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-CNgxeOCG.mjs";
35
+ import { n as devClientTakesDevMenuParams, r as hasDevClient, t as devClientScheme } from "./dev-client-D3wOllNd.mjs";
36
+ import { t as automaticDevicePlacement } from "./auto-placement-DA65VQH7.mjs";
37
+ import { t as checkEasFallback } from "./eas-fallback-CNPcjq3K.mjs";
38
+ import { i as warmMetro, n as ensureBooted, r as ensureOwnedDevice } from "./device-DH5yf6TU.mjs";
39
+ import { t as selectFromPool } from "./device-pool-EZziQ0uS.mjs";
40
+ import { s as reportIosResult } from "./ios-project-DoTQYghg.mjs";
41
+ import { i as swapJsBundle } from "./js-swap-DrokhOfo.mjs";
42
42
  import { mkdirSync, openSync, writeFileSync } from "node:fs";
43
43
  import { networkInterfaces } from "node:os";
44
44
  import { basename, join } from "node:path";
@@ -1,5 +1,5 @@
1
- import { C as resolvePackageJson, b as isPackageResolvable } from "./project-DWEXiBA9.mjs";
2
- import { bn as readBundleSchemes, yn as pickDevClientScheme } from "./ccache-BXtzEL6M.mjs";
1
+ import { C as resolvePackageJson, b as isPackageResolvable } from "./project-DU3jjnBE.mjs";
2
+ import { $ as readBundleSchemes, Q as pickDevClientScheme } from "./toolchain-CYonNjd_.mjs";
3
3
  import { dirname, join } from "node:path";
4
4
  import { isJsonObject, readJsonObject } from "@stim-cli/core/state";
5
5
  //#region src/commands/dev-client.ts
@@ -1,16 +1,16 @@
1
1
  import { t as getExecutor } from "./exec-CGuDzt40.mjs";
2
2
  import { r as readWorkspaceState$1 } from "./workspace-state-BdZ-QgmB.mjs";
3
- import { r as clockTime } from "./command-output-DWI9tGPU.mjs";
3
+ import { r as clockTime } from "./command-output-DjExb_tZ.mjs";
4
4
  import { dt as deviceSlotKey, ft as deviceSlotPlatforms, ht as projectDeviceSlots, m as getProject, mt as parseDeviceSlotOption } from "./config-BW0fAtoK.mjs";
5
- import { I as readWorkspaceLaunches, P as readRemoteSession, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL } from "./project-DWEXiBA9.mjs";
5
+ import { I as readWorkspaceLaunches, P as readRemoteSession, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL } from "./project-DU3jjnBE.mjs";
6
6
  import { $ as probeEmulatorSerial, A as getAvdNameForSerialAsync, E as emulatorProbeSession, P as listAdbDevicesAsync, Z as physicalDeviceModel, at as resolvePhysicalDevice, c as androidPoolNoCandidatesRefusal, d as androidToolPath, it as resolveOwnedAvdSerialAsync, s as androidPoolCandidates, u as androidToolCwd } from "./android-Iq0M2t2d.mjs";
7
- import { En as runProcessOperation } from "./ccache-BXtzEL6M.mjs";
8
- import { C as parseLeaseDuration, D as releaseWorkspaceLeases, j as takeLease, y as fileLeaseIo } from "./activity-C8kBq9w0.mjs";
7
+ import { Cn as runProcessOperation } from "./ccache-ChBMXlBq.mjs";
8
+ import { C as parseLeaseDuration, D as releaseWorkspaceLeases, j as takeLease, y as fileLeaseIo } from "./activity-DkS-Ir6V.mjs";
9
9
  import { D as resolveOwnedIosSim, f as listAllIosSimsAsync } from "./ios-BdZdNsAj.mjs";
10
- import { l as parseDeviceWait, p as waitForDevice } from "./device-lease-run-DpiCnRbZ.mjs";
11
- import { n as runProvision } from "./device-provision-CnNOIxCF.mjs";
12
- import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, l as listIosDevices, o as iosPoolNoCandidatesRefusal } from "./ios-device-DXbHZfFe.mjs";
13
- import { t as selectFromPool } from "./device-pool-DP4sCeCC.mjs";
10
+ import { l as parseDeviceWait, p as waitForDevice } from "./device-lease-run-i3FNX4OE.mjs";
11
+ import { n as runProvision } from "./device-provision-CfpEy-Vm.mjs";
12
+ import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, l as listIosDevices, o as iosPoolNoCandidatesRefusal } from "./ios-device-Drplrgzo.mjs";
13
+ import { t as selectFromPool } from "./device-pool-EZziQ0uS.mjs";
14
14
  import { hostedNativeRecords } from "@stim-cli/core/state";
15
15
  import chalk from "chalk";
16
16
  //#region src/commands/device-tools.ts
@@ -1,14 +1,14 @@
1
1
  import { ft as deviceSlotPlatforms } from "./config-BW0fAtoK.mjs";
2
- import { s as ownedDeviceLabel } from "./project-DWEXiBA9.mjs";
2
+ import { s as ownedDeviceLabel } from "./project-DU3jjnBE.mjs";
3
3
  import { x as configureNewOwnedAvd } from "./android-Iq0M2t2d.mjs";
4
4
  import { c as pidExists } from "./metro-B5PVz0Wv.mjs";
5
- import { pt as teardownOwnedAvd } from "./workspaces-B3ahAHZc.mjs";
6
- import { h as tailLines } from "./activity-C8kBq9w0.mjs";
5
+ import { pt as teardownOwnedAvd } from "./workspaces-B9v5V7Es.mjs";
6
+ import { h as tailLines } from "./activity-DkS-Ir6V.mjs";
7
7
  import "./ios-BdZdNsAj.mjs";
8
- import { t as clearDeviceIdleShutdown } from "./idle-shutdown-6i8CHoNq.mjs";
9
- import { i as ensureOwnedIosDevice, r as ensureIosBooted } from "./device-ios-DFaYFdar.mjs";
8
+ import { t as clearDeviceIdleShutdown } from "./idle-shutdown-DPD8oV36.mjs";
9
+ import { i as ensureOwnedIosDevice, r as ensureIosBooted } from "./device-ios-B3-Ah--R.mjs";
10
10
  import { t as reconcileSimSlim } from "./simslim-DKdJx0LL.mjs";
11
- import { n as ensureAndroidBooted, r as ensureOwnedAndroidDevice, t as ANDROID_BOOT_TIMEOUT_MS } from "./device-android-B8TQP5AX.mjs";
11
+ import { n as ensureAndroidBooted, r as ensureOwnedAndroidDevice, t as ANDROID_BOOT_TIMEOUT_MS } from "./device-android-ChfF5I9A.mjs";
12
12
  import { existsSync } from "node:fs";
13
13
  import { dirname, join, resolve, sep } from "node:path";
14
14
  import { rotatedLogPath } from "@stim-cli/core";
@@ -1,12 +1,12 @@
1
1
  import { D as ownership_claim_exports, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
- import { l as phaseLine } from "./command-output-DWI9tGPU.mjs";
2
+ import { l as phaseLine } from "./command-output-DjExb_tZ.mjs";
3
3
  import { M as acquireAvdClaim, O as withConfigLock, T as setDevice, a as clearDevice, ft as deviceSlotPlatforms, ht as projectDeviceSlots, i as clearAndroidBootPending, k as withConfigLockAsync, t as allConsolePortsAndSerials, v as loadConfig, x as releaseAndroidConsolePort } from "./config-BW0fAtoK.mjs";
4
4
  import { l as androidDataPartitionSizeGbSetting, o as androidAvdConfigSetting } from "./settings-B5IBDfTx.mjs";
5
5
  import { A as getAvdNameForSerialAsync, G as ownedAvdName, H as ownedAvdDeviceProfile, J as ownedAvdSystemImage, P as listAdbDevicesAsync, Q as pickDefaultSystemImage, R as listAvdsAsync, S as createOwnedAvd, V as nextConsolePort, W as ownedAvdMatchesConfiguration, _ as avdPoolConfiguration, b as bootAndroidEmulator, bt as parkedMaxSetting, ht as adoptParked, it as resolveOwnedAvdSerialAsync, n as OWNED_AVD_CONFIG_DEFAULTS, p as assertOwnedAvdStoppedAsync, t as DEFAULT_AVD_DEVICE_PROFILE, ut as waitForBoot, vt as isLegacyDeletionClaim, xt as readParked, z as listInstalledSystemImages } from "./android-Iq0M2t2d.mjs";
6
6
  import { c as pidExists } from "./metro-B5PVz0Wv.mjs";
7
- import { gt as teardownParkedAvd, pt as teardownOwnedAvd } from "./workspaces-B3ahAHZc.mjs";
7
+ import { gt as teardownParkedAvd, pt as teardownOwnedAvd } from "./workspaces-B9v5V7Es.mjs";
8
8
  import { B as reportMemoryCulprits, L as memoryCulpritsUnderAsync, R as readHostMemoryPressure, V as memoryCulpritAdvice, f as listAllIosSimsAsync } from "./ios-BdZdNsAj.mjs";
9
- import { _ as withDeviceBootAdmission, n as DeviceAdmissionRefusal, s as countLiveOwnedDevicesFrom } from "./device-capacity-BAkETfIl.mjs";
9
+ import { _ as withDeviceBootAdmission, n as DeviceAdmissionRefusal, s as countLiveOwnedDevicesFrom } from "./device-capacity-CHC3dKWg.mjs";
10
10
  import { claimRemoveCommand, clearClaimChild, markClaimChildPending, processGroupAlive, releaseClaim, setClaimChild } from "@stim-cli/core/ownership-claim";
11
11
  import { randomUUID } from "node:crypto";
12
12
  import { existsSync } from "node:fs";
@@ -1,12 +1,12 @@
1
1
  import { D as ownership_claim_exports, m as workspaceProcessLockError, p as withWorkspaceProcessLock } from "./exec-CGuDzt40.mjs";
2
- import { a as formatElapsed, l as phaseLine } from "./command-output-DWI9tGPU.mjs";
2
+ import { a as formatElapsed, l as phaseLine } from "./command-output-DjExb_tZ.mjs";
3
3
  import { d as getConfigDir, ft as deviceSlotPlatforms, ht as projectDeviceSlots, k as withConfigLockAsync$1, p as getPlatformDeviceLimits, u as getConcurrencyLimits, v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
4
4
  import { g as deviceReclaimIdleMinutesSetting } from "./settings-B5IBDfTx.mjs";
5
5
  import { N as listAdbDevices, P as listAdbDevicesAsync } from "./android-Iq0M2t2d.mjs";
6
- import { ot as recordCapacityRefusal, st as recordCapacityWait, v as withIdleWorkspace } from "./workspaces-B3ahAHZc.mjs";
6
+ import { ot as recordCapacityRefusal, st as recordCapacityWait, v as withIdleWorkspace } from "./workspaces-B9v5V7Es.mjs";
7
7
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
8
8
  import { d as listAllIosSims, f as listAllIosSimsAsync, l as iosRuntimeMatches, y as parseRuntimeVersion } from "./ios-BdZdNsAj.mjs";
9
- import { i as writeIdleShutdownEvent, n as dueIdleDevices, r as shutDownIdleDevices } from "./idle-shutdown-6i8CHoNq.mjs";
9
+ import { i as writeIdleShutdownEvent, n as dueIdleDevices, r as shutDownIdleDevices } from "./idle-shutdown-DPD8oV36.mjs";
10
10
  import { realpathSync } from "node:fs";
11
11
  import { basename, join } from "node:path";
12
12
  import { workspaceId } from "@stim-cli/core";
@@ -5,16 +5,16 @@ import { i as macosProcess, o as requiredMacosRecord } from "./state-DSOUqO-o.mj
5
5
  import { A as getAvdNameForSerialAsync, F as listAvdDeviceProfiles, G as ownedAvdName, J as ownedAvdSystemImage, P as listAdbDevicesAsync, Q as pickDefaultSystemImage, R as listAvdsAsync, S as createOwnedAvd, Tt as forgetCreatedDeviceAsync, a as androidDeviceAbi, b as bootAndroidEmulator, d as androidToolPath, f as assertOwnedAvdStopped, g as avdPathExists, it as resolveOwnedAvdSerialAsync, j as hostSystemImageArch, rt as resetAdoptedAvd, t as DEFAULT_AVD_DEVICE_PROFILE, ut as waitForBoot, y as avdStorageRoots, z as listInstalledSystemImages } from "./android-Iq0M2t2d.mjs";
6
6
  import { a as parsePidof, i as parseLogcatLine, t as androidClockOffset } from "./android-B2DSKg-A.mjs";
7
7
  import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
8
- import { _n as reverseMetroPorts, dn as installIosApp, fn as iosAppProcess, hn as launchIosApp, ln as installAndroidApp, mn as launchAndroidReleaseApp, pn as launchAndroidApp, tn as androidAppProcess, vn as writeDebugHttpHost } from "./ccache-BXtzEL6M.mjs";
9
- import { ht as teardownOwnedIosSim, pt as teardownOwnedAvd } from "./workspaces-B3ahAHZc.mjs";
8
+ import { _n as reverseMetroPorts, dn as installIosApp, fn as iosAppProcess, hn as launchIosApp, ln as installAndroidApp, mn as launchAndroidReleaseApp, pn as launchAndroidApp, tn as androidAppProcess, vn as writeDebugHttpHost } from "./ccache-ChBMXlBq.mjs";
9
+ import { ht as teardownOwnedIosSim, pt as teardownOwnedAvd } from "./workspaces-B9v5V7Es.mjs";
10
10
  import { E as resolveIosCreation, R as readHostMemoryPressure, T as resetIosPrivacy, a as createOwnedIosSim, d as listAllIosSims, g as listUserApps, j as uninstallIosApp, n as bootIosSim, w as resetIosKeychain } from "./ios-BdZdNsAj.mjs";
11
- import { i as stopMacosAppHeld, n as stopHostedBundleInstances } from "./stop-CpTy6bod.mjs";
11
+ import { i as stopMacosAppHeld, n as stopHostedBundleInstances } from "./stop-HL2RvhrE.mjs";
12
12
  import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
13
- import { o as countLiveOwnedDevicesByPlatform } from "./device-capacity-BAkETfIl.mjs";
14
- import { a as muteBootedSimulator } from "./device-ios-DFaYFdar.mjs";
13
+ import { o as countLiveOwnedDevicesByPlatform } from "./device-capacity-CHC3dKWg.mjs";
14
+ import { a as muteBootedSimulator } from "./device-ios-B3-Ah--R.mjs";
15
15
  import { a as systemImageInstallProblem, n as decideSystemImage, r as ensureSystemImage, t as androidImageInstallPolicy } from "./android-image-DFk26aY6.mjs";
16
- import { _ as findAapt } from "./support-CqyWfZZI.mjs";
17
- import { i as muteBootedEmulator } from "./device-android-B8TQP5AX.mjs";
16
+ import { _ as findAapt } from "./support-BNe1_Hg7.mjs";
17
+ import { i as muteBootedEmulator } from "./device-android-ChfF5I9A.mjs";
18
18
  import { t as waitForMacosRegistration } from "./registration-DKjJGQ6p.mjs";
19
19
  import { n as parseLogStreamLine } from "./ios-Qam0bT9n.mjs";
20
20
  import { createHash, randomUUID } from "node:crypto";
@@ -1,13 +1,13 @@
1
1
  import { D as ownership_claim_exports, l as cancellableSleep, n as isTimeoutError, p as withWorkspaceProcessLock, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
2
  import { D as workspaceId$1, k as workspaceLogsDir$1 } from "./workspace-state-BdZ-QgmB.mjs";
3
- import { l as phaseLine } from "./command-output-DWI9tGPU.mjs";
3
+ import { l as phaseLine } from "./command-output-DjExb_tZ.mjs";
4
4
  import { T as setDevice, a as clearDevice, d as getConfigDir, ft as deviceSlotPlatforms, ht as projectDeviceSlots, k as withConfigLockAsync$1, v as loadConfig$1, w as saveConfig } from "./config-BW0fAtoK.mjs";
5
5
  import { D as iosSimSlimProfileSetting, E as iosSimSlimDefaultSetting } from "./settings-B5IBDfTx.mjs";
6
6
  import { Ct as selectParked, bt as parkedMaxSetting, gt as dropParked, ht as adoptParked, xt as readParked } from "./android-Iq0M2t2d.mjs";
7
7
  import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
8
- import { _t as teardownParkedIosSim, ht as teardownOwnedIosSim } from "./workspaces-B3ahAHZc.mjs";
8
+ import { _t as teardownParkedIosSim, ht as teardownOwnedIosSim } from "./workspaces-B9v5V7Es.mjs";
9
9
  import { A as springBoardRunning, B as reportMemoryCulprits, C as renameIosSim, D as resolveOwnedIosSim, E as resolveIosCreation, F as hostMemoryPressureAdvice, M as waitForSpringBoard, N as configuredIosSimulatorViewer, R as readHostMemoryPressure, S as readSpringBoardPid, T as resetIosPrivacy, _ as ownedSimName, a as createOwnedIosSim, d as listAllIosSims, f as listAllIosSimsAsync, h as listIosRuntimesAsync, n as bootIosSim, p as listIosDeviceTypesAsync, u as iosSimulatorFailureAdvice, w as resetIosKeychain, y as parseRuntimeVersion } from "./ios-BdZdNsAj.mjs";
10
- import { _ as withDeviceBootAdmission, f as runtimeMismatch, l as deviceTypeMismatch, n as DeviceAdmissionRefusal } from "./device-capacity-BAkETfIl.mjs";
10
+ import { _ as withDeviceBootAdmission, f as runtimeMismatch, l as deviceTypeMismatch, n as DeviceAdmissionRefusal } from "./device-capacity-CHC3dKWg.mjs";
11
11
  import { createHash } from "node:crypto";
12
12
  import { readFileSync } from "node:fs";
13
13
  import { homedir } from "node:os";
@@ -1,8 +1,8 @@
1
1
  import { C as operationState } from "./exec-CGuDzt40.mjs";
2
- import { a as formatElapsed, r as clockTime } from "./command-output-DWI9tGPU.mjs";
2
+ import { a as formatElapsed, r as clockTime } from "./command-output-DjExb_tZ.mjs";
3
3
  import { dt as deviceSlotKey } from "./config-BW0fAtoK.mjs";
4
- import { Xt as APP_READINESS_TIMEOUT_MS, zt as MANIFEST_VERIFY_TIMEOUT_MS } from "./ccache-BXtzEL6M.mjs";
5
- import { E as releaseRunLease, S as parseLease, T as raiseLease, b as leaseIsExpired, j as takeLease, v as deviceLeasePath, y as fileLeaseIo } from "./activity-C8kBq9w0.mjs";
4
+ import { Xt as APP_READINESS_TIMEOUT_MS, zt as MANIFEST_VERIFY_TIMEOUT_MS } from "./ccache-ChBMXlBq.mjs";
5
+ import { E as releaseRunLease, S as parseLease, T as raiseLease, b as leaseIsExpired, j as takeLease, v as deviceLeasePath, y as fileLeaseIo } from "./activity-DkS-Ir6V.mjs";
6
6
  //#region src/engine/device-lease-run.ts
7
7
  const LEASE_STEP_FLOOR_MS = 6e4;
8
8
  const DEBUG_VERIFY_STEP_MS = MANIFEST_VERIFY_TIMEOUT_MS + APP_READINESS_TIMEOUT_MS;
@@ -1,6 +1,6 @@
1
1
  import { dt as deviceSlotKey } from "./config-BW0fAtoK.mjs";
2
- import { A as selectPoolDevice, S as parseLease, b as leaseIsExpired, v as deviceLeasePath, y as fileLeaseIo } from "./activity-C8kBq9w0.mjs";
3
- import { i as DEVICE_WAIT_POLL_MS, n as DEVICE_BUSY, o as leaseExpiryText } from "./device-lease-run-DpiCnRbZ.mjs";
2
+ import { A as selectPoolDevice, S as parseLease, b as leaseIsExpired, v as deviceLeasePath, y as fileLeaseIo } from "./activity-DkS-Ir6V.mjs";
3
+ import { i as DEVICE_WAIT_POLL_MS, n as DEVICE_BUSY, o as leaseExpiryText } from "./device-lease-run-i3FNX4OE.mjs";
4
4
  //#region src/engine/device-pool.ts
5
5
  function heldPoolId(root, platform, now, io = fileLeaseIo, slot = "default") {
6
6
  const record = io.readHolder(root)[deviceSlotKey(platform, slot)];
@@ -2,13 +2,13 @@ import { C as operationState, t as getExecutor } from "./exec-CGuDzt40.mjs";
2
2
  import { t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
3
3
  import { v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
4
4
  import { X as resolveProjectSettings, Y as resolveIosProjectDir, an as makeTemporaryDirectory, it as settingValueAt, on as removeTemporaryEntry } from "./settings-B5IBDfTx.mjs";
5
- import { f as projectRegistry, g as selectNativeXcodeProject, i as findProjectRoot$1, p as NativeXcodeError, t as NO_PROJECT_REFUSAL } from "./project-DWEXiBA9.mjs";
6
- import { U as resolveScheme, q as xcodebuildArgs } from "./toolchain-s5ZmG42Z.mjs";
7
- import { a as discoverXcodeProject } from "./react-native-build-DaPfzf_e.mjs";
8
- import { m as resolveConfiguration, y as resolveSchemeSelection } from "./support-D8OH0z98.mjs";
9
- import { n as findSigningIdentities, o as parsePlist, s as parseProvisioningProfilePlist, t as decodeProvisioningProfile } from "./ios-signing-D-tSX1iF.mjs";
10
- import { f as resolveIosPhysicalDevice, l as listIosDevices } from "./ios-device-DXbHZfFe.mjs";
11
- import { i as nativeXcodePackages, t as nativeXcodeHasPackages } from "./native-xcode-inputs-DL3ETb8s.mjs";
5
+ import { f as projectRegistry, g as selectNativeXcodeProject, i as findProjectRoot$1, p as NativeXcodeError, t as NO_PROJECT_REFUSAL } from "./project-DU3jjnBE.mjs";
6
+ import { U as resolveScheme, nt as parsePlist, q as xcodebuildArgs, rt as parseProvisioningProfilePlist } from "./toolchain-CYonNjd_.mjs";
7
+ import { a as discoverXcodeProject } from "./react-native-build-CuvNPt-q.mjs";
8
+ import { m as resolveConfiguration, y as resolveSchemeSelection } from "./support-ivsfDj0v.mjs";
9
+ import { n as findSigningIdentities, t as decodeProvisioningProfile } from "./ios-signing-R34vbrNU.mjs";
10
+ import { f as resolveIosPhysicalDevice, l as listIosDevices } from "./ios-device-Drplrgzo.mjs";
11
+ import { i as nativeXcodePackages, t as nativeXcodeHasPackages } from "./native-xcode-inputs-DGzkhpu4.mjs";
12
12
  import { existsSync, readdirSync, realpathSync, statSync } from "node:fs";
13
13
  import { homedir } from "node:os";
14
14
  import { join } from "node:path";