stim 1.27.0 → 1.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{acquire-artifact-BKN2Yuhg.mjs → acquire-artifact-CKByBnTD.mjs} +1 -1
- package/dist/{act-ROviTF_t.mjs → act-8iswyfRa.mjs} +36 -18
- package/dist/{activity-Cd-ysFes.mjs → activity-DRMg4_mD.mjs} +3 -3
- package/dist/{agent-device-usage-output-C5nCKWp9.mjs → agent-device-usage-output-tE90fDdo.mjs} +3 -3
- package/dist/{android-Cd6w7_qw.mjs → android-CHmSU4B4.mjs} +40 -37
- package/dist/{android-DriNoAVy.mjs → android-CsPs-7Mg.mjs} +3 -3
- package/dist/{android-Deb9X3_Y.mjs → android-D577ApKG.mjs} +1 -1
- package/dist/{android--HBgpvpW.mjs → android-YWCbmkVK.mjs} +5 -5
- package/dist/{android-cas-D5e6ecUg.mjs → android-cas-_aDifWW0.mjs} +2 -2
- package/dist/api.d.mts +1 -1
- package/dist/api.mjs +24 -24
- package/dist/{apk-signed-tail-BHQHx3Rm.mjs → apk-signed-tail-CQbwM0qO.mjs} +2 -2
- package/dist/{artifact-faemIZv5.mjs → artifact-DYtHjxsn.mjs} +12 -12
- package/dist/{artifact-0AGJYB9O.mjs → artifact-bFkfD3vf.mjs} +12 -12
- package/dist/{auto-placement-z-H5pJza.mjs → auto-placement-BVqs8AJi.mjs} +7 -7
- package/dist/{browser-web-slD8AvLp.mjs → browser-web-BUaLcafY.mjs} +10 -10
- package/dist/{build-hS0QyFlQ.mjs → build-cQURy_KW.mjs} +20 -20
- package/dist/{build-cache-gBJ-WKzA.mjs → build-cache-CZULpXVl.mjs} +3 -3
- package/dist/{build-plan-CBqYbzYM.mjs → build-plan-CxoYfxsc.mjs} +6 -6
- package/dist/{ccache-BWTze1Ls.mjs → ccache-Bm_A1xX9.mjs} +15 -14
- package/dist/{cli-ftXDLto1.mjs → cli-CpbaLDa7.mjs} +17 -17
- package/dist/cli.mjs +1 -1
- package/dist/{client-xsdxrhWA.mjs → client-YxCer6ab.mjs} +39 -6
- package/dist/collector-run.mjs +3 -3
- package/dist/{command-output-Dj-WT4BP.mjs → command-output-C8R1KIvi.mjs} +1 -1
- package/dist/{dependencies-BGokZ-Ng.mjs → dependencies-DKeMzwXY.mjs} +35 -35
- package/dist/{dependency-state-C3OtgG94.mjs → dependency-state-CojA2o0t.mjs} +1 -1
- package/dist/{dev-client-BMca82xo.mjs → dev-client-D-BW5uiq.mjs} +2 -2
- package/dist/{device-tM41-TUq.mjs → device-CgXfbcz5.mjs} +11 -11
- package/dist/{device-capacity-6LP7QsaA.mjs → device-capacity-Cd8lMSn3.mjs} +85 -17
- package/dist/{device-BJm0irrq.mjs → device-eeK95Lir.mjs} +13 -13
- package/dist/device-host-worker.mjs +13 -11
- package/dist/{device-ios-534c14fz.mjs → device-ios-Cc9ulihb.mjs} +7 -7
- package/dist/{device-lease-run-DwsGfjUN.mjs → device-lease-run-Mtzp4THX.mjs} +3 -3
- package/dist/{device-pool-BnQqvs6o.mjs → device-pool-eRz6DtCg.mjs} +2 -2
- package/dist/{doctor-DyqE9n1J.mjs → doctor-Bz_ouYAW.mjs} +12 -12
- package/dist/{doctor-Dbx1ZpD2.mjs → doctor-C2QyhejJ.mjs} +1 -1
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-watchman-CxDbyrrt.mjs → doctor-watchman-BTW82PDC.mjs} +3 -3
- package/dist/{doctor-F-3VUUyN.mjs → doctor-xf7ht-5n.mjs} +17 -17
- package/dist/{eas-build-CjNSWmjo.mjs → eas-build-Dm6q68QY.mjs} +2 -2
- package/dist/{eas-fallback-9fqb46kW.mjs → eas-fallback-DajNpxf-.mjs} +3 -3
- package/dist/{eas-session-ledger-DrP4OuuM.mjs → eas-session-ledger-CBFo_Uo1.mjs} +35 -6
- package/dist/{error-diagnostics-snej9k4j.mjs → error-diagnostics-D1QfyJzQ.mjs} +7 -7
- package/dist/{gc-CGZ1Yg88.mjs → gc-DM5oMm-J.mjs} +17 -16
- package/dist/{gc-BRwAY3qT.mjs → gc-PLFwb0k4.mjs} +2 -2
- package/dist/{guide-_rfEh_zM.mjs → guide-C4I46XAk.mjs} +106 -42
- package/dist/{hosted-android-BMKzUNnY.mjs → hosted-android-DlaKLbW0.mjs} +5 -6
- package/dist/{hosted-client-D7Pk_Oo1.mjs → hosted-client-DDRm9hPJ.mjs} +43 -16
- package/dist/{hosted-logs-B1gqQuva.mjs → hosted-logs-bSebOKbz.mjs} +5 -5
- package/dist/{hosted-logs-sync-Dg3qrZmV.mjs → hosted-logs-sync-B0c53W_c.mjs} +5 -5
- package/dist/{hosted-macos-B9w4H8hc.mjs → hosted-macos-B7-8Pv4H.mjs} +5 -5
- package/dist/{hosted-native-CdgaiuyP.mjs → hosted-native-CDe33CSr.mjs} +11 -8
- package/dist/{idle-shutdown-Cbvo5KEh.mjs → idle-shutdown-CQ0QwU9J.mjs} +5 -5
- package/dist/{ios-E26qSpkb.mjs → ios-B1DYuOjh.mjs} +2 -2
- package/dist/{ios-Bk4mWbtS.mjs → ios-B1HvafEG.mjs} +8 -8
- package/dist/{ios-device-C_QkIf1Z.mjs → ios-device-B4elVFKi.mjs} +1 -1
- package/dist/{ios-project-D8Jcy_br.mjs → ios-project-CR4mZ7CH.mjs} +6 -6
- package/dist/{ios-state-BZ03NFgF.mjs → ios-state-BPHqMDdZ.mjs} +1 -1
- package/dist/{ios-B5HlVMhQ.mjs → ios-tg4tp3q1.mjs} +30 -28
- package/dist/{js-swap-Dg2a945i.mjs → js-swap-CVpSW1fn.mjs} +4 -4
- package/dist/{launch-CRyBeNsA.mjs → launch-DoySmhjz.mjs} +17 -17
- package/dist/{lightened-BCsdAGj_.mjs → lightened-DFAJgfIk.mjs} +4 -4
- package/dist/{logs-aJQb-RDg.mjs → logs-BGsW7iPe.mjs} +6 -6
- package/dist/{logs-CC_-ZzEE.mjs → logs-DI5ILkYB.mjs} +4 -4
- package/dist/{macos-DlCBhMw5.mjs → macos-Bo9st9Di.mjs} +18 -18
- package/dist/{macos-BGmTpnv9.mjs → macos-C12RMJQF.mjs} +1 -1
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +4 -4
- package/dist/{metro-CvyD-xwe.mjs → metro-BnhXV2Mj.mjs} +1 -1
- package/dist/{metro-gateway-BnHdqMO_.mjs → metro-request-DXyKjVDF.mjs} +25 -46
- package/dist/{named-ports-BCyMWA6b.mjs → named-ports-Phoi2POD.mjs} +1 -1
- package/dist/{native-android-DlpxCyOP.mjs → native-android-vxgtLD7w.mjs} +14 -14
- package/dist/{native-gradle-artifact-inputs-C13qT7R_.mjs → native-gradle-artifact-inputs-BN96IVw8.mjs} +3 -3
- package/dist/{native-runtime-DqaIBO5w.mjs → native-runtime-DG4Rodzj.mjs} +6 -6
- package/dist/{native-xcode-inputs-B1W8SrxB.mjs → native-xcode-inputs-BKarCoKg.mjs} +2 -2
- package/dist/{native-xcode-ios-QPP0Rm68.mjs → native-xcode-ios-8A-efGa5.mjs} +14 -14
- package/dist/offload-worker.mjs +18 -18
- package/dist/{ownership-Bx-0cku-.mjs → ownership-DJCq48IJ.mjs} +2 -2
- package/dist/{phone-reverses-C9yAaKEv.mjs → phone-reverses-BzTa8g1F.mjs} +3 -3
- package/dist/{placement-log-BXUbiZM6.mjs → placement-log-Cvhta5ib.mjs} +1 -1
- package/dist/{plan-placement-UxnQjv5Z.mjs → plan-placement-WkZdccuN.mjs} +5 -5
- package/dist/{ports-uUrghqWN.mjs → ports-UV4mJgyC.mjs} +2 -2
- package/dist/{prebuild-BDpToDgR.mjs → prebuild-k8d_tqOq.mjs} +8 -8
- package/dist/{project-DYj-HVx6.mjs → project-Sui52ywT.mjs} +14 -14
- package/dist/{react-native-android-DDBccgJw.mjs → react-native-android-DANlGGQf.mjs} +21 -21
- package/dist/{react-native-build-DaK2IFyP.mjs → react-native-build-jUHnIfZ9.mjs} +6 -6
- package/dist/{react-native-doctor-B-Mw6DcR.mjs → react-native-doctor-DCWRjS7K.mjs} +5 -5
- package/dist/{react-native-ios-DjYwUF9U.mjs → react-native-ios-BwMsFMXi.mjs} +14 -14
- package/dist/{recordings-C20iUZfp.mjs → recordings-iy0mkm7b.mjs} +1 -1
- package/dist/{reload-DJBeF_rC.mjs → reload-Bj7QyuDy.mjs} +1 -1
- package/dist/{reload-fUdkH2_p.mjs → reload-c_uEyc_X.mjs} +13 -13
- package/dist/{remote-y6n99WMW.mjs → remote-DFlpAqdV.mjs} +8 -8
- package/dist/{result-CTqBw2Te.mjs → result-BIcXREyC.mjs} +14 -14
- package/dist/{run-DaCeNKRm.mjs → run-y2HwyNvg.mjs} +1 -1
- package/dist/{selection-Bs8phwhN.mjs → selection-CXgM_VK_.mjs} +2 -2
- package/dist/{server-bare-BOh-iZEj.mjs → server-bare-2N4vSRZG.mjs} +1 -1
- package/dist/{server-command-8CuA51Cv.mjs → server-command-qneHPcRI.mjs} +4 -4
- package/dist/{server-expo-ABQs2XFA.mjs → server-expo-Ccm9zB0o.mjs} +2 -2
- package/dist/server-expo-WulkyAwT.mjs +2 -0
- package/dist/{settings-BDVI8Ivc.mjs → settings-CY5JZlNN.mjs} +46 -2
- package/dist/{settings-CMHhQNwI.mjs → settings-Cfd_Q6ys.mjs} +2 -2
- package/dist/{settings-payload-cm60Zhib.mjs → settings-payload-DwQiEMCn.mjs} +2 -2
- package/dist/{settings-write-BdNRLlBn.mjs → settings-write-CJpjkeAd.mjs} +3 -3
- package/dist/{slot-launch-0l7RqSpr.mjs → slot-launch-BpmanOnk.mjs} +5 -5
- package/dist/{stage-F4cAfJGi.mjs → stage-CmugrSG5.mjs} +1 -1
- package/dist/{start-DcqnF9p8.mjs → start-CHH3zgIU.mjs} +1 -1
- package/dist/{start-DrPwER_2.mjs → start-DYLk6GXn.mjs} +8 -8
- package/dist/{state-BX1y5syV.mjs → state-B2QJbDwz.mjs} +2 -2
- package/dist/{state-CZxLyetD.mjs → state-BXC1Lfxw.mjs} +1 -1
- package/dist/{stats-GxuCbles.mjs → stats-DxKqhcGp.mjs} +3 -3
- package/dist/{status-BfnK9pUd.mjs → status-BHCkOZga.mjs} +46 -23
- package/dist/{status-Bj7ZYvvc.mjs → status-D_Ljc89p.mjs} +1 -1
- package/dist/{status-watch-BfabQn03.mjs → status-watch-BmsPqYSU.mjs} +17 -6
- package/dist/status-worker.mjs +1 -1
- package/dist/{stop-D-EAr25B.mjs → stop-D-dGE9gh.mjs} +14 -14
- package/dist/{stop-CH79S3IZ.mjs → stop-DQvE-P76.mjs} +9 -5
- package/dist/{stop-x1Yu3He4.mjs → stop-b2pouxAO.mjs} +2 -2
- package/dist/supervisor-run.mjs +232 -58
- package/dist/{support-CNg_YsOk.mjs → support-04IhBUTT.mjs} +4 -4
- package/dist/{support-Be0UeVZU.mjs → support-BtlJKjyQ.mjs} +11 -10
- package/dist/{swiftpm-artifact-inputs-uPqYvGBv.mjs → swiftpm-artifact-inputs-Cj2UpmPN.mjs} +1 -1
- package/dist/{swiftpm-macos-Ch4YjY_A.mjs → swiftpm-macos-BhF2stxY.mjs} +7 -7
- package/dist/{toolchain-CbCG6C5Z.mjs → toolchain-mLA_km-b.mjs} +4 -4
- package/dist/{toolchain-JYAOquPg.mjs → toolchain-qktiV8xc.mjs} +1 -1
- package/dist/{warm-progress-C0RsbngN.mjs → warm-progress-B0Vpuvpl.mjs} +3 -3
- package/dist/{web-Cq_AQ4DK.mjs → web-BYmK0TjL.mjs} +6 -6
- package/dist/web-CrVLVQZY.mjs +2 -0
- package/dist/web-run.mjs +4 -4
- package/dist/{workspace-state-BjqdjnJR.mjs → workspace-state-kIZrdlSg.mjs} +1 -1
- package/dist/{workspaces-DFbj07jp.mjs → workspaces-CmOcceDN.mjs} +105 -25
- package/dist/{worktree-COAJ3-OD.mjs → worktree-2dk5edza.mjs} +23 -44
- package/dist/worktree-nliAoHxB.mjs +2 -0
- package/package.json +7 -7
- package/dist/server-expo-Ba_Y21vB.mjs +0 -2
- package/dist/web-Je6abcpz.mjs +0 -2
- package/dist/worktree-JGUd_53L.mjs +0 -2
package/dist/supervisor-run.mjs
CHANGED
|
@@ -1,25 +1,184 @@
|
|
|
1
1
|
import { S as process_identity_exports, u as withWorkspaceProcessLock } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { c as withWorkspaceStateLock, d as writeWorkspaceState, j as workspaceStateFile$1, k as workspaceLogsDir$1, n as clearWorkspaceStateKeys, o as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-
|
|
2
|
+
import { c as withWorkspaceStateLock, d as writeWorkspaceState, j as workspaceStateFile$1, k as workspaceLogsDir$1, n as clearWorkspaceStateKeys, o as updateWorkspaceState, r as readWorkspaceState$1 } from "./workspace-state-kIZrdlSg.mjs";
|
|
3
3
|
import { G as projectDeviceSlots, T as setSupervisor, U as parseDeviceSlotKey, o as clearSupervisor, p as getProject } from "./config-Cn94Jc0g.mjs";
|
|
4
|
-
import { $ as runnableMetroCommand, X as resolveProjectSettings } from "./settings-
|
|
5
|
-
import { D as clearExpoMetroTunnel, E as MODE_EXPO, N as readPidFile, R as writePidFile, T as MODE_COMMAND, d as nativeProjectIntegration, j as clearWorkspaceSupervisor, v as detectIsExpo, w as MODE_BARE } from "./project-
|
|
6
|
-
import { W as ownedAvdSerialResolver } from "./android-
|
|
4
|
+
import { $ as runnableMetroCommand, X as resolveProjectSettings } from "./settings-CY5JZlNN.mjs";
|
|
5
|
+
import { D as clearExpoMetroTunnel, E as MODE_EXPO, N as readPidFile, R as writePidFile, T as MODE_COMMAND, d as nativeProjectIntegration, j as clearWorkspaceSupervisor, v as detectIsExpo, w as MODE_BARE } from "./project-Sui52ywT.mjs";
|
|
6
|
+
import { W as ownedAvdSerialResolver } from "./android-CsPs-7Mg.mjs";
|
|
7
7
|
import { i as createNdjsonWriter } from "./ndjson-Dy2W4vRa.mjs";
|
|
8
|
-
import { C as devServerStopLevel, O as vanishedSupervisorMessage, w as devServerStopRecord, x as describeDevServerStop } from "./ccache-
|
|
9
|
-
import { d as parseWatchRoots, l as parseSubscriberNames, m as runWatchman, u as parseTriggerCount } from "./eas-session-ledger-
|
|
10
|
-
import {
|
|
11
|
-
import { S as parseLease, _ as workspaceDeviceLastUseAt, b as leaseIsExpired, r as createActivityReader, v as deviceLeasePath, w as parseWorkspaceLeases } from "./activity-
|
|
8
|
+
import { C as devServerStopLevel, O as vanishedSupervisorMessage, w as devServerStopRecord, x as describeDevServerStop } from "./ccache-Bm_A1xX9.mjs";
|
|
9
|
+
import { d as parseWatchRoots, l as parseSubscriberNames, m as runWatchman, u as parseTriggerCount } from "./eas-session-ledger-CBFo_Uo1.mjs";
|
|
10
|
+
import { B as workspaceBuildInProgress, v as withIdleWorkspace } from "./workspaces-CmOcceDN.mjs";
|
|
11
|
+
import { S as parseLease, _ as workspaceDeviceLastUseAt, b as leaseIsExpired, r as createActivityReader, v as deviceLeasePath, w as parseWorkspaceLeases } from "./activity-DRMg4_mD.mjs";
|
|
12
12
|
import { t as describeError } from "./errors-DHm_U5gv.mjs";
|
|
13
|
-
import {
|
|
14
|
-
import { o as watchWorkspaceState, t as clearHostedMetro } from "./metro-
|
|
13
|
+
import { d as hostConnector, p as probeHostedSession } from "./hosted-client-DDRm9hPJ.mjs";
|
|
14
|
+
import { o as watchWorkspaceState, t as clearHostedMetro } from "./metro-request-DXyKjVDF.mjs";
|
|
15
15
|
import { t as relaunchWithLogFile } from "./detached-entry-BPlSaCwC.mjs";
|
|
16
|
-
import { n as dueIdleDevices, r as shutDownIdleDevices } from "./idle-shutdown-
|
|
16
|
+
import { n as dueIdleDevices, r as shutDownIdleDevices } from "./idle-shutdown-CQ0QwU9J.mjs";
|
|
17
17
|
import { t as triggerMaintenance } from "./trigger-DMou-X7j.mjs";
|
|
18
18
|
import { existsSync, readFileSync, realpathSync, statSync } from "node:fs";
|
|
19
19
|
import { dirname, isAbsolute, join, resolve, sep } from "node:path";
|
|
20
|
-
import { LOG_ROTATE_BYTES
|
|
21
|
-
import { DEV_SERVER_STOP_REQUEST_KEY,
|
|
20
|
+
import { LOG_ROTATE_BYTES } from "@stim-cli/core";
|
|
21
|
+
import { DEV_SERVER_STOP_REQUEST_KEY, HOSTED_METRO_LINKS_KEY, HOSTED_METRO_REQUESTS_KEY, IDLE_STOP_KEY, hostedAndroidPlacements, hostedIosPlacements, hostedMetroLinks, hostedMetroRequests, hostedNativeRecords, parseHostedNativePlacement, readDevServerStopRequest } from "@stim-cli/core/state";
|
|
22
22
|
import { fileURLToPath } from "node:url";
|
|
23
|
+
import { connect } from "node:net";
|
|
24
|
+
//#region src/supervisor/metro-links.ts
|
|
25
|
+
const IDLE_LINKS = 4;
|
|
26
|
+
const FRAME_BYTES = 32768;
|
|
27
|
+
const RETRY_MS = [
|
|
28
|
+
500,
|
|
29
|
+
1e3,
|
|
30
|
+
2e3,
|
|
31
|
+
5e3,
|
|
32
|
+
1e4
|
|
33
|
+
];
|
|
34
|
+
const METRO_RESET = 4410;
|
|
35
|
+
/**
|
|
36
|
+
* Keeps `IDLE_LINKS` authenticated connections open to `machine`, each offered to `session`'s Metro bridge there. The
|
|
37
|
+
* host pairs one with each connection the hosted device makes; this side then pipes it to loopback `metroPort` and
|
|
38
|
+
* opens a replacement. `onReady` runs when the host holds a link after holding none, and `onLost` when no linked
|
|
39
|
+
* connection to the host is left. Failures that a retry can fix are retried. A host that turns this machine away calls
|
|
40
|
+
* `onError` and stops the pool, and so does a refused link before the host ever held one; after that, refused links
|
|
41
|
+
* are retried, since a session the host restarted refuses links until its client attaches again.
|
|
42
|
+
*/
|
|
43
|
+
function openMetroLinks({ machine, session, metroPort, onReady, onLost, onError }) {
|
|
44
|
+
const connect$1 = hostConnector(machine);
|
|
45
|
+
const live = /* @__PURE__ */ new Set();
|
|
46
|
+
const linked = /* @__PURE__ */ new Set();
|
|
47
|
+
const waiting = /* @__PURE__ */ new Set();
|
|
48
|
+
const streams = /* @__PURE__ */ new Set();
|
|
49
|
+
let opening = 0;
|
|
50
|
+
let failures = 0;
|
|
51
|
+
let ready = false;
|
|
52
|
+
let linkedOnce = false;
|
|
53
|
+
let closed = false;
|
|
54
|
+
let retry;
|
|
55
|
+
const fill = () => {
|
|
56
|
+
if (closed || retry) return;
|
|
57
|
+
while (opening + waiting.size < IDLE_LINKS) {
|
|
58
|
+
opening++;
|
|
59
|
+
link();
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const gone = (connection) => {
|
|
63
|
+
live.delete(connection);
|
|
64
|
+
waiting.delete(connection);
|
|
65
|
+
if (!linked.delete(connection) || closed || !ready || linked.size > 0) return;
|
|
66
|
+
ready = false;
|
|
67
|
+
onLost();
|
|
68
|
+
};
|
|
69
|
+
const failed = (message, refused) => {
|
|
70
|
+
if (closed) return;
|
|
71
|
+
if (refused === "host" || refused === "link" && !linkedOnce) {
|
|
72
|
+
stop();
|
|
73
|
+
onError(message);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (retry) return;
|
|
77
|
+
retry = setTimeout(() => {
|
|
78
|
+
retry = void 0;
|
|
79
|
+
fill();
|
|
80
|
+
}, RETRY_MS[Math.min(failures++, RETRY_MS.length - 1)]);
|
|
81
|
+
retry.unref();
|
|
82
|
+
};
|
|
83
|
+
const carry = (connection, ended) => {
|
|
84
|
+
const metro = connect({
|
|
85
|
+
host: "127.0.0.1",
|
|
86
|
+
port: metroPort
|
|
87
|
+
});
|
|
88
|
+
streams.add(metro);
|
|
89
|
+
metro.on("error", () => metro.destroy());
|
|
90
|
+
metro.once("close", (hadError) => {
|
|
91
|
+
streams.delete(metro);
|
|
92
|
+
ended();
|
|
93
|
+
connection.flushed().then(() => connection.close(hadError ? METRO_RESET : 1e3));
|
|
94
|
+
});
|
|
95
|
+
connection.onDropped((code) => code === 1e3 ? metro.end() : metro.resetAndDestroy());
|
|
96
|
+
let paused = false;
|
|
97
|
+
connection.onBinary((frame) => {
|
|
98
|
+
if (metro.write(frame) || paused) return;
|
|
99
|
+
paused = true;
|
|
100
|
+
connection.pause();
|
|
101
|
+
metro.once("drain", () => {
|
|
102
|
+
paused = false;
|
|
103
|
+
connection.resume();
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
metro.on("data", (chunk) => {
|
|
107
|
+
metro.pause();
|
|
108
|
+
(async () => {
|
|
109
|
+
for (let offset = 0; offset < chunk.length; offset += FRAME_BYTES) await connection.sendBinary(chunk.subarray(offset, offset + FRAME_BYTES));
|
|
110
|
+
if (!metro.destroyed) metro.resume();
|
|
111
|
+
})();
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
const link = async () => {
|
|
115
|
+
let connection;
|
|
116
|
+
try {
|
|
117
|
+
connection = await connect$1();
|
|
118
|
+
if (closed) return void connection.close();
|
|
119
|
+
live.add(connection);
|
|
120
|
+
if (!connection.supports("hosted-metro-link")) throw Object.assign(/* @__PURE__ */ new Error(`${machine} runs a stim-server that cannot link Metro. Update stim-server there, then retry.`), { code: "STIM_HOSTING_REFUSED" });
|
|
121
|
+
const each = connection;
|
|
122
|
+
let paired = false;
|
|
123
|
+
let ended = false;
|
|
124
|
+
each.onEvent((event) => {
|
|
125
|
+
if (event.event !== "device-host.metro.link.open" || paired || closed) return;
|
|
126
|
+
paired = true;
|
|
127
|
+
each.unwatch();
|
|
128
|
+
waiting.delete(each);
|
|
129
|
+
carry(each, () => {
|
|
130
|
+
ended = true;
|
|
131
|
+
gone(each);
|
|
132
|
+
});
|
|
133
|
+
fill();
|
|
134
|
+
});
|
|
135
|
+
let registered = false;
|
|
136
|
+
each.onDropped(() => {
|
|
137
|
+
if (paired || !registered) return;
|
|
138
|
+
gone(each);
|
|
139
|
+
fill();
|
|
140
|
+
});
|
|
141
|
+
const reply = await each.request("device-host.metro.link", { session });
|
|
142
|
+
if ("error" in reply) throw Object.assign(/* @__PURE__ */ new Error(`${machine} refused the Metro link: ${reply.error.message}`), { linkRefused: reply.error.code !== "closed" && reply.error.code !== "timeout" });
|
|
143
|
+
if (closed) return void each.close();
|
|
144
|
+
if (ended || each.failure) return void live.delete(each);
|
|
145
|
+
registered = true;
|
|
146
|
+
linked.add(each);
|
|
147
|
+
if (!paired) {
|
|
148
|
+
waiting.add(each);
|
|
149
|
+
each.watch();
|
|
150
|
+
}
|
|
151
|
+
failures = 0;
|
|
152
|
+
clearTimeout(retry);
|
|
153
|
+
retry = void 0;
|
|
154
|
+
if (!ready) {
|
|
155
|
+
ready = true;
|
|
156
|
+
linkedOnce = true;
|
|
157
|
+
onReady();
|
|
158
|
+
}
|
|
159
|
+
} catch (error) {
|
|
160
|
+
if (connection) live.delete(connection);
|
|
161
|
+
connection?.close();
|
|
162
|
+
const refused = typeof error !== "object" || error === null ? null : "code" in error && typeof error.code === "string" && error.code.startsWith("STIM_") ? "host" : "linkRefused" in error && error.linkRefused === true ? "link" : null;
|
|
163
|
+
failed(error instanceof Error ? error.message : String(error), refused);
|
|
164
|
+
} finally {
|
|
165
|
+
opening--;
|
|
166
|
+
fill();
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
function stop() {
|
|
170
|
+
closed = true;
|
|
171
|
+
clearTimeout(retry);
|
|
172
|
+
for (const connection of live) connection.close();
|
|
173
|
+
for (const stream of streams) stream.destroy();
|
|
174
|
+
live.clear();
|
|
175
|
+
linked.clear();
|
|
176
|
+
waiting.clear();
|
|
177
|
+
}
|
|
178
|
+
fill();
|
|
179
|
+
return { close: stop };
|
|
180
|
+
}
|
|
181
|
+
//#endregion
|
|
23
182
|
//#region src/supervisor/hosted-metro.ts
|
|
24
183
|
function reconcileHostedMetro(requests, active) {
|
|
25
184
|
const same = (session) => JSON.stringify(requests[session]) === JSON.stringify(active[session]);
|
|
@@ -30,7 +189,7 @@ function reconcileHostedMetro(requests, active) {
|
|
|
30
189
|
}
|
|
31
190
|
function watchHostedMetro(root, metroPort, processToken) {
|
|
32
191
|
const active = {};
|
|
33
|
-
const
|
|
192
|
+
const pools = /* @__PURE__ */ new Map();
|
|
34
193
|
let closed = false;
|
|
35
194
|
let running = Promise.resolve();
|
|
36
195
|
let probingAt = 0;
|
|
@@ -43,7 +202,7 @@ function watchHostedMetro(root, metroPort, processToken) {
|
|
|
43
202
|
...state,
|
|
44
203
|
supervisor: {
|
|
45
204
|
...state.supervisor,
|
|
46
|
-
|
|
205
|
+
hostedMetroLinks: true
|
|
47
206
|
}
|
|
48
207
|
} : state);
|
|
49
208
|
const readState = () => {
|
|
@@ -55,16 +214,36 @@ function watchHostedMetro(root, metroPort, processToken) {
|
|
|
55
214
|
}
|
|
56
215
|
return cached;
|
|
57
216
|
};
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
217
|
+
const unpublished = /* @__PURE__ */ new Map();
|
|
218
|
+
let republish;
|
|
219
|
+
const flush = () => {
|
|
220
|
+
clearTimeout(republish);
|
|
221
|
+
for (const [session, links] of unpublished) {
|
|
222
|
+
try {
|
|
223
|
+
updateWorkspaceState(root, (state) => {
|
|
224
|
+
const published = { ...hostedMetroLinks(state) };
|
|
225
|
+
if (state.supervisor?.processToken !== processToken) return state;
|
|
226
|
+
if (links) published[session] = links;
|
|
227
|
+
else delete published[session];
|
|
228
|
+
return {
|
|
229
|
+
...state,
|
|
230
|
+
[HOSTED_METRO_LINKS_KEY]: published
|
|
231
|
+
};
|
|
232
|
+
});
|
|
233
|
+
} catch {
|
|
234
|
+
if (closed) return;
|
|
235
|
+
republish = setTimeout(flush, 1e3);
|
|
236
|
+
republish.unref();
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
unpublished.delete(session);
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
const publish = (session, links) => {
|
|
243
|
+
unpublished.delete(session);
|
|
244
|
+
unpublished.set(session, links);
|
|
245
|
+
flush();
|
|
246
|
+
};
|
|
68
247
|
const reconcile = async () => {
|
|
69
248
|
if (closed) return;
|
|
70
249
|
observer.refresh();
|
|
@@ -83,45 +262,39 @@ function watchHostedMetro(root, metroPort, processToken) {
|
|
|
83
262
|
});
|
|
84
263
|
const actions = reconcileHostedMetro(requests, active);
|
|
85
264
|
for (const session of actions.close) {
|
|
86
|
-
|
|
87
|
-
|
|
265
|
+
pools.get(session)?.close();
|
|
266
|
+
pools.delete(session);
|
|
88
267
|
delete active[session];
|
|
89
268
|
publish(session, null);
|
|
90
269
|
}
|
|
91
270
|
for (const session of actions.open) {
|
|
92
271
|
const request = requests[session];
|
|
93
272
|
active[session] = request;
|
|
94
|
-
|
|
273
|
+
pools.set(session, openMetroLinks({
|
|
274
|
+
machine: request.machine,
|
|
275
|
+
session,
|
|
95
276
|
metroPort,
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
const saved = hostedMetroGateways(state)[session];
|
|
102
|
-
await new Promise((resolve, reject) => {
|
|
103
|
-
bridge.server.once("error", reject);
|
|
104
|
-
bridge.server.listen(saved?.id === request.id ? saved.port ?? 0 : 0, request.address, () => {
|
|
105
|
-
bridge.server.removeListener("error", reject);
|
|
106
|
-
resolve();
|
|
277
|
+
onReady: () => {
|
|
278
|
+
if (active[session] === request) publish(session, {
|
|
279
|
+
id: request.id,
|
|
280
|
+
processToken,
|
|
281
|
+
ready: true
|
|
107
282
|
});
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
});
|
|
124
|
-
}
|
|
283
|
+
},
|
|
284
|
+
onLost: () => {
|
|
285
|
+
if (active[session] === request) publish(session, {
|
|
286
|
+
id: request.id,
|
|
287
|
+
processToken
|
|
288
|
+
});
|
|
289
|
+
},
|
|
290
|
+
onError: (message) => {
|
|
291
|
+
if (active[session] === request) publish(session, {
|
|
292
|
+
id: request.id,
|
|
293
|
+
processToken,
|
|
294
|
+
error: message
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
}));
|
|
125
298
|
}
|
|
126
299
|
if (!probing && Date.now() >= probingAt) {
|
|
127
300
|
clearTimeout(probeTimer);
|
|
@@ -154,9 +327,10 @@ function watchHostedMetro(root, metroPort, processToken) {
|
|
|
154
327
|
closed = true;
|
|
155
328
|
observer.close();
|
|
156
329
|
clearTimeout(probeTimer);
|
|
330
|
+
clearTimeout(republish);
|
|
157
331
|
clearInterval(timer);
|
|
158
332
|
await running;
|
|
159
|
-
|
|
333
|
+
for (const pool of pools.values()) pool.close();
|
|
160
334
|
};
|
|
161
335
|
}
|
|
162
336
|
//#endregion
|
|
@@ -628,7 +802,7 @@ async function runSupervisor({ root, port, tunnel = false, resetCache = false, i
|
|
|
628
802
|
try {
|
|
629
803
|
let start;
|
|
630
804
|
if (command) {
|
|
631
|
-
const startServer = startCommand ?? (await import("./server-command-
|
|
805
|
+
const startServer = startCommand ?? (await import("./server-command-qneHPcRI.mjs")).startCommandServer;
|
|
632
806
|
start = (opts) => startServer({
|
|
633
807
|
...opts,
|
|
634
808
|
command
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
2
|
import { a as killOnAbort } from "./operation-exec-Dp4FuIGR.mjs";
|
|
3
|
-
import { C as emulatorDiskSpaceRemedy, E as findBuildTool, Q as profileNeedsFoldFeature, R as memoizeEmulatorProbe, T as extractEmulatorFailure, X as pickDefaultSystemImage, c as androidPoolNoCandidatesRefusal, k as hostSystemImageArch, l as androidSystemImageAbi, o as androidHome, s as androidPoolCandidates, w as emulatorFailureRemedy } from "./android-
|
|
4
|
-
import { yn as pickDevClientScheme } from "./ccache-
|
|
5
|
-
import {
|
|
6
|
-
import { t as devClientScheme } from "./dev-client-
|
|
3
|
+
import { C as emulatorDiskSpaceRemedy, E as findBuildTool, Q as profileNeedsFoldFeature, R as memoizeEmulatorProbe, T as extractEmulatorFailure, X as pickDefaultSystemImage, c as androidPoolNoCandidatesRefusal, k as hostSystemImageArch, l as androidSystemImageAbi, o as androidHome, s as androidPoolCandidates, w as emulatorFailureRemedy } from "./android-CsPs-7Mg.mjs";
|
|
4
|
+
import { yn as pickDevClientScheme } from "./ccache-Bm_A1xX9.mjs";
|
|
5
|
+
import { f as unknownAndroidDeviceProfileRefusal, l as layerNote, p as unknownAndroidSystemImageRefusal } from "./device-capacity-Cd8lMSn3.mjs";
|
|
6
|
+
import { t as devClientScheme } from "./dev-client-D-BW5uiq.mjs";
|
|
7
7
|
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
8
8
|
import { relative } from "node:path";
|
|
9
9
|
//#region src/commands/android/support.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { k as workspaceLogsDir } from "./workspace-state-
|
|
2
|
-
import { h as shortUdid, l as phaseLine } from "./command-output-
|
|
3
|
-
import { _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, b as iosProjectDirSetting, p as cacheProviderSettingError, rt as settingShapeErrors, st as unknownSettingKeys, x as iosProjectDirSettingError } from "./settings-
|
|
4
|
-
import { q as describeDiagnostic } from "./toolchain-
|
|
5
|
-
import { P as parseIosSimulatorApp } from "./ios-
|
|
1
|
+
import { k as workspaceLogsDir } from "./workspace-state-kIZrdlSg.mjs";
|
|
2
|
+
import { h as shortUdid, l as phaseLine } from "./command-output-C8R1KIvi.mjs";
|
|
3
|
+
import { _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, b as iosProjectDirSetting, p as cacheProviderSettingError, rt as settingShapeErrors, st as unknownSettingKeys, x as iosProjectDirSettingError } from "./settings-CY5JZlNN.mjs";
|
|
4
|
+
import { q as describeDiagnostic } from "./toolchain-mLA_km-b.mjs";
|
|
5
|
+
import { P as parseIosSimulatorApp } from "./ios-B1DYuOjh.mjs";
|
|
6
6
|
import { p as resolveOptimizations } from "./errors-DHm_U5gv.mjs";
|
|
7
|
-
import { d as resolveBuildPlacement } from "./selection-
|
|
8
|
-
import { l as parseDeviceWait } from "./device-lease-run-
|
|
9
|
-
import {
|
|
10
|
-
import { t as IosDeviceMismatchError } from "./device-ios-
|
|
7
|
+
import { d as resolveBuildPlacement } from "./selection-CXgM_VK_.mjs";
|
|
8
|
+
import { l as parseDeviceWait } from "./device-lease-run-Mtzp4THX.mjs";
|
|
9
|
+
import { h as unknownIosRuntimeRefusal, l as layerNote, m as unknownIosDeviceTypeRefusal, t as DEFAULT_DEVICE_SLOT_WAIT_MS } from "./device-capacity-Cd8lMSn3.mjs";
|
|
10
|
+
import { t as IosDeviceMismatchError } from "./device-ios-Cc9ulihb.mjs";
|
|
11
11
|
import { basename, join } from "node:path";
|
|
12
12
|
import chalk from "chalk";
|
|
13
13
|
function buildLogFile(root) {
|
|
@@ -265,7 +265,8 @@ function createIosDeviceWaitRun(stats, progress, signal) {
|
|
|
265
265
|
waiting = info !== null;
|
|
266
266
|
progress.waitingFor(info, "device-slot");
|
|
267
267
|
},
|
|
268
|
-
onWait: stats.addDeviceSlotWaitMs
|
|
268
|
+
onWait: stats.addDeviceSlotWaitMs,
|
|
269
|
+
onBootStart: () => progress.bootStarted()
|
|
269
270
|
},
|
|
270
271
|
record(next) {
|
|
271
272
|
if (waiting) outcome = next;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
2
|
import { s as gitAsync } from "./operation-exec-Dp4FuIGR.mjs";
|
|
3
|
-
import { n as buildCacheKey } from "./build-cache-
|
|
3
|
+
import { n as buildCacheKey } from "./build-cache-CZULpXVl.mjs";
|
|
4
4
|
import { n as fingerprintNativeInputs, r as manifestDigest } from "./native-inputs-TRTTTRxt.mjs";
|
|
5
5
|
import { a as sourceManifest, r as nativeFileDigest } from "./native-source-D1AzWiuP.mjs";
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
@@ -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-
|
|
3
|
-
import { J as resolveCacheProviderConfig,
|
|
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
4
|
import { r as register } from "./cache-manifest-DEjqGGat.mjs";
|
|
5
|
-
import { m as macosToolchainAsync, ot as runCancellationSignal } from "./toolchain-
|
|
6
|
-
import "./build-cache-
|
|
5
|
+
import { m as macosToolchainAsync, ot as runCancellationSignal } from "./toolchain-mLA_km-b.mjs";
|
|
6
|
+
import "./build-cache-CZULpXVl.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-
|
|
9
|
+
import { a as validateInfoPlist, i as stageBundle, n as resolveBundleExtras, r as setBundleName, t as reidentifyBundle } from "./stage-CmugrSG5.mjs";
|
|
10
10
|
import { t as validateMacosArtifactPlatform } from "./artifact-platform-BO2Uvk_A.mjs";
|
|
11
|
-
import { t as logLines } from "./run-
|
|
12
|
-
import { n as swiftpmArtifactInputs, r as swiftpmArtifactSnapshot, t as readSwiftpmArtifactToolchain } from "./swiftpm-artifact-inputs-
|
|
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";
|
|
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,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-
|
|
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";
|
|
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-
|
|
4
|
+
import { a as formatElapsed, l as phaseLine } from "./command-output-C8R1KIvi.mjs";
|
|
5
5
|
import { a as killOnAbort } from "./operation-exec-Dp4FuIGR.mjs";
|
|
6
|
-
import { o as androidHome } from "./android-
|
|
6
|
+
import { o as androidHome } from "./android-CsPs-7Mg.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-
|
|
9
|
+
import { t as cleanLine } from "./server-expo-Ccm9zB0o.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,2 +1,2 @@
|
|
|
1
|
-
import { m as macosToolchainAsync, p as macosToolchain } from "./toolchain-
|
|
1
|
+
import { m as macosToolchainAsync, p as macosToolchain } from "./toolchain-mLA_km-b.mjs";
|
|
2
2
|
export { macosToolchain, macosToolchainAsync };
|
|
@@ -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-
|
|
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";
|
|
3
3
|
import { l as gitQuietAsync, o as git$1, s as gitAsync } from "./operation-exec-Dp4FuIGR.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import { V as ownedAvdDirectory } from "./android-
|
|
4
|
+
import { Ct as gitCommonDirOnDisk, Ot as linkedWorktreesOnDisk } from "./settings-CY5JZlNN.mjs";
|
|
5
|
+
import { V as ownedAvdDirectory } from "./android-CsPs-7Mg.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";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { i as recordWorkspaceUse, k as workspaceLogsDir } from "./workspace-state-
|
|
1
|
+
import { i as recordWorkspaceUse, k as workspaceLogsDir } from "./workspace-state-kIZrdlSg.mjs";
|
|
2
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-
|
|
4
|
-
import { Z as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY, rt as settingShapeErrors } from "./settings-
|
|
5
|
-
import { f as projectRegistry, n as findCommandWorkspace } from "./project-
|
|
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
6
|
import { a as workspaceLinkLine, o as workspaceLinks } from "./stim-desktop-CbWo21kb.mjs";
|
|
7
|
-
import { o as readWebRecord, r as cdpEndpoint } from "./state-
|
|
7
|
+
import { o as readWebRecord, r as cdpEndpoint } from "./state-B2QJbDwz.mjs";
|
|
8
8
|
import { t as liveWebRecord } from "./page-CQJlcj3x.mjs";
|
|
9
|
-
import { n as ensureWorkspaceStorageSafely } from "./native-runtime-
|
|
9
|
+
import { n as ensureWorkspaceStorageSafely } from "./native-runtime-DG4Rodzj.mjs";
|
|
10
10
|
import chalk from "chalk";
|
|
11
11
|
//#region src/commands/web.ts
|
|
12
12
|
const printNote = (line) => console.error(line);
|
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-
|
|
3
|
-
import { f as signalProcessTree } from "./metro-
|
|
2
|
+
import { Tt as recordCreatedDevice } from "./android-CsPs-7Mg.mjs";
|
|
3
|
+
import { f as signalProcessTree } from "./metro-BnhXV2Mj.mjs";
|
|
4
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-
|
|
6
|
-
import { l as probeWebDrivers } from "./activity-
|
|
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";
|
|
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,6 +1,6 @@
|
|
|
1
1
|
import { S as process_identity_exports, t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
2
|
import { A as writeConfigSettingAsync, k as writeConfigSetting, m as getProjectSettings } from "./config-Cn94Jc0g.mjs";
|
|
3
|
-
import { lt as workspaceHiddenSetting } from "./settings-
|
|
3
|
+
import { lt as workspaceHiddenSetting } from "./settings-CY5JZlNN.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";
|