rnxsim 0.1.381 → 0.1.383
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/README.md +19 -6
- package/cli/app-fonts.ts +1 -1
- package/cli/bin.ts +118 -26
- package/cli/bridge-diagnostics.ts +1 -1
- package/cli/bridge-flow-runner.ts +9 -9
- package/cli/browser-evals.ts +3 -3
- package/cli/cli-update.ts +261 -0
- package/cli/cloud-client.ts +407 -0
- package/cli/cloud-dispatch.ts +165 -0
- package/cli/cloud-session.ts +156 -0
- package/cli/command-contract.ts +2 -2
- package/cli/command-registry.ts +9 -0
- package/cli/commands/agent-wrapper.ts +4 -4
- package/cli/commands/agent.ts +3 -3
- package/cli/commands/box/checkout-plane.ts +16 -8
- package/cli/commands/box/rnx-command.ts +2 -2
- package/cli/commands/box/search-command.ts +2 -2
- package/cli/commands/box.ts +123 -70
- package/cli/commands/config.ts +3 -2
- package/cli/commands/control.ts +6 -6
- package/cli/commands/cpu-profile.ts +2 -2
- package/cli/commands/daemon.ts +7 -7
- package/cli/commands/debug.ts +2 -2
- package/cli/commands/detox.ts +7 -7
- package/cli/commands/diagnose.ts +1 -1
- package/cli/commands/electron.ts +1 -1
- package/cli/commands/film.ts +1 -1
- package/cli/commands/flow.ts +4 -4
- package/cli/commands/inspect/core.ts +58 -7
- package/cli/commands/inspect/env.ts +5 -3
- package/cli/commands/inspect/shared.ts +2 -1
- package/cli/commands/inspect/wait-event.ts +1 -1
- package/cli/commands/inspect/wait-ready.ts +15 -5
- package/cli/commands/inspect.ts +31 -9
- package/cli/commands/install-desktop.ts +2 -2
- package/cli/commands/maestro.ts +3 -3
- package/cli/commands/permissions.ts +1 -1
- package/cli/commands/platform.ts +91 -0
- package/cli/commands/record.ts +3 -3
- package/cli/commands/report-issue.ts +1 -1
- package/cli/commands/runtime.ts +1 -1
- package/cli/commands/screenshot-mode.ts +1 -1
- package/cli/commands/screenshot.ts +25 -0
- package/cli/commands/serve.ts +1 -1
- package/cli/commands/skills.ts +1 -1
- package/cli/commands/timeline.ts +1 -1
- package/cli/commands/upgrade.ts +8 -34
- package/cli/commands/upload.ts +3 -3
- package/cli/commands/version.ts +14 -3
- package/cli/commands/what-happened.ts +2 -2
- package/cli/current-sim.ts +43 -30
- package/cli/desktop-companion.ts +1 -1
- package/cli/drivers/electron.ts +1 -1
- package/cli/drivers/playwright.ts +3 -3
- package/cli/drivers/types.ts +4 -4
- package/cli/flow-file.ts +3 -3
- package/cli/help-core.ts +18 -11
- package/cli/hidden-runtime-alias.ts +1 -1
- package/cli/hints.ts +2 -2
- package/cli/maestro-js.ts +2 -2
- package/cli/outbound-endpoints.ts +40 -6
- package/cli/parse-args.ts +1 -1
- package/cli/registry.ts +1 -1
- package/cli/resolve-assets.ts +2 -2
- package/cli/secure-file.ts +31 -0
- package/cli/shell-init.ts +98 -0
- package/cli/ws-bridge.ts +18 -8
- package/detox/expectations.ts +1 -1
- package/detox/gestures.ts +3 -3
- package/detox/index.ts +3 -3
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/agent-identity.cjs +1 -1
- package/dist-lib/agent-sessions.cjs +1 -1
- package/dist-lib/attached-projects.cjs +1 -1
- package/dist-lib/auth/shared-session.cjs +1 -1
- package/dist-lib/backend-origin.cjs +1 -1
- package/dist-lib/beta.cjs +1 -1
- package/dist-lib/beta.mjs +1 -1
- package/dist-lib/bridge-constants.cjs +1 -1
- package/dist-lib/bridge-contract-input.cjs +20 -8
- package/dist-lib/bridge-contract-input.mjs +20 -8
- package/dist-lib/bridge-contract.cjs +1 -1
- package/dist-lib/bridge-contract.mjs +1 -1
- package/dist-lib/capture-contract.cjs +217 -0
- package/dist-lib/capture-contract.mjs +187 -0
- package/dist-lib/cli-constants.cjs +1 -1
- package/dist-lib/cloud-contract.cjs +41 -0
- package/dist-lib/cloud-contract.mjs +13 -0
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/detox/index.cjs +4 -4
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +9 -1
- package/dist-lib/host/bridge-host.cjs +15 -10
- package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
- package/dist-lib/host/replacement-module-handler.cjs +1 -1
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +361 -75
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/menu.cjs +1 -1
- package/dist-lib/menu.mjs +1 -1
- package/dist-lib/metro-production-bundle.cjs +1 -1
- package/dist-lib/metro-production-bundle.mjs +1 -1
- package/dist-lib/metro.cjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/public-brand.cjs +1 -1
- package/dist-lib/react-native-host-modules.cjs +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -1
- package/dist-lib/render-mode.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
- package/dist-lib/sdk.cjs +44 -6
- package/dist-lib/sdk.mjs +44 -6
- package/dist-lib/skills.cjs +436 -155
- package/dist-lib/vite.cjs +1 -1
- package/package.json +20 -4
- package/scripts/dev-server-scanner.ts +3 -3
- package/skills/contrast/SKILL.md +1 -1
- package/skills/rnx-perf/SKILL.md +68 -52
- package/src/app-url.ts +2 -3
- package/src/bridge-contract-input.ts +25 -6
- package/src/bridge-contract.ts +35 -5
- package/src/capture-contract.ts +576 -0
- package/src/cloud-contract.ts +18 -0
- package/src/home-paths.ts +9 -3
- package/src/host/agent-host.ts +1 -1
- package/src/host/bridge-host.ts +13 -11
- package/src/host/plane-host.ts +2 -2
- package/src/index.ts +25 -0
- package/src/native-dev-bundle-url.ts +2 -2
- package/src/screenshots/orchestrate.ts +1 -1
- package/src/screenshots/org-deck.ts +1 -1
- package/src/settings-bundle.ts +1 -1
- package/src/sim-client.ts +4 -0
- package/src/vite-plugin-one.ts +2 -2
- package/src/vite-plugin.ts +1 -1
- package/cli/commands/box/cloud-box.ts +0 -294
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.383 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -3787,7 +3787,7 @@ async function openUrl(url, options = {}) {
|
|
|
3787
3787
|
var import_node_fs11 = __toESM(require("node:fs"), 1);
|
|
3788
3788
|
var import_node_path11 = __toESM(require("node:path"), 1);
|
|
3789
3789
|
|
|
3790
|
-
// ../
|
|
3790
|
+
// ../rnx-box/src/planeProtocol.ts
|
|
3791
3791
|
var PLANE_FLAG_READ_ONLY = 1;
|
|
3792
3792
|
var PLANE_FLAG_BINARY = 2;
|
|
3793
3793
|
function encodeBase64(bytes) {
|
|
@@ -3893,9 +3893,11 @@ var CheckoutFilePlane = class {
|
|
|
3893
3893
|
// long a wedged git is waited on, never whether it is waited on, so proving
|
|
3894
3894
|
// the kill does not have to cost the production deadline.
|
|
3895
3895
|
listTimeoutMs;
|
|
3896
|
+
trackedOnly;
|
|
3896
3897
|
constructor(root, options = {}) {
|
|
3897
3898
|
this.root = import_node_path10.default.resolve(root);
|
|
3898
3899
|
this.listTimeoutMs = options.listTimeoutMs ?? LIST_FILES_TIMEOUT_MS;
|
|
3900
|
+
this.trackedOnly = options.trackedOnly ?? false;
|
|
3899
3901
|
}
|
|
3900
3902
|
index() {
|
|
3901
3903
|
return this.entries;
|
|
@@ -3903,7 +3905,8 @@ var CheckoutFilePlane = class {
|
|
|
3903
3905
|
async refresh() {
|
|
3904
3906
|
let stdout;
|
|
3905
3907
|
try {
|
|
3906
|
-
|
|
3908
|
+
const args = this.trackedOnly ? ["ls-files", "-z"] : ["ls-files", "-co", "--exclude-standard", "-z"];
|
|
3909
|
+
stdout = (0, import_node_child_process4.execFileSync)("git", args, {
|
|
3907
3910
|
cwd: this.root,
|
|
3908
3911
|
encoding: "utf8",
|
|
3909
3912
|
maxBuffer: 64 * 1024 * 1024,
|
|
@@ -3923,7 +3926,7 @@ var CheckoutFilePlane = class {
|
|
|
3923
3926
|
}
|
|
3924
3927
|
if (stdout.length === 0) {
|
|
3925
3928
|
throw new CheckoutRequiresGitError(
|
|
3926
|
-
`git listed no files in ${this.root}. either
|
|
3929
|
+
`git listed no ${this.trackedOnly ? "tracked " : ""}files in ${this.root}. either the checkout contains no eligible files, or this machine could not read the child process's output.`
|
|
3927
3930
|
);
|
|
3928
3931
|
}
|
|
3929
3932
|
const next = /* @__PURE__ */ new Map();
|
|
@@ -4613,8 +4616,8 @@ var SootSimBridgeHost = class _SootSimBridgeHost {
|
|
|
4613
4616
|
static USER_BOOT_LEASE_TTL_MS = 6e4;
|
|
4614
4617
|
static SIM_RECONNECT_TTL_MS = 3e4;
|
|
4615
4618
|
// abandoned-tab GC. the ws heartbeat only reaps sims whose socket went
|
|
4616
|
-
// dead — but a background tab from a prior `
|
|
4617
|
-
// keeps its socket alive (the page still pongs) forever, so `
|
|
4619
|
+
// dead — but a background tab from a prior `rnx open` / QA / test run
|
|
4620
|
+
// keeps its socket alive (the page still pongs) forever, so `rnx list`
|
|
4618
4621
|
// accretes dozens of zombie sims that all time out on every command (QA
|
|
4619
4622
|
// F21-3, carried F19-2). reap a sim only when it is provably nobody's:
|
|
4620
4623
|
// not primary, not user-focused, no CLI attached, no active lease, and no
|
|
@@ -4622,7 +4625,7 @@ var SootSimBridgeHost = class _SootSimBridgeHost {
|
|
|
4622
4625
|
// terminal 4001 code, so the client closes the abandoned window instead
|
|
4623
4626
|
// of reconnecting the zombie straight back in.
|
|
4624
4627
|
static SIM_IDLE_REAP_TTL_MS = 30 * 6e4;
|
|
4625
|
-
// automation sims (spawned by the playwright driver: `
|
|
4628
|
+
// automation sims (spawned by the playwright driver: `rnx open --driver
|
|
4626
4629
|
// playwright`, the factory/screenshot capture path — `meta.sootsimHostDriver
|
|
4627
4630
|
// === 'playwright'`) are unattended one-shot browsers, never a human's tab. a
|
|
4628
4631
|
// capture run opens one per slide/app/retry and the 30-min human/dev TTL lets
|
|
@@ -4652,7 +4655,7 @@ var SootSimBridgeHost = class _SootSimBridgeHost {
|
|
|
4652
4655
|
// dropped, sim crashed) leave their server-side WebSocket sitting "open"
|
|
4653
4656
|
// forever. ping every WS_HEARTBEAT_INTERVAL_MS; if the previous round's
|
|
4654
4657
|
// ping was never answered, terminate(). that fires 'close' which runs the
|
|
4655
|
-
// sim-cleanup path and stops `
|
|
4658
|
+
// sim-cleanup path and stops `rnx list` from showing 8 zombie
|
|
4656
4659
|
// sims that all time out on every command.
|
|
4657
4660
|
wsHeartbeatTimer = null;
|
|
4658
4661
|
wsIsAlive = /* @__PURE__ */ new WeakMap();
|
|
@@ -5856,7 +5859,7 @@ var SootSimBridgeHost = class _SootSimBridgeHost {
|
|
|
5856
5859
|
this.sweepRestorableSims(now);
|
|
5857
5860
|
this.reapIdleSims(now);
|
|
5858
5861
|
}
|
|
5859
|
-
// GC abandoned sims so `
|
|
5862
|
+
// GC abandoned sims so `rnx list` stays usable across long dev / QA /
|
|
5860
5863
|
// test sessions (F21-3). conservative on purpose: a sim is only reaped
|
|
5861
5864
|
// when every "someone cares about this" signal is absent.
|
|
5862
5865
|
//
|
|
@@ -5872,7 +5875,7 @@ var SootSimBridgeHost = class _SootSimBridgeHost {
|
|
|
5872
5875
|
// using is the primary and/or holds a fresh user-active lease; one that is
|
|
5873
5876
|
// none of those and idle past the TTL is abandoned regardless of a stale
|
|
5874
5877
|
// focus flag.
|
|
5875
|
-
// automation sims are spawned by the playwright driver (`
|
|
5878
|
+
// automation sims are spawned by the playwright driver (`rnx open
|
|
5876
5879
|
// --driver playwright`, the factory/screenshot capture path), which tags them
|
|
5877
5880
|
// with `meta.sootsimHostDriver === 'playwright'` via the host's addInitScript.
|
|
5878
5881
|
// they are unattended one-shot browsers, never a human's tab, so they get a
|
|
@@ -6375,6 +6378,8 @@ var SootSimBridgeHost = class _SootSimBridgeHost {
|
|
|
6375
6378
|
return "evaluated page state";
|
|
6376
6379
|
case "screenshot":
|
|
6377
6380
|
return "captured screenshot";
|
|
6381
|
+
case "capture":
|
|
6382
|
+
return "captured app screen";
|
|
6378
6383
|
case "tap":
|
|
6379
6384
|
return "sent tap event";
|
|
6380
6385
|
case "keyboard":
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.383 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.383 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.383 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
|
|
3
3
|
// src/host/fetch-proxy-overrides.ts
|
|
4
4
|
var FETCH_PROXY_BROWSER_USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.383 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.383 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|