stim 1.32.0 → 1.33.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 (169) hide show
  1. package/dist/{acquire-artifact-CI9fIokp.mjs → acquire-artifact-DTh_LxrE.mjs} +2 -2
  2. package/dist/{act-BfChMxcU.mjs → act-Cur4YKtK.mjs} +22 -22
  3. package/dist/{activity-yjH7Q3zn.mjs → activity-C8kBq9w0.mjs} +6 -6
  4. package/dist/{agent-device-usage-output-DO412bsG.mjs → agent-device-usage-output-BTRaK_up.mjs} +5 -5
  5. package/dist/{android-BeeC15Ve.mjs → android-B2DSKg-A.mjs} +2 -2
  6. package/dist/{android-BNm5A40S.mjs → android-BL-QqHjc.mjs} +87 -53
  7. package/dist/{android-D56S_GX3.mjs → android-D5mCdVl2.mjs} +5 -5
  8. package/dist/{android-DsEj2CCs.mjs → android-Iq0M2t2d.mjs} +27 -15
  9. package/dist/{android-cas-CbumHXIq.mjs → android-cas-Dhcjkys1.mjs} +4 -4
  10. package/dist/android-cas-compiler.mjs +1 -1
  11. package/dist/android-image-DFk26aY6.mjs +254 -0
  12. package/dist/{android-project-CCEQyYJK.d.mts → android-project-BDlPnfmL.d.mts} +1 -1
  13. package/dist/api.d.mts +2 -1
  14. package/dist/api.mjs +28 -28
  15. package/dist/{apk-signed-tail-B9Usseps.mjs → apk-signed-tail-CPpA-3vu.mjs} +2 -2
  16. package/dist/{artifact-C8Nvp07y.mjs → artifact-BMjubIP2.mjs} +13 -13
  17. package/dist/{artifact-k1x9Jrn0.mjs → artifact-BufzdGbT.mjs} +34 -21
  18. package/dist/{artifact-platform-BO2Uvk_A.mjs → artifact-platform-DqCWUieN.mjs} +1 -1
  19. package/dist/{auto-placement--nfdQ9rp.mjs → auto-placement-D7P98glJ.mjs} +11 -9
  20. package/dist/{browser-web-6RDAeH0z.mjs → browser-web-C74et-Nv.mjs} +15 -15
  21. package/dist/{build-VXX_dtl5.mjs → build-DFBGWOTc.mjs} +23 -23
  22. package/dist/{build-cache-BsKim4V7.mjs → build-cache-Cqj4FGnX.mjs} +20 -8
  23. package/dist/{build-plan-BK34X2iY.mjs → build-plan-T3Hi24ax.mjs} +7 -7
  24. package/dist/{cache-manifest-CfiEny4T.mjs → cache-manifest-8JX9S1QJ.mjs} +1 -1
  25. package/dist/cache-manifest.mjs +1 -1
  26. package/dist/{ccache-BrwGIxmV.mjs → ccache-BXtzEL6M.mjs} +34 -24
  27. package/dist/{cdp-C3svvXiE.mjs → cdp-C216kOAn.mjs} +1 -1
  28. package/dist/{chrome-DyDWurWG.mjs → chrome-C8sC5tdl.mjs} +1 -1
  29. package/dist/{cli-Jc7obreB.mjs → cli-B2YSjc9s.mjs} +20 -20
  30. package/dist/cli.mjs +1 -1
  31. package/dist/{client-lDmA-5jx.mjs → client-0_Mnfz0a.mjs} +29 -9
  32. package/dist/collector-run.mjs +7 -7
  33. package/dist/{command-output-CfPW1bKP.mjs → command-output-DWI9tGPU.mjs} +1 -1
  34. package/dist/{config-D5qNWJEP.mjs → config-BW0fAtoK.mjs} +256 -246
  35. package/dist/{dependencies-DkZ8681S.mjs → dependencies-CgvBZbXD.mjs} +39 -39
  36. package/dist/{dependency-state-DZVln1P9.mjs → dependency-state-mL5g4H6K.mjs} +2 -2
  37. package/dist/{detached-entry-BPlSaCwC.mjs → detached-entry-tfrgGVWb.mjs} +1 -1
  38. package/dist/{dev-client-eDZy6RoX.mjs → dev-client-ChsHwgrn.mjs} +2 -2
  39. package/dist/{device-CeIikWac.mjs → device-B0htCt2u.mjs} +13 -13
  40. package/dist/{device-CTozKhU0.mjs → device-DOehZpyx.mjs} +11 -11
  41. package/dist/{device-android-zgD9We85.mjs → device-android-B8TQP5AX.mjs} +10 -10
  42. package/dist/{device-capacity-Bki6B-7h.mjs → device-capacity-BAkETfIl.mjs} +9 -9
  43. package/dist/device-host-worker.mjs +58 -17
  44. package/dist/{device-ios-TE5ejeXx.mjs → device-ios-DFaYFdar.mjs} +9 -9
  45. package/dist/{device-lease-run-DeNGjJZM.mjs → device-lease-run-DpiCnRbZ.mjs} +5 -5
  46. package/dist/{device-pool-mjyUYaau.mjs → device-pool-DP4sCeCC.mjs} +3 -3
  47. package/dist/{device-provision-j_B7G0e6.mjs → device-provision-CnNOIxCF.mjs} +10 -10
  48. package/dist/{doctor-sSLtn-j1.mjs → doctor-9GrW5YSP.mjs} +30 -17
  49. package/dist/{doctor-CNZuvTSe.mjs → doctor-C6Xn96RS.mjs} +1 -1
  50. package/dist/{doctor-fingerprint-o7ZI9YLn.mjs → doctor-fingerprint-DqWvIhMb.mjs} +1 -1
  51. package/dist/doctor-fingerprint.mjs +1 -1
  52. package/dist/{doctor-BlrcoQ7B.mjs → doctor-nRLBoajo.mjs} +54 -25
  53. package/dist/{doctor-watchman-CCuboyj1.mjs → doctor-watchman-CDhpC3Oh.mjs} +5 -5
  54. package/dist/{eas-build-CaG-Sfs9.mjs → eas-build-CpJ4h9tG.mjs} +4 -4
  55. package/dist/{eas-fallback-BpX1lpco.mjs → eas-fallback-B3z5nL1g.mjs} +6 -6
  56. package/dist/{eas-session-ledger-B-nTfdfk.mjs → eas-session-ledger-Bspy-VJQ.mjs} +6 -6
  57. package/dist/{error-diagnostics-q56Im4D8.mjs → error-diagnostics-DoLGklYX.mjs} +10 -10
  58. package/dist/{exec-aULwtNly.mjs → exec-CGuDzt40.mjs} +103 -103
  59. package/dist/{gc-By2Kc-Ek.mjs → gc-BWoOp9q7.mjs} +2 -2
  60. package/dist/{gc-Dv6nb9nf.mjs → gc-DolXpMSB.mjs} +25 -54
  61. package/dist/{guide-CwpsGWTJ.mjs → guide-CmZB0GtP.mjs} +139 -44
  62. package/dist/{hosted-android-c5nPJA6S.mjs → hosted-android-ByG-ICuh.mjs} +4 -4
  63. package/dist/{hosted-client-Hs-fD4L3.mjs → hosted-client-D19Lv0tg.mjs} +6 -5
  64. package/dist/{hosted-logs-BteXG8rm.mjs → hosted-logs-D7anR6Dk.mjs} +7 -7
  65. package/dist/{hosted-logs-sync-B8bjLEMs.mjs → hosted-logs-sync-D182b1eJ.mjs} +5 -5
  66. package/dist/{hosted-macos-B4byscei.mjs → hosted-macos-D0DDQxvl.mjs} +6 -6
  67. package/dist/{hosted-native-Bh9IJ_t5.mjs → hosted-native-BzXIy97W.mjs} +14 -10
  68. package/dist/{idle-shutdown-BaeCo4ps.mjs → idle-shutdown-6i8CHoNq.mjs} +6 -6
  69. package/dist/{ios-D1XKSITX.mjs → ios-AdhPKXO3.mjs} +8 -8
  70. package/dist/{ios-CdAV4-1E.mjs → ios-BdZdNsAj.mjs} +6 -6
  71. package/dist/{ios-CsRVik64.mjs → ios-Qam0bT9n.mjs} +1 -1
  72. package/dist/{ios-D3oK9-O4.mjs → ios-dbXzjTxx.mjs} +28 -28
  73. package/dist/{ios-device-CiBA-er9.mjs → ios-device-DLdEDWJj.mjs} +1 -1
  74. package/dist/{ios-device-D7Gi3e1I.mjs → ios-device-DXbHZfFe.mjs} +3 -3
  75. package/dist/{ios-project-DDQlX_jX.mjs → ios-project-BzfLigfh.mjs} +7 -7
  76. package/dist/{ios-signing-BJzvDPfU.mjs → ios-signing-D-tSX1iF.mjs} +2 -2
  77. package/dist/{ios-state-BEIJRJ7P.mjs → ios-state-CWsBysyN.mjs} +1 -1
  78. package/dist/{js-swap-C8N5DXHl.mjs → js-swap-EDVOJmqx.mjs} +6 -6
  79. package/dist/{launch-DxpvL6il.mjs → launch-CKHpthsw.mjs} +20 -20
  80. package/dist/{lightened-Df6II_XI.mjs → lightened-Cv4ToJRX.mjs} +5 -5
  81. package/dist/{logs-zv3ge7c6.mjs → logs-DCQ3_tGS.mjs} +6 -6
  82. package/dist/{logs-CuWJWF88.mjs → logs-IagR9dWI.mjs} +7 -7
  83. package/dist/{macos-C6U-4Iip.mjs → macos-Ch7vuM-G.mjs} +22 -22
  84. package/dist/{macos-CbRZheLw.mjs → macos-pc0aVVbN.mjs} +1 -1
  85. package/dist/macos-run.mjs +1 -1
  86. package/dist/maintenance-run.mjs +6 -6
  87. package/dist/{metro-mKHEMO-a.mjs → metro-B5PVz0Wv.mjs} +4 -4
  88. package/dist/{metro-request-DODHNXCN.mjs → metro-request-2LmFpC1z.mjs} +2 -2
  89. package/dist/{named-ports-B0hCk2v-.mjs → named-ports-CA0nB9Yw.mjs} +3 -3
  90. package/dist/{native-android-9dVFqvTT.mjs → native-android-B3CEDq4R.mjs} +29 -19
  91. package/dist/{native-gradle-artifact-inputs-BlY97pt8.mjs → native-gradle-artifact-inputs-BLnO2hHR.mjs} +5 -5
  92. package/dist/{native-runtime-DQfxW5Au.mjs → native-runtime-e1OU8gEN.mjs} +6 -6
  93. package/dist/{native-source-D1AzWiuP.mjs → native-source-ChAGj7R1.mjs} +1 -1
  94. package/dist/{native-xcode-inputs-tDuUvSU8.mjs → native-xcode-inputs-DL3ETb8s.mjs} +3 -3
  95. package/dist/{native-xcode-ios-CG-PD-7g.mjs → native-xcode-ios-D4e8k2Jy.mjs} +17 -17
  96. package/dist/offload-worker.d.mts +3 -1
  97. package/dist/offload-worker.mjs +37 -23
  98. package/dist/{operation-exec-Dp4FuIGR.mjs → operation-exec-DKlBcKAL.mjs} +1 -1
  99. package/dist/{ownership-CCfiBfOP.mjs → ownership-hC7xvvxF.mjs} +3 -3
  100. package/dist/{page-CQJlcj3x.mjs → page-Dj8IqvGM.mjs} +2 -2
  101. package/dist/{phone-reverses-CnNwdz9A.mjs → phone-reverses-rvyxW1Fl.mjs} +4 -4
  102. package/dist/{placement-log-CRL0IY-k.mjs → placement-log-nnGnu8mo.mjs} +1 -1
  103. package/dist/{plan-placement-2imvnlWP.mjs → plan-placement-D3JD-T-K.mjs} +6 -6
  104. package/dist/{ports-CKktj5lV.mjs → ports-CZJJfJ8Q.mjs} +3 -3
  105. package/dist/{prebuild-CyNrUWgV.mjs → prebuild-Bhs7TTcz.mjs} +12 -12
  106. package/dist/{project-Crtcbfl0.mjs → project-DWEXiBA9.mjs} +16 -16
  107. package/dist/{pull-request-BzLmzAIQ.mjs → pull-request-BpMTNkMB.mjs} +2 -2
  108. package/dist/pull-requests.mjs +1 -1
  109. package/dist/{react-native-android-Cabe2YER.mjs → react-native-android-C6Y270GS.mjs} +37 -33
  110. package/dist/{react-native-build-DhWBUV_H.mjs → react-native-build-DaPfzf_e.mjs} +10 -10
  111. package/dist/{react-native-doctor-D-twmBon.mjs → react-native-doctor-DGMPxkPS.mjs} +6 -6
  112. package/dist/{react-native-ios-u_ley41B.mjs → react-native-ios-dX48_92n.mjs} +21 -17
  113. package/dist/{recordings-BWnIlhZH.mjs → recordings-AKZfsW2W.mjs} +1 -1
  114. package/dist/{registration-BwCe64PH.mjs → registration-DKjJGQ6p.mjs} +1 -1
  115. package/dist/{reload-f9hvEHE9.mjs → reload-BGwblBJ9.mjs} +1 -1
  116. package/dist/{reload-D2TpUlns.mjs → reload-DsOByDfy.mjs} +17 -17
  117. package/dist/{remote-BsBAjlD2.mjs → remote-D0uJZ76R.mjs} +9 -9
  118. package/dist/{result-EOsWV6sp.mjs → result-DuimMZKJ.mjs} +24 -20
  119. package/dist/{run-2CHAJ9Oj.mjs → run-N-BbRxnC.mjs} +2 -2
  120. package/dist/{selection-C4ZQz_ER.mjs → selection-xS50Mt0V.mjs} +5 -4
  121. package/dist/{server-bare-CFyVFZXJ.mjs → server-bare-BTlICuaX.mjs} +2 -2
  122. package/dist/{server-command-BMyKtnjH.mjs → server-command-BC0EgMfY.mjs} +5 -5
  123. package/dist/{server-expo-BLxcN2x2.mjs → server-expo-15RjL0ir.mjs} +3 -3
  124. package/dist/server-expo-gYIypb0-.mjs +2 -0
  125. package/dist/{settings-C6UTYW2K.mjs → settings-B5IBDfTx.mjs} +4 -4
  126. package/dist/{settings-jeS0WmUF.mjs → settings-CuP55ieT.mjs} +2 -2
  127. package/dist/{settings-payload-CrX933Xi.mjs → settings-payload-BIGGQ3or.mjs} +5 -5
  128. package/dist/{settings-write-DMcT23Kl.mjs → settings-write-D85j8mej.mjs} +6 -6
  129. package/dist/settings.schema.json +38 -0
  130. package/dist/{simslim-93xmPh-d.mjs → simslim-DKdJx0LL.mjs} +2 -2
  131. package/dist/{slot-launch-CSpQcFZw.mjs → slot-launch-D4oREwhx.mjs} +6 -6
  132. package/dist/{stage-Cf9uSM1a.mjs → stage-DKC6tDXu.mjs} +2 -2
  133. package/dist/{start-CLN_r9EG.mjs → start-BsEV4S-s.mjs} +12 -12
  134. package/dist/{start-CquYgzVf.mjs → start-DfPSLc__.mjs} +1 -1
  135. package/dist/{state-CM_HvvkS.mjs → state-CtmYTRWm.mjs} +4 -4
  136. package/dist/{state-CiflgxTP.mjs → state-DSOUqO-o.mjs} +2 -2
  137. package/dist/{stats-BVEZuSlg.mjs → stats-ByEUblPr.mjs} +5 -5
  138. package/dist/{stats-report-B86Cv7Uc.mjs → stats-report-BVRCqwWA.mjs} +1 -1
  139. package/dist/{status-D0ruTmPl.mjs → status-C6hLlDqW.mjs} +37 -28
  140. package/dist/{status-GQ-JqvRi.mjs → status-DTFhDnd1.mjs} +1 -1
  141. package/dist/{status-Bhdy07v0.mjs → status-FP1MH9qn.mjs} +1 -1
  142. package/dist/{status-watch-DSu_hhg6.mjs → status-watch-D8s823CZ.mjs} +5 -5
  143. package/dist/status-worker.mjs +1 -1
  144. package/dist/{stim-desktop-1XxET4S8.mjs → stim-desktop-_WTria-r.mjs} +2 -2
  145. package/dist/{stop-RZqER_Ww.mjs → stop-5LKfVv-0.mjs} +2 -2
  146. package/dist/{stop-W4DK8qZq.mjs → stop-BVI2-L7s.mjs} +16 -16
  147. package/dist/{stop-B616ZyTv.mjs → stop-CpTy6bod.mjs} +5 -5
  148. package/dist/supervisor-run.mjs +16 -16
  149. package/dist/{support-S_5nkkzs.mjs → support-CqyWfZZI.mjs} +18 -8
  150. package/dist/{support-NxnD8QXd.mjs → support-D8OH0z98.mjs} +9 -9
  151. package/dist/{swiftpm-artifact-inputs-yp8D5LE4.mjs → swiftpm-artifact-inputs-uq5oV7xR.mjs} +4 -4
  152. package/dist/{swiftpm-macos-Gtq9bNQb.mjs → swiftpm-macos-BuhqYB3n.mjs} +11 -11
  153. package/dist/{toolchain-B2bN8jEo.mjs → toolchain-D_jotUG7.mjs} +1 -1
  154. package/dist/{toolchain-Bnm8vUCV.mjs → toolchain-s5ZmG42Z.mjs} +25 -14
  155. package/dist/{trigger-CfnOfpDd.mjs → trigger-BtB4kbe0.mjs} +2 -2
  156. package/dist/trigger-D8B7QR0q.mjs +2 -0
  157. package/dist/{warm-progress-_aTMvkIH.mjs → warm-progress-q11Vdvhh.mjs} +6 -6
  158. package/dist/{web-BdWG8b5_.mjs → web-DwYCTFdh.mjs} +9 -9
  159. package/dist/web-cCfM8kwV.mjs +2 -0
  160. package/dist/web-run.mjs +8 -8
  161. package/dist/windows-report.mjs +1 -1
  162. package/dist/{workspace-state-3bF4TB8P.mjs → workspace-state-BdZ-QgmB.mjs} +3 -3
  163. package/dist/{workspaces-C59v9bpD.mjs → workspaces-B3ahAHZc.mjs} +14 -14
  164. package/dist/{worktree-CinoSsGy.mjs → worktree-BhsML6GV.mjs} +77 -31
  165. package/dist/{worktree-K9F50fD_.mjs → worktree-CrjsPIs2.mjs} +1 -1
  166. package/package.json +7 -7
  167. package/dist/server-expo-DwR3eD-a.mjs +0 -2
  168. package/dist/trigger-DBZ-GBrl.mjs +0 -2
  169. package/dist/web-DwuluWJt.mjs +0 -2
@@ -1,43 +1,43 @@
1
- import { D as ownership_claim_exports, S as process_identity_exports, b as operationState, l as WorkspaceProcessCleanupError, m as declareSpawnsOn, n as isTimeoutError, t as getExecutor, v as stopDeclaringSpawnsOn } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir, a as recordWorkspaceUseAsync, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1, w as workspaceAgentDeviceDir } from "./workspace-state-3bF4TB8P.mjs";
3
- import { C as removeProject, D as upsertProject, K as projectDeviceSlots, M as acquireAvdClaim, R as measuredDirectorySizeAsync, _ as isPathPrefix$1, a as clearDevice, d as getConfigDir, k as withConfigLockAsync$1, m as getProject, v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
4
- import { a as formatElapsed, h as shortUdid, i as formatDuration, l as phaseLine, p as releasedLeaseFact, u as plural } from "./command-output-CfPW1bKP.mjs";
5
- import { c as gitQuiet, l as gitQuietAsync, o as git, r as childEnvironment, s as gitAsync, t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
6
- import { Ct as gitCommonDirOnDisk, Dt as isPodInstallChurn, Et as hasUncommittedWorkAsync, Ft as matchWorktreeEntry, Gt as restoreFileAsync, Ht as resolveFullRef, It as nativeCanonicalPath, Jt as warmWorktreePaths, Kt as sourceCheckoutOf, Lt as podsOutOfSync, Mt as locallyKnownUpstream, Q as resolveSettings, Rt as readWorktreeExclude, St as gitCommonDirAsync, Tt as hasRemoteAsync, Ut as resolveFullRefAsync, V as readCommittedSettings, X as resolveProjectSettings, Y as resolveIosProjectDir, _ as inertSettingWarning, _t as deleteBranchAsync, a as SETTING_SHAPE_REMEDY, bt as dirtyPathsAsync, gt as cloneIgnoredEntries, ht as branchExistsAsync, jt as listWorktreesAsync, nn as moveIgnoredTreesToTrash, qt as unpushedCommitsAsync, rn as restoreTrashedTrees, rt as settingShapeErrors, st as unknownSettingKeys, tn as disposeTrash, vt as depsOutOfSync, wt as hasPopulatedSubmodulesAsync, zt as removeWorktreeAsync } from "./settings-C6UTYW2K.mjs";
7
- import { F as readRemoteSessionId, M as readMetroTunnel, O as clearManagedMetroTunnel, P as readRemoteSession, T as MODE_COMMAND, i as findProjectRoot$1, k as clearRemoteSession, o as isMobileProject } from "./project-Crtcbfl0.mjs";
8
- import { t as macosAppPresent } from "./state-CiflgxTP.mjs";
9
- import { a as workspaceLinkLine, o as workspaceLinks } from "./stim-desktop-1XxET4S8.mjs";
10
- import { bt as parkedMaxSetting, mt as POOL_SETTING_REMEDY } from "./android-DsEj2CCs.mjs";
11
- import { c as pidExists, d as resolveProjectMetro, p as signalProcessTreeAsync, r as killMetroTreeAsync } from "./metro-mKHEMO-a.mjs";
12
- import { A as diskPressureLevel, D as requestDevServerStop, En as runProcessOperation, G as planCacheEmptying, Ln as resolveEasCliBin, N as lowestFree, Ot as endRecordedSession, _ as resolveBudget, g as readVolumeSpaceAsync, h as readVolumeSpace, k as withdrawDevServerStopRequest, p as machineNumber, ur as discoverCaches } from "./ccache-BrwGIxmV.mjs";
13
- import { o as readWebRecord } from "./state-CM_HvvkS.mjs";
14
- import { C as stopTunnel, E as withManagedRemoteWorktreeRemovalLock, O as withManagedTunnelRemovalLock, _ as emptyWorkspaceDir, ht as teardownOwnedIosSim, mt as teardownOwnedBrowser, o as collectWorkspaceOutputs, pt as teardownOwnedAvd, v as withIdleWorkspace, x as resolveSupervisorTarget } from "./workspaces-C59v9bpD.mjs";
1
+ import { C as operationState, D as ownership_claim_exports, T as process_identity_exports, _ as declareSpawnsOn, f as WorkspaceProcessCleanupError, n as isTimeoutError, t as getExecutor, x as stopDeclaringSpawnsOn } from "./exec-CGuDzt40.mjs";
2
+ import { E as workspaceDir, a as recordWorkspaceUseAsync, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1, w as workspaceAgentDeviceDir } from "./workspace-state-BdZ-QgmB.mjs";
3
+ import { a as formatElapsed, h as shortUdid, i as formatDuration, l as phaseLine, p as releasedLeaseFact, u as plural } from "./command-output-DWI9tGPU.mjs";
4
+ import { C as removeProject, D as upsertProject, M as acquireAvdClaim, _ as isPathPrefix$1, a as clearDevice, at as isOnMountedVolume, ct as volumeRootFor, d as getConfigDir, ht as projectDeviceSlots, it as isAbsentPath, k as withConfigLockAsync$1, m as getProject, ot as listMountedVolumes, st as measuredDirectorySizeAsync, v as loadConfig$1 } from "./config-BW0fAtoK.mjs";
5
+ import { c as gitQuiet, l as gitQuietAsync, o as git, r as childEnvironment, s as gitAsync, t as runOperationFile } from "./operation-exec-DKlBcKAL.mjs";
6
+ import { Ct as gitCommonDirOnDisk, Dt as isPodInstallChurn, Et as hasUncommittedWorkAsync, Ft as matchWorktreeEntry, Gt as restoreFileAsync, Ht as resolveFullRef, It as nativeCanonicalPath, Jt as warmWorktreePaths, Kt as sourceCheckoutOf, Lt as podsOutOfSync, Mt as locallyKnownUpstream, Q as resolveSettings, Rt as readWorktreeExclude, St as gitCommonDirAsync, Tt as hasRemoteAsync, Ut as resolveFullRefAsync, V as readCommittedSettings, X as resolveProjectSettings, Y as resolveIosProjectDir, _ as inertSettingWarning, _t as deleteBranchAsync, a as SETTING_SHAPE_REMEDY, bt as dirtyPathsAsync, gt as cloneIgnoredEntries, ht as branchExistsAsync, jt as listWorktreesAsync, nn as moveIgnoredTreesToTrash, qt as unpushedCommitsAsync, rn as restoreTrashedTrees, rt as settingShapeErrors, st as unknownSettingKeys, tn as disposeTrash, vt as depsOutOfSync, wt as hasPopulatedSubmodulesAsync, zt as removeWorktreeAsync } from "./settings-B5IBDfTx.mjs";
7
+ import { F as readRemoteSessionId, M as readMetroTunnel, O as clearManagedMetroTunnel, P as readRemoteSession, T as MODE_COMMAND, i as findProjectRoot$1, k as clearRemoteSession, o as isMobileProject } from "./project-DWEXiBA9.mjs";
8
+ import { t as macosAppPresent } from "./state-DSOUqO-o.mjs";
9
+ import { a as workspaceLinkLine, o as workspaceLinks } from "./stim-desktop-_WTria-r.mjs";
10
+ import { bt as parkedMaxSetting, mt as POOL_SETTING_REMEDY } from "./android-Iq0M2t2d.mjs";
11
+ import { c as pidExists, d as resolveProjectMetro, p as signalProcessTreeAsync, r as killMetroTreeAsync } from "./metro-B5PVz0Wv.mjs";
12
+ import { A as diskPressureLevel, D as requestDevServerStop, En as runProcessOperation, G as planCacheEmptying, Ln as resolveEasCliBin, N as lowestFree, Ot as endRecordedSession, _ as resolveBudget, g as readVolumeSpaceAsync, h as readVolumeSpace, k as withdrawDevServerStopRequest, p as machineNumber, ur as discoverCaches } from "./ccache-BXtzEL6M.mjs";
13
+ import { o as readWebRecord } from "./state-CtmYTRWm.mjs";
14
+ import { C as stopTunnel, E as withManagedRemoteWorktreeRemovalLock, O as withManagedTunnelRemovalLock, _ as emptyWorkspaceDir, ht as teardownOwnedIosSim, mt as teardownOwnedBrowser, o as collectWorkspaceOutputs, pt as teardownOwnedAvd, v as withIdleWorkspace, x as resolveSupervisorTarget } from "./workspaces-B3ahAHZc.mjs";
15
15
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
16
- import { C as DEPS_ERROR, E as readPodState, M as HEARTBEAT_INTERVAL_MS, O as runCaptured, T as podsAreStale, X as podInstallCommand, k as runPodInstall, lt as cacheUser } from "./toolchain-Bnm8vUCV.mjs";
17
- import { D as releaseWorkspaceLeases, t as agentDeviceDaemon } from "./activity-yjH7Q3zn.mjs";
18
- import { R as readHostMemoryPressure, z as readHostMemoryPressureAsync } from "./ios-CdAV4-1E.mjs";
19
- import { t as clearNamedPorts } from "./named-ports-B0hCk2v-.mjs";
16
+ import { C as DEPS_ERROR, E as readPodState, M as HEARTBEAT_INTERVAL_MS, O as runCaptured, T as podsAreStale, X as podInstallCommand, k as runPodInstall, lt as cacheUser } from "./toolchain-s5ZmG42Z.mjs";
17
+ import { D as releaseWorkspaceLeases, t as agentDeviceDaemon } from "./activity-C8kBq9w0.mjs";
18
+ import { R as readHostMemoryPressure, z as readHostMemoryPressureAsync } from "./ios-BdZdNsAj.mjs";
19
+ import { t as clearNamedPorts } from "./named-ports-CA0nB9Yw.mjs";
20
20
  import { t as resolveMaintenanceSettings } from "./settings-D9LtQaUw.mjs";
21
- import { i as stopHostedAndroid } from "./hosted-android-c5nPJA6S.mjs";
22
- import { a as stopHostedIos, n as removePhoneReverses } from "./phone-reverses-CnNwdz9A.mjs";
23
- import { r as stopMacosApp } from "./stop-B616ZyTv.mjs";
24
- import { n as verifyCollectorOwnership } from "./ownership-CCfiBfOP.mjs";
25
- import { o as pullRequestLookupAsync, r as endedPullRequest } from "./pull-request-BzLmzAIQ.mjs";
26
- import { c as mergeStateAsync, d as forgetStatusMeasures, t as startWarmProgress } from "./warm-progress-_aTMvkIH.mjs";
27
- import { r as workspaceRecordingEnabled } from "./recordings-BWnIlhZH.mjs";
28
- import { i as installedNpmTreeProblems, n as hasInstalledDependencies, t as dependencyState } from "./dependency-state-DZVln1P9.mjs";
29
- import { a as discoverXcodeProject } from "./react-native-build-DhWBUV_H.mjs";
21
+ import { i as stopHostedAndroid } from "./hosted-android-ByG-ICuh.mjs";
22
+ import { a as stopHostedIos, n as removePhoneReverses } from "./phone-reverses-rvyxW1Fl.mjs";
23
+ import { r as stopMacosApp } from "./stop-CpTy6bod.mjs";
24
+ import { n as verifyCollectorOwnership } from "./ownership-hC7xvvxF.mjs";
25
+ import { o as pullRequestLookupAsync, r as endedPullRequest } from "./pull-request-BpMTNkMB.mjs";
26
+ import { c as mergeStateAsync, d as forgetStatusMeasures, t as startWarmProgress } from "./warm-progress-q11Vdvhh.mjs";
27
+ import { r as workspaceRecordingEnabled } from "./recordings-AKZfsW2W.mjs";
28
+ import { i as installedNpmTreeProblems, n as hasInstalledDependencies, t as dependencyState } from "./dependency-state-mL5g4H6K.mjs";
29
+ import { a as discoverXcodeProject } from "./react-native-build-DaPfzf_e.mjs";
30
30
  import { claimRemoveCommand, clearFreeClaimSet, readClaimSet, releaseClaim, tryAcquireClaim } from "@stim-cli/core/ownership-claim";
31
31
  import { createHash, randomUUID } from "node:crypto";
32
32
  import { existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
33
33
  import { cpus, freemem, homedir, loadavg, totalmem } from "node:os";
34
- import { basename, dirname, join, relative } from "node:path";
34
+ import { basename, dirname, isAbsolute, join, relative } from "node:path";
35
35
  import { buildCacheRoot, configDir, metroCacheRoot, quotedPath, unitLines, unitWords, withDirLockTransaction, workspaceName } from "@stim-cli/core";
36
36
  import { LAST_BUILD_KEYS, archiveDir, archiveEnabled, archiveLock, archiveRoot, archivedUsage, buildWorkerRoot, countErrorEntries, endedAgentSessionOf, isJsonObject, isPathPrefix, listRecordedDevicesAsync, loadConfig, queryLogs, readArchivesAsync, readBuildHistory, readJsonObject, readLastBuilds, readMacosRecord, readPullRequestCache, readWorkspaceState, recordingEnabled, sharedCcache, sharedCompilationCache, sortByTs, trace, worktreeArchiveRoot } from "@stim-cli/core/state";
37
37
  import { basename as basename$1, dirname as dirname$1, isAbsolute as isAbsolute$1, join as join$1, relative as relative$1, resolve as resolve$1 } from "path";
38
- import { setTimeout as setTimeout$1 } from "node:timers/promises";
39
38
  import chalk from "chalk";
40
39
  import { existsSync as existsSync$1, readFileSync as readFileSync$1, readdirSync as readdirSync$1, readlinkSync as readlinkSync$1, realpathSync as realpathSync$1, renameSync as renameSync$1, rmSync as rmSync$1, symlinkSync as symlinkSync$1, unlinkSync as unlinkSync$1, writeFileSync as writeFileSync$1 } from "fs";
40
+ import { setTimeout as setTimeout$1 } from "node:timers/promises";
41
41
  import { chmod, lstat, mkdir, readdir, rename, rm, rmdir, stat, utimes, writeFile } from "node:fs/promises";
42
42
  import { createHash as createHash$1 } from "crypto";
43
43
  //#region src/workspace/pods-relocate.ts
@@ -1379,6 +1379,37 @@ async function reclaimIdleProject(path, workspaceExisted, { archive, deleteOwned
1379
1379
  };
1380
1380
  }
1381
1381
  //#endregion
1382
+ //#region src/commands/gc/projects.ts
1383
+ function classifyProjectEntries(projects, mountedVolumes) {
1384
+ const deadProjects = [];
1385
+ const invalidProjects = [];
1386
+ const skipped = [];
1387
+ for (const [path, project] of Object.entries(projects)) {
1388
+ if (!isAbsolute(path)) {
1389
+ const claimed = describeDereferenced(project);
1390
+ if (claimed.length) skipped.push({
1391
+ dir: path,
1392
+ reason: `not an absolute path, so this record is invalid; kept because it still claims ${claimed.join(" and ")}; gc removes it once that claim is gone, or drop the entry from the config file by hand`
1393
+ });
1394
+ else invalidProjects.push(path);
1395
+ continue;
1396
+ }
1397
+ if (!isAbsentPath(path)) continue;
1398
+ if (!isOnMountedVolume(path, mountedVolumes)) {
1399
+ const volume = volumeRootFor(path);
1400
+ skipped.push({
1401
+ dir: path,
1402
+ reason: `volume ${volume} is not mounted`
1403
+ });
1404
+ } else deadProjects.push(path);
1405
+ }
1406
+ return {
1407
+ deadProjects,
1408
+ invalidProjects,
1409
+ skipped
1410
+ };
1411
+ }
1412
+ //#endregion
1382
1413
  //#region src/workspace/service-guard.ts
1383
1414
  const SERVICE_IN_USE = { code: "STIM_WORKTREE_SERVICE" };
1384
1415
  function inside(folder, canonical) {
@@ -3397,7 +3428,7 @@ async function reclaimEnvironment(root, why, output, operation, beforeRemove) {
3397
3428
  return;
3398
3429
  }
3399
3430
  for (const s of result.skippedDevices) output.error(chalk.yellow(phaseLine("device", `kept ${describeKeptDevice(s)} (${s.reason})`)));
3400
- output.error(chalk.green(`Reclaimed the environment; the working tree stays (${why}).`));
3431
+ output.error(chalk.green(existsSync$1(root) ? `Reclaimed the environment; the working tree stays (${why}).` : `Reclaimed the environment of the deleted folder (${why}).`));
3401
3432
  }, operation, beforeRemove), {
3402
3433
  signal: operation?.signal,
3403
3434
  declareSpawnsFor: operation
@@ -3615,6 +3646,21 @@ async function removeOrRefuse(target, opts, onRemoved, output) {
3615
3646
  }
3616
3647
  return;
3617
3648
  }
3649
+ const registered = Object.fromEntries(Object.entries(loadConfig$1()?.projects ?? {}).filter(([key]) => isPathPrefix$1(path, key)));
3650
+ const { deadProjects, skipped } = opts.linkedOnly ? {
3651
+ deadProjects: [],
3652
+ skipped: []
3653
+ } : classifyProjectEntries(registered, listMountedVolumes());
3654
+ if (skipped.length) {
3655
+ for (const kept of skipped) output.error(chalk.red(`Refusing to remove ${kept.dir}: ${kept.reason}.`));
3656
+ output.error(chalk.dim("Its absence cannot be confirmed, so its record is kept."));
3657
+ output.fail();
3658
+ return;
3659
+ }
3660
+ if (deadProjects.length) {
3661
+ await reclaimEnvironment(path, "its folder is already gone", output, opts.operation, opts.beforeRemove);
3662
+ return;
3663
+ }
3618
3664
  output.error(chalk.red(`No such worktree: ${path}`));
3619
3665
  output.fail();
3620
3666
  return;
@@ -3904,4 +3950,4 @@ function worktreeCommand(program) {
3904
3950
  registerRemove(worktree);
3905
3951
  }
3906
3952
  //#endregion
3907
- export { deleteSelectedArchives as A, sizeScanDeferred as C, stimCliUseOf as D, stimCliEntries as E, worktreeArchiveLimits as M, describeDereferenced as O, measureSizes as S, serviceRunningFrom as T, cacheBlocked as _, nestedWorktrees as a, measurePressure as b, registerRemove as c, removalPath as d, removalRemedy as f, worktreeCommand as g, warmedWorkspace as h, excludeWatchmanCookies as i, sweepArchiveStaging as j, reclaimProject as k, registerWarm as l, warmWorktreeTarget as m, dependencyInstallCommand as n, porcelainPath as o, removeWorktreeTarget as p, excludePodChurn as r, reclaimKeys as s, customIosDirs as t, removalBlockers as u, measureDisk as v, uncommittedActivityOf as w, measurePressureAsync as x, measureDiskAsync as y };
3953
+ export { deleteSelectedArchives as A, sizeScanDeferred as C, stimCliUseOf as D, stimCliEntries as E, worktreeArchiveLimits as M, classifyProjectEntries as O, measureSizes as S, serviceRunningFrom as T, cacheBlocked as _, nestedWorktrees as a, measurePressure as b, registerRemove as c, removalPath as d, removalRemedy as f, worktreeCommand as g, warmedWorkspace as h, excludeWatchmanCookies as i, sweepArchiveStaging as j, reclaimProject as k, registerWarm as l, warmWorktreeTarget as m, dependencyInstallCommand as n, porcelainPath as o, removeWorktreeTarget as p, excludePodChurn as r, reclaimKeys as s, customIosDirs as t, removalBlockers as u, measureDisk as v, uncommittedActivityOf as w, measurePressureAsync as x, measureDiskAsync as y };
@@ -1,2 +1,2 @@
1
- import { a as nestedWorktrees, c as registerRemove, d as removalPath, f as removalRemedy, g as worktreeCommand, h as warmedWorkspace, i as excludeWatchmanCookies, l as registerWarm, m as warmWorktreeTarget, n as dependencyInstallCommand, o as porcelainPath, p as removeWorktreeTarget, r as excludePodChurn, s as reclaimKeys, t as customIosDirs, u as removalBlockers } from "./worktree-CinoSsGy.mjs";
1
+ import { a as nestedWorktrees, c as registerRemove, d as removalPath, f as removalRemedy, g as worktreeCommand, h as warmedWorkspace, i as excludeWatchmanCookies, l as registerWarm, m as warmWorktreeTarget, n as dependencyInstallCommand, o as porcelainPath, p as removeWorktreeTarget, r as excludePodChurn, s as reclaimKeys, t as customIosDirs, u as removalBlockers } from "./worktree-BhsML6GV.mjs";
2
2
  export { customIosDirs, worktreeCommand as default, dependencyInstallCommand, excludePodChurn, excludeWatchmanCookies, nestedWorktrees, porcelainPath, reclaimKeys, registerRemove, registerWarm, removalBlockers, removalPath, removalRemedy, removeWorktreeTarget, warmWorktreeTarget, warmedWorkspace };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stim",
3
- "version": "1.32.0",
3
+ "version": "1.33.0",
4
4
  "description": "Stim: fast, isolated React Native environments for coding agents",
5
5
  "keywords": [
6
6
  "agent",
@@ -53,11 +53,11 @@
53
53
  },
54
54
  "dependencies": {
55
55
  "@expo/fingerprint": "^0.21.5",
56
- "@stim-cli/agent-driver": "1.32.0",
57
- "@stim-cli/agent-driver-agent-device": "1.32.0",
58
- "@stim-cli/cache": "1.32.0",
59
- "@stim-cli/core": "1.32.0",
60
- "@stim-cli/metro": "1.32.0",
56
+ "@stim-cli/agent-driver": "1.33.0",
57
+ "@stim-cli/agent-driver-agent-device": "1.33.0",
58
+ "@stim-cli/cache": "1.33.0",
59
+ "@stim-cli/core": "1.33.0",
60
+ "@stim-cli/metro": "1.33.0",
61
61
  "@xmldom/xmldom": "0.9.12",
62
62
  "chalk": "^6.0.0",
63
63
  "commander": "^15.0.0",
@@ -66,7 +66,7 @@
66
66
  "ws": "^8.21.3"
67
67
  },
68
68
  "devDependencies": {
69
- "@stim-cli/expo-build-cache": "1.32.0",
69
+ "@stim-cli/expo-build-cache": "1.33.0",
70
70
  "@types/cross-spawn": "^6.0.6",
71
71
  "@types/which": "^3.0.4",
72
72
  "@types/ws": "^8.18.1",
@@ -1,2 +0,0 @@
1
- import { m as startExpoServer } from "./server-expo-BLxcN2x2.mjs";
2
- export { startExpoServer };
@@ -1,2 +0,0 @@
1
- import { t as triggerMaintenance } from "./trigger-CfnOfpDd.mjs";
2
- export { triggerMaintenance };
@@ -1,2 +0,0 @@
1
- import { n as webCommand, t as runWeb } from "./web-BdWG8b5_.mjs";
2
- export { webCommand as default, runWeb };