peachsim 0.1.571 → 0.1.572
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/LICENSE +1 -1
- package/README.md +106 -106
- package/cli/app-config.ts +1 -1
- package/cli/app-fonts.ts +4 -4
- package/cli/auth.ts +11 -11
- package/cli/bin.ts +4 -4
- package/cli/bridge-flow-runner.ts +13 -13
- package/cli/browser-evals.ts +2 -2
- package/cli/cli-update.ts +6 -6
- package/cli/cloud-client.ts +16 -16
- package/cli/cloud-dispatch.ts +2 -2
- package/cli/cloud-session.ts +12 -12
- package/cli/cloud-test-tunnel.ts +4 -4
- package/cli/command-registry.ts +7 -7
- package/cli/commands/agent-wrapper.ts +7 -7
- package/cli/commands/agent.ts +16 -16
- package/cli/commands/app-fonts.ts +3 -3
- package/cli/commands/assert.ts +10 -10
- package/cli/commands/auth.ts +5 -5
- package/cli/commands/box/checkout-plane.ts +1 -1
- package/cli/commands/box/plane-share.ts +2 -2
- package/cli/commands/box/rnx-command.ts +5 -5
- package/cli/commands/box.ts +38 -38
- package/cli/commands/camera.ts +13 -13
- package/cli/commands/cleanup.ts +13 -13
- package/cli/commands/compat.ts +7 -7
- package/cli/commands/config.ts +5 -5
- package/cli/commands/control.ts +63 -63
- package/cli/commands/cpu-profile.ts +11 -11
- package/cli/commands/daemon-mac-app.ts +10 -10
- package/cli/commands/daemon.ts +29 -27
- package/cli/commands/debug.ts +35 -35
- package/cli/commands/desktop.ts +3 -3
- package/cli/commands/detox.ts +33 -33
- package/cli/commands/device.ts +9 -9
- package/cli/commands/diagnose.ts +17 -17
- package/cli/commands/do-chain.ts +4 -4
- package/cli/commands/electron.ts +9 -9
- package/cli/commands/film.ts +9 -9
- package/cli/commands/flow.ts +49 -49
- package/cli/commands/inspect/core.ts +12 -12
- package/cli/commands/inspect/count.ts +1 -1
- package/cli/commands/inspect/describe.ts +1 -1
- package/cli/commands/inspect/env.ts +2 -2
- package/cli/commands/inspect/find.ts +2 -2
- package/cli/commands/inspect/get-layout.ts +2 -2
- package/cli/commands/inspect/keyboard.ts +1 -1
- package/cli/commands/inspect/list.ts +4 -4
- package/cli/commands/inspect/memory.ts +1 -1
- package/cli/commands/inspect/resolve-target.ts +1 -1
- package/cli/commands/inspect/screens.ts +1 -1
- package/cli/commands/inspect/shared.ts +1 -1
- package/cli/commands/inspect/tree.ts +1 -1
- package/cli/commands/inspect/url.ts +1 -1
- package/cli/commands/inspect/wait-event.ts +5 -5
- package/cli/commands/inspect.ts +82 -82
- package/cli/commands/install-cli.ts +16 -16
- package/cli/commands/install-desktop.ts +26 -26
- package/cli/commands/login.ts +11 -11
- package/cli/commands/maestro-generate.ts +10 -10
- package/cli/commands/maestro.ts +77 -67
- package/cli/commands/mode.ts +4 -4
- package/cli/commands/no-bridge-hint.ts +12 -12
- package/cli/commands/perf.ts +11 -11
- package/cli/commands/permissions.ts +5 -5
- package/cli/commands/platform.ts +21 -21
- package/cli/commands/preview.ts +5 -5
- package/cli/commands/profile.ts +12 -12
- package/cli/commands/react.ts +15 -15
- package/cli/commands/record.ts +31 -31
- package/cli/commands/report-issue.ts +4 -4
- package/cli/commands/reset.ts +2 -2
- package/cli/commands/runtime.ts +23 -23
- package/cli/commands/screenshot-command.ts +2 -2
- package/cli/commands/screenshot-layers.ts +5 -5
- package/cli/commands/screenshot-mode.ts +7 -7
- package/cli/commands/screenshot.ts +24 -24
- package/cli/commands/screenshots-capture.ts +13 -13
- package/cli/commands/screenshots.ts +6 -6
- package/cli/commands/serve.ts +12 -12
- package/cli/commands/setup.ts +25 -25
- package/cli/commands/skills.ts +30 -23
- package/cli/commands/slides.ts +20 -20
- package/cli/commands/state.ts +2 -2
- package/cli/commands/storage.ts +3 -3
- package/cli/commands/telemetry.ts +2 -2
- package/cli/commands/test.ts +15 -15
- package/cli/commands/three-mode.ts +17 -17
- package/cli/commands/timeline.ts +12 -12
- package/cli/commands/upgrade.ts +11 -11
- package/cli/commands/upload.ts +26 -26
- package/cli/commands/version.ts +7 -7
- package/cli/commands/what-happened.ts +20 -20
- package/cli/current-sim.ts +3 -3
- package/cli/desktop-companion.ts +16 -16
- package/cli/drivers/electron.ts +4 -4
- package/cli/drivers/playwright-sim-host.ts +7 -7
- package/cli/drivers/playwright.ts +4 -4
- package/cli/drivers/registry.ts +1 -1
- package/cli/drivers/types.ts +5 -5
- package/cli/flow-export.ts +1 -1
- package/cli/flow-file.ts +5 -5
- package/cli/flow-session.ts +1 -1
- package/cli/help-core.ts +13 -13
- package/cli/hints.ts +14 -14
- package/cli/inspect-notice-state.ts +1 -1
- package/cli/internal-child.ts +2 -2
- package/cli/maestro-js.ts +4 -4
- package/cli/maestro-report.ts +1 -1
- package/cli/main.ts +14 -14
- package/cli/outbound-endpoints.ts +30 -30
- package/cli/parse-args.ts +7 -7
- package/cli/privacy.ts +1 -1
- package/cli/recording-access.ts +10 -10
- package/cli/resolve-assets.ts +2 -2
- package/cli/rnx-in-process.ts +5 -5
- package/cli/run-registry.ts +1 -1
- package/cli/run-rnx-core.ts +3 -3
- package/cli/run-rnx.ts +1 -1
- package/cli/runtime-notes.ts +1 -1
- package/cli/self-invocation.ts +1 -1
- package/cli/send-to-box.ts +1 -1
- package/cli/shell-init.ts +40 -40
- package/cli/ui.ts +1 -1
- package/cli/ws-bridge.ts +22 -22
- package/detox/config-loader.ts +1 -1
- package/detox/index.ts +28 -28
- package/detox/navigation.ts +2 -2
- package/dist-lib/agent-daemon-client.cjs +12 -12
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/agent-identity.cjs +2 -2
- package/dist-lib/agent-sessions.cjs +12 -12
- package/dist-lib/attached-projects.cjs +4 -4
- package/dist-lib/auth/shared-session.cjs +4 -4
- 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 +4 -4
- package/dist-lib/bridge-contract-input.cjs +1 -1
- package/dist-lib/bridge-contract-input.mjs +1 -1
- package/dist-lib/bridge-contract.cjs +2 -2
- package/dist-lib/bridge-contract.mjs +2 -2
- 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 +1 -1
- package/dist-lib/cloud-test-args.mjs +1 -1
- package/dist-lib/cloud.cjs +42 -42
- package/dist-lib/cloud.mjs +42 -42
- package/dist-lib/config.cjs +2 -2
- package/dist-lib/detox/index.cjs +29 -29
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +12 -12
- package/dist-lib/host/bridge-host.cjs +72 -71
- 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 +6 -6
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +48 -48
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/jump-to-source-native.cjs +1 -1
- package/dist-lib/menu.cjs +5 -5
- package/dist-lib/menu.mjs +5 -5
- 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 +15 -15
- package/dist-lib/profiles.cjs +4 -4
- package/dist-lib/public-brand.cjs +3 -3
- 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 +2 -1
- package/dist-lib/sdk.cjs +9 -9
- package/dist-lib/sdk.mjs +9 -9
- package/dist-lib/skills.cjs +416 -415
- 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 +1 -1
- package/dist-lib/vite.cjs +24 -24
- package/package.json +1 -1
- package/scripts/dev-server-scanner.ts +4 -3
- package/skills/contrast/SKILL.md +75 -75
- package/skills/{rnx-debug → peach-debug}/SKILL.md +90 -90
- package/skills/{rnx-perf → peach-perf}/SKILL.md +13 -13
- package/skills/{rnx-setup → peach-setup}/SKILL.md +60 -60
- package/skills/{rnx-test → peach-test}/SKILL.md +44 -44
- package/skills/{rnx-visual → peach-visual}/SKILL.md +26 -26
- package/src/agent-daemon-client.ts +5 -5
- package/src/agent-events.ts +1 -1
- package/src/agent-identity.ts +1 -1
- package/src/agent-sessions.ts +13 -13
- package/src/attached-projects.ts +1 -1
- package/src/auth/shared-session.ts +1 -1
- package/src/bridge-constants.ts +3 -3
- package/src/bridge-contract-input.ts +1 -1
- package/src/bridge-contract.ts +3 -3
- package/src/cli-version.ts +6 -6
- package/src/cloud.ts +40 -40
- package/src/config.ts +1 -1
- package/src/connect.ts +6 -6
- package/src/dev-server-open.ts +8 -8
- package/src/disk-cleanup.ts +3 -3
- package/src/home-paths.ts +26 -26
- package/src/host/agent-host.ts +3 -3
- package/src/host/bridge-host.ts +33 -33
- package/src/host/fetch-proxy-handler.ts +1 -1
- package/src/host/plane-host.ts +2 -2
- package/src/host/replacement-module-handler.ts +2 -2
- package/src/menu.ts +2 -2
- package/src/metro-plugin.ts +7 -7
- package/src/metro-production-bundle.ts +2 -2
- package/src/native-dev-bundle-url.ts +2 -2
- package/src/playwright-host-log.ts +1 -1
- package/src/public-brand.ts +2 -2
- package/src/react-native-host-modules.ts +1 -1
- package/src/rolldown-plugin-swift.ts +3 -3
- package/src/runtime-assets.ts +11 -11
- package/src/runtime-delivery.ts +6 -6
- package/src/screenshots/orchestrate.ts +1 -1
- package/src/screenshots/org-deck.ts +1 -1
- package/src/screenshots/schema.ts +2 -2
- package/src/sim-client.ts +1 -1
- package/src/skills/builtin/compat-check.ts +2 -2
- package/src/vite-plugin-one.ts +8 -8
- package/src/vite-plugin-swift.ts +3 -3
- package/src/vite-plugin.ts +6 -19
package/src/vite-plugin-one.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// sootsim plugin for One/Vite — serves the installed sootsim runtime at /__soot/
|
|
2
|
-
// from ~/.
|
|
2
|
+
// from ~/.peach/runtimes/<version>. version-owned localhost origins remain
|
|
3
3
|
// bound to that directory across an active-runtime update.
|
|
4
4
|
//
|
|
5
5
|
// usage in vite.config.ts:
|
|
@@ -35,8 +35,8 @@ export interface RnxPluginOptions {
|
|
|
35
35
|
prefix?: string
|
|
36
36
|
// disable sootsim
|
|
37
37
|
enabled?: boolean
|
|
38
|
-
// launch the
|
|
39
|
-
// server is listening. skipped when CI or
|
|
38
|
+
// launch the peach simulator loading this server's bundle once the dev
|
|
39
|
+
// server is listening. skipped when CI or PEACH_NO_OPEN is set.
|
|
40
40
|
open?: RnxDesktopOpenOption
|
|
41
41
|
}
|
|
42
42
|
|
|
@@ -96,7 +96,7 @@ export function rnxPlugin(options: RnxPluginOptions = {}): Plugin {
|
|
|
96
96
|
: DEFAULT_SOOTSIM_BRIDGE_PORT
|
|
97
97
|
// inject the bridge port + a default bundle (only when the URL has none,
|
|
98
98
|
// so the CLI's resolved bundle wins), and PRESERVE the existing query.
|
|
99
|
-
// preserving the query is essential: `
|
|
99
|
+
// preserving the query is essential: `peach open` stamps the open URL
|
|
100
100
|
// with `inspectOpen=<token>` and matches the registered sim by that
|
|
101
101
|
// token (waitForSimMatch). the old code forced `?bundle=` only and
|
|
102
102
|
// stripped inspectOpen, so the sim registered but never matched and
|
|
@@ -134,7 +134,7 @@ export function rnxPlugin(options: RnxPluginOptions = {}): Plugin {
|
|
|
134
134
|
// bundle. dev-bundle-resolution's resolvePortViaServerScan fetches
|
|
135
135
|
// `/__server-scan` RELATIVE to the shell origin; when the shell is loaded
|
|
136
136
|
// from this target origin, that hits here. without it the request SPA-
|
|
137
|
-
// falls-back to 404 and the bundle never resolves (
|
|
137
|
+
// falls-back to 404 and the bundle never resolves (peach open hangs).
|
|
138
138
|
// we describe only this server (the shell drives THIS app) — no localhost-
|
|
139
139
|
// wide scan, so the published plugin pulls in no shell-only scanner
|
|
140
140
|
// internals. shape matches DiscoveredServer enough for the resolver.
|
|
@@ -198,7 +198,7 @@ export function rnxPlugin(options: RnxPluginOptions = {}): Plugin {
|
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
// serve the
|
|
201
|
+
// serve the peach HTML shell — inject bundle URL + bridge port
|
|
202
202
|
if (pathname === prefix || pathname === prefix + '/') {
|
|
203
203
|
res.setHeader('content-type', 'text/html')
|
|
204
204
|
res.end(buildShellHtml(runtimeRoot))
|
|
@@ -230,9 +230,9 @@ export function rnxPlugin(options: RnxPluginOptions = {}): Plugin {
|
|
|
230
230
|
|
|
231
231
|
const port = configuredPort
|
|
232
232
|
const sootsimUrl = `http://localhost:${port}${prefix}/`
|
|
233
|
-
console.log(`[
|
|
233
|
+
console.log(`[peach] serving at ${sootsimUrl}`)
|
|
234
234
|
|
|
235
|
-
if (appName && !process.env.CI && !process.env.
|
|
235
|
+
if (appName && !process.env.CI && !process.env.PEACH_NO_OPEN) {
|
|
236
236
|
server.httpServer?.once('listening', () => {
|
|
237
237
|
const openPort = listeningPort()
|
|
238
238
|
launchRnxDesktop(
|
package/src/vite-plugin-swift.ts
CHANGED
|
@@ -25,9 +25,9 @@ import type { SwiftCompileInput } from './swift-compile'
|
|
|
25
25
|
import type { SwiftImageUpload } from './swift-submit'
|
|
26
26
|
import type { Plugin, ViteDevServer } from 'vite'
|
|
27
27
|
|
|
28
|
-
const ARTIFACT_PATH = '/
|
|
29
|
-
const RESOURCE_PATH = '/
|
|
30
|
-
const VIRTUAL_PREFIX = '\
|
|
28
|
+
const ARTIFACT_PATH = '/__peach/swift/'
|
|
29
|
+
const RESOURCE_PATH = '/__peach/swift-res/'
|
|
30
|
+
const VIRTUAL_PREFIX = '\0peach-swift:'
|
|
31
31
|
|
|
32
32
|
interface SwiftArtifact {
|
|
33
33
|
hash: string
|
package/src/vite-plugin.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//
|
|
1
|
+
// peach vite plugin — use in any vite project to get react-native resolution,
|
|
2
2
|
// native dep stubbing, and external app support.
|
|
3
3
|
//
|
|
4
4
|
// usage:
|
|
@@ -75,19 +75,6 @@ const sootsimBrowserSourceAliases = [
|
|
|
75
75
|
find: 'peachsim/dev-bundle-resolution',
|
|
76
76
|
replacement: path.resolve(sootsimRoot, 'src/dev-bundle-resolution.ts'),
|
|
77
77
|
},
|
|
78
|
-
// old specifiers for user code still on rnxsim; remove with packages/sootsim.
|
|
79
|
-
{
|
|
80
|
-
find: 'rnxsim/backend-origin',
|
|
81
|
-
replacement: path.resolve(sootsimRoot, 'src/backend-origin.ts'),
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
find: 'rnxsim/bridge-constants',
|
|
85
|
-
replacement: path.resolve(sootsimRoot, 'src/bridge-constants.ts'),
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
find: 'rnxsim/dev-bundle-resolution',
|
|
89
|
-
replacement: path.resolve(sootsimRoot, 'src/dev-bundle-resolution.ts'),
|
|
90
|
-
},
|
|
91
78
|
]
|
|
92
79
|
|
|
93
80
|
const compatStubsDir = path.resolve(compatRoot, 'src/stubs')
|
|
@@ -943,7 +930,7 @@ export function wsBridgePlugin(options: { ownedBridgePort?: number } = {}): Plug
|
|
|
943
930
|
viteBridgeProcesses.delete(preferredPort)
|
|
944
931
|
}
|
|
945
932
|
const message = err instanceof Error ? err.message : String(err)
|
|
946
|
-
console.warn('[
|
|
933
|
+
console.warn('[peach] ws bridge failed to start:', message)
|
|
947
934
|
return null
|
|
948
935
|
})
|
|
949
936
|
entry = {
|
|
@@ -968,7 +955,7 @@ export function wsBridgePlugin(options: { ownedBridgePort?: number } = {}): Plug
|
|
|
968
955
|
}
|
|
969
956
|
}
|
|
970
957
|
|
|
971
|
-
if (!boundPort) throw new Error('
|
|
958
|
+
if (!boundPort) throw new Error('peach bridge identity was not initialized')
|
|
972
959
|
const identityPort = boundPort
|
|
973
960
|
server.middlewares.use((req, res, next) => {
|
|
974
961
|
if (req.url?.split('?')[0] !== SHELL_BRIDGE_IDENTITY_PATH) {
|
|
@@ -979,7 +966,7 @@ export function wsBridgePlugin(options: { ownedBridgePort?: number } = {}): Plug
|
|
|
979
966
|
.then((bridgePort) => {
|
|
980
967
|
if (bridgePort === null) {
|
|
981
968
|
res.statusCode = 503
|
|
982
|
-
res.end('
|
|
969
|
+
res.end('peach bridge unavailable')
|
|
983
970
|
return
|
|
984
971
|
}
|
|
985
972
|
const identity = {
|
|
@@ -992,7 +979,7 @@ export function wsBridgePlugin(options: { ownedBridgePort?: number } = {}): Plug
|
|
|
992
979
|
})
|
|
993
980
|
.catch(() => {
|
|
994
981
|
res.statusCode = 503
|
|
995
|
-
res.end('
|
|
982
|
+
res.end('peach bridge unavailable')
|
|
996
983
|
})
|
|
997
984
|
})
|
|
998
985
|
},
|
|
@@ -1929,7 +1916,7 @@ function stubMissingNativeDeps(appDir: string): Plugin {
|
|
|
1929
1916
|
if (!isNativePackage(source)) return null
|
|
1930
1917
|
const pkgName = getPackageName(source)
|
|
1931
1918
|
if (packageExists(pkgName)) return null
|
|
1932
|
-
console.log(`[
|
|
1919
|
+
console.log(`[peach] auto-stubbing missing native dep: ${source}`)
|
|
1933
1920
|
return nativeAutoStubPath
|
|
1934
1921
|
},
|
|
1935
1922
|
}
|