stim 1.31.0 → 1.32.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-P84h3ssa.mjs → acquire-artifact-CI9fIokp.mjs} +1 -1
- package/dist/{act-lcOIEy32.mjs → act-BfChMxcU.mjs} +62 -13
- package/dist/{activity-Dw4N_RFe.mjs → activity-yjH7Q3zn.mjs} +1 -1
- package/dist/{agent-device-usage-output-Boie2yB-.mjs → agent-device-usage-output-DO412bsG.mjs} +3 -3
- package/dist/{android-DhiWSOFU.mjs → android-BNm5A40S.mjs} +29 -29
- package/dist/{android-aIuJZoDu.mjs → android-D56S_GX3.mjs} +5 -5
- package/dist/api.mjs +21 -21
- package/dist/{artifact-ta3xA0c4.mjs → artifact-C8Nvp07y.mjs} +10 -10
- package/dist/{artifact-Cr34-Yyy.mjs → artifact-k1x9Jrn0.mjs} +10 -10
- package/dist/{auto-placement-DtTRG0rk.mjs → auto-placement--nfdQ9rp.mjs} +5 -5
- package/dist/{browser-web-DuULNZrS.mjs → browser-web-6RDAeH0z.mjs} +5 -5
- package/dist/{build-BpFFbdXD.mjs → build-VXX_dtl5.mjs} +15 -15
- package/dist/{build-plan-DH1rT11x.mjs → build-plan-BK34X2iY.mjs} +4 -4
- package/dist/{ccache-DVDO2ocE.mjs → ccache-BrwGIxmV.mjs} +7 -7
- package/dist/{cli-C0jjwTuM.mjs → cli-Jc7obreB.mjs} +17 -17
- package/dist/cli.mjs +1 -1
- package/dist/{client-DhJOvSvh.mjs → client-lDmA-5jx.mjs} +3 -3
- package/dist/{command-output-VrXd6qPX.mjs → command-output-CfPW1bKP.mjs} +1 -1
- package/dist/{dependencies-DIU-5rnG.mjs → dependencies-DkZ8681S.mjs} +28 -28
- package/dist/{dev-client-DeAg0fso.mjs → dev-client-eDZy6RoX.mjs} +2 -2
- package/dist/{device-DuNLOlR6.mjs → device-CTozKhU0.mjs} +6 -6
- package/dist/{device-C2WsPgFt.mjs → device-CeIikWac.mjs} +8 -8
- package/dist/{device-android-BjhH0Ru3.mjs → device-android-zgD9We85.mjs} +3 -3
- package/dist/{device-capacity-Du5wBTNJ.mjs → device-capacity-Bki6B-7h.mjs} +3 -3
- package/dist/device-host-worker.mjs +7 -7
- package/dist/{device-ios-CUYUhSYO.mjs → device-ios-TE5ejeXx.mjs} +3 -3
- package/dist/{device-lease-run-CHXQEn-7.mjs → device-lease-run-DeNGjJZM.mjs} +3 -3
- package/dist/{device-pool-kUHO7MHO.mjs → device-pool-mjyUYaau.mjs} +2 -2
- package/dist/{device-provision-e7bKS7lx.mjs → device-provision-j_B7G0e6.mjs} +6 -6
- package/dist/{doctor-hva3sd9f.mjs → doctor-BlrcoQ7B.mjs} +10 -10
- package/dist/{doctor-B6kIVgU9.mjs → doctor-CNZuvTSe.mjs} +1 -1
- package/dist/{doctor-BGcsAgAV.mjs → doctor-sSLtn-j1.mjs} +11 -11
- package/dist/{doctor-watchman-DJY550yz.mjs → doctor-watchman-CCuboyj1.mjs} +2 -2
- package/dist/{eas-build-CBFgseh1.mjs → eas-build-CaG-Sfs9.mjs} +2 -2
- package/dist/{eas-fallback-DFXdz4d6.mjs → eas-fallback-BpX1lpco.mjs} +2 -2
- package/dist/{eas-session-ledger-aFBLTZr2.mjs → eas-session-ledger-B-nTfdfk.mjs} +1 -1
- package/dist/{error-diagnostics-CCsq_3uG.mjs → error-diagnostics-q56Im4D8.mjs} +3 -3
- package/dist/{gc-DASUa3Z_.mjs → gc-By2Kc-Ek.mjs} +2 -2
- package/dist/{gc-B0K4d_PL.mjs → gc-Dv6nb9nf.mjs} +10 -10
- package/dist/{guide-Civo5-zV.mjs → guide-CwpsGWTJ.mjs} +71 -22
- package/dist/{hosted-android-CH1Sm4wo.mjs → hosted-android-c5nPJA6S.mjs} +3 -3
- package/dist/{hosted-client-5ur3YpxY.mjs → hosted-client-Hs-fD4L3.mjs} +2 -2
- package/dist/{hosted-logs-BYg4yeti.mjs → hosted-logs-BteXG8rm.mjs} +12 -6
- package/dist/{hosted-logs-sync-BPe8xnMu.mjs → hosted-logs-sync-B8bjLEMs.mjs} +4 -4
- package/dist/{hosted-macos-BagT0Gn3.mjs → hosted-macos-B4byscei.mjs} +4 -4
- package/dist/{hosted-native-kaR4nUHk.mjs → hosted-native-Bh9IJ_t5.mjs} +5 -5
- package/dist/{idle-shutdown-BWHQ7mQG.mjs → idle-shutdown-BaeCo4ps.mjs} +3 -3
- package/dist/{ios-BKR-Dq46.mjs → ios-D1XKSITX.mjs} +8 -8
- package/dist/{ios-DUL68MI5.mjs → ios-D3oK9-O4.mjs} +22 -22
- package/dist/{ios-device-Dz8gFZ0K.mjs → ios-device-D7Gi3e1I.mjs} +1 -1
- package/dist/{ios-project-Br1tVYWX.mjs → ios-project-DDQlX_jX.mjs} +5 -5
- package/dist/{js-swap-BfG8XpyS.mjs → js-swap-C8N5DXHl.mjs} +3 -3
- package/dist/{launch-CrGndh8T.mjs → launch-DxpvL6il.mjs} +12 -12
- package/dist/{lightened-DZ9Ip0T3.mjs → lightened-Df6II_XI.mjs} +2 -2
- package/dist/{logs-DpIKWT3A.mjs → logs-CuWJWF88.mjs} +5 -5
- package/dist/{logs-C-hfMsxK.mjs → logs-zv3ge7c6.mjs} +3 -3
- package/dist/{macos-DZ9ZSolN.mjs → macos-C6U-4Iip.mjs} +14 -14
- package/dist/{macos-DNmKwfDy.mjs → macos-CbRZheLw.mjs} +1 -1
- package/dist/maintenance-run.mjs +3 -3
- package/dist/{metro-request-RDhyx85c.mjs → metro-request-DODHNXCN.mjs} +7 -1
- package/dist/{native-android-DExhFqR6.mjs → native-android-9dVFqvTT.mjs} +10 -10
- package/dist/{native-gradle-artifact-inputs-Bcmbdc23.mjs → native-gradle-artifact-inputs-BlY97pt8.mjs} +1 -1
- package/dist/{native-runtime-D4qgnjK_.mjs → native-runtime-DQfxW5Au.mjs} +3 -3
- package/dist/{native-xcode-inputs-EWma1lXh.mjs → native-xcode-inputs-tDuUvSU8.mjs} +1 -1
- package/dist/{native-xcode-ios-Y6rzmWTc.mjs → native-xcode-ios-CG-PD-7g.mjs} +11 -11
- package/dist/offload-worker.mjs +13 -13
- package/dist/{phone-reverses-Drj5QQCh.mjs → phone-reverses-CnNwdz9A.mjs} +1 -1
- package/dist/{placement-log-CFT8SnlS.mjs → placement-log-CRL0IY-k.mjs} +1 -1
- package/dist/{plan-placement-DhKCH_wF.mjs → plan-placement-2imvnlWP.mjs} +4 -4
- package/dist/{ports-BNtJ5DCj.mjs → ports-CKktj5lV.mjs} +1 -1
- package/dist/{prebuild-D0hvmO4j.mjs → prebuild-CyNrUWgV.mjs} +5 -5
- package/dist/{project-DCLkDM8C.mjs → project-Crtcbfl0.mjs} +11 -11
- package/dist/{react-native-android-Dp7vctEA.mjs → react-native-android-Cabe2YER.mjs} +17 -17
- package/dist/{react-native-build-vK2lFYfN.mjs → react-native-build-DhWBUV_H.mjs} +4 -4
- package/dist/{react-native-doctor-BtWzwZHU.mjs → react-native-doctor-D-twmBon.mjs} +4 -4
- package/dist/{react-native-ios-DW1Ax3Yv.mjs → react-native-ios-u_ley41B.mjs} +12 -12
- package/dist/{reload-B-d7-CsI.mjs → reload-D2TpUlns.mjs} +6 -6
- package/dist/{reload-BS_ntVV_.mjs → reload-f9hvEHE9.mjs} +1 -1
- package/dist/{remote-DScVlaMz.mjs → remote-BsBAjlD2.mjs} +6 -6
- package/dist/{result-Epkl6gyG.mjs → result-EOsWV6sp.mjs} +10 -10
- package/dist/{selection-C95m--1_.mjs → selection-C4ZQz_ER.mjs} +1 -1
- package/dist/{server-command-B1gDRJB2.mjs → server-command-BMyKtnjH.mjs} +2 -2
- package/dist/{server-expo-CP4dURQp.mjs → server-expo-BLxcN2x2.mjs} +1 -1
- package/dist/server-expo-DwR3eD-a.mjs +2 -0
- package/dist/{settings-CjTRNCi3.mjs → settings-jeS0WmUF.mjs} +2 -2
- package/dist/{settings-payload-zf5EnCTg.mjs → settings-payload-CrX933Xi.mjs} +1 -1
- package/dist/{settings-write-Fe0K6BeC.mjs → settings-write-DMcT23Kl.mjs} +2 -2
- package/dist/settings.schema.json +2 -2
- package/dist/{slot-launch-B4MHzVX2.mjs → slot-launch-CSpQcFZw.mjs} +2 -2
- package/dist/{stage-DDrnM0CY.mjs → stage-Cf9uSM1a.mjs} +1 -1
- package/dist/{start-LSwIFlBv.mjs → start-CLN_r9EG.mjs} +5 -5
- package/dist/{start-BXl5tkv8.mjs → start-CquYgzVf.mjs} +1 -1
- package/dist/{stats-EgpYD536.mjs → stats-BVEZuSlg.mjs} +3 -3
- package/dist/{status-DBMD7ZQT.mjs → status-Bhdy07v0.mjs} +1 -1
- package/dist/{status-BLDvhatv.mjs → status-D0ruTmPl.mjs} +12 -12
- package/dist/{status-watch-BwG4lJ1q.mjs → status-watch-DSu_hhg6.mjs} +1 -1
- package/dist/status-worker.mjs +1 -1
- package/dist/{stop-BfNhzvXO.mjs → stop-B616ZyTv.mjs} +2 -2
- package/dist/{stop-4SAV_RR8.mjs → stop-RZqER_Ww.mjs} +2 -2
- package/dist/{stop-WyrZQuX6.mjs → stop-W4DK8qZq.mjs} +9 -9
- package/dist/supervisor-run.mjs +131 -39
- package/dist/{support-Cs24xRQa.mjs → support-NxnD8QXd.mjs} +6 -6
- package/dist/{support-Cffz6_Ft.mjs → support-S_5nkkzs.mjs} +3 -3
- package/dist/{swiftpm-macos-D0CzQtpp.mjs → swiftpm-macos-Gtq9bNQb.mjs} +2 -2
- package/dist/{toolchain-BEra9AIX.mjs → toolchain-B2bN8jEo.mjs} +1 -1
- package/dist/{toolchain-CGdgD4x4.mjs → toolchain-Bnm8vUCV.mjs} +2 -2
- package/dist/{web-BE89ONcc.mjs → web-BdWG8b5_.mjs} +3 -3
- package/dist/web-DwuluWJt.mjs +2 -0
- package/dist/web-run.mjs +1 -1
- package/dist/{workspaces-BNEyJ1B_.mjs → workspaces-C59v9bpD.mjs} +6 -5
- package/dist/{worktree-BTrii9e_.mjs → worktree-CinoSsGy.mjs} +10 -10
- package/dist/{worktree-DB3Ypdj6.mjs → worktree-K9F50fD_.mjs} +1 -1
- package/package.json +7 -7
- package/dist/server-expo-D3k9mvP8.mjs +0 -2
- package/dist/web-DQPxvFVD.mjs +0 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as ANDROID_AVD_CONFIG_HELP } from "./settings-C6UTYW2K.mjs";
|
|
2
|
-
import { i as findProjectRoot$1 } from "./project-
|
|
3
|
-
import { h as RECENT_LAUNCH_MS } from "./eas-session-ledger-
|
|
4
|
-
import { o as guideStatus, t as WATCHMAN_NESTED_WORKTREES } from "./doctor-watchman-
|
|
5
|
-
import "./status-watch-
|
|
2
|
+
import { i as findProjectRoot$1 } from "./project-Crtcbfl0.mjs";
|
|
3
|
+
import { h as RECENT_LAUNCH_MS } from "./eas-session-ledger-B-nTfdfk.mjs";
|
|
4
|
+
import { o as guideStatus, t as WATCHMAN_NESTED_WORKTREES } from "./doctor-watchman-CCuboyj1.mjs";
|
|
5
|
+
import "./status-watch-DSu_hhg6.mjs";
|
|
6
6
|
import { SETTINGS, SETTINGS_SCHEMA_URL, TUTORIAL_VERSION } from "@stim-cli/core/state";
|
|
7
7
|
import chalk from "chalk";
|
|
8
8
|
//#region src/guide/agent.ts
|
|
@@ -291,7 +291,8 @@ replacement runs while one is queued. See \`stim guide lifecycle concurrency\`.
|
|
|
291
291
|
After maintenance.idleStopHours (default 6) with no Stim command, native run,
|
|
292
292
|
Metro bundle or HMR request, agent-device command or live view, automatic
|
|
293
293
|
maintenance stops the workspace as stim stop does. Device and app logs do not
|
|
294
|
-
count.
|
|
294
|
+
count. A device hosted on a remote Mac stops with it, and stim-server stops a hosted
|
|
295
|
+
session whose client has been gone that long. After a long pause, run stim ios or android again before driving the
|
|
295
296
|
app; see \`stim guide cleanup\`.
|
|
296
297
|
|
|
297
298
|
Treat a refusal as an ownership or state mismatch: read its code and remedy.
|
|
@@ -2846,7 +2847,7 @@ HOSTED IOS METRO
|
|
|
2846
2847
|
Macs; a running Metro or a pin on a port the host uses refuses the run before
|
|
2847
2848
|
the build. metro.tunnel and metro.publicUrl are ignored. Supervisor restart
|
|
2848
2849
|
reopens the recorded links; stop or a stopped hosted session closes them. A recorded
|
|
2849
|
-
hosted session prevents Metro idle stop. Release runs skip the bridge.
|
|
2850
|
+
hosted session prevents Metro idle stop; maintenance.idleStopHours still stops the workspace and its hosted session (guide cleanup). Release runs skip the bridge.
|
|
2850
2851
|
Hosted Debug runs require a supervisor and a stim-server that support these
|
|
2851
2852
|
links before reservation. --no-metro-check refuses; restart a missing or older supervisor
|
|
2852
2853
|
with stim stop; stim start.
|
|
@@ -5673,6 +5674,17 @@ not on any remote" (worktree remove)
|
|
|
5673
5674
|
};
|
|
5674
5675
|
//#endregion
|
|
5675
5676
|
//#region src/guide/lifecycle.ts
|
|
5677
|
+
const HOSTED_RECORDING = (noun) => `\
|
|
5678
|
+
agent-device record start [path] --remote-config <file> records the ${noun};
|
|
5679
|
+
record stop downloads the video to path, or ./recording-<time>.mp4, on this
|
|
5680
|
+
machine. The host writes it only under the session's private agent-device state
|
|
5681
|
+
and deletes the files after the download, on stim stop or session teardown and
|
|
5682
|
+
when its daemon restarts. One recording runs per session; a second start, a host output
|
|
5683
|
+
path, record inside batch and a record stop from another agent-device session
|
|
5684
|
+
are refused. The host stops a recording after 10 minutes; a record stop within
|
|
5685
|
+
the next 15 minutes downloads it. A finished recording over 512 MiB is deleted
|
|
5686
|
+
instead. A host whose Stim predates hosted recording refuses
|
|
5687
|
+
record as a command outside its allowed list.`;
|
|
5676
5688
|
const lifecycle = {
|
|
5677
5689
|
summary: "The full worktree -> start -> ios/android -> logs -> teardown flow, with sections for builds, devices and flags",
|
|
5678
5690
|
preamble: () => `ENVIRONMENT LIFECYCLE
|
|
@@ -6218,7 +6230,7 @@ Status adds android.host { machine, session, selected, agent, device: { name,
|
|
|
6218
6230
|
systemImage, api }, state } per slot. The public name is the profile and API
|
|
6219
6231
|
level, never the host serial or AVD name. ready, stopped and unverified are
|
|
6220
6232
|
session probe states; a conflicting local emulator remains visible with a
|
|
6221
|
-
warning. A recorded placement keeps the workspace in use and blocks idle stop.
|
|
6233
|
+
warning. A recorded placement keeps the workspace in use and blocks the supervisor's idle stop and device reclaim; maintenance.idleStopHours still stops it once the host confirms the session (guide cleanup, IDLE STOP).
|
|
6222
6234
|
|
|
6223
6235
|
stop and worktree remove wait for device-host.stop, park the host's eligible owned
|
|
6224
6236
|
emulator within pool.androidParkedMax (delete otherwise), close the Metro links and clear placement. stop --json reports
|
|
@@ -6240,6 +6252,11 @@ The host verifies the policy digest and android-instance backend before granting
|
|
|
6240
6252
|
control. An older host, missing binary or unsupported policy reports driver: none;
|
|
6241
6253
|
the host's notice explains unavailable control.
|
|
6242
6254
|
|
|
6255
|
+
On a local: machine, daemonBaseUrl is http://127.0.0.1:<port> of this
|
|
6256
|
+
workspace's Metro supervisor, which carries each request to the host over its
|
|
6257
|
+
own authenticated device-host connection (host feature hosted-agent-link). It
|
|
6258
|
+
works for Debug runs while stim start runs; Release runs report driver: none.
|
|
6259
|
+
|
|
6243
6260
|
android.host.agent in stim status --json provides driver, remoteConfig and
|
|
6244
6261
|
command, never its token. Each slot has a separate 0600 file under the workspace
|
|
6245
6262
|
state directory at hosted-android/<slot>/agent-device-remote.json. Use that file:
|
|
@@ -6255,12 +6272,15 @@ session's tenant. devices is permitted for the client's open flow; inventory
|
|
|
6255
6272
|
contains only this emulator. Never use its serial with a local agent-device.
|
|
6256
6273
|
Allowed commands are devices, open, close, snapshot, diff, wait, find, get, is,
|
|
6257
6274
|
click, fill, press, type, focus, scroll, screenshot, longpress, swipe, back, home,
|
|
6258
|
-
orientation, appstate, alert and
|
|
6259
|
-
uninstall, boot, shutdown, close --shutdown,
|
|
6260
|
-
actions are refused. Other serials in commands, flags, inputs, nested
|
|
6261
|
-
lease requests are refused. Ambient client paths and owner fields are
|
|
6262
|
-
the host pins platform, serial, tenant, runId, clientId, deviceKey and
|
|
6263
|
-
Host paths and launch inputs are refused. Screenshots use only remote
|
|
6275
|
+
orientation, appstate, alert, batch, record start and record stop. Stim installs;
|
|
6276
|
+
install, reinstall, uninstall, boot, shutdown, close --shutdown, logs, uploads and
|
|
6277
|
+
device-wide actions are refused. Other serials in commands, flags, inputs, nested
|
|
6278
|
+
batches or lease requests are refused. Ambient client paths and owner fields are
|
|
6279
|
+
stripped; the host pins platform, serial, tenant, runId, clientId, deviceKey and
|
|
6280
|
+
backend. Host paths and launch inputs are refused. Screenshots use only remote
|
|
6281
|
+
artifacts.
|
|
6282
|
+
|
|
6283
|
+
${HOSTED_RECORDING("emulator")}
|
|
6264
6284
|
|
|
6265
6285
|
Stop closes the matching agent-device connection and removes the slot file only
|
|
6266
6286
|
once the host confirms stop or revocation. Reinstall, stop, revocation and server
|
|
@@ -6540,6 +6560,11 @@ session and rotates its grant; rerun stim ios to reattach and refresh the config
|
|
|
6540
6560
|
An unresolved proxy or daemon retains its claim and blocks reinstall and native
|
|
6541
6561
|
teardown; clear a named claim only after proving its owner and child are gone.
|
|
6542
6562
|
|
|
6563
|
+
On a local: machine, daemonBaseUrl is http://127.0.0.1:<port> of this
|
|
6564
|
+
workspace's Metro supervisor, which carries each request to the host over its
|
|
6565
|
+
own authenticated device-host connection (host feature hosted-agent-link). It
|
|
6566
|
+
works for Debug runs while stim start runs; Release runs report driver: none.
|
|
6567
|
+
|
|
6543
6568
|
The client writes a separate 0600 remote-config file for each workspace slot.
|
|
6544
6569
|
Status prints agent: <command>; ios.host.agent in --json carries driver,
|
|
6545
6570
|
remoteConfig and command, never the token. Use the returned file:
|
|
@@ -6561,13 +6586,13 @@ targeting its exact simulator UDID before deleting the simulator, even without c
|
|
|
6561
6586
|
|
|
6562
6587
|
Allowed: devices, open, close, snapshot, diff, wait, find, get, is, click, fill,
|
|
6563
6588
|
press, type, focus, scroll, screenshot, longpress, swipe, back, home, orientation,
|
|
6564
|
-
appstate, alert and
|
|
6565
|
-
installed apps. devices lists only the
|
|
6566
|
-
daemon policy. Its device claims are session-local and record / as the workspace;
|
|
6589
|
+
appstate, alert, batch, record start and record stop. These inspect, interact
|
|
6590
|
+
with or record the simulator and installed apps. devices lists only the
|
|
6591
|
+
session's simulator, filtered by the daemon policy. Its device claims are session-local and record / as the workspace;
|
|
6567
6592
|
a host-side agent-device using the same simulator is not visible to the hosted daemon.
|
|
6568
6593
|
Client device selectors are stripped and requests are pinned to iOS and that
|
|
6569
6594
|
UDID; an explicitly named foreign UDID is refused. Selecting another device,
|
|
6570
|
-
boot/shutdown/erase, installs, uninstall, uploads, push,
|
|
6595
|
+
boot/shutdown/erase, installs, uninstall, uploads, push, logs, network,
|
|
6571
6596
|
perf, trace, clipboard and settings are refused. Stim installs; the agent cannot
|
|
6572
6597
|
enumerate other host devices or write host files. Ambient client fields (cwd,
|
|
6573
6598
|
stateDir, config and remoteConfig) are stripped, including inside batch steps.
|
|
@@ -6577,6 +6602,8 @@ Only agent-device's generated screenshot temp artifact is accepted and returned
|
|
|
6577
6602
|
to the client; arbitrary host screenshot destinations are refused. Runtime
|
|
6578
6603
|
hints are dropped and only reporting/artifact metadata passes through.
|
|
6579
6604
|
|
|
6605
|
+
${HOSTED_RECORDING("simulator")}
|
|
6606
|
+
|
|
6580
6607
|
If hosting.agentDriver is none, the driver cannot enforce its policy, or the
|
|
6581
6608
|
host does not advertise hosted-ios-agent, agent reports
|
|
6582
6609
|
{ driver: 'none', setting: 'hosting.agentDriver' }. Update the host and check
|
|
@@ -8849,7 +8876,7 @@ status's maintenance block and the maintenance log.
|
|
|
8849
8876
|
|
|
8850
8877
|
IDLE STOP: the idle check, and gc --delete unless maintenance.mode is off (its
|
|
8851
8878
|
dry run lists them in the maintenance plan), stop a workspace whose dev server
|
|
8852
|
-
runs
|
|
8879
|
+
runs, whose owned simulator or emulator is booted, or whose device is hosted on a remote Mac once it has had no real
|
|
8853
8880
|
activity for maintenance.idleStopHours (default 6; 0 never; machine or project
|
|
8854
8881
|
layers; STIM_MAINTENANCE_IDLE_STOP_HOURS overrides; fractions work). Six hours
|
|
8855
8882
|
outlasts a lunch break, a meeting or an agent's pause between tasks, and still
|
|
@@ -8864,7 +8891,7 @@ only stays connected does not either. The stop is stim stop's: the dev
|
|
|
8864
8891
|
server stops, the owned devices shut down through centralized teardown
|
|
8865
8892
|
(never deleted), and the port is released; device leases stay. A build, a
|
|
8866
8893
|
held native-run or metro-start lock, a build lock or slot, a running macOS
|
|
8867
|
-
app, a
|
|
8894
|
+
app, a remote (EAS) session, an unexpired device lease, a managed tunnel
|
|
8868
8895
|
or remote lock, a running owned Chrome, a device driver other than
|
|
8869
8896
|
agent-device, a live agent-device claim with no session activity to judge,
|
|
8870
8897
|
device activity, an emulator list or an emulator's AVD name that cannot be read keeps
|
|
@@ -8877,7 +8904,21 @@ after stim stop, and the supervisor_stopped line in metro.ndjson names
|
|
|
8877
8904
|
automatic maintenance and the idle time as the requester. The next start, ios or android starts it
|
|
8878
8905
|
again. An owned emulator the activity check missed keeps the workspace while
|
|
8879
8906
|
adb lists it, and so does any emulator adb lists without an AVD name, such as
|
|
8880
|
-
a stale offline entry that adb kill-server clears. A
|
|
8907
|
+
a stale offline entry that adb kill-server clears. A workspace whose iOS, Android or macOS device is hosted on a remote Mac is
|
|
8908
|
+
stopped the same way once the host confirms the session is ready; stim stop's
|
|
8909
|
+
hosted path ends the session and the host parks or tears down the device. A host
|
|
8910
|
+
that does not answer, a session it cannot confirm (unknown, as after a worker
|
|
8911
|
+
crash) and a placement that cannot be read keep the workspace, and a live view of
|
|
8912
|
+
the hosted device is not seen here. On the host, stim-server stops a ready session
|
|
8913
|
+
whose client has had no connection, live stream or Metro link and sent no
|
|
8914
|
+
agent-device request for the host's own machine maintenance.idleStopHours (default 6; 0
|
|
8915
|
+
never; STIM_MAINTENANCE_IDLE_STOP_HOURS overrides), only while its maintenance.mode is on;
|
|
8916
|
+
a project value or maintenance.keep on the client does not reach it. Server downtime is not
|
|
8917
|
+
counted. It uses the stop a person uses, never touches a session whose journal state is
|
|
8918
|
+
preparing, stopping or unknown, or one with a native operation or a claim it cannot prove free
|
|
8919
|
+
(a session a crashed server left ready counts once its claim is proven free),
|
|
8920
|
+
and writes the reason to the server log and the session's idleStop journal field.
|
|
8921
|
+
The count is per client, not per session. A dev server that may still run after its supervisor
|
|
8881
8922
|
exited is kept until stim stop ends it. So is a dev server whose requests Stim
|
|
8882
8923
|
does not record: an Expo project before SDK 54, which cannot load Stim's Metro config
|
|
8883
8924
|
adapter, or a dev server an older Stim started, until stim stop and stim start
|
|
@@ -10744,7 +10785,8 @@ STIM_HOME and CI make the mode off unless STIM_MAINTENANCE is set.
|
|
|
10744
10785
|
maintenance.keep is a project setting: pin a workspace so a pass never clears
|
|
10745
10786
|
its build outputs or removes its worktree.
|
|
10746
10787
|
maintenance.idleStopHours takes machine or project layers, so one workspace can
|
|
10747
|
-
stop sooner, later or never.
|
|
10788
|
+
stop sooner, later or never. On a hosting Mac stim-server reads its machine value
|
|
10789
|
+
to stop a hosted session whose client has been gone that long.
|
|
10748
10790
|
See \`guide cleanup\` for checks, plans and log paths.
|
|
10749
10791
|
|
|
10750
10792
|
${SETTINGS.filter((setting) => setting.key.startsWith("maintenance.") || /^caches\..*MaxGb$/.test(setting.key)).map((setting) => ` ${setting.key} ${setting.env ?? "project setting"} ${setting.default === void 0 ? "unset" : `default ${setting.default}`}
|
|
@@ -10941,7 +10983,10 @@ ticket, which is a credential: whoever spends it first, after setup stores it,
|
|
|
10941
10983
|
gets the approval, and on a local network that takes only the ticket and a
|
|
10942
10984
|
route to the worker, not tailnet membership. Agents show it only to the user.
|
|
10943
10985
|
Offloaded builds and hosted Debug and
|
|
10944
|
-
Release runs work there
|
|
10986
|
+
Release runs work there. Agent control of hosted iOS and Android Debug runs
|
|
10987
|
+
goes through a loopback port of this workspace's Metro supervisor, which
|
|
10988
|
+
carries it over its own authenticated connection; Release runs and hosted macOS
|
|
10989
|
+
apps there report agent control as none.
|
|
10945
10990
|
\`stim-server pair\` puts \`ws://<address>:<port>\` in the phone pairing code
|
|
10946
10991
|
when Tailscale is not running and \`server.lanAddresses\` is set.
|
|
10947
10992
|
|
|
@@ -12233,6 +12278,10 @@ backend. Reserved names are case-insensitive and trimmed; they refuse with
|
|
|
12233
12278
|
STIM_BAD_ARG before state access or a connection. The device pool switches
|
|
12234
12279
|
(remote.devicePoolDisabled) also apply to automatic macOS placement.
|
|
12235
12280
|
|
|
12281
|
+
A hosted app is not kept forever: the idle workspace stop ends its hosted session
|
|
12282
|
+
after maintenance.idleStopHours without activity, and stim-server stops a session
|
|
12283
|
+
whose client has been gone that long (guide cleanup, IDLE STOP).
|
|
12284
|
+
|
|
12236
12285
|
Logs: the host records the hosted app's stdout, stderr and exit like a local run.
|
|
12237
12286
|
stim logs, including --errors, --json and --follow, asks the host over the same
|
|
12238
12287
|
approved connection, copies the records it has not copied yet into the
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as throwIfCancelled } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { c as call, l as connectHost } from "./hosted-client-
|
|
3
|
-
import {
|
|
4
|
-
import { a as stopHostedNative, i as prepareHostedNative, r as placeHostedNative } from "./hosted-native-
|
|
2
|
+
import { c as call, l as connectHost } from "./hosted-client-Hs-fD4L3.mjs";
|
|
3
|
+
import { a as requestHostedMetro } from "./metro-request-DODHNXCN.mjs";
|
|
4
|
+
import { a as stopHostedNative, i as prepareHostedNative, r as placeHostedNative } from "./hosted-native-Bh9IJ_t5.mjs";
|
|
5
5
|
//#region src/device-host/hosted-android.ts
|
|
6
6
|
async function prepareHostedAndroid(machine, selectors, recorded, mode) {
|
|
7
7
|
return await prepareHostedNative(machine, selectors, recorded, "android", false, mode);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as throwIfCancelled, o as cancellableSleep } from "./exec-aULwtNly.mjs";
|
|
2
2
|
import { X as diagnoseConnectFailure, ct as resolveEndpoint } from "./config-D5qNWJEP.mjs";
|
|
3
|
-
import { t as BuildConnection } from "./client-
|
|
4
|
-
import { g as configuredMachines } from "./selection-
|
|
3
|
+
import { t as BuildConnection } from "./client-lDmA-5jx.mjs";
|
|
4
|
+
import { g as configuredMachines } from "./selection-C4ZQz_ER.mjs";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { lstatSync, readFileSync, readdirSync, readlinkSync } from "node:fs";
|
|
7
7
|
import { join } from "node:path";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
2
|
import { E as workspaceDir, k as workspaceLogsDir$1 } from "./workspace-state-3bF4TB8P.mjs";
|
|
3
3
|
import { J as validateDeviceSlot, V as deviceSlotFileKey, at as parseMachine$1 } from "./config-D5qNWJEP.mjs";
|
|
4
|
-
import { l as phaseLine } from "./command-output-
|
|
4
|
+
import { l as phaseLine } from "./command-output-CfPW1bKP.mjs";
|
|
5
5
|
import { n as macosDir } from "./state-CiflgxTP.mjs";
|
|
6
6
|
import { n as androidLogGroups, r as isAndroidCrashText } from "./android-BeeC15Ve.mjs";
|
|
7
7
|
import { c as readNdjsonGenerations$1, i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
|
|
8
|
-
import { c as call } from "./hosted-client-
|
|
8
|
+
import { c as call } from "./hosted-client-Hs-fD4L3.mjs";
|
|
9
9
|
import { mkdirSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
10
10
|
import { dirname, join } from "node:path";
|
|
11
11
|
import { LOG_ROTATE_BYTES, ambientWrite, withDirLockAsync } from "@stim-cli/core";
|
|
@@ -46,10 +46,16 @@ async function removeAgentAccess(file, keep) {
|
|
|
46
46
|
if (path !== keep) rmSync(path, { force: true });
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
/**
|
|
50
|
+
* Writes the remote config that lets agent-device drive a hosted app and says how to use it. A tailnet machine is
|
|
51
|
+
* reached at its `tailscale serve` route. A local network machine is reached only through `relay`, the loopback port
|
|
52
|
+
* of this workspace's supervisor relay, or not at all when `relay` is the reason there is none.
|
|
53
|
+
*/
|
|
54
|
+
async function agentAccess(file, credential, grant, note, platform = "macos", relay = `Agent control of apps hosted on ${credential.machine} over the local network is relayed only for hosted iOS and Android Debug runs.`) {
|
|
50
55
|
const machine = parseMachine$1(credential.machine);
|
|
51
|
-
|
|
52
|
-
|
|
56
|
+
const local = machine?.transport === "local";
|
|
57
|
+
if (local && typeof relay === "string") {
|
|
58
|
+
if (grant !== void 0) note(relay);
|
|
53
59
|
await removeAgentAccess(file);
|
|
54
60
|
return {
|
|
55
61
|
driver: "none",
|
|
@@ -65,7 +71,7 @@ async function agentAccess(file, credential, grant, note, platform = "macos") {
|
|
|
65
71
|
const target = client ? join(dirname(file), client.configFile) : file;
|
|
66
72
|
const access = client && issued ? client.access({
|
|
67
73
|
grant: issued,
|
|
68
|
-
baseUrl: `https://${credential.address}${port === 443 ? "" : `:${port}`}${issued.path}`,
|
|
74
|
+
baseUrl: local ? `http://127.0.0.1:${relay}${issued.path}` : `https://${credential.address}${port === 443 ? "" : `:${port}`}${issued.path}`,
|
|
69
75
|
file: target,
|
|
70
76
|
platform
|
|
71
77
|
}) : null;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { n as pullHostedNativeLogs, r as readHostedNativeLogs, t as pullHostedMacosLogs } from "./hosted-logs-
|
|
2
|
-
import { l as phaseLine } from "./command-output-
|
|
3
|
-
import { l as connectHost } from "./hosted-client-
|
|
1
|
+
import { n as pullHostedNativeLogs, r as readHostedNativeLogs, t as pullHostedMacosLogs } from "./hosted-logs-BteXG8rm.mjs";
|
|
2
|
+
import { l as phaseLine } from "./command-output-CfPW1bKP.mjs";
|
|
3
|
+
import { l as connectHost } from "./hosted-client-Hs-fD4L3.mjs";
|
|
4
4
|
import { n as readHostedIos, t as readHostedAndroid } from "./ios-state-BEIJRJ7P.mjs";
|
|
5
|
-
import "./hosted-macos-
|
|
5
|
+
import "./hosted-macos-B4byscei.mjs";
|
|
6
6
|
import { watch } from "node:fs";
|
|
7
7
|
import { dirname, relative, resolve, sep } from "node:path";
|
|
8
8
|
import { ambientWrite, configDir } from "@stim-cli/core";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { o as cancellableSleep } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { a as agentAccess, i as closeAgentConnection, o as removeAgentAccess, t as pullHostedMacosLogs } from "./hosted-logs-
|
|
3
|
-
import { l as phaseLine } from "./command-output-
|
|
2
|
+
import { a as agentAccess, i as closeAgentConnection, o as removeAgentAccess, t as pullHostedMacosLogs } from "./hosted-logs-BteXG8rm.mjs";
|
|
3
|
+
import { l as phaseLine } from "./command-output-CfPW1bKP.mjs";
|
|
4
4
|
import { n as macosDir } from "./state-CiflgxTP.mjs";
|
|
5
|
-
import { st as runCancellationSignal } from "./toolchain-
|
|
6
|
-
import { _ as stoppedSession, a as SESSION_TIMEOUT_MS, c as call, f as hostedSession, g as sha256, h as settle, i as RESERVE_TIMEOUT_MS, l as connectHost, o as attach, r as PREPARE_TIMEOUT_MS, s as bundleManifest, t as INSTALL_TIMEOUT_MS, u as heldNoLonger, v as unknownSession, y as upload } from "./hosted-client-
|
|
5
|
+
import { st as runCancellationSignal } from "./toolchain-Bnm8vUCV.mjs";
|
|
6
|
+
import { _ as stoppedSession, a as SESSION_TIMEOUT_MS, c as call, f as hostedSession, g as sha256, h as settle, i as RESERVE_TIMEOUT_MS, l as connectHost, o as attach, r as PREPARE_TIMEOUT_MS, s as bundleManifest, t as INSTALL_TIMEOUT_MS, u as heldNoLonger, v as unknownSession, y as upload } from "./hosted-client-Hs-fD4L3.mjs";
|
|
7
7
|
import { randomUUID } from "node:crypto";
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import { ambientContext, ambientWrite } from "@stim-cli/core";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { o as cancellableSleep, x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
|
|
2
2
|
import { E as workspaceDir, l as withWorkspaceStateLockAsync, r as readWorkspaceState$1 } from "./workspace-state-3bF4TB8P.mjs";
|
|
3
|
-
import { a as agentAccess, i as closeAgentConnection, n as pullHostedNativeLogs, o as removeAgentAccess } from "./hosted-logs-
|
|
4
|
-
import { st as runCancellationSignal } from "./toolchain-
|
|
5
|
-
import { _ as stoppedSession, a as SESSION_TIMEOUT_MS, c as call, f as hostedSession, g as sha256, h as settle, i as RESERVE_TIMEOUT_MS, l as connectHost, m as requireHostedAppMode, n as OFFER_TIMEOUT_MS, o as attach, r as PREPARE_TIMEOUT_MS, s as bundleManifest, t as INSTALL_TIMEOUT_MS, u as heldNoLonger, v as unknownSession, y as upload } from "./hosted-client-
|
|
6
|
-
import { a as
|
|
3
|
+
import { a as agentAccess, i as closeAgentConnection, n as pullHostedNativeLogs, o as removeAgentAccess } from "./hosted-logs-BteXG8rm.mjs";
|
|
4
|
+
import { st as runCancellationSignal } from "./toolchain-Bnm8vUCV.mjs";
|
|
5
|
+
import { _ as stoppedSession, a as SESSION_TIMEOUT_MS, c as call, f as hostedSession, g as sha256, h as settle, i as RESERVE_TIMEOUT_MS, l as connectHost, m as requireHostedAppMode, n as OFFER_TIMEOUT_MS, o as attach, r as PREPARE_TIMEOUT_MS, s as bundleManifest, t as INSTALL_TIMEOUT_MS, u as heldNoLonger, v as unknownSession, y as upload } from "./hosted-client-Hs-fD4L3.mjs";
|
|
6
|
+
import { a as requestHostedMetro, n as closeHostedMetro, o as requireHostedMetro, r as hostedAgentPort } from "./metro-request-DODHNXCN.mjs";
|
|
7
7
|
import { s as writeHostedNative } from "./ios-state-BEIJRJ7P.mjs";
|
|
8
8
|
import { randomUUID } from "node:crypto";
|
|
9
9
|
import { readFileSync } from "node:fs";
|
|
@@ -268,7 +268,7 @@ async function placeHostedNativeOnce(target, { root, slot, bundle, handoff, bund
|
|
|
268
268
|
if (typeof delivery.notice === "string") note(delivery.notice);
|
|
269
269
|
placement = {
|
|
270
270
|
...placement,
|
|
271
|
-
agent: await agentAccess(platform === "ios" ? iosAgentRemoteConfig(root, slot) : androidAgentRemoteConfig(root, slot), host.credential, host.connection.supports(platform === "ios" ? "hosted-ios-agent" : "hosted-android-agent") ? delivery.agent : void 0, note, platform)
|
|
271
|
+
agent: await agentAccess(platform === "ios" ? iosAgentRemoteConfig(root, slot) : androidAgentRemoteConfig(root, slot), host.credential, host.connection.supports(platform === "ios" ? "hosted-ios-agent" : "hosted-android-agent") ? delivery.agent : void 0, note, platform, mode !== "development" ? void 0 : !host.connection.supports("hosted-agent-link") ? `${host.machine} runs a stim-server that cannot carry agent control over the local network. Update stim-server there, then retry.` : hostedAgentPort(root, session.id) ?? `The Metro supervisor has no agent relay ready for ${host.machine}. Rerun this command; if it persists, run stim stop; stim start, then retry.`)
|
|
272
272
|
};
|
|
273
273
|
return {
|
|
274
274
|
placement,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { k as workspaceLogsDir$1, r as readWorkspaceState$1, s as updateWorkspaceStateAsync } from "./workspace-state-3bF4TB8P.mjs";
|
|
2
2
|
import { H as deviceSlotKey, v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
|
|
3
|
-
import { o as formatLongDuration } from "./command-output-
|
|
3
|
+
import { o as formatLongDuration } from "./command-output-CfPW1bKP.mjs";
|
|
4
4
|
import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
|
|
5
|
-
import { B as workspaceBuildInProgress, P as collectOwnedDeviceActivity, ht as teardownOwnedIosSim, pt as teardownOwnedAvd } from "./workspaces-
|
|
5
|
+
import { B as workspaceBuildInProgress, P as collectOwnedDeviceActivity, ht as teardownOwnedIosSim, pt as teardownOwnedAvd } from "./workspaces-C59v9bpD.mjs";
|
|
6
6
|
import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
|
|
7
|
-
import { _ as workspaceDeviceLastUseAt } from "./activity-
|
|
7
|
+
import { _ as workspaceDeviceLastUseAt } from "./activity-yjH7Q3zn.mjs";
|
|
8
8
|
import { d as listAllIosSims } from "./ios-CdAV4-1E.mjs";
|
|
9
9
|
import { join } from "node:path";
|
|
10
10
|
import { LOG_ROTATE_BYTES } from "@stim-cli/core";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { h as shortUdid, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-
|
|
2
|
-
import { xn as schemesFromInfoPlist, yn as pickDevClientScheme } from "./ccache-
|
|
3
|
-
import { f as podAction, h as resolveDeviceType, i as deviceLabel, m as resolveConfiguration, n as buildLogFile, s as iosConfigurationSetting, t as appNameFromPath, u as isReleaseConfiguration, v as resolveRuntime } from "./support-
|
|
4
|
-
import { n as ensureWorkspaceStorageSafely } from "./native-runtime-
|
|
5
|
-
import { t as devClientScheme } from "./dev-client-
|
|
6
|
-
import { c as writeLastBuild, i as iosFacts, n as cacheDescription, o as lastBuildRecord } from "./ios-project-
|
|
7
|
-
import { d as replaceCollector, u as collectorEntry } from "./dependencies-
|
|
8
|
-
import { n as registerIos, r as runIosOperation, t as iosCommand } from "./ios-
|
|
1
|
+
import { h as shortUdid, i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-CfPW1bKP.mjs";
|
|
2
|
+
import { xn as schemesFromInfoPlist, yn as pickDevClientScheme } from "./ccache-BrwGIxmV.mjs";
|
|
3
|
+
import { f as podAction, h as resolveDeviceType, i as deviceLabel, m as resolveConfiguration, n as buildLogFile, s as iosConfigurationSetting, t as appNameFromPath, u as isReleaseConfiguration, v as resolveRuntime } from "./support-NxnD8QXd.mjs";
|
|
4
|
+
import { n as ensureWorkspaceStorageSafely } from "./native-runtime-DQfxW5Au.mjs";
|
|
5
|
+
import { t as devClientScheme } from "./dev-client-eDZy6RoX.mjs";
|
|
6
|
+
import { c as writeLastBuild, i as iosFacts, n as cacheDescription, o as lastBuildRecord } from "./ios-project-DDQlX_jX.mjs";
|
|
7
|
+
import { d as replaceCollector, u as collectorEntry } from "./dependencies-DkZ8681S.mjs";
|
|
8
|
+
import { n as registerIos, r as runIosOperation, t as iosCommand } from "./ios-D3oK9-O4.mjs";
|
|
9
9
|
export { appNameFromPath, buildLogFile, cacheDescription, collectorEntry, iosCommand as default, devClientScheme, deviceLabel, ensureWorkspaceStorageSafely, formatDuration, iosConfigurationSetting, iosFacts, isReleaseConfiguration, lastBuildRecord, phaseLine, pickDevClientScheme, podAction, registerIos, replaceCollector, resolveConfiguration, resolveDeviceType, resolveRuntime, runIosOperation, schemesFromInfoPlist, shortHash, shortUdid, writeLastBuild };
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
import { a as recordWorkspaceUseAsync, k as workspaceLogsDir$1 } from "./workspace-state-3bF4TB8P.mjs";
|
|
2
2
|
import { G as parseDeviceSlotOption, J as validateDeviceSlot, V as deviceSlotFileKey } from "./config-D5qNWJEP.mjs";
|
|
3
|
-
import { _ as stepTimer, g as stepClock, i as formatDuration, l as phaseLine } from "./command-output-
|
|
3
|
+
import { _ as stepTimer, g as stepClock, i as formatDuration, l as phaseLine } from "./command-output-CfPW1bKP.mjs";
|
|
4
4
|
import { B as publicUrlSetting, C as iosSigningIdentitySettingError, F as metroWarmupUrlSetting, N as metroPortSetting, S as iosSigningIdentitySetting, T as iosSigningIdentitySha1SettingError, a as SETTING_SHAPE_REMEDY, g as deviceReclaimIdleMinutesSetting, ot as tunnelModeSetting, v as iosLanHostSetting, w as iosSigningIdentitySha1Setting, y as iosLanHostSettingError, z as projectSettingsContextAsync } from "./settings-C6UTYW2K.mjs";
|
|
5
|
-
import { t as NO_PROJECT_REFUSAL } from "./project-
|
|
5
|
+
import { t as NO_PROJECT_REFUSAL } from "./project-Crtcbfl0.mjs";
|
|
6
6
|
import { bt as parkedMaxSetting, mt as POOL_SETTING_REMEDY } from "./android-DsEj2CCs.mjs";
|
|
7
|
-
import { En as runProcessOperation, Et as binOnPath, Qt as DEFAULT_METRO_PORT, qn as ownedSessionName, wn as exitAfterFlush } from "./ccache-
|
|
8
|
-
import { $ as tapBuildLog, H as NO_BUILD_PROGRESS, Q as startBuildProgress, Z as runFailureRecord, et as thrownRunFailureRecord, lt as statsProjectKey$1, rt as createRunRecorder } from "./workspaces-
|
|
9
|
-
import { $ as cancelledFailure, A as COMPILATION_CACHE_NOT_RUN, ct as withNativeBuildRun, ot as runCancellation, st as runCancellationSignal } from "./toolchain-
|
|
7
|
+
import { En as runProcessOperation, Et as binOnPath, Qt as DEFAULT_METRO_PORT, qn as ownedSessionName, wn as exitAfterFlush } from "./ccache-BrwGIxmV.mjs";
|
|
8
|
+
import { $ as tapBuildLog, H as NO_BUILD_PROGRESS, Q as startBuildProgress, Z as runFailureRecord, et as thrownRunFailureRecord, lt as statsProjectKey$1, rt as createRunRecorder } from "./workspaces-C59v9bpD.mjs";
|
|
9
|
+
import { $ as cancelledFailure, A as COMPILATION_CACHE_NOT_RUN, ct as withNativeBuildRun, ot as runCancellation, st as runCancellationSignal } from "./toolchain-Bnm8vUCV.mjs";
|
|
10
10
|
import { i as createIosSimSnapshot } from "./ios-CdAV4-1E.mjs";
|
|
11
11
|
import { d as optimizationBuildProfile, l as artifactCachePolicy } from "./errors-DHm_U5gv.mjs";
|
|
12
|
-
import { S as setRemoteLogSink, d as simulatorRuntime } from "./client-
|
|
13
|
-
import { s as parseBuildMachineOption } from "./selection-
|
|
14
|
-
import {
|
|
12
|
+
import { S as setRemoteLogSink, d as simulatorRuntime } from "./client-lDmA-5jx.mjs";
|
|
13
|
+
import { s as parseBuildMachineOption } from "./selection-C4ZQz_ER.mjs";
|
|
14
|
+
import { i as hostedMetroSettings } from "./metro-request-DODHNXCN.mjs";
|
|
15
15
|
import { i as writeDevicePlacementAsync } from "./ios-state-BEIJRJ7P.mjs";
|
|
16
|
-
import { t as devClientPortBusy } from "./hosted-native-
|
|
17
|
-
import { i as restoreLightenedDependencies, n as printLightenedFailure } from "./lightened-
|
|
18
|
-
import { f as waitFlagConflict, o as leaseExpiryText } from "./device-lease-run-
|
|
19
|
-
import { _ as resolveIosWait, a as deviceModelRefusal, b as resolveSimulatorAppFlag, c as iosProjectPathError, d as ownedSimFailure, g as resolveIosBuildSetup, h as resolveDeviceType, i as deviceLabel, m as resolveConfiguration, n as buildLogFile, r as createIosDeviceWaitRun, u as isReleaseConfiguration, v as resolveRuntime, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-
|
|
20
|
-
import { r as isEasBuildFailure } from "./eas-build-
|
|
21
|
-
import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, o as iosPoolNoCandidatesRefusal, r as iosDeviceBounds } from "./ios-device-
|
|
22
|
-
import { i as launchOutcomeRecord, r as isPhysicalDeviceRequest, t as ensureDevServer } from "./native-runtime-
|
|
23
|
-
import "./dev-client-
|
|
24
|
-
import { t as didSetUpDevice } from "./device-
|
|
16
|
+
import { t as devClientPortBusy } from "./hosted-native-Bh9IJ_t5.mjs";
|
|
17
|
+
import { i as restoreLightenedDependencies, n as printLightenedFailure } from "./lightened-Df6II_XI.mjs";
|
|
18
|
+
import { f as waitFlagConflict, o as leaseExpiryText } from "./device-lease-run-DeNGjJZM.mjs";
|
|
19
|
+
import { _ as resolveIosWait, a as deviceModelRefusal, b as resolveSimulatorAppFlag, c as iosProjectPathError, d as ownedSimFailure, g as resolveIosBuildSetup, h as resolveDeviceType, i as deviceLabel, m as resolveConfiguration, n as buildLogFile, r as createIosDeviceWaitRun, u as isReleaseConfiguration, v as resolveRuntime, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-NxnD8QXd.mjs";
|
|
20
|
+
import { r as isEasBuildFailure } from "./eas-build-CaG-Sfs9.mjs";
|
|
21
|
+
import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, o as iosPoolNoCandidatesRefusal, r as iosDeviceBounds } from "./ios-device-D7Gi3e1I.mjs";
|
|
22
|
+
import { i as launchOutcomeRecord, r as isPhysicalDeviceRequest, t as ensureDevServer } from "./native-runtime-DQfxW5Au.mjs";
|
|
23
|
+
import "./dev-client-eDZy6RoX.mjs";
|
|
24
|
+
import { t as didSetUpDevice } from "./device-CTozKhU0.mjs";
|
|
25
25
|
import { t as unsupportedPlan } from "./project-plan-BPwbLwQu.mjs";
|
|
26
|
-
import { a as refusePlan, i as printPlan, n as planFlagRefusal } from "./build-plan-
|
|
27
|
-
import { a as iosLedgerDevice, c as writeLastBuild, o as lastBuildRecord, s as reportIosResult } from "./ios-project-
|
|
28
|
-
import { t as acquireIosArtifact } from "./artifact-
|
|
29
|
-
import { a as hostedIosSelectors, i as hostedIosMetroNote, n as connectIosTarget, o as iosPlacementBudget, r as deviceRemoteConflict, s as selectIosPlacement, t as connectIosBackend } from "./remote-
|
|
30
|
-
import { i as lanOriginUrlFor, l as verifyIosMetroRun, n as chooseLanAddress, o as finishIosRun, t as DEFAULT_DEPS } from "./dependencies-
|
|
26
|
+
import { a as refusePlan, i as printPlan, n as planFlagRefusal } from "./build-plan-BK34X2iY.mjs";
|
|
27
|
+
import { a as iosLedgerDevice, c as writeLastBuild, o as lastBuildRecord, s as reportIosResult } from "./ios-project-DDQlX_jX.mjs";
|
|
28
|
+
import { t as acquireIosArtifact } from "./artifact-k1x9Jrn0.mjs";
|
|
29
|
+
import { a as hostedIosSelectors, i as hostedIosMetroNote, n as connectIosTarget, o as iosPlacementBudget, r as deviceRemoteConflict, s as selectIosPlacement, t as connectIosBackend } from "./remote-BsBAjlD2.mjs";
|
|
30
|
+
import { i as lanOriginUrlFor, l as verifyIosMetroRun, n as chooseLanAddress, o as finishIosRun, t as DEFAULT_DEPS } from "./dependencies-DkZ8681S.mjs";
|
|
31
31
|
import { join } from "node:path";
|
|
32
32
|
import { workspaceId } from "@stim-cli/core";
|
|
33
33
|
import { hostedIosStatus, parseMachine } from "@stim-cli/core/state";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-aULwtNly.mjs";
|
|
2
|
-
import { $t as INSTALL_ERROR, rn as appProcessFromPid } from "./ccache-
|
|
2
|
+
import { $t as INSTALL_ERROR, rn as appProcessFromPid } from "./ccache-BrwGIxmV.mjs";
|
|
3
3
|
import { n as TOOL_ERROR_PREFIX } from "./ios-device-CiBA-er9.mjs";
|
|
4
4
|
import { mkdtempSync, readFileSync, rmSync } from "node:fs";
|
|
5
5
|
import { tmpdir } from "node:os";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { w as workspaceAgentDeviceDir } from "./workspace-state-3bF4TB8P.mjs";
|
|
2
|
-
import { i as formatDuration, l as phaseLine } from "./command-output-
|
|
2
|
+
import { i as formatDuration, l as phaseLine } from "./command-output-CfPW1bKP.mjs";
|
|
3
3
|
import { a as workspaceLinkLine } from "./stim-desktop-1XxET4S8.mjs";
|
|
4
|
-
import { Mn as isEasAuthFailureText, On as UPLOAD_TIMEOUT_MS, jn as easAuthNote, kn as cacheLevel } from "./ccache-
|
|
5
|
-
import { X as recordFinishedBuild } from "./workspaces-
|
|
6
|
-
import { A as COMPILATION_CACHE_NOT_RUN, F as compilationCacheActivityLine } from "./toolchain-
|
|
7
|
-
import { i as deviceLabel } from "./support-
|
|
4
|
+
import { Mn as isEasAuthFailureText, On as UPLOAD_TIMEOUT_MS, jn as easAuthNote, kn as cacheLevel } from "./ccache-BrwGIxmV.mjs";
|
|
5
|
+
import { X as recordFinishedBuild } from "./workspaces-C59v9bpD.mjs";
|
|
6
|
+
import { A as COMPILATION_CACHE_NOT_RUN, F as compilationCacheActivityLine } from "./toolchain-Bnm8vUCV.mjs";
|
|
7
|
+
import { i as deviceLabel } from "./support-NxnD8QXd.mjs";
|
|
8
8
|
import { buildDiagnostics } from "@stim-cli/core/state";
|
|
9
9
|
import chalk from "chalk";
|
|
10
10
|
//#region src/commands/ios/result.ts
|
|
@@ -2,9 +2,9 @@ import { _ as spawnDeclared, b as operationState, c as throwIfCancelled, t as ge
|
|
|
2
2
|
import { r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
|
|
3
3
|
import { a as killOnAbort, t as runOperationFile } from "./operation-exec-Dp4FuIGR.mjs";
|
|
4
4
|
import { an as makeTemporaryDirectory, on as removeTemporaryEntry } from "./settings-C6UTYW2K.mjs";
|
|
5
|
-
import { Bn as bundleInvocation } from "./ccache-
|
|
6
|
-
import { K as tailLines, M as HEARTBEAT_INTERVAL_MS, W as startBuildHeartbeat } from "./toolchain-
|
|
7
|
-
import { s as expoTelemetryEnv, t as cleanLine } from "./server-expo-
|
|
5
|
+
import { Bn as bundleInvocation } from "./ccache-BrwGIxmV.mjs";
|
|
6
|
+
import { K as tailLines, M as HEARTBEAT_INTERVAL_MS, W as startBuildHeartbeat } from "./toolchain-Bnm8vUCV.mjs";
|
|
7
|
+
import { s as expoTelemetryEnv, t as cleanLine } from "./server-expo-BLxcN2x2.mjs";
|
|
8
8
|
import { randomUUID } from "node:crypto";
|
|
9
9
|
import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync } from "node:fs";
|
|
10
10
|
import { basename, join } from "node:path";
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { x as withDrainingCancellation } from "./exec-aULwtNly.mjs";
|
|
2
2
|
import { k as workspaceLogsDir } from "./workspace-state-3bF4TB8P.mjs";
|
|
3
3
|
import { D as upsertProject, F as formatBytes, H as deviceSlotKey, T as setDevice, U as deviceSlotPlatforms, V as deviceSlotFileKey, k as withConfigLockAsync, v as loadConfig, w as saveConfig } from "./config-D5qNWJEP.mjs";
|
|
4
|
-
import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-
|
|
5
|
-
import { L as workspaceDevServerMode } from "./project-
|
|
4
|
+
import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-CfPW1bKP.mjs";
|
|
5
|
+
import { L as workspaceDevServerMode } from "./project-Crtcbfl0.mjs";
|
|
6
6
|
import { o as workspaceLinks } from "./stim-desktop-1XxET4S8.mjs";
|
|
7
7
|
import { ct as trimAndroidCaches, i as androidDataFreeBytes, rt as resetAdoptedAvd, u as androidToolCwd } from "./android-DsEj2CCs.mjs";
|
|
8
8
|
import { c as pidExists, f as signalProcessTree } from "./metro-mKHEMO-a.mjs";
|
|
9
|
-
import { Bt as RELEASE_VERIFY_WAIT_MS, Gt as unattributedLaunchLines, It as LAUNCH_BUNDLING, Kt as unverifiedLaunchLines, Lt as LAUNCH_FATAL, Rt as LAUNCH_UNVERIFIED, Vt as VERIFY_TIMEOUT_MS, Zt as ADB_INSTALL_TIMEOUT_MS, gn as restartedAppNote, nn as androidDevClientUrl, tn as androidAppProcess, un as installConflictKind } from "./ccache-
|
|
10
|
-
import { pt as teardownOwnedAvd } from "./workspaces-
|
|
9
|
+
import { Bt as RELEASE_VERIFY_WAIT_MS, Gt as unattributedLaunchLines, It as LAUNCH_BUNDLING, Kt as unverifiedLaunchLines, Lt as LAUNCH_FATAL, Rt as LAUNCH_UNVERIFIED, Vt as VERIFY_TIMEOUT_MS, Zt as ADB_INSTALL_TIMEOUT_MS, gn as restartedAppNote, nn as androidDevClientUrl, tn as androidAppProcess, un as installConflictKind } from "./ccache-BrwGIxmV.mjs";
|
|
10
|
+
import { pt as teardownOwnedAvd } from "./workspaces-C59v9bpD.mjs";
|
|
11
11
|
import { x as providerUploadOutcome } from "./build-cache-BsKim4V7.mjs";
|
|
12
|
-
import { t as recordPhoneReverse } from "./phone-reverses-
|
|
12
|
+
import { t as recordPhoneReverse } from "./phone-reverses-CnNwdz9A.mjs";
|
|
13
13
|
import { n as verifyCollectorOwnership, r as readCollectors } from "./ownership-CCfiBfOP.mjs";
|
|
14
|
-
import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-
|
|
14
|
+
import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-CSpQcFZw.mjs";
|
|
15
15
|
import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
|
|
16
|
-
import { c as lostRefusal, s as lostLine, t as DEBUG_VERIFY_STEP_MS } from "./device-lease-run-
|
|
17
|
-
import { a as captureNativeCrashes, r as androidCrashClockOffset, s as printNativeCrashReport, t as errorDiagnostics } from "./error-diagnostics-
|
|
18
|
-
import { f as settleFingerprintCheck } from "./prebuild-
|
|
19
|
-
import { i as launchOutcomeRecord } from "./native-runtime-
|
|
20
|
-
import { a as PLATFORM, b as noDeviceDiagnostic, h as displayPath, n as LAUNCH_FAILED, r as NO_DEVICE, t as INSTALL_FAILED } from "./support-
|
|
21
|
-
import { a as persistLastBuild, n as finishAndroidUpload, s as reportAndroidResult } from "./result-
|
|
16
|
+
import { c as lostRefusal, s as lostLine, t as DEBUG_VERIFY_STEP_MS } from "./device-lease-run-DeNGjJZM.mjs";
|
|
17
|
+
import { a as captureNativeCrashes, r as androidCrashClockOffset, s as printNativeCrashReport, t as errorDiagnostics } from "./error-diagnostics-q56Im4D8.mjs";
|
|
18
|
+
import { f as settleFingerprintCheck } from "./prebuild-CyNrUWgV.mjs";
|
|
19
|
+
import { i as launchOutcomeRecord } from "./native-runtime-DQfxW5Au.mjs";
|
|
20
|
+
import { a as PLATFORM, b as noDeviceDiagnostic, h as displayPath, n as LAUNCH_FAILED, r as NO_DEVICE, t as INSTALL_FAILED } from "./support-S_5nkkzs.mjs";
|
|
21
|
+
import { a as persistLastBuild, n as finishAndroidUpload, s as reportAndroidResult } from "./result-EOsWV6sp.mjs";
|
|
22
22
|
import { mkdirSync, openSync, statSync } from "node:fs";
|
|
23
23
|
import { basename, join } from "node:path";
|
|
24
24
|
import { ambientEnv } from "@stim-cli/core";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { l as WorkspaceProcessCleanupError } from "./exec-aULwtNly.mjs";
|
|
2
2
|
import { c as withWorkspaceStateLock } from "./workspace-state-3bF4TB8P.mjs";
|
|
3
|
-
import { l as phaseLine } from "./command-output-
|
|
3
|
+
import { l as phaseLine } from "./command-output-CfPW1bKP.mjs";
|
|
4
4
|
import { Jt as warmWorktreePaths, Lt as podsOutOfSync, Q as resolveSettings, Rt as readWorktreeExclude, kt as listCarryableIgnoredEntries, vt as depsOutOfSync } from "./settings-C6UTYW2K.mjs";
|
|
5
5
|
import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
|
|
6
|
-
import { m as warmWorktreeTarget } from "./worktree-
|
|
6
|
+
import { m as warmWorktreeTarget } from "./worktree-CinoSsGy.mjs";
|
|
7
7
|
import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
8
8
|
import { basename, dirname, join, relative } from "node:path";
|
|
9
9
|
import { isJsonObject, readJsonObject, workspaceLightenedFile, workspaceMetadataFile } from "@stim-cli/core/state";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { i as recordWorkspaceUse, k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-3bF4TB8P.mjs";
|
|
2
2
|
import { G as parseDeviceSlotOption, _ as isPathPrefix$1, v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
|
|
3
|
-
import { f as refuseNoProject, v as launchErrorPreview } from "./command-output-
|
|
4
|
-
import { n as findCommandWorkspace } from "./project-
|
|
3
|
+
import { f as refuseNoProject, v as launchErrorPreview } from "./command-output-CfPW1bKP.mjs";
|
|
4
|
+
import { n as findCommandWorkspace } from "./project-Crtcbfl0.mjs";
|
|
5
5
|
import { n as SOURCES$1, t as LEVELS$1 } from "./ndjson-CrjIsGzw.mjs";
|
|
6
|
-
import { i as followAgentActions, n as openWorkspaceLogs } from "./logs-
|
|
7
|
-
import { t as errorDiagnostics } from "./error-diagnostics-
|
|
8
|
-
import { n as followHostedLogs } from "./hosted-logs-sync-
|
|
6
|
+
import { i as followAgentActions, n as openWorkspaceLogs } from "./logs-zv3ge7c6.mjs";
|
|
7
|
+
import { t as errorDiagnostics } from "./error-diagnostics-q56Im4D8.mjs";
|
|
8
|
+
import { n as followHostedLogs } from "./hosted-logs-sync-B8bjLEMs.mjs";
|
|
9
9
|
import { t as watchStdoutReader } from "./stdout-reader-C8yjre1x.mjs";
|
|
10
10
|
import { realpathSync } from "node:fs";
|
|
11
11
|
import { relative, sep } from "node:path";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { S as process_identity_exports } from "./exec-aULwtNly.mjs";
|
|
2
2
|
import { k as workspaceLogsDir$1 } from "./workspace-state-3bF4TB8P.mjs";
|
|
3
3
|
import { K as projectDeviceSlots, v as loadConfig$1 } from "./config-D5qNWJEP.mjs";
|
|
4
|
-
import { f as readAgentDeviceRecordsAsync, n as agentDeviceLiveness, o as envDir } from "./activity-
|
|
5
|
-
import { o as captureWorkspaceCrashes } from "./error-diagnostics-
|
|
6
|
-
import { n as followHostedLogs, r as syncHostedLogs } from "./hosted-logs-sync-
|
|
4
|
+
import { f as readAgentDeviceRecordsAsync, n as agentDeviceLiveness, o as envDir } from "./activity-yjH7Q3zn.mjs";
|
|
5
|
+
import { o as captureWorkspaceCrashes } from "./error-diagnostics-q56Im4D8.mjs";
|
|
6
|
+
import { n as followHostedLogs, r as syncHostedLogs } from "./hosted-logs-sync-B8bjLEMs.mjs";
|
|
7
7
|
import { readdirSync, statSync, watch } from "node:fs";
|
|
8
8
|
import { homedir } from "node:os";
|
|
9
9
|
import { dirname, join, relative, resolve, sep } from "node:path";
|