sootsim 0.1.310 → 0.1.311
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-cli/bin.js +5 -5
- package/dist-cli/chunks/{agent-CPD4GIXP.js → agent-KOPVOZ7G.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-JZTNUUZE.js → agent-wrapper-KVAIIK7K.js} +2 -2
- package/dist-cli/chunks/{app-fonts-CFIBFEVF.js → app-fonts-5ZX2IRBS.js} +2 -2
- package/dist-cli/chunks/{assert-C5WAWJ6I.js → assert-NRKM4ZIK.js} +2 -2
- package/dist-cli/chunks/{auth-UY7RPLPH.js → auth-MSLDV5HR.js} +2 -2
- package/dist-cli/chunks/{beta-NM7T7MDN.js → beta-L5QKFHWI.js} +2 -2
- package/dist-cli/chunks/{camera-4YUYYYJI.js → camera-5JUNQPSI.js} +2 -2
- package/dist-cli/chunks/{chunk-RYPPRVBM.js → chunk-3Y6476ZM.js} +2 -2
- package/dist-cli/chunks/{chunk-GQVBLBUJ.js → chunk-5V5MOREL.js} +2 -2
- package/dist-cli/chunks/{chunk-FT2XATWO.js → chunk-6JYTKF5O.js} +1 -1
- package/dist-cli/chunks/{chunk-LKAAQBT6.js → chunk-6QZY6YO2.js} +1 -1
- package/dist-cli/chunks/{chunk-TAQV44LZ.js → chunk-6SICKWPQ.js} +3 -3
- package/dist-cli/chunks/{chunk-Z6H5FR3U.js → chunk-75KNNHMR.js} +2 -2
- package/dist-cli/chunks/{chunk-YRRUK3EK.js → chunk-75YOUNTE.js} +1 -1
- package/dist-cli/chunks/chunk-7PHOEBKV.js +4 -0
- package/dist-cli/chunks/{chunk-S7WXPIOY.js → chunk-7W63IKAP.js} +2 -2
- package/dist-cli/chunks/chunk-CJKSD5BZ.js +5 -0
- package/dist-cli/chunks/{chunk-SY7E43UY.js → chunk-CKMQ2YXQ.js} +3 -3
- package/dist-cli/chunks/{chunk-QPZVGHRV.js → chunk-CUVLXG63.js} +1 -1
- package/dist-cli/chunks/{chunk-7RJEULWN.js → chunk-EHBHUE6S.js} +2 -2
- package/dist-cli/chunks/{chunk-NLTJE335.js → chunk-F2WH6XM7.js} +2 -2
- package/dist-cli/chunks/{chunk-63JWRDM6.js → chunk-GEUU2WIL.js} +2 -2
- package/dist-cli/chunks/{chunk-ZNK3ZAA5.js → chunk-GFKP5JIA.js} +2 -2
- package/dist-cli/chunks/{chunk-6UXXOG6P.js → chunk-GLECQIGB.js} +2 -2
- package/dist-cli/chunks/{chunk-3S7UEXZW.js → chunk-HI5MWY32.js} +1 -1
- package/dist-cli/chunks/{chunk-GH2OE6F6.js → chunk-J6ZKDIRN.js} +2 -2
- package/dist-cli/chunks/{chunk-PJKCYUT3.js → chunk-JGFIT5X5.js} +2 -2
- package/dist-cli/chunks/{chunk-3EO5JEG7.js → chunk-KGIXNUUM.js} +2 -2
- package/dist-cli/chunks/{chunk-BFNAFH27.js → chunk-KKXSWEYS.js} +1 -1
- package/dist-cli/chunks/{chunk-EPMLSKSB.js → chunk-NBNEISXX.js} +2 -2
- package/dist-cli/chunks/{chunk-EWRPLFYI.js → chunk-P7MI3VFY.js} +1 -1
- package/dist-cli/chunks/{chunk-YIJFCR5T.js → chunk-PHFRI2QF.js} +1 -1
- package/dist-cli/chunks/{chunk-RMIKUUCO.js → chunk-PJ27D3WO.js} +1 -1
- package/dist-cli/chunks/{chunk-MUQDPJUP.js → chunk-QCEMDWL4.js} +1 -1
- package/dist-cli/chunks/{chunk-2TRPGEZE.js → chunk-QILKSUH6.js} +2 -2
- package/dist-cli/chunks/{chunk-WWIQEYHT.js → chunk-QMHUIADD.js} +1 -1
- package/dist-cli/chunks/{chunk-66Z2ADUQ.js → chunk-QUAY5AZB.js} +2 -2
- package/dist-cli/chunks/{chunk-C3GMSIRT.js → chunk-RATCQLQA.js} +2 -2
- package/dist-cli/chunks/{chunk-C3O6UUPY.js → chunk-RHGVZJIY.js} +3 -3
- package/dist-cli/chunks/{chunk-BMIIHY6K.js → chunk-RIT4KI4Y.js} +3 -3
- package/dist-cli/chunks/{chunk-4XMPRQGE.js → chunk-S5U22PVL.js} +1 -1
- package/dist-cli/chunks/{chunk-XBBNRESY.js → chunk-SKGITCWL.js} +1 -1
- package/dist-cli/chunks/{chunk-RX4CFOVV.js → chunk-ULJT3HDO.js} +1 -1
- package/dist-cli/chunks/{chunk-XMOULANJ.js → chunk-VAFDFOE6.js} +2 -2
- package/dist-cli/chunks/{chunk-M2LP2VYQ.js → chunk-VJMY2MX6.js} +2 -2
- package/dist-cli/chunks/{chunk-IS5OOCN5.js → chunk-VNS6KYRJ.js} +1 -1
- package/dist-cli/chunks/{chunk-R7AS52NA.js → chunk-W4S7GGPG.js} +3 -3
- package/dist-cli/chunks/{chunk-YMD6WWI7.js → chunk-WIYIQQQS.js} +2 -2
- package/dist-cli/chunks/{chunk-VAGUPECL.js → chunk-WTNKX7QD.js} +2 -2
- package/dist-cli/chunks/{chunk-STWCCIBA.js → chunk-Y5O5GK2Q.js} +11 -11
- package/dist-cli/chunks/{chunk-YZPSUNTO.js → chunk-Y7RQGSZD.js} +2 -2
- package/dist-cli/chunks/{chunk-XKAXZ4DS.js → chunk-YOIHAHR5.js} +1 -1
- package/dist-cli/chunks/{chunk-ZS7OXPHR.js → chunk-YS7YDOGW.js} +1 -1
- package/dist-cli/chunks/{chunk-CORSX7M5.js → chunk-YTP5VCDL.js} +1 -1
- package/dist-cli/chunks/{chunk-2KSLGBIU.js → chunk-ZB3UAYJ4.js} +2 -2
- package/dist-cli/chunks/{chunk-EPZUFQMX.js → chunk-ZDQO6TJQ.js} +2 -2
- package/dist-cli/chunks/{chunk-C4O4VRN5.js → chunk-ZHPLBK34.js} +2 -2
- package/dist-cli/chunks/{cleanup-2ZM4QSDV.js → cleanup-436GW67Y.js} +2 -2
- package/dist-cli/chunks/{cli-version-WXOEWZDA.js → cli-version-BY3A3SBN.js} +2 -2
- package/dist-cli/chunks/{compat-MGY3FZSI.js → compat-DDJSQ3WI.js} +2 -2
- package/dist-cli/chunks/{config-3W5VNME6.js → config-XFLK4XZN.js} +2 -2
- package/dist-cli/chunks/{control-7LNRM2BK.js → control-W6KUVHYU.js} +2 -2
- package/dist-cli/chunks/daemon-E5MGIR55.js +4 -0
- package/dist-cli/chunks/{debug-4CMFC2CO.js → debug-PHSYXSNH.js} +3 -3
- package/dist-cli/chunks/{desktop-Q6CZSS4R.js → desktop-6V5ALYCZ.js} +3 -3
- package/dist-cli/chunks/{detox-2AF4MXXN.js → detox-SA27XGTO.js} +2 -2
- package/dist-cli/chunks/{device-E2WCI2N2.js → device-XURVFXBT.js} +2 -2
- package/dist-cli/chunks/{diagnose-CZGCKNVY.js → diagnose-HMUQWQOK.js} +2 -2
- package/dist-cli/chunks/disk-cleanup-KYAFCV6S.js +4 -0
- package/dist-cli/chunks/drivers-INII4IWR.js +4 -0
- package/dist-cli/chunks/{film-UDSAJZXL.js → film-3UM6EUYF.js} +3 -3
- package/dist-cli/chunks/flow-RP4UVYUA.js +4 -0
- package/dist-cli/chunks/help-STHBZD6I.js +4 -0
- package/dist-cli/chunks/{hidden-runtime-alias-CHAB56GM.js → hidden-runtime-alias-DVVAGM4I.js} +2 -2
- package/dist-cli/chunks/{home-paths-WFCI5ORX.js → home-paths-LVGGR4AJ.js} +2 -2
- package/dist-cli/chunks/inspect-5W52ZHKD.js +4 -0
- package/dist-cli/chunks/install-desktop-H4HLLT7K.js +4 -0
- package/dist-cli/chunks/{login-57UP2EKB.js → login-2QTBTTGJ.js} +4 -4
- package/dist-cli/chunks/{logout-UYNCJTOC.js → logout-PUBLDHVY.js} +2 -2
- package/dist-cli/chunks/{maestro-QMAPXPZ7.js → maestro-2UJ27MKD.js} +3 -3
- package/dist-cli/chunks/{maestro-generate-N2BJXJDH.js → maestro-generate-P4MDFYMV.js} +3 -3
- package/dist-cli/chunks/{mode-SY5G7WQD.js → mode-RRHPX23W.js} +2 -2
- package/dist-cli/chunks/{optional-demo-registry-DH3L6FFX.js → optional-demo-registry-5IRF7M7Z.js} +2 -2
- package/dist-cli/chunks/{perf-NZ6VEDLA.js → perf-BOLWOAKV.js} +2 -2
- package/dist-cli/chunks/{permissions-EMH2K5LX.js → permissions-ZIOTIBPV.js} +2 -2
- package/dist-cli/chunks/{record-44PMWGYY.js → record-DU2IKPFK.js} +3 -3
- package/dist-cli/chunks/{report-issue-PLGMRWXG.js → report-issue-4CQDUWT2.js} +2 -2
- package/dist-cli/chunks/runtime-QWPQ3M7H.js +4 -0
- package/dist-cli/chunks/{screenshot-command-GJT5XS7P.js → screenshot-command-XEN26NJV.js} +3 -3
- package/dist-cli/chunks/{screenshot-layers-4JSTS5VY.js → screenshot-layers-CRCQ4CEF.js} +2 -2
- package/dist-cli/chunks/{screenshots-capture-AQQISSQD.js → screenshots-capture-XGQFYINL.js} +2 -2
- package/dist-cli/chunks/{serve-TJMO4KGX.js → serve-UBSRDYA3.js} +2 -2
- package/dist-cli/chunks/{setup-7ZSYCUX6.js → setup-AKYIOBVO.js} +2 -2
- package/dist-cli/chunks/{skills-GRQPAAD5.js → skills-V5WV4LWH.js} +2 -2
- package/dist-cli/chunks/{storage-GWRZNBAU.js → storage-3PJPIHNM.js} +2 -2
- package/dist-cli/chunks/store-A27JYIGF.js +4 -0
- package/dist-cli/chunks/telemetry-LLD24AVX.js +4 -0
- package/dist-cli/chunks/{timeline-2FXM7HEU.js → timeline-OHQNHG52.js} +2 -2
- package/dist-cli/chunks/{upgrade-AV7UOK2X.js → upgrade-Q2TYYVIX.js} +2 -2
- package/dist-cli/chunks/upload-57FIDO2B.js +4 -0
- package/dist-cli/chunks/{version-C72O2LMS.js → version-SW6VCJVI.js} +2 -2
- package/dist-cli/chunks/{web-4V3YGWNC.js → web-BXVM3HJ3.js} +2 -2
- package/dist-cli/chunks/{what-happened-RGD2DOQI.js → what-happened-H62ASSI5.js} +2 -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/cli-constants.cjs +1 -1
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/detox/index.cjs +20 -16
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +164 -102
- 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/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +1 -1
- 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.cjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/render-mode.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +43 -23
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +277 -206
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/scripts/dev-server-scanner.ts +34 -8
- package/dist-cli/chunks/chunk-63EKEKDF.js +0 -4
- package/dist-cli/chunks/chunk-OQO3HU4Y.js +0 -5
- package/dist-cli/chunks/daemon-ZNCVHOWJ.js +0 -4
- package/dist-cli/chunks/disk-cleanup-4T6MDZBA.js +0 -4
- package/dist-cli/chunks/drivers-NEB27ZKQ.js +0 -4
- package/dist-cli/chunks/flow-GXXVEHEW.js +0 -4
- package/dist-cli/chunks/help-3RVUJUAN.js +0 -4
- package/dist-cli/chunks/inspect-4H4VNQJ4.js +0 -4
- package/dist-cli/chunks/install-desktop-RGCBPM4J.js +0 -4
- package/dist-cli/chunks/runtime-CUSKTS2J.js +0 -4
- package/dist-cli/chunks/store-MLODFZBM.js +0 -4
- package/dist-cli/chunks/telemetry-XL3UDJSE.js +0 -4
- package/dist-cli/chunks/upload-6DXF4DAQ.js +0 -4
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.311 | (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
|
@@ -17,6 +17,7 @@ import { exec } from 'child_process'
|
|
|
17
17
|
import { readlink } from 'fs/promises'
|
|
18
18
|
import http from 'http'
|
|
19
19
|
import net from 'net'
|
|
20
|
+
import { resolve } from 'node:path'
|
|
20
21
|
import { promisify } from 'util'
|
|
21
22
|
import type { AppSettingsSpecifier } from '@sootsim/globals'
|
|
22
23
|
|
|
@@ -340,6 +341,7 @@ export async function resolveProcessCwd(pid: number): Promise<string | null> {
|
|
|
340
341
|
function makeResult(
|
|
341
342
|
port: number,
|
|
342
343
|
framework: DiscoveredServer['framework'],
|
|
344
|
+
owner: Pick<DiscoveredServer, 'cwd' | 'pid'>,
|
|
343
345
|
): DiscoveredServer {
|
|
344
346
|
return {
|
|
345
347
|
port,
|
|
@@ -347,14 +349,20 @@ function makeResult(
|
|
|
347
349
|
bundleUrl: withRuntimeConfig(
|
|
348
350
|
port,
|
|
349
351
|
`http://localhost:${port}/index.bundle?platform=ios&dev=true&hot=true&minify=false`,
|
|
352
|
+
owner.cwd,
|
|
350
353
|
),
|
|
351
354
|
hmrUrl: `ws://localhost:${port}/hot`,
|
|
352
355
|
lastSeen: Date.now(),
|
|
356
|
+
...owner,
|
|
353
357
|
}
|
|
354
358
|
}
|
|
355
359
|
|
|
356
|
-
function withRuntimeConfig(port: number, bundleUrl: string): string {
|
|
357
|
-
const knownApp =
|
|
360
|
+
function withRuntimeConfig(port: number, bundleUrl: string, projectCwd?: string): string {
|
|
361
|
+
const knownApp = projectCwd
|
|
362
|
+
? optionalDemoAppsSync().find(
|
|
363
|
+
(app) => app.preferredPort === port && resolve(app.dir) === resolve(projectCwd),
|
|
364
|
+
)
|
|
365
|
+
: undefined
|
|
358
366
|
const configured = knownApp?.runtimeConfig
|
|
359
367
|
? applySootSimConfigToUrl(bundleUrl, knownApp.runtimeConfig)
|
|
360
368
|
: bundleUrl
|
|
@@ -396,7 +404,7 @@ function applyManifest(
|
|
|
396
404
|
// bundle cache; HMR still works via sootsim's HmrClient.
|
|
397
405
|
const launchUrl = manifest?.launchAsset?.url
|
|
398
406
|
if (launchUrl && !result.patched && !isDirectOneBundleUrl(result.bundleUrl)) {
|
|
399
|
-
result.bundleUrl = withRuntimeConfig(result.port, launchUrl)
|
|
407
|
+
result.bundleUrl = withRuntimeConfig(result.port, launchUrl, result.cwd)
|
|
400
408
|
}
|
|
401
409
|
const rawIconUrl =
|
|
402
410
|
client.iconUrl || client.ios?.iconUrl || client.icon || client.ios?.icon
|
|
@@ -547,6 +555,7 @@ const knownOne = new Set<number>()
|
|
|
547
555
|
export async function probePort(
|
|
548
556
|
port: number,
|
|
549
557
|
buildIconProxyUrl?: (externalUrl: string) => string,
|
|
558
|
+
listeningProcess?: ListeningProcess,
|
|
550
559
|
): Promise<DiscoveredServer | null> {
|
|
551
560
|
// callers such as `sootsim open <port>` probe one port directly instead of
|
|
552
561
|
// going through scanDevServers. wait for the optional in-repo registry here
|
|
@@ -555,6 +564,15 @@ export async function probePort(
|
|
|
555
564
|
await loadOptionalDemoApps()
|
|
556
565
|
if (!(await tcpPing(port))) return null
|
|
557
566
|
|
|
567
|
+
const suppliedPid = listeningProcess?.pid
|
|
568
|
+
const ownerPid =
|
|
569
|
+
suppliedPid && suppliedPid > 0 ? suppliedPid : await resolveListeningPid(port)
|
|
570
|
+
const ownerCwd = ownerPid ? await resolveProcessCwd(ownerPid) : null
|
|
571
|
+
const owner: Pick<DiscoveredServer, 'cwd' | 'pid'> = {
|
|
572
|
+
...(ownerPid ? { pid: ownerPid } : {}),
|
|
573
|
+
...(ownerCwd ? { cwd: ownerCwd } : {}),
|
|
574
|
+
}
|
|
575
|
+
|
|
558
576
|
const onePath = `/node_modules/one/metro-entry.bundle?platform=ios&dev=true`
|
|
559
577
|
|
|
560
578
|
// wave 1 — safe parallel probes. none of these mutate metro state.
|
|
@@ -615,9 +633,10 @@ export async function probePort(
|
|
|
615
633
|
{
|
|
616
634
|
port,
|
|
617
635
|
framework,
|
|
618
|
-
bundleUrl: withRuntimeConfig(port, launchUrl),
|
|
636
|
+
bundleUrl: withRuntimeConfig(port, launchUrl, owner.cwd),
|
|
619
637
|
hmrUrl: `ws://localhost:${port}/hot`,
|
|
620
638
|
lastSeen: Date.now(),
|
|
639
|
+
...owner,
|
|
621
640
|
},
|
|
622
641
|
manifestRes,
|
|
623
642
|
buildIconProxyUrl,
|
|
@@ -635,7 +654,7 @@ export async function probePort(
|
|
|
635
654
|
knownNonPatched.add(port)
|
|
636
655
|
return enrichWithManifest(
|
|
637
656
|
applyManifest(
|
|
638
|
-
makeResult(port, expoRes && expoRes.statusCode === 200 ? 'expo' : 'metro'),
|
|
657
|
+
makeResult(port, expoRes && expoRes.statusCode === 200 ? 'expo' : 'metro', owner),
|
|
639
658
|
manifestRes,
|
|
640
659
|
buildIconProxyUrl,
|
|
641
660
|
),
|
|
@@ -656,10 +675,15 @@ export async function probePort(
|
|
|
656
675
|
{
|
|
657
676
|
port,
|
|
658
677
|
framework: 'one',
|
|
659
|
-
bundleUrl: withRuntimeConfig(
|
|
678
|
+
bundleUrl: withRuntimeConfig(
|
|
679
|
+
port,
|
|
680
|
+
`http://localhost:${port}/__soot/bundle.js`,
|
|
681
|
+
owner.cwd,
|
|
682
|
+
),
|
|
660
683
|
hmrUrl: `ws://localhost:${port}/hot`,
|
|
661
684
|
lastSeen: Date.now(),
|
|
662
685
|
patched: true,
|
|
686
|
+
...owner,
|
|
663
687
|
},
|
|
664
688
|
manifestRes,
|
|
665
689
|
buildIconProxyUrl,
|
|
@@ -712,9 +736,11 @@ export async function probePort(
|
|
|
712
736
|
bundleUrl: withRuntimeConfig(
|
|
713
737
|
port,
|
|
714
738
|
`http://localhost:${port}${onePath}&minify=false`,
|
|
739
|
+
owner.cwd,
|
|
715
740
|
),
|
|
716
741
|
hmrUrl: `ws://localhost:${port}/hot`,
|
|
717
742
|
lastSeen: Date.now(),
|
|
743
|
+
...owner,
|
|
718
744
|
},
|
|
719
745
|
manifestRes,
|
|
720
746
|
buildIconProxyUrl,
|
|
@@ -773,7 +799,7 @@ function isWeakCachedResult(result: DiscoveredServer | null): boolean {
|
|
|
773
799
|
|
|
774
800
|
function hasCurrentRuntimeConfig(result: DiscoveredServer | null): boolean {
|
|
775
801
|
if (!result) return true
|
|
776
|
-
return withRuntimeConfig(result.port, result.bundleUrl) === result.bundleUrl
|
|
802
|
+
return withRuntimeConfig(result.port, result.bundleUrl, result.cwd) === result.bundleUrl
|
|
777
803
|
}
|
|
778
804
|
|
|
779
805
|
export function __shouldReuseScannerCacheEntry(
|
|
@@ -876,7 +902,7 @@ export async function scanDevServers(
|
|
|
876
902
|
|
|
877
903
|
if (toProbe.length > 0) {
|
|
878
904
|
const probed = await Promise.all(
|
|
879
|
-
toProbe.map((p) => probePort(p.port, opts.buildIconProxyUrl)),
|
|
905
|
+
toProbe.map((p) => probePort(p.port, opts.buildIconProxyUrl, p)),
|
|
880
906
|
)
|
|
881
907
|
probed.forEach((result, i) => {
|
|
882
908
|
const { port, pid } = toProbe[i]
|