stim 1.28.0 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/{acquire-artifact-CKByBnTD.mjs → acquire-artifact-C2DKfenN.mjs} +1 -1
  2. package/dist/{act-8iswyfRa.mjs → act-CrTcskiE.mjs} +479 -29
  3. package/dist/{activity-DRMg4_mD.mjs → activity-BR5oHSO5.mjs} +6 -5
  4. package/dist/{agent-device-usage-output-tE90fDdo.mjs → agent-device-usage-output-W0x4SoC7.mjs} +4 -4
  5. package/dist/{android-CsPs-7Mg.mjs → android-BHKgeOuq.mjs} +5 -5
  6. package/dist/{android-YWCbmkVK.mjs → android-BPmCmyAy.mjs} +5 -5
  7. package/dist/{android-D577ApKG.mjs → android-CLU_MMnb.mjs} +1 -1
  8. package/dist/{android-cas-_aDifWW0.mjs → android-cas-BH6K12__.mjs} +4 -4
  9. package/dist/{android-CHmSU4B4.mjs → android-l616dRP1.mjs} +37 -37
  10. package/dist/{android-project-DUGMbq28.d.mts → android-project-CCEQyYJK.d.mts} +6 -2
  11. package/dist/api.d.mts +7 -4
  12. package/dist/api.mjs +27 -27
  13. package/dist/{apk-signed-tail-CQbwM0qO.mjs → apk-signed-tail-B-wKoF_8.mjs} +2 -2
  14. package/dist/{artifact-bFkfD3vf.mjs → artifact-DHuFYfhD.mjs} +12 -12
  15. package/dist/{artifact-DYtHjxsn.mjs → artifact-Dm9ScLrh.mjs} +12 -12
  16. package/dist/{auto-placement-BVqs8AJi.mjs → auto-placement-C8sJsyMN.mjs} +8 -8
  17. package/dist/{browser-web-BUaLcafY.mjs → browser-web-_tQTbQUs.mjs} +12 -12
  18. package/dist/{build-cQURy_KW.mjs → build-DtCU9Kim.mjs} +23 -23
  19. package/dist/{build-cache-CZULpXVl.mjs → build-cache-BGwTsIEa.mjs} +4 -4
  20. package/dist/{build-plan-CxoYfxsc.mjs → build-plan-CWyjMPKo.mjs} +6 -6
  21. package/dist/{cache-manifest-DEjqGGat.mjs → cache-manifest-evF_zJ9U.mjs} +1 -1
  22. package/dist/cache-manifest.mjs +1 -1
  23. package/dist/{ccache-Bm_A1xX9.mjs → ccache-DsDkdP72.mjs} +17 -17
  24. package/dist/{cli-CpbaLDa7.mjs → cli-3fjOg-Oc.mjs} +19 -19
  25. package/dist/cli.mjs +1 -1
  26. package/dist/{client-YxCer6ab.mjs → client-BTUH8TF1.mjs} +5 -5
  27. package/dist/collector-run.mjs +5 -5
  28. package/dist/{command-output-C8R1KIvi.mjs → command-output-DjCsmzLZ.mjs} +1 -1
  29. package/dist/{config-Cn94Jc0g.mjs → config-AbUjIBOQ.mjs} +121 -19
  30. package/dist/{dependencies-DKeMzwXY.mjs → dependencies-CHNqX6Pr.mjs} +38 -38
  31. package/dist/{dependency-state-CojA2o0t.mjs → dependency-state-CPKAKCZ8.mjs} +1 -1
  32. package/dist/{dev-client-D-BW5uiq.mjs → dev-client-CROrxj1x.mjs} +2 -2
  33. package/dist/{device-CgXfbcz5.mjs → device-Bmm5qjM-.mjs} +14 -14
  34. package/dist/device-BvpasThQ.mjs +297 -0
  35. package/dist/{device-capacity-Cd8lMSn3.mjs → device-capacity-B2ChA-bz.mjs} +7 -7
  36. package/dist/device-host-worker.mjs +12 -12
  37. package/dist/{device-ios-Cc9ulihb.mjs → device-ios-CYzivd31.mjs} +9 -9
  38. package/dist/{device-lease-run-Mtzp4THX.mjs → device-lease-run-qRq_2W2V.mjs} +4 -4
  39. package/dist/{device-pool-eRz6DtCg.mjs → device-pool-CrmiE4_x.mjs} +3 -3
  40. package/dist/{device-eeK95Lir.mjs → device-provision-CK2XiEp1.mjs} +11 -302
  41. package/dist/{doctor-C2QyhejJ.mjs → doctor-BO_kaFWX.mjs} +1 -1
  42. package/dist/{doctor-Bz_ouYAW.mjs → doctor-Cp4-HN1f.mjs} +20 -15
  43. package/dist/{doctor-xf7ht-5n.mjs → doctor-Dr3C1iXV.mjs} +19 -19
  44. package/dist/doctor-fingerprint.mjs +1 -1
  45. package/dist/{doctor-watchman-BTW82PDC.mjs → doctor-watchman-CJr2aXXv.mjs} +4 -4
  46. package/dist/{eas-build-Dm6q68QY.mjs → eas-build-D-9HmGZS.mjs} +2 -2
  47. package/dist/{eas-fallback-DajNpxf-.mjs → eas-fallback-Cemt2GVL.mjs} +4 -4
  48. package/dist/{eas-session-ledger-CBFo_Uo1.mjs → eas-session-ledger-B0KLZx5m.mjs} +5 -5
  49. package/dist/{error-diagnostics-D1QfyJzQ.mjs → error-diagnostics-CV_1RoEH.mjs} +8 -8
  50. package/dist/{gc-DM5oMm-J.mjs → gc-CKHqL4aS.mjs} +80 -18
  51. package/dist/{gc-PLFwb0k4.mjs → gc-DjXwQXHK.mjs} +2 -2
  52. package/dist/{guide-C4I46XAk.mjs → guide-CeRlWVsS.mjs} +129 -25
  53. package/dist/{hosted-android-DlaKLbW0.mjs → hosted-android-DI_vvv7U.mjs} +3 -3
  54. package/dist/{hosted-client-DDRm9hPJ.mjs → hosted-client-CgoxdU9j.mjs} +3 -3
  55. package/dist/{hosted-logs-bSebOKbz.mjs → hosted-logs-C-4INmkn.mjs} +17 -8
  56. package/dist/{hosted-logs-sync-B0c53W_c.mjs → hosted-logs-sync-Bf5s02fi.mjs} +5 -5
  57. package/dist/{hosted-macos-B7-8Pv4H.mjs → hosted-macos-Doh85YUM.mjs} +5 -5
  58. package/dist/{hosted-native-CDe33CSr.mjs → hosted-native-DvZENAL-.mjs} +6 -6
  59. package/dist/{idle-shutdown-CQ0QwU9J.mjs → idle-shutdown-BM37gMfU.mjs} +7 -7
  60. package/dist/{ios-B1HvafEG.mjs → ios-CNDH6fNF.mjs} +8 -8
  61. package/dist/{ios-B1DYuOjh.mjs → ios-CoMCWfub.mjs} +4 -4
  62. package/dist/{ios-tg4tp3q1.mjs → ios-UM_dManb.mjs} +28 -28
  63. package/dist/{ios-device-B4elVFKi.mjs → ios-device-L1-pota_.mjs} +1 -1
  64. package/dist/{ios-project-CR4mZ7CH.mjs → ios-project-DJYptOCh.mjs} +7 -7
  65. package/dist/{ios-state-BPHqMDdZ.mjs → ios-state-Ce_dystM.mjs} +1 -1
  66. package/dist/{js-swap-CVpSW1fn.mjs → js-swap-BthE4kZC.mjs} +4 -4
  67. package/dist/{launch-DoySmhjz.mjs → launch-D798aSm8.mjs} +19 -19
  68. package/dist/{lightened-DFAJgfIk.mjs → lightened-vSxkstg6.mjs} +4 -4
  69. package/dist/{logs-BGsW7iPe.mjs → logs-BND8MiBq.mjs} +9 -8
  70. package/dist/{logs-DI5ILkYB.mjs → logs-CilPftm3.mjs} +5 -5
  71. package/dist/{macos-C12RMJQF.mjs → macos-BOQrKYeJ.mjs} +1 -1
  72. package/dist/{macos-Bo9st9Di.mjs → macos-CxUi9xcE.mjs} +20 -20
  73. package/dist/macos-run.mjs +1 -1
  74. package/dist/maintenance-run.mjs +13 -9
  75. package/dist/{metro-BnhXV2Mj.mjs → metro-BMQHczcf.mjs} +2 -2
  76. package/dist/{metro-request-DXyKjVDF.mjs → metro-request-BtF7ox53.mjs} +1 -1
  77. package/dist/{named-ports-Phoi2POD.mjs → named-ports-DcktE2Pw.mjs} +2 -2
  78. package/dist/{native-android-vxgtLD7w.mjs → native-android-BkhrCjdX.mjs} +16 -16
  79. package/dist/{native-gradle-artifact-inputs-BN96IVw8.mjs → native-gradle-artifact-inputs-Cw4P6Gyr.mjs} +3 -3
  80. package/dist/{native-runtime-DG4Rodzj.mjs → native-runtime-DyH2gkXK.mjs} +6 -6
  81. package/dist/{native-xcode-inputs-BKarCoKg.mjs → native-xcode-inputs-DV8jr3kJ.mjs} +2 -2
  82. package/dist/{native-xcode-ios-8A-efGa5.mjs → native-xcode-ios-DdpPG2iT.mjs} +15 -15
  83. package/dist/{ndjson-Dy2W4vRa.mjs → ndjson-CrjIsGzw.mjs} +2 -2
  84. package/dist/offload-worker.d.mts +1 -1
  85. package/dist/offload-worker.mjs +22 -22
  86. package/dist/{ownership-DJCq48IJ.mjs → ownership-Dtz9G5Gl.mjs} +2 -2
  87. package/dist/{phone-reverses-BzTa8g1F.mjs → phone-reverses-DZRad8HT.mjs} +4 -4
  88. package/dist/{placement-log-Cvhta5ib.mjs → placement-log-CoN6xrjY.mjs} +1 -1
  89. package/dist/{plan-placement-WkZdccuN.mjs → plan-placement-7sHuqR-r.mjs} +6 -6
  90. package/dist/{ports-UV4mJgyC.mjs → ports-VQSAPZhl.mjs} +3 -3
  91. package/dist/{prebuild-k8d_tqOq.mjs → prebuild-Bqp0LFGN.mjs} +9 -9
  92. package/dist/{project-Sui52ywT.mjs → project-D1n0K4yg.mjs} +15 -15
  93. package/dist/{react-native-android-DANlGGQf.mjs → react-native-android-FQ-yX3Mv.mjs} +22 -22
  94. package/dist/{react-native-build-jUHnIfZ9.mjs → react-native-build-D58bIqV9.mjs} +7 -7
  95. package/dist/{react-native-doctor-DCWRjS7K.mjs → react-native-doctor-AkUH2aca.mjs} +5 -5
  96. package/dist/{react-native-ios-BwMsFMXi.mjs → react-native-ios-Dmsv8j7T.mjs} +14 -14
  97. package/dist/{recordings-iy0mkm7b.mjs → recordings-CHMaF73C.mjs} +1 -1
  98. package/dist/{reload-c_uEyc_X.mjs → reload-BV0nD-k9.mjs} +14 -14
  99. package/dist/{reload-Bj7QyuDy.mjs → reload-CDKEzzaf.mjs} +1 -1
  100. package/dist/{remote-DFlpAqdV.mjs → remote-C8xyslUa.mjs} +8 -8
  101. package/dist/{result-BIcXREyC.mjs → result-9fqcJ90W.mjs} +16 -16
  102. package/dist/{run-y2HwyNvg.mjs → run-BQAmrohh.mjs} +2 -2
  103. package/dist/{selection-CXgM_VK_.mjs → selection-D1ZDzHFX.mjs} +105 -62
  104. package/dist/{server-bare-2N4vSRZG.mjs → server-bare-CEQdB_F4.mjs} +37 -1
  105. package/dist/{server-command-qneHPcRI.mjs → server-command-RlS-Kl4a.mjs} +5 -5
  106. package/dist/server-expo-BVV9qy31.mjs +2 -0
  107. package/dist/{server-expo-Ccm9zB0o.mjs → server-expo-bB1VV2k-.mjs} +8 -5
  108. package/dist/{settings-Cfd_Q6ys.mjs → settings-BcVCcAT5.mjs} +2 -2
  109. package/dist/{settings-CY5JZlNN.mjs → settings-D776ygML.mjs} +1 -1
  110. package/dist/{settings-Djl-mpjX.mjs → settings-D9LtQaUw.mjs} +2 -1
  111. package/dist/{settings-payload-DwQiEMCn.mjs → settings-payload-_aatELz2.mjs} +4 -4
  112. package/dist/{settings-write-CJpjkeAd.mjs → settings-write-CkTVGQ4O.mjs} +5 -5
  113. package/dist/settings.schema.json +58 -9
  114. package/dist/{simslim-DCQwzoPy.mjs → simslim-CbpHERcv.mjs} +1 -1
  115. package/dist/{slot-launch-BpmanOnk.mjs → slot-launch-Dbgfh8gc.mjs} +6 -6
  116. package/dist/{stage-CmugrSG5.mjs → stage-BuHuRj1y.mjs} +1 -1
  117. package/dist/{start-CHH3zgIU.mjs → start-Cr-c3Xhq.mjs} +1 -1
  118. package/dist/{start-DYLk6GXn.mjs → start-Dlv4XXTP.mjs} +11 -11
  119. package/dist/{state-BXC1Lfxw.mjs → state-C2AUjjhg.mjs} +1 -1
  120. package/dist/{state-B2QJbDwz.mjs → state-D5ZxwCGJ.mjs} +2 -2
  121. package/dist/{stats-DxKqhcGp.mjs → stats-D5c-uIBp.mjs} +4 -4
  122. package/dist/{status-7ULDEJ1e.mjs → status-CK7ZoEhV.mjs} +2 -2
  123. package/dist/{status-BHCkOZga.mjs → status-D6PBK6_-.mjs} +24 -24
  124. package/dist/{status-D_Ljc89p.mjs → status-DbQv--Yb.mjs} +1 -1
  125. package/dist/{status-watch-BmsPqYSU.mjs → status-watch-okrpea4i.mjs} +4 -4
  126. package/dist/status-worker.mjs +1 -1
  127. package/dist/{stim-desktop-CbWo21kb.mjs → stim-desktop-CYXLFpFS.mjs} +1 -1
  128. package/dist/{stop-b2pouxAO.mjs → stop-CHtAiv79.mjs} +2 -2
  129. package/dist/{stop-D-dGE9gh.mjs → stop-p9uSKuGE.mjs} +20 -19
  130. package/dist/{stop-DQvE-P76.mjs → stop-uRQ-zYcl.mjs} +4 -4
  131. package/dist/supervisor-run.d.mts +1 -0
  132. package/dist/supervisor-run.mjs +23 -19
  133. package/dist/{support-BtlJKjyQ.mjs → support-BMpQIug0.mjs} +9 -9
  134. package/dist/{support-04IhBUTT.mjs → support-PFyTkrnr.mjs} +4 -4
  135. package/dist/{swiftpm-artifact-inputs-Cj2UpmPN.mjs → swiftpm-artifact-inputs-Cddq6jN2.mjs} +1 -1
  136. package/dist/{swiftpm-macos-BhF2stxY.mjs → swiftpm-macos-BSj9iZlI.mjs} +8 -8
  137. package/dist/{toolchain-qktiV8xc.mjs → toolchain-B-mzR9Rh.mjs} +1 -1
  138. package/dist/{toolchain-mLA_km-b.mjs → toolchain-CLGnEUgT.mjs} +4 -4
  139. package/dist/{trigger-DMou-X7j.mjs → trigger-CfnOfpDd.mjs} +1 -1
  140. package/dist/trigger-DBZ-GBrl.mjs +2 -0
  141. package/dist/{warm-progress-B0Vpuvpl.mjs → warm-progress--KkkBBaq.mjs} +3 -3
  142. package/dist/web-BxSo493O.mjs +2 -0
  143. package/dist/web-run.mjs +5 -5
  144. package/dist/{web-BYmK0TjL.mjs → web-xlVssjQf.mjs} +8 -8
  145. package/dist/{workspace-state-kIZrdlSg.mjs → workspace-state-DGwkPXwq.mjs} +2 -2
  146. package/dist/{workspaces-CmOcceDN.mjs → workspaces-CvSYD_78.mjs} +11 -11
  147. package/dist/{worktree-2dk5edza.mjs → worktree-CaQBf6kh.mjs} +25 -25
  148. package/dist/{worktree-nliAoHxB.mjs → worktree-DTOIohFe.mjs} +1 -1
  149. package/package.json +7 -7
  150. package/shim/bundle-response.cjs +37 -0
  151. package/dist/server-expo-WulkyAwT.mjs +0 -2
  152. package/dist/trigger-qp2ji5wE.mjs +0 -2
  153. package/dist/web-CrVLVQZY.mjs +0 -2
@@ -1,15 +1,15 @@
1
1
  import { T as trackReportResource, _ as spawnDeclared, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { y as sharedBuildCache } from "./workspace-state-kIZrdlSg.mjs";
3
- import { J as resolveCacheProviderConfig, Vt as repoRootAsync, it as settingValueAt, z as projectSettingsContextAsync } from "./settings-CY5JZlNN.mjs";
4
- import { r as register } from "./cache-manifest-DEjqGGat.mjs";
5
- import { m as macosToolchainAsync, ot as runCancellationSignal } from "./toolchain-mLA_km-b.mjs";
6
- import "./build-cache-CZULpXVl.mjs";
2
+ import { y as sharedBuildCache } from "./workspace-state-DGwkPXwq.mjs";
3
+ import { J as resolveCacheProviderConfig, Vt as repoRootAsync, it as settingValueAt, z as projectSettingsContextAsync } from "./settings-D776ygML.mjs";
4
+ import { r as register } from "./cache-manifest-evF_zJ9U.mjs";
5
+ import { m as macosToolchainAsync, ot as runCancellationSignal } from "./toolchain-CLGnEUgT.mjs";
6
+ import "./build-cache-BGwTsIEa.mjs";
7
7
  import { l as artifactCachePolicy, p as resolveOptimizations } from "./errors-DHm_U5gv.mjs";
8
8
  import { r as nativeFileDigest } from "./native-source-D1AzWiuP.mjs";
9
- import { a as validateInfoPlist, i as stageBundle, n as resolveBundleExtras, r as setBundleName, t as reidentifyBundle } from "./stage-CmugrSG5.mjs";
9
+ import { a as validateInfoPlist, i as stageBundle, n as resolveBundleExtras, r as setBundleName, t as reidentifyBundle } from "./stage-BuHuRj1y.mjs";
10
10
  import { t as validateMacosArtifactPlatform } from "./artifact-platform-BO2Uvk_A.mjs";
11
- import { t as logLines } from "./run-y2HwyNvg.mjs";
12
- import { n as swiftpmArtifactInputs, r as swiftpmArtifactSnapshot, t as readSwiftpmArtifactToolchain } from "./swiftpm-artifact-inputs-Cj2UpmPN.mjs";
11
+ import { t as logLines } from "./run-BQAmrohh.mjs";
12
+ import { n as swiftpmArtifactInputs, r as swiftpmArtifactSnapshot, t as readSwiftpmArtifactToolchain } from "./swiftpm-artifact-inputs-Cddq6jN2.mjs";
13
13
  import { createHash } from "node:crypto";
14
14
  import { createReadStream, createWriteStream, existsSync, realpathSync } from "node:fs";
15
15
  import { tmpdir } from "node:os";
@@ -1,2 +1,2 @@
1
- import { m as macosToolchainAsync, p as macosToolchain } from "./toolchain-mLA_km-b.mjs";
1
+ import { m as macosToolchainAsync, p as macosToolchain } from "./toolchain-CLGnEUgT.mjs";
2
2
  export { macosToolchain, macosToolchainAsync };
@@ -1,12 +1,12 @@
1
1
  import { D as ownership_claim_exports, _ as spawnDeclared, b as operationState, g as signalDeclaredSpawns, h as refuseDeclaredSpawns, m as declareSpawnsOn, p as allowDeclaredSpawns, t as getExecutor, u as withWorkspaceProcessLock, v as stopDeclaringSpawnsOn, y as isTermination } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir, T as workspaceDerivedData, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-kIZrdlSg.mjs";
2
+ import { E as workspaceDir, T as workspaceDerivedData, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-DGwkPXwq.mjs";
3
3
  import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
4
- import { a as formatElapsed, l as phaseLine } from "./command-output-C8R1KIvi.mjs";
4
+ import { a as formatElapsed, l as phaseLine } from "./command-output-DjCsmzLZ.mjs";
5
5
  import { a as killOnAbort } from "./operation-exec-Dp4FuIGR.mjs";
6
- import { o as androidHome } from "./android-CsPs-7Mg.mjs";
6
+ import { o as androidHome } from "./android-BHKgeOuq.mjs";
7
7
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
8
8
  import { p as resolveOptimizations } from "./errors-DHm_U5gv.mjs";
9
- import { t as cleanLine } from "./server-expo-Ccm9zB0o.mjs";
9
+ import { t as cleanLine } from "./server-expo-bB1VV2k-.mjs";
10
10
  import { createRequire } from "node:module";
11
11
  import { createHash } from "node:crypto";
12
12
  import { existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, realpathSync, rmSync, statSync, writeFileSync } from "node:fs";
@@ -1,5 +1,5 @@
1
1
  import { t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { t as resolveMaintenanceSettings } from "./settings-Djl-mpjX.mjs";
2
+ import { t as resolveMaintenanceSettings } from "./settings-D9LtQaUw.mjs";
3
3
  import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
4
4
  import { n as windowsLauncherArgs } from "./detached-entry-BPlSaCwC.mjs";
5
5
  import { n as stampAttempt, r as due, t as capChildLog } from "./attempt-ClyJlZPT.mjs";
@@ -0,0 +1,2 @@
1
+ import { t as triggerMaintenance } from "./trigger-CfnOfpDd.mjs";
2
+ export { triggerMaintenance };
@@ -1,8 +1,8 @@
1
1
  import { D as ownership_claim_exports, E as debugLog, l as WorkspaceProcessCleanupError, n as isTimeoutError, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { E as workspaceDir, M as withDirLock, _ as ensureWorkspaceStorage, h as discoverAgentSessions, m as attributeAgentSessions, o as updateWorkspaceState, p as agentKey } from "./workspace-state-kIZrdlSg.mjs";
2
+ import { E as workspaceDir, M as withDirLock, _ as ensureWorkspaceStorage, h as discoverAgentSessions, m as attributeAgentSessions, o as updateWorkspaceState, p as agentKey } from "./workspace-state-DGwkPXwq.mjs";
3
3
  import { l as gitQuietAsync, o as git$1, s as gitAsync } from "./operation-exec-Dp4FuIGR.mjs";
4
- import { Ct as gitCommonDirOnDisk, Ot as linkedWorktreesOnDisk } from "./settings-CY5JZlNN.mjs";
5
- import { V as ownedAvdDirectory } from "./android-CsPs-7Mg.mjs";
4
+ import { Ct as gitCommonDirOnDisk, Ot as linkedWorktreesOnDisk } from "./settings-D776ygML.mjs";
5
+ import { V as ownedAvdDirectory } from "./android-BHKgeOuq.mjs";
6
6
  import { s as pullRequestLookups } from "./pull-request-BzLmzAIQ.mjs";
7
7
  import { clearClaimChild, markClaimChildPending, releaseClaim, setClaimChild, tryAcquireClaim } from "@stim-cli/core/ownership-claim";
8
8
  import { randomUUID } from "node:crypto";
@@ -0,0 +1,2 @@
1
+ import { n as webCommand, t as runWeb } from "./web-xlVssjQf.mjs";
2
+ export { webCommand as default, runWeb };
package/dist/web-run.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  import { D as ownership_claim_exports, S as process_identity_exports, o as cancellableSleep, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { Tt as recordCreatedDevice } from "./android-CsPs-7Mg.mjs";
3
- import { f as signalProcessTree } from "./metro-BnhXV2Mj.mjs";
4
- import { i as createNdjsonWriter } from "./ndjson-Dy2W4vRa.mjs";
5
- import { c as webClaimRoot, f as webLogFile, g as chromeProcessState, h as writeWebRecord, i as clearWebRecord, l as webDir, n as browserLogFile, p as webProfileDir, s as updateWebRecord, v as liveProfileHolder, y as removeSingletonFiles } from "./state-B2QJbDwz.mjs";
6
- import { l as probeWebDrivers } from "./activity-DRMg4_mD.mjs";
2
+ import { Tt as recordCreatedDevice } from "./android-BHKgeOuq.mjs";
3
+ import { f as signalProcessTree } from "./metro-BMQHczcf.mjs";
4
+ import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
5
+ import { c as webClaimRoot, f as webLogFile, g as chromeProcessState, h as writeWebRecord, i as clearWebRecord, l as webDir, n as browserLogFile, p as webProfileDir, s as updateWebRecord, v as liveProfileHolder, y as removeSingletonFiles } from "./state-D5ZxwCGJ.mjs";
6
+ import { l as probeWebDrivers } from "./activity-BR5oHSO5.mjs";
7
7
  import { t as connectOwnedBrowser } from "./cdp-C3svvXiE.mjs";
8
8
  import { t as relaunchWithLogFile } from "./detached-entry-BPlSaCwC.mjs";
9
9
  import { i as chromeArgs, n as DESKTOP_PAGE, r as PHONE_SCREEN } from "./chrome-DyDWurWG.mjs";
@@ -1,12 +1,12 @@
1
- import { i as recordWorkspaceUse, k as workspaceLogsDir } from "./workspace-state-kIZrdlSg.mjs";
2
- import { E as upsertProject, O as withConfigLockAsync, p as getProject } from "./config-Cn94Jc0g.mjs";
3
- import { f as refuseNoProject, l as phaseLine } from "./command-output-C8R1KIvi.mjs";
4
- import { Z as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY, rt as settingShapeErrors } from "./settings-CY5JZlNN.mjs";
5
- import { f as projectRegistry, n as findCommandWorkspace } from "./project-Sui52ywT.mjs";
6
- import { a as workspaceLinkLine, o as workspaceLinks } from "./stim-desktop-CbWo21kb.mjs";
7
- import { o as readWebRecord, r as cdpEndpoint } from "./state-B2QJbDwz.mjs";
1
+ import { i as recordWorkspaceUse, k as workspaceLogsDir } from "./workspace-state-DGwkPXwq.mjs";
2
+ import { E as upsertProject, O as withConfigLockAsync, p as getProject } from "./config-AbUjIBOQ.mjs";
3
+ import { f as refuseNoProject, l as phaseLine } from "./command-output-DjCsmzLZ.mjs";
4
+ import { Z as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY, rt as settingShapeErrors } from "./settings-D776ygML.mjs";
5
+ import { f as projectRegistry, n as findCommandWorkspace } from "./project-D1n0K4yg.mjs";
6
+ import { a as workspaceLinkLine, o as workspaceLinks } from "./stim-desktop-CYXLFpFS.mjs";
7
+ import { o as readWebRecord, r as cdpEndpoint } from "./state-D5ZxwCGJ.mjs";
8
8
  import { t as liveWebRecord } from "./page-CQJlcj3x.mjs";
9
- import { n as ensureWorkspaceStorageSafely } from "./native-runtime-DG4Rodzj.mjs";
9
+ import { n as ensureWorkspaceStorageSafely } from "./native-runtime-DyH2gkXK.mjs";
10
10
  import chalk from "chalk";
11
11
  //#region src/commands/web.ts
12
12
  const printNote = (line) => console.error(line);
@@ -1,6 +1,6 @@
1
1
  import { S as process_identity_exports, t as getExecutor } from "./exec-aULwtNly.mjs";
2
- import { A as writeConfigSettingAsync, k as writeConfigSetting, m as getProjectSettings } from "./config-Cn94Jc0g.mjs";
3
- import { lt as workspaceHiddenSetting } from "./settings-CY5JZlNN.mjs";
2
+ import { A as writeConfigSettingAsync, k as writeConfigSetting, m as getProjectSettings } from "./config-AbUjIBOQ.mjs";
3
+ import { lt as workspaceHiddenSetting } from "./settings-D776ygML.mjs";
4
4
  import { existsSync, mkdirSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
5
5
  import { homedir } from "node:os";
6
6
  import { dirname, isAbsolute, join, relative } from "node:path";
@@ -1,18 +1,18 @@
1
1
  import { D as ownership_claim_exports, S as process_identity_exports, b as operationState, c as throwIfCancelled, d as workspaceProcessLockError, f as workspaceProcessLockPath, l as WorkspaceProcessCleanupError, m as declareSpawnsOn, o as cancellableSleep, t as getExecutor, u as withWorkspaceProcessLock, v as stopDeclaringSpawnsOn } from "./exec-aULwtNly.mjs";
2
- import { A as workspaceName$1, E as workspaceDir, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey, u as workspaceLastUsed, w as workspaceAgentDeviceDir } from "./workspace-state-kIZrdlSg.mjs";
3
- import { D as withConfigLock$1, F as isOnMountedVolume, G as projectDeviceSlots, H as deviceSlotPlatforms, I as listMountedVolumes, L as measuredDirectorySizeAsync, O as withConfigLockAsync$1, P as formatBytes, _ as loadConfig$1, d as getConfigDir, g as isPathPrefix$1, j as acquireAvdClaim, p as getProject } from "./config-Cn94Jc0g.mjs";
2
+ import { A as workspaceName$1, E as workspaceDir, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey, u as workspaceLastUsed, w as workspaceAgentDeviceDir } from "./workspace-state-DGwkPXwq.mjs";
3
+ import { D as withConfigLock$1, F as isOnMountedVolume, G as projectDeviceSlots, H as deviceSlotPlatforms, I as listMountedVolumes, L as measuredDirectorySizeAsync, O as withConfigLockAsync$1, P as formatBytes, _ as loadConfig$1, d as getConfigDir, g as isPathPrefix$1, j as acquireAvdClaim, p as getProject } from "./config-AbUjIBOQ.mjs";
4
4
  import { t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
5
- import { a as formatElapsed, d as quotedPath$1, l as phaseLine, o as formatLongDuration, u as plural } from "./command-output-C8R1KIvi.mjs";
5
+ import { a as formatElapsed, d as quotedPath$1, l as phaseLine, o as formatLongDuration, u as plural } from "./command-output-DjCsmzLZ.mjs";
6
6
  import { c as gitQuiet, l as gitQuietAsync, t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
7
- import { Pt as lockReason, Vt as repoRootAsync, Xt as worktreeLockAsync, Yt as worktreeLock, pt as resolveTailscaleBinary } from "./settings-CY5JZlNN.mjs";
8
- import { a as macosRuntimeClaim, n as macosDir } from "./state-BXC1Lfxw.mjs";
9
- import { Ct as forgetCreatedDeviceAsync, G as ownedAvdSerialResolverAsync, H as ownedAvdMatchesConfiguration, K as ownedAvdSystemImage, L as listOrphanedAvdDirectories, S as deleteAvd, St as forgetCreatedDevice, Tt as recordCreatedDevice, V as ownedAvdDirectory, W as ownedAvdSerialResolver, _t as parkSim, bt as removeParkedAfter, g as avdPathExists, ht as eraseParkedAfter, it as shutdownAndroidEmulator, j as listAdbDevicesAsync, lt as wipeAvdUserData, nt as resolveOwnedAvdSerialAsync, p as assertOwnedAvdStoppedAsync, st as waitForAndroidEmulatorShutdown, ut as isStimOwnedAvd, v as avdStorageRoots, wt as readCreatedDevices$1, yt as readParked } from "./android-CsPs-7Mg.mjs";
10
- import { c as pidExists, f as signalProcessTree, p as signalProcessTreeAsync } from "./metro-BnhXV2Mj.mjs";
11
- import { _ as chromeProcessStateAsync, c as webClaimRoot, i as clearWebRecord, o as readWebRecord, p as webProfileDir, t as CDP_PORT_LABEL, u as webFacts, v as liveProfileHolder, y as removeSingletonFiles } from "./state-B2QJbDwz.mjs";
7
+ import { Pt as lockReason, Vt as repoRootAsync, Xt as worktreeLockAsync, Yt as worktreeLock, pt as resolveTailscaleBinary } from "./settings-D776ygML.mjs";
8
+ import { a as macosRuntimeClaim, n as macosDir } from "./state-C2AUjjhg.mjs";
9
+ import { Ct as forgetCreatedDeviceAsync, G as ownedAvdSerialResolverAsync, H as ownedAvdMatchesConfiguration, K as ownedAvdSystemImage, L as listOrphanedAvdDirectories, S as deleteAvd, St as forgetCreatedDevice, Tt as recordCreatedDevice, V as ownedAvdDirectory, W as ownedAvdSerialResolver, _t as parkSim, bt as removeParkedAfter, g as avdPathExists, ht as eraseParkedAfter, it as shutdownAndroidEmulator, j as listAdbDevicesAsync, lt as wipeAvdUserData, nt as resolveOwnedAvdSerialAsync, p as assertOwnedAvdStoppedAsync, st as waitForAndroidEmulatorShutdown, ut as isStimOwnedAvd, v as avdStorageRoots, wt as readCreatedDevices$1, yt as readParked } from "./android-BHKgeOuq.mjs";
10
+ import { c as pidExists, f as signalProcessTree, p as signalProcessTreeAsync } from "./metro-BMQHczcf.mjs";
11
+ import { _ as chromeProcessStateAsync, c as webClaimRoot, i as clearWebRecord, o as readWebRecord, p as webProfileDir, t as CDP_PORT_LABEL, u as webFacts, v as liveProfileHolder, y as removeSingletonFiles } from "./state-D5ZxwCGJ.mjs";
12
12
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
13
- import { N as listBuildLocks, d as readAgentDeviceRecords, i as createActivityReaderAsync, r as createActivityReader, s as idleForMs, t as agentDeviceDaemon } from "./activity-DRMg4_mD.mjs";
14
- import { C as renameIosSim, D as resolveOwnedIosSim, c as eraseIosSim, f as listAllIosSimsAsync, k as shutdownIosSim, o as deleteIosSim, p as listIosDeviceTypesAsync, s as deleteParkedIosSim, v as parkedSimName, y as parseRuntimeVersion } from "./ios-B1DYuOjh.mjs";
15
- import { r as releaseBrowserPort } from "./named-ports-Phoi2POD.mjs";
13
+ import { N as listBuildLocks, d as readAgentDeviceRecords, i as createActivityReaderAsync, r as createActivityReader, s as idleForMs, t as agentDeviceDaemon } from "./activity-BR5oHSO5.mjs";
14
+ import { C as renameIosSim, D as resolveOwnedIosSim, c as eraseIosSim, f as listAllIosSimsAsync, k as shutdownIosSim, o as deleteIosSim, p as listIosDeviceTypesAsync, s as deleteParkedIosSim, v as parkedSimName, y as parseRuntimeVersion } from "./ios-CoMCWfub.mjs";
15
+ import { r as releaseBrowserPort } from "./named-ports-DcktE2Pw.mjs";
16
16
  import { createHash, randomUUID } from "node:crypto";
17
17
  import { closeSync, existsSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, rmdirSync, statSync, unlinkSync, watch, writeFileSync } from "node:fs";
18
18
  import { isDeepStrictEqual } from "node:util";
@@ -1,32 +1,32 @@
1
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-kIZrdlSg.mjs";
3
- import { E as upsertProject, G as projectDeviceSlots, L as measuredDirectorySizeAsync, O as withConfigLockAsync$1, S as removeProject, _ as loadConfig$1, a as clearDevice, d as getConfigDir, g as isPathPrefix$1, j as acquireAvdClaim, p as getProject } from "./config-Cn94Jc0g.mjs";
4
- import { a as formatElapsed, h as shortUdid, i as formatDuration, l as phaseLine, p as releasedLeaseFact, u as plural } from "./command-output-C8R1KIvi.mjs";
2
+ import { E as workspaceDir, a as recordWorkspaceUseAsync, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1, w as workspaceAgentDeviceDir } from "./workspace-state-DGwkPXwq.mjs";
3
+ import { E as upsertProject, G as projectDeviceSlots, L as measuredDirectorySizeAsync, O as withConfigLockAsync$1, S as removeProject, _ as loadConfig$1, a as clearDevice, d as getConfigDir, g as isPathPrefix$1, j as acquireAvdClaim, p as getProject } from "./config-AbUjIBOQ.mjs";
4
+ import { a as formatElapsed, h as shortUdid, i as formatDuration, l as phaseLine, p as releasedLeaseFact, u as plural } from "./command-output-DjCsmzLZ.mjs";
5
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-CY5JZlNN.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-Sui52ywT.mjs";
8
- import { t as macosAppPresent } from "./state-BXC1Lfxw.mjs";
9
- import { a as workspaceLinkLine, o as workspaceLinks } from "./stim-desktop-CbWo21kb.mjs";
10
- import { ft as POOL_SETTING_REMEDY, vt as parkedMaxSetting } from "./android-CsPs-7Mg.mjs";
11
- import { c as pidExists, d as resolveProjectMetro, p as signalProcessTreeAsync, r as killMetroTreeAsync } from "./metro-BnhXV2Mj.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-Bm_A1xX9.mjs";
13
- import { o as readWebRecord } from "./state-B2QJbDwz.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-CmOcceDN.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-D776ygML.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-D1n0K4yg.mjs";
8
+ import { t as macosAppPresent } from "./state-C2AUjjhg.mjs";
9
+ import { a as workspaceLinkLine, o as workspaceLinks } from "./stim-desktop-CYXLFpFS.mjs";
10
+ import { ft as POOL_SETTING_REMEDY, vt as parkedMaxSetting } from "./android-BHKgeOuq.mjs";
11
+ import { c as pidExists, d as resolveProjectMetro, p as signalProcessTreeAsync, r as killMetroTreeAsync } from "./metro-BMQHczcf.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-DsDkdP72.mjs";
13
+ import { o as readWebRecord } from "./state-D5ZxwCGJ.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-CvSYD_78.mjs";
15
15
  import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
16
- import { D as runCaptured, O as runPodInstall, S as DEPS_ERROR, T as readPodState, Y as podInstallCommand, ct as cacheUser, j as HEARTBEAT_INTERVAL_MS, w as podsAreStale } from "./toolchain-mLA_km-b.mjs";
17
- import { D as releaseWorkspaceLeases, t as agentDeviceDaemon } from "./activity-DRMg4_mD.mjs";
18
- import { R as readHostMemoryPressure, z as readHostMemoryPressureAsync } from "./ios-B1DYuOjh.mjs";
19
- import { t as clearNamedPorts } from "./named-ports-Phoi2POD.mjs";
20
- import { t as resolveMaintenanceSettings } from "./settings-Djl-mpjX.mjs";
21
- import { i as stopHostedAndroid } from "./hosted-android-DlaKLbW0.mjs";
22
- import { a as stopHostedIos, n as removePhoneReverses } from "./phone-reverses-BzTa8g1F.mjs";
23
- import { r as stopMacosApp } from "./stop-DQvE-P76.mjs";
24
- import { n as verifyCollectorOwnership } from "./ownership-DJCq48IJ.mjs";
16
+ import { D as runCaptured, O as runPodInstall, S as DEPS_ERROR, T as readPodState, Y as podInstallCommand, ct as cacheUser, j as HEARTBEAT_INTERVAL_MS, w as podsAreStale } from "./toolchain-CLGnEUgT.mjs";
17
+ import { D as releaseWorkspaceLeases, t as agentDeviceDaemon } from "./activity-BR5oHSO5.mjs";
18
+ import { R as readHostMemoryPressure, z as readHostMemoryPressureAsync } from "./ios-CoMCWfub.mjs";
19
+ import { t as clearNamedPorts } from "./named-ports-DcktE2Pw.mjs";
20
+ import { t as resolveMaintenanceSettings } from "./settings-D9LtQaUw.mjs";
21
+ import { i as stopHostedAndroid } from "./hosted-android-DI_vvv7U.mjs";
22
+ import { a as stopHostedIos, n as removePhoneReverses } from "./phone-reverses-DZRad8HT.mjs";
23
+ import { r as stopMacosApp } from "./stop-uRQ-zYcl.mjs";
24
+ import { n as verifyCollectorOwnership } from "./ownership-Dtz9G5Gl.mjs";
25
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-B0Vpuvpl.mjs";
27
- import { r as workspaceRecordingEnabled } from "./recordings-iy0mkm7b.mjs";
28
- import { i as installedNpmTreeProblems, n as hasInstalledDependencies, t as dependencyState } from "./dependency-state-CojA2o0t.mjs";
29
- import { a as discoverXcodeProject } from "./react-native-build-jUHnIfZ9.mjs";
26
+ import { c as mergeStateAsync, d as forgetStatusMeasures, t as startWarmProgress } from "./warm-progress--KkkBBaq.mjs";
27
+ import { r as workspaceRecordingEnabled } from "./recordings-CHMaF73C.mjs";
28
+ import { i as installedNpmTreeProblems, n as hasInstalledDependencies, t as dependencyState } from "./dependency-state-CPKAKCZ8.mjs";
29
+ import { a as discoverXcodeProject } from "./react-native-build-D58bIqV9.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";
@@ -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-2dk5edza.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-CaQBf6kh.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.28.0",
3
+ "version": "1.29.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.28.0",
57
- "@stim-cli/agent-driver-agent-device": "1.28.0",
58
- "@stim-cli/cache": "1.28.0",
59
- "@stim-cli/core": "1.28.0",
60
- "@stim-cli/metro": "1.28.0",
56
+ "@stim-cli/agent-driver": "1.29.0",
57
+ "@stim-cli/agent-driver-agent-device": "1.29.0",
58
+ "@stim-cli/cache": "1.29.0",
59
+ "@stim-cli/core": "1.29.0",
60
+ "@stim-cli/metro": "1.29.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.28.0",
69
+ "@stim-cli/expo-build-cache": "1.29.0",
70
70
  "@types/cross-spawn": "^6.0.6",
71
71
  "@types/which": "^3.0.4",
72
72
  "@types/ws": "^8.18.1",
@@ -9,6 +9,12 @@ const PROGRESS_PART = /^\{"done":(\d+),"total":(\d+),"percent":(\d+)\}$/;
9
9
  const PROGRESS_INTERVAL_MS = 1000;
10
10
  const MANIFEST_PATHS = new Set(['/', '/manifest', '/index.exp']);
11
11
  const observedServers = new WeakSet();
12
+ // Metro's HmrServer reports no reporter event when it pushes a change: it sends `update-start` with
13
+ // `isInitialUpdate: false` over the `/hot` websocket, and `isInitialUpdate: true` when a client registers.
14
+ // https://github.com/facebook/metro/blob/main/packages/metro/src/HmrServer.js (`_handleFileChange`)
15
+ const HMR_UPDATE = ['"type":"update-start"', '"isInitialUpdate":false'];
16
+ const HMR_UPDATE_INTERVAL_MS = 60_000;
17
+ const hmrServers = new WeakSet();
12
18
 
13
19
  function clientPidFromLsof(output, clientPort, serverPort) {
14
20
  const connection = new RegExp(`:${clientPort}->\\S*:${serverPort}$`);
@@ -78,8 +84,39 @@ function observeManifestRequests(server, write) {
78
84
  });
79
85
  }
80
86
 
87
+ function observeHmrUpdates(server, write) {
88
+ if (!server || hmrServers.has(server)) return;
89
+ hmrServers.add(server);
90
+ let recordedAt = 0;
91
+ server.prependListener('upgrade', (req, socket) => {
92
+ let pathname;
93
+ try {
94
+ pathname = new URL(req.url, 'http://localhost').pathname;
95
+ } catch {
96
+ return;
97
+ }
98
+ if (pathname !== '/hot') return;
99
+ const send = socket.write;
100
+ socket.write = function (chunk, ...rest) {
101
+ const now = Date.now();
102
+ if (
103
+ now - recordedAt >= HMR_UPDATE_INTERVAL_MS &&
104
+ (typeof chunk === 'string' || Buffer.isBuffer(chunk)) &&
105
+ HMR_UPDATE.every((part) => chunk.includes(part))
106
+ ) {
107
+ recordedAt = now;
108
+ try {
109
+ write({ ts: now, src: 'metro', level: 'debug', event: 'hmr_update', msg: 'HMR update sent to the app' });
110
+ } catch {}
111
+ }
112
+ return send.call(this, chunk, ...rest);
113
+ };
114
+ });
115
+ }
116
+
81
117
  function bundleResponseMiddleware(write, { runLsof, manifests = false } = {}) {
82
118
  return (req, res, next) => {
119
+ observeHmrUpdates(req.socket.server, write);
83
120
  if (req.method === 'GET' && req.url === '/_stim/metro-warmup') {
84
121
  if (manifests) observeManifestRequests(req.socket.server, write);
85
122
  res.end('ready');
@@ -1,2 +0,0 @@
1
- import { m as startExpoServer } from "./server-expo-Ccm9zB0o.mjs";
2
- export { startExpoServer };
@@ -1,2 +0,0 @@
1
- import { t as triggerMaintenance } from "./trigger-DMou-X7j.mjs";
2
- export { triggerMaintenance };
@@ -1,2 +0,0 @@
1
- import { n as webCommand, t as runWeb } from "./web-BYmK0TjL.mjs";
2
- export { webCommand as default, runWeb };