peachsim 0.1.2193 → 0.1.2195
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 +4 -1
- package/cli/commands/control.ts +2 -0
- package/cli/commands/kotlin.ts +10 -3
- package/cli/commands/package.ts +2 -0
- package/cli/native-input.ts +2 -0
- package/cli/outbound-endpoints.ts +1 -1
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.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/bundle-channel.cjs +986 -785
- package/dist-lib/capture-contract.cjs +1 -1
- package/dist-lib/capture-contract.mjs +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 +1 -1
- package/dist-lib/cloud.mjs +1 -1
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/config.mjs +1 -1
- package/dist-lib/detox/index.cjs +1 -1
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/expo-swift-bundle.cjs +3 -3
- package/dist-lib/expo-swift-metadata.cjs +1 -1
- package/dist-lib/expo-swift-metadata.mjs +1 -1
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +991 -790
- package/dist-lib/host/fetch-proxy-handler.cjs +2 -2
- 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 +2 -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 +82 -13
- 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 +2 -2
- package/dist-lib/native-app-identity-project.cjs +1 -1
- package/dist-lib/native-app-identity-project.mjs +1 -1
- package/dist-lib/native-app-identity.cjs +1 -1
- package/dist-lib/native-app-identity.mjs +1 -1
- package/dist-lib/native-firebase-metadata.cjs +1 -1
- package/dist-lib/native-firebase-metadata.mjs +1 -1
- package/dist-lib/pdfium-raster.cjs +1 -1
- package/dist-lib/pdfium-raster.mjs +1 -1
- package/dist-lib/plist.cjs +1 -1
- package/dist-lib/plist.mjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/public-brand.cjs +1 -1
- package/dist-lib/public-origins-lib-esm.json +24 -24
- package/dist-lib/public-origins-lib.json +65 -62
- package/dist-lib/react-native-host-modules.cjs +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -1
- package/dist-lib/reap-browser.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 +1513 -1264
- 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-toolchain.cjs +1 -1
- package/dist-lib/swift.cjs +1 -1
- package/dist-lib/vite-swift.cjs +2 -2
- package/dist-lib/vite.cjs +2 -2
- package/dist-lib/worklet-executable.cjs +1 -1
- package/dist-lib/worklet-executable.mjs +1 -1
- package/dist-types/packages/peach-engine/src/components/native-ui/context-menu-types.d.ts +1 -0
- package/dist-types/packages/peach-engine/src/engine/types.d.ts +1 -0
- package/kotlin/sdk.tar.gz +0 -0
- package/package.json +1 -1
- package/src/android-bridge-dependencies.ts +93 -0
- package/src/android-bridge-packages.ts +1 -0
- package/src/android-gradle-sources.ts +76 -9
- package/src/androidGradleContract.ts +8 -0
- package/src/expo-kotlin-host.ts +20 -7
- package/src/expoKotlinContract.ts +1 -1
- package/src/java-module-abi.ts +7 -1
- package/src/kotlin-app.ts +120 -63
- package/src/kotlin-host.ts +1 -0
- package/src/kotlinSdkContract.ts +8 -1
package/README.md
CHANGED
|
@@ -200,7 +200,10 @@ and opens it through the Swift guest host. SwiftPM directories (or their
|
|
|
200
200
|
resource discovery and watcher. Select an Xcode application
|
|
201
201
|
with `--scheme <name>` or `--target <name>`. Android app module directories
|
|
202
202
|
containing `src/main/AndroidManifest.xml` use the existing Kotlin compiler and
|
|
203
|
-
guest host; `--activity <name>` selects the activity.
|
|
203
|
+
guest host; `--activity <name>` selects the activity. `--variant <name>` uses
|
|
204
|
+
the native Gradle variant's generated sources and application metadata, including
|
|
205
|
+
KSP outputs. Dependencies still need the supported Kotlin closure, and Java
|
|
206
|
+
declarations retain the compiler's supported syntax. These native commands stay
|
|
204
207
|
running to watch sources and stop their owned preview on exit.
|
|
205
208
|
|
|
206
209
|
For apps using `react-native-config`, open with `peach open <app-port> --load-env`.
|
package/cli/commands/control.ts
CHANGED
|
@@ -1449,6 +1449,7 @@ async function openSim(
|
|
|
1449
1449
|
'--target',
|
|
1450
1450
|
'--scheme',
|
|
1451
1451
|
'--activity',
|
|
1452
|
+
'--variant',
|
|
1452
1453
|
'--host-port',
|
|
1453
1454
|
'--swift-sdks-path',
|
|
1454
1455
|
'--viewport',
|
|
@@ -1576,6 +1577,7 @@ async function openSim(
|
|
|
1576
1577
|
'--target',
|
|
1577
1578
|
'--scheme',
|
|
1578
1579
|
'--activity',
|
|
1580
|
+
'--variant',
|
|
1579
1581
|
'--host-port',
|
|
1580
1582
|
'--swift-sdks-path',
|
|
1581
1583
|
])
|
package/cli/commands/kotlin.ts
CHANGED
|
@@ -43,6 +43,7 @@ export async function runKotlin(
|
|
|
43
43
|
let hostPort = 0
|
|
44
44
|
let openPreview = true
|
|
45
45
|
let activity: string | undefined
|
|
46
|
+
let variant: string | undefined
|
|
46
47
|
const valueFlags = new Set(['--driver', '--profile', '--cdp-port', '--base-url'])
|
|
47
48
|
const booleanFlags = new Set([
|
|
48
49
|
'--headless',
|
|
@@ -58,6 +59,7 @@ export async function runKotlin(
|
|
|
58
59
|
else if (
|
|
59
60
|
arg === '--host-port' ||
|
|
60
61
|
arg === '--activity' ||
|
|
62
|
+
arg === '--variant' ||
|
|
61
63
|
arg === '--device' ||
|
|
62
64
|
valueFlags.has(arg)
|
|
63
65
|
) {
|
|
@@ -68,6 +70,7 @@ export async function runKotlin(
|
|
|
68
70
|
if (!Number.isInteger(hostPort) || hostPort < 1 || hostPort > 65535)
|
|
69
71
|
throw new Error('--host-port must be a port from 1 to 65535')
|
|
70
72
|
} else if (arg === '--activity') activity = value
|
|
73
|
+
else if (arg === '--variant') variant = value
|
|
71
74
|
else if (arg === '--device') opts.device = value
|
|
72
75
|
else openArgs.push(arg, value)
|
|
73
76
|
} else if (booleanFlags.has(arg)) openArgs.push(arg)
|
|
@@ -89,7 +92,11 @@ export async function runKotlin(
|
|
|
89
92
|
)
|
|
90
93
|
const moduleRoot = peachKotlinModuleRoot()
|
|
91
94
|
const pins = readAndroidPins(moduleRoot)
|
|
92
|
-
let project: KotlinAppProject = await readKotlinApp(modulePath, {
|
|
95
|
+
let project: KotlinAppProject = await readKotlinApp(modulePath, {
|
|
96
|
+
activity,
|
|
97
|
+
variant,
|
|
98
|
+
pins,
|
|
99
|
+
})
|
|
93
100
|
const host = await import('../../src/kotlin-host')
|
|
94
101
|
const controller = new AbortController()
|
|
95
102
|
const resources: OpenCommandResources = {}
|
|
@@ -173,7 +180,7 @@ export async function runKotlin(
|
|
|
173
180
|
while (pending && !controller.signal.aborted) {
|
|
174
181
|
pending = false
|
|
175
182
|
try {
|
|
176
|
-
const nextProject = await readKotlinApp(modulePath, { activity, pins })
|
|
183
|
+
const nextProject = await readKotlinApp(modulePath, { activity, variant, pins })
|
|
177
184
|
const nextArtifact = await host.kotlinAppArtifact(
|
|
178
185
|
nextProject,
|
|
179
186
|
moduleRoot,
|
|
@@ -224,7 +231,7 @@ export async function runKotlin(
|
|
|
224
231
|
})
|
|
225
232
|
console.log(` Kotlin app: ${project.launcher.name} in ${project.moduleDir}`)
|
|
226
233
|
console.log(` Kotlin preview host: ${origin}`)
|
|
227
|
-
watcher = fs.watch(project.
|
|
234
|
+
watcher = fs.watch(project.projectDir, { recursive: true }, (_event, file) => {
|
|
228
235
|
if (
|
|
229
236
|
file &&
|
|
230
237
|
file
|
package/cli/commands/package.ts
CHANGED
|
@@ -215,6 +215,7 @@ export async function runPackage(args: string[]): Promise<void> {
|
|
|
215
215
|
'--target',
|
|
216
216
|
'--scheme',
|
|
217
217
|
'--activity',
|
|
218
|
+
'--variant',
|
|
218
219
|
'--package-versions',
|
|
219
220
|
'--project-root',
|
|
220
221
|
'--sign',
|
|
@@ -406,6 +407,7 @@ export async function runPackage(args: string[]): Promise<void> {
|
|
|
406
407
|
target: values.get('--target'),
|
|
407
408
|
scheme: values.get('--scheme'),
|
|
408
409
|
activity: values.get('--activity'),
|
|
410
|
+
variant: values.get('--variant'),
|
|
409
411
|
})
|
|
410
412
|
try {
|
|
411
413
|
for (const [pathname, asset] of app.assets)
|
package/cli/native-input.ts
CHANGED
|
@@ -143,6 +143,7 @@ export async function prepareNativeInput(
|
|
|
143
143
|
target?: string
|
|
144
144
|
scheme?: string
|
|
145
145
|
activity?: string
|
|
146
|
+
variant?: string
|
|
146
147
|
signal?: AbortSignal
|
|
147
148
|
},
|
|
148
149
|
) {
|
|
@@ -152,6 +153,7 @@ export async function prepareNativeInput(
|
|
|
152
153
|
const moduleRoot = host.peachKotlinModuleRoot()
|
|
153
154
|
const project = await readKotlinApp(input.path, {
|
|
154
155
|
activity: opts.activity,
|
|
156
|
+
variant: opts.variant,
|
|
155
157
|
pins: readAndroidPins(moduleRoot),
|
|
156
158
|
})
|
|
157
159
|
const metadata = await host.kotlinAppArtifact(project, moduleRoot, opts.origin)
|
|
@@ -673,7 +673,7 @@ export const DECLARED_OUTBOUND_CALLS: Record<string, OutboundCallDeclaration> =
|
|
|
673
673
|
category: 'local_development',
|
|
674
674
|
count: 1,
|
|
675
675
|
},
|
|
676
|
-
'packages/peach-engine/src/mcp/ws-bridge.ts :: websocket :: resolveSootsimBridgeWebSocketUrl({ bridgePort, href:
|
|
676
|
+
'packages/peach-engine/src/mcp/ws-bridge.ts :: websocket :: resolveSootsimBridgeWebSocketUrl({ bridgePort, href: host.href(), })':
|
|
677
677
|
{ category: 'local_development', count: 1 },
|
|
678
678
|
'packages/peach-engine/src/capture/browser-execution-observer.ts :: websocket :: options.webSocketUrl':
|
|
679
679
|
{ category: 'local_development', count: 1 },
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2195 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2195 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2195 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2195 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2195 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/beta.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2195 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/beta.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2195 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2195 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2195 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|