peachsim 0.1.631 → 0.1.632
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 +9 -1
- package/cli/commands/maestro.ts +5 -1
- package/cli/commands/test.ts +29 -1
- package/cli/drivers/playwright-core-pin.ts +10 -0
- package/cli/drivers/playwright-provisioning.ts +36 -1
- package/cli/drivers/playwright.ts +26 -19
- package/cli/shell-init.ts +6 -1
- package/cli/ws-bridge.ts +8 -2
- 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 +1 -1
- package/dist-lib/bridge-contract-input.mjs +1 -1
- package/dist-lib/bridge-contract.cjs +1 -1
- package/dist-lib/bridge-contract.mjs +1 -1
- package/dist-lib/capture-contract.cjs +1 -1
- package/dist-lib/capture-contract.mjs +1 -1
- package/dist-lib/cli-constants.cjs +1 -1
- package/dist-lib/cloud-contract.cjs +1 -1
- package/dist-lib/cloud-contract.mjs +1 -1
- package/dist-lib/cloud-test-args.cjs +17 -5
- package/dist-lib/cloud-test-args.mjs +17 -5
- package/dist-lib/cloud.cjs +1 -1
- package/dist-lib/cloud.mjs +1 -1
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/detox/index.cjs +1 -1
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +6 -1
- package/dist-lib/host/bridge-host.cjs +48 -47
- 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 +7 -2
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/jump-to-source-native.cjs +1 -1
- package/dist-lib/kotlin-host.cjs +1 -1
- package/dist-lib/menu.cjs +1 -1
- package/dist-lib/menu.mjs +1 -1
- package/dist-lib/metro-fingerprint-registry.cjs +1 -1
- package/dist-lib/metro-fingerprint-registry.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/native-app-identity.cjs +1 -1
- package/dist-lib/native-app-identity.mjs +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 +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +112 -62
- package/dist-lib/swift-compile.cjs +1 -1
- package/dist-lib/swift-compile.mjs +1 -1
- package/dist-lib/swift-package.cjs +1 -1
- package/dist-lib/swift-package.mjs +1 -1
- package/dist-lib/swift-submit.cjs +1 -1
- package/dist-lib/swift-submit.mjs +1 -1
- package/dist-lib/swift.cjs +5 -7
- package/dist-lib/vite-swift.cjs +1 -1
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/src/cloud-test-args.ts +18 -6
- package/src/home-paths.ts +8 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.632 | (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;
|
package/dist-lib/swift.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.632 | (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;
|
|
@@ -9424,15 +9424,13 @@ function resetTextureLayerFlattenState(state5) {
|
|
|
9424
9424
|
}
|
|
9425
9425
|
function releaseRasterImage(chunk) {
|
|
9426
9426
|
if (chunk.kind !== "picture") return;
|
|
9427
|
-
if (chunk.
|
|
9427
|
+
if (chunk.rasterImageHandle) {
|
|
9428
9428
|
LIVE.rasterImages--;
|
|
9429
9429
|
LIVE.rasterBytes -= chunk.rasterWidth * chunk.rasterHeight * 4;
|
|
9430
|
-
|
|
9431
|
-
chunk.rasterImage.delete();
|
|
9432
|
-
} catch {
|
|
9433
|
-
}
|
|
9430
|
+
chunk.rasterNative?._peach_raster_release(chunk.rasterImageHandle);
|
|
9434
9431
|
}
|
|
9435
|
-
chunk.
|
|
9432
|
+
chunk.rasterImageHandle = 0;
|
|
9433
|
+
chunk.rasterNative = null;
|
|
9436
9434
|
chunk.rasterWidth = 0;
|
|
9437
9435
|
chunk.rasterHeight = 0;
|
|
9438
9436
|
chunk.rasterDpr = 0;
|
package/dist-lib/vite-swift.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.632 | (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;
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.632 | (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;
|
package/package.json
CHANGED
package/src/cloud-test-args.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// hosted `
|
|
1
|
+
// hosted `peach test` selection and explicit environment arguments: the argv slice a cloud submitter
|
|
2
2
|
// forwards and the recorder appends verbatim to its executor invocation.
|
|
3
3
|
//
|
|
4
|
-
//
|
|
5
|
-
// about HOW they run (workers, timeouts, shards, devices
|
|
4
|
+
// the flags below choose tests and provide explicit flow variables. everything
|
|
5
|
+
// about HOW they run (workers, timeouts, shards, devices)
|
|
6
6
|
// stays with the recorder that owns the execution environment, and
|
|
7
7
|
// everything about WHERE they run (app, origin, tunnel) is consumed by
|
|
8
8
|
// the submitter. a flag outside this list never reaches the executor:
|
|
@@ -22,6 +22,8 @@ export const CLOUD_TEST_VALUE_FLAGS: readonly string[] = [
|
|
|
22
22
|
'--include-tags',
|
|
23
23
|
'--exclude-tags',
|
|
24
24
|
'--grep',
|
|
25
|
+
'--env',
|
|
26
|
+
'-e',
|
|
25
27
|
]
|
|
26
28
|
|
|
27
29
|
const CLOUD_TEST_VALUE_FLAG_SET = new Set<string>(CLOUD_TEST_VALUE_FLAGS)
|
|
@@ -57,7 +59,7 @@ export function parseCloudTestArgs(value: unknown): CloudTestArgsVerdict {
|
|
|
57
59
|
return { ok: false, message: 'testArgs entries must be non-empty strings' }
|
|
58
60
|
}
|
|
59
61
|
if (entry.length > CLOUD_TEST_ARG_MAX_LENGTH || entry.includes('\0')) {
|
|
60
|
-
return { ok: false, message:
|
|
62
|
+
return { ok: false, message: 'testArgs entry is too long or carries a NUL byte' }
|
|
61
63
|
}
|
|
62
64
|
bytes += encoder.encode(entry).length
|
|
63
65
|
if (bytes > CLOUD_TEST_ARGS_MAX_BYTES) {
|
|
@@ -80,12 +82,19 @@ export function parseCloudTestArgs(value: unknown): CloudTestArgsVerdict {
|
|
|
80
82
|
const eq = entry.indexOf('=')
|
|
81
83
|
const head = eq > 0 ? entry.slice(0, eq) : entry
|
|
82
84
|
if (!isCloudTestValueFlag(head)) {
|
|
83
|
-
return {
|
|
85
|
+
return {
|
|
86
|
+
ok: false,
|
|
87
|
+
message: `testArgs carries an unknown flag: ${head.slice(0, 60)}`,
|
|
88
|
+
}
|
|
84
89
|
}
|
|
85
90
|
if (eq > 0) {
|
|
86
|
-
|
|
91
|
+
const value = entry.slice(eq + 1)
|
|
92
|
+
if (!value) {
|
|
87
93
|
return { ok: false, message: `${head} expects a value` }
|
|
88
94
|
}
|
|
95
|
+
if ((head === '--env' || head === '-e') && value.indexOf('=') < 1) {
|
|
96
|
+
return { ok: false, message: `${head} expects KEY=VALUE with a non-empty key` }
|
|
97
|
+
}
|
|
89
98
|
args.push(entry)
|
|
90
99
|
continue
|
|
91
100
|
}
|
|
@@ -93,6 +102,9 @@ export function parseCloudTestArgs(value: unknown): CloudTestArgsVerdict {
|
|
|
93
102
|
if (val === undefined || val.startsWith('-')) {
|
|
94
103
|
return { ok: false, message: `${head} expects a value` }
|
|
95
104
|
}
|
|
105
|
+
if ((head === '--env' || head === '-e') && val.indexOf('=') < 1) {
|
|
106
|
+
return { ok: false, message: `${head} expects KEY=VALUE with a non-empty key` }
|
|
107
|
+
}
|
|
96
108
|
args.push(entry, val)
|
|
97
109
|
i += 1
|
|
98
110
|
}
|
package/src/home-paths.ts
CHANGED
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
// │ alternative to a symlink)
|
|
10
10
|
// ├── electron/
|
|
11
11
|
// │ └── <version>/ pinned electron binary (future: playwright-style)
|
|
12
|
+
// ├── playwright-core/
|
|
13
|
+
// │ └── <version>/node_modules/playwright-core
|
|
14
|
+
// │ the pinned package, provisioned on first need when
|
|
15
|
+
// │ neither the app nor the CLI's install tree has one
|
|
12
16
|
// ├── profiles/
|
|
13
17
|
// │ └── profiles.json storage profile metadata
|
|
14
18
|
// ├── cache/
|
|
@@ -126,6 +130,10 @@ export function electronVersionDir(version: string): string {
|
|
|
126
130
|
return path.join(electronDir(), version)
|
|
127
131
|
}
|
|
128
132
|
|
|
133
|
+
export function playwrightCoreDir(version: string): string {
|
|
134
|
+
return path.join(rnxHomeDir(), 'playwright-core', version)
|
|
135
|
+
}
|
|
136
|
+
|
|
129
137
|
export function profilesDir(): string {
|
|
130
138
|
return path.join(rnxHomeDir(), 'profiles')
|
|
131
139
|
}
|