sootsim 0.1.297 → 0.1.299
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-EYT6T2IB.js → agent-3UVOB3T3.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-UU4WV5UG.js → agent-wrapper-XVOWC72E.js} +2 -2
- package/dist-cli/chunks/{app-fonts-6SO36STZ.js → app-fonts-C222PFAQ.js} +2 -2
- package/dist-cli/chunks/{assert-M4AVODJW.js → assert-2MHAZDEL.js} +2 -2
- package/dist-cli/chunks/{auth-JJNP2L7C.js → auth-7DTOEHC2.js} +2 -2
- package/dist-cli/chunks/{beta-BIJ5MU6X.js → beta-WOHZHXPE.js} +2 -2
- package/dist-cli/chunks/{camera-FGQGSHG5.js → camera-XCUE5ZNM.js} +2 -2
- package/dist-cli/chunks/{chunk-QDL6YYL4.js → chunk-23JBOG4P.js} +1 -1
- package/dist-cli/chunks/{chunk-XLT6Y654.js → chunk-2FTQEDJC.js} +2 -2
- package/dist-cli/chunks/{chunk-VVSQCLBU.js → chunk-37ACY2R3.js} +2 -2
- package/dist-cli/chunks/{chunk-V4N34AOX.js → chunk-444BQYY3.js} +2 -2
- package/dist-cli/chunks/{chunk-HRPE3IND.js → chunk-4TYUHNHI.js} +2 -2
- package/dist-cli/chunks/{chunk-2JCUNWU2.js → chunk-5GRQIA5R.js} +2 -2
- package/dist-cli/chunks/{chunk-QRFC2ZZC.js → chunk-5VX2Y3ZB.js} +2 -2
- package/dist-cli/chunks/{chunk-ERRHAM2H.js → chunk-6RH6PEO3.js} +1 -1
- package/dist-cli/chunks/{chunk-OTYWESTV.js → chunk-ALOQJP4C.js} +2 -2
- package/dist-cli/chunks/{chunk-O4IGQ7XT.js → chunk-B6TCNXJO.js} +2 -2
- package/dist-cli/chunks/{chunk-AC2HNBEI.js → chunk-CBRE6JLP.js} +1 -1
- package/dist-cli/chunks/{chunk-4EAJWGB4.js → chunk-DGWM3X4S.js} +2 -2
- package/dist-cli/chunks/{chunk-BAFDYXCM.js → chunk-DUGY7KHN.js} +1 -1
- package/dist-cli/chunks/{chunk-XKACQ3MD.js → chunk-E2XMG2HC.js} +1 -1
- package/dist-cli/chunks/{chunk-LGU5JGT6.js → chunk-EJC4A2ZH.js} +1 -1
- package/dist-cli/chunks/{chunk-VTYVJJHN.js → chunk-F57XAX5N.js} +1 -1
- package/dist-cli/chunks/{chunk-DMJN3NC3.js → chunk-FLTBPGAQ.js} +2 -2
- package/dist-cli/chunks/{chunk-Z3VP4WF6.js → chunk-FMQ772D7.js} +1 -1
- package/dist-cli/chunks/{chunk-U37NEIQF.js → chunk-G377NNEV.js} +1 -1
- package/dist-cli/chunks/{chunk-Y7TQDOU5.js → chunk-HM42NCGX.js} +1 -1
- package/dist-cli/chunks/{chunk-SDHGPSEC.js → chunk-HVQA443X.js} +1 -1
- package/dist-cli/chunks/{chunk-EKA2DXOV.js → chunk-I4NK5VBB.js} +2 -2
- package/dist-cli/chunks/chunk-IGKB2HLF.js +4 -0
- package/dist-cli/chunks/{chunk-HTX6BHJZ.js → chunk-ITSHLH5U.js} +2 -2
- package/dist-cli/chunks/{chunk-WFXFYXUA.js → chunk-JXHCBXUD.js} +3 -3
- package/dist-cli/chunks/{chunk-YTTBKONB.js → chunk-KJQJ5VPA.js} +1 -1
- package/dist-cli/chunks/{chunk-7O6HJRGX.js → chunk-L3FA7WE5.js} +2 -2
- package/dist-cli/chunks/{chunk-I6HFNMYG.js → chunk-L7GNKY3A.js} +1 -1
- package/dist-cli/chunks/{chunk-FC2ULGKP.js → chunk-LEHK72DK.js} +2 -2
- package/dist-cli/chunks/{chunk-E4O5A2QP.js → chunk-LFWATDB3.js} +2 -2
- package/dist-cli/chunks/{chunk-HNQ2FYAG.js → chunk-MKIABOQK.js} +2 -2
- package/dist-cli/chunks/{chunk-KQ7WHS3C.js → chunk-MSYFSZKB.js} +1 -1
- package/dist-cli/chunks/{chunk-3QVML26F.js → chunk-MTOADQY2.js} +2 -2
- package/dist-cli/chunks/{chunk-445FUUZC.js → chunk-ONQYJYUM.js} +1 -1
- package/dist-cli/chunks/{chunk-W2QIWNCW.js → chunk-PHBVCGV3.js} +2 -2
- package/dist-cli/chunks/{chunk-IKQSTS2U.js → chunk-Q34734UC.js} +1 -1
- package/dist-cli/chunks/{chunk-6YIHNXMZ.js → chunk-QMDKE3C6.js} +1 -1
- package/dist-cli/chunks/{chunk-RZQ7SBBQ.js → chunk-QPPG5YZS.js} +2 -2
- package/dist-cli/chunks/{chunk-H6RQAFD5.js → chunk-RWXJ6OS4.js} +2 -2
- package/dist-cli/chunks/{chunk-IVV2KJTY.js → chunk-UNFMIX7B.js} +1 -1
- package/dist-cli/chunks/{chunk-I4G2BKZB.js → chunk-VR4ZUUA4.js} +1 -1
- package/dist-cli/chunks/{chunk-74ATIHUI.js → chunk-W3H6FBWV.js} +2 -2
- package/dist-cli/chunks/{chunk-X5J5A63F.js → chunk-WCAT3UC4.js} +2 -2
- package/dist-cli/chunks/{chunk-WDZ4PVKV.js → chunk-WM4RNTPN.js} +3 -3
- package/dist-cli/chunks/{chunk-K36T5764.js → chunk-WMLVFFXE.js} +3 -3
- package/dist-cli/chunks/{chunk-7XXIMTJR.js → chunk-XMOYKSSM.js} +2 -2
- package/dist-cli/chunks/{chunk-IMXVXXWX.js → chunk-YEE3MKPH.js} +2 -2
- package/dist-cli/chunks/{chunk-YNN2AELC.js → chunk-ZEXLS32P.js} +3 -3
- package/dist-cli/chunks/{chunk-OBKNUUIF.js → chunk-ZRDU2ENE.js} +2 -2
- package/dist-cli/chunks/{cleanup-Q4GUW4DU.js → cleanup-O6SD44HN.js} +2 -2
- package/dist-cli/chunks/{cli-version-Y74RBK4R.js → cli-version-PIYRRI52.js} +2 -2
- package/dist-cli/chunks/{compat-CSFBMTVO.js → compat-AWJLEWTH.js} +2 -2
- package/dist-cli/chunks/{config-4ZW7VYBV.js → config-6PLYOSBK.js} +2 -2
- package/dist-cli/chunks/{control-BFFHTY4I.js → control-K4QMNPXN.js} +2 -2
- package/dist-cli/chunks/daemon-HG6LHW3O.js +4 -0
- package/dist-cli/chunks/{debug-EEYUHHSR.js → debug-YCJCLH35.js} +3 -3
- package/dist-cli/chunks/{desktop-Q4NXGDCY.js → desktop-NRUWYSTV.js} +3 -3
- package/dist-cli/chunks/{detox-UMSQ33AB.js → detox-XTERPTZN.js} +2 -2
- package/dist-cli/chunks/{device-7STN6X5G.js → device-G4KJITB6.js} +2 -2
- package/dist-cli/chunks/{diagnose-7L67FGJY.js → diagnose-CKZOV5PL.js} +2 -2
- package/dist-cli/chunks/disk-cleanup-LX6FRBNM.js +4 -0
- package/dist-cli/chunks/drivers-X6XG4AX4.js +4 -0
- package/dist-cli/chunks/{film-2MP5BL6J.js → film-4T3QY3VT.js} +3 -3
- package/dist-cli/chunks/flow-EQPPW77J.js +4 -0
- package/dist-cli/chunks/help-IRKWFF27.js +4 -0
- package/dist-cli/chunks/{hidden-runtime-alias-HTJVTEHX.js → hidden-runtime-alias-S2PPAYI3.js} +2 -2
- package/dist-cli/chunks/{home-paths-KOZFBUVS.js → home-paths-MUZXK2LA.js} +2 -2
- package/dist-cli/chunks/inspect-VGNST6ZA.js +4 -0
- package/dist-cli/chunks/install-desktop-5H7A5R3Z.js +4 -0
- package/dist-cli/chunks/{login-XWITDS34.js → login-RH2KRRBQ.js} +4 -4
- package/dist-cli/chunks/{logout-C6EVSNGO.js → logout-GIEQBBFN.js} +2 -2
- package/dist-cli/chunks/{maestro-Y3RDSX5X.js → maestro-JEAOFJLT.js} +3 -3
- package/dist-cli/chunks/{maestro-generate-WHUYPFMX.js → maestro-generate-GAYZAFOV.js} +3 -3
- package/dist-cli/chunks/{mode-3D6W3Y2Y.js → mode-V2OWWT7B.js} +2 -2
- package/dist-cli/chunks/{optional-demo-registry-MRBZKL5R.js → optional-demo-registry-CZSJJFLR.js} +2 -2
- package/dist-cli/chunks/{perf-CRMSVQX4.js → perf-SNBPEVZL.js} +2 -2
- package/dist-cli/chunks/{permissions-RFASUZIH.js → permissions-MKMHM34X.js} +2 -2
- package/dist-cli/chunks/{record-SKX3SUNS.js → record-55URP7AI.js} +3 -3
- package/dist-cli/chunks/{report-issue-I7VXCIGQ.js → report-issue-I4JZBUDD.js} +2 -2
- package/dist-cli/chunks/runtime-XHMSVSWG.js +4 -0
- package/dist-cli/chunks/{screenshot-command-PIMVRGAW.js → screenshot-command-YGBR4Y2V.js} +3 -3
- package/dist-cli/chunks/{screenshots-capture-RRZUJDIO.js → screenshots-capture-S5CP6OWZ.js} +2 -2
- package/dist-cli/chunks/{serve-JHBXNJ77.js → serve-45NQNA7C.js} +2 -2
- package/dist-cli/chunks/{setup-A3I3R4FB.js → setup-HKTRNWH6.js} +2 -2
- package/dist-cli/chunks/{skills-7KS6HD4G.js → skills-HUDGHVRT.js} +2 -2
- package/dist-cli/chunks/{storage-H2ODISXF.js → storage-HOYYA2PS.js} +2 -2
- package/dist-cli/chunks/store-7QB3V42F.js +4 -0
- package/dist-cli/chunks/telemetry-HYW35ACO.js +4 -0
- package/dist-cli/chunks/{timeline-5N5AUCOX.js → timeline-2S3FS3AA.js} +2 -2
- package/dist-cli/chunks/{upgrade-UM4K5PH4.js → upgrade-KZSYVT3E.js} +2 -2
- package/dist-cli/chunks/upload-P3CQI4RQ.js +4 -0
- package/dist-cli/chunks/{version-B2MBTUMC.js → version-BWNEYFPL.js} +2 -2
- package/dist-cli/chunks/{web-ZM5Y5GRE.js → web-DXSNL2J6.js} +2 -2
- package/dist-cli/chunks/{what-happened-K443NB2H.js → what-happened-VT4FO7XN.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 +6 -1
- package/dist-lib/cli-constants.cjs +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 +1 -1
- package/dist-lib/host/bridge-host.cjs +1 -1
- 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 +1 -1
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +60 -54
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/src/bridge-constants.ts +9 -0
- package/src/vite-plugin.ts +452 -396
- package/src/worklets-babel.ts +4 -2
- package/dist-cli/chunks/chunk-63UBXHOB.js +0 -4
- package/dist-cli/chunks/daemon-746DWYWS.js +0 -4
- package/dist-cli/chunks/disk-cleanup-IISQYADA.js +0 -4
- package/dist-cli/chunks/drivers-RD6OW2D5.js +0 -4
- package/dist-cli/chunks/flow-MKSEPFWS.js +0 -4
- package/dist-cli/chunks/help-4ADSAOGD.js +0 -4
- package/dist-cli/chunks/inspect-6D7Q27PN.js +0 -4
- package/dist-cli/chunks/install-desktop-WZBAUSKT.js +0 -4
- package/dist-cli/chunks/runtime-OJ26HJM7.js +0 -4
- package/dist-cli/chunks/store-ARKALTX7.js +0 -4
- package/dist-cli/chunks/telemetry-ZMRUVMCZ.js +0 -4
- package/dist-cli/chunks/upload-WGPI5XX6.js +0 -4
package/dist-lib/skills.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.299 | (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;
|
|
@@ -556,8 +556,8 @@ var init_registry = __esm({
|
|
|
556
556
|
range: ">=11.0.0",
|
|
557
557
|
coverage: 0.5,
|
|
558
558
|
note: "native-seam only: the published package runs unchanged and routes RNCWebView through the tenant-to-shell hosted iframe surface. the iframe keeps loading while parked behind a canvas placeholder and becomes interactive when promoted live.",
|
|
559
|
-
working: "source.uri/source.html,
|
|
560
|
-
missing: "iframe pixels in canvas screenshots, script injection and ReactNativeWebView bootstrap for
|
|
559
|
+
working: "source.uri/source.html, document-start ReactNativeWebView bootstrap and injectedJavaScriptBeforeContentLoaded/injectedJavaScript on source.html and percent-encoded data: URI pages, strict ReactNativeWebView.postMessage bridge envelope, onMessage synthetic event with navigation fields, onLoad/Start/End, onNavigationStateChange, ref.reload/stopLoading/injectJavaScript/postMessage, renderLoading, javaScriptEnabled sandbox, layout, inherited clipping and visibility, parked/live presentation",
|
|
560
|
+
missing: "iframe pixels in canvas screenshots, script injection and ReactNativeWebView bootstrap for remote pages, which get no bridge at all because a browser cannot script a cross-origin frame, the re-encoded data: URI a page reports as its own location.href, so onMessage carries the re-encoded url while onLoad and onNavigationStateChange carry the original where iOS reports one identical url for all three, cross-origin ref.goBack/goForward and truthful canGoBack/canGoForward values, failed HTTP/refused navigation callbacks (onError/onHttpError and renderError), onShouldStartLoadWithRequest, allowsBackForwardNavigationGestures, userAgent, dataDetectorTypes, cacheEnabled, incognito, scalesPageToFit, originWhitelist enforcement"
|
|
561
561
|
}
|
|
562
562
|
]
|
|
563
563
|
},
|
|
@@ -569,15 +569,15 @@ var init_registry = __esm({
|
|
|
569
569
|
range: ">=55.0.0 <56.0.0",
|
|
570
570
|
coverage: 0.3,
|
|
571
571
|
note: "native-seam only: the published Expo wrapper resolves ExpoDomWebViewModule to the shared hosted webview implementation.",
|
|
572
|
-
working: "DomWebView/WebView exports, source.uri rendering, onMessage, ref.injectJavaScript and ref.scrollTo
|
|
573
|
-
missing: "reload and injectedJavaScriptObject, Expo modules bridge,
|
|
572
|
+
working: "DomWebView/WebView exports, source.uri rendering, document-start ReactNativeWebView bootstrap on percent-encoded data: URI pages, onMessage, ref.injectJavaScript and ref.scrollTo, layout and parked/live presentation",
|
|
573
|
+
missing: "reload and injectedJavaScriptObject, Expo modules bridge, any bridge at all on a remote page because a browser cannot script a cross-origin frame, cross-origin scrolling, the re-encoded data: URI a page reports as its own location.href, exact native scroll physics and native-only media/keyboard props, iframe pixels in canvas screenshots"
|
|
574
574
|
},
|
|
575
575
|
{
|
|
576
576
|
range: ">=56.0.0 <58.0.0",
|
|
577
577
|
coverage: 0.35,
|
|
578
578
|
note: "native-seam only: the published Expo wrapper resolves ExpoDomWebViewModule to the shared hosted webview implementation.",
|
|
579
|
-
working: "DomWebView/WebView exports, source.uri rendering, onMessage data/url/title, ref.reload/injectJavaScript/scrollTo, and reload-on-update behavior for injectedJavaScriptObject/injectedJavaScript
|
|
580
|
-
missing: "document-start timing for injectedJavaScriptObject on URI pages, Expo modules bridge,
|
|
579
|
+
working: "DomWebView/WebView exports, source.uri rendering, onMessage data/url/title, ref.reload/injectJavaScript/scrollTo, document-start ReactNativeWebView bootstrap on percent-encoded data: URI pages, and reload-on-update behavior for injectedJavaScriptObject/injectedJavaScript, layout and parked/live presentation",
|
|
580
|
+
missing: "document-start timing for injectedJavaScriptObject on URI pages, Expo modules bridge, any bridge at all on a remote page because a browser cannot script a cross-origin frame, cross-origin scrolling, the re-encoded data: URI a page reports as its own location.href, exact native scroll physics and native-only media/keyboard props, iframe pixels in canvas screenshots"
|
|
581
581
|
}
|
|
582
582
|
]
|
|
583
583
|
},
|
|
@@ -784,9 +784,9 @@ var init_registry = __esm({
|
|
|
784
784
|
{
|
|
785
785
|
range: ">=4.0.0",
|
|
786
786
|
coverage: 0.95,
|
|
787
|
-
note: "
|
|
788
|
-
working: "getStringAsync
|
|
789
|
-
missing: "
|
|
787
|
+
note: "the published SDK 57 package runs unchanged against a real tenant navigator.clipboard seam for text, URL, and image content",
|
|
788
|
+
working: "getStringAsync, setStringAsync, setString, hasStringAsync, getUrlAsync, setUrlAsync, hasUrlAsync, getImageAsync returning base64 and dimensions, setImageAsync, hasImageAsync, listener subscription lifecycle, and isPasteButtonAvailable=false",
|
|
789
|
+
missing: "clipboard-change event delivery, ClipboardPasteButton native UI, Firefox image read, and rich-text clipboard payloads"
|
|
790
790
|
}
|
|
791
791
|
]
|
|
792
792
|
},
|
|
@@ -836,10 +836,10 @@ var init_registry = __esm({
|
|
|
836
836
|
versions: [
|
|
837
837
|
{
|
|
838
838
|
range: ">=12.0.0",
|
|
839
|
-
coverage: 0.
|
|
840
|
-
note: "
|
|
841
|
-
working: "
|
|
842
|
-
missing: "
|
|
839
|
+
coverage: 0.65,
|
|
840
|
+
note: "the published package runs unchanged; openBrowserAsync hands the URL to the host browser and browser-list and lifecycle methods preserve their public result shapes",
|
|
841
|
+
working: "openBrowserAsync host handoff, dismissBrowser result, warmUpAsync, coolDownAsync, mayInitWithUrlAsync, empty getCustomTabsSupportingBrowsersAsync result, and upstream enums and option processing",
|
|
842
|
+
missing: "an embedded SFSafariViewController or Chrome Custom Tab, closing the host browser tab from dismissBrowser, working auth-session completion and redirect delivery, cookie isolation, and native styling controls"
|
|
843
843
|
}
|
|
844
844
|
]
|
|
845
845
|
},
|
|
@@ -1110,10 +1110,10 @@ var init_registry = __esm({
|
|
|
1110
1110
|
versions: [
|
|
1111
1111
|
{
|
|
1112
1112
|
range: ">=17.0.0",
|
|
1113
|
-
coverage: 0.
|
|
1114
|
-
note: "
|
|
1115
|
-
working: "
|
|
1116
|
-
missing: "
|
|
1113
|
+
coverage: 0.5,
|
|
1114
|
+
note: "the published SDK 57 package runs unchanged against an ExpoLocation native seam backed by tenant geolocation and the shared app-scoped permission registry; restricted browser contexts use the simulator fallback position",
|
|
1115
|
+
working: "upstream enums, validation and permission hooks; getProviderStatusAsync, getCurrentPositionAsync, getLastKnownPositionAsync, foreground/background permission getters and requests, and hasServicesEnabledAsync",
|
|
1116
|
+
missing: "the SDK 57 subscriber-native contract for watchPositionAsync, heading, geocoding, motion activity, background location, geofencing, and Android network-provider enablement"
|
|
1117
1117
|
}
|
|
1118
1118
|
]
|
|
1119
1119
|
},
|
|
@@ -1518,10 +1518,10 @@ var init_registry = __esm({
|
|
|
1518
1518
|
versions: [
|
|
1519
1519
|
{
|
|
1520
1520
|
range: ">=1.0.0",
|
|
1521
|
-
coverage: 0.
|
|
1522
|
-
note: "
|
|
1523
|
-
working: "
|
|
1524
|
-
missing: "
|
|
1521
|
+
coverage: 0.85,
|
|
1522
|
+
note: "native-seam only: the published Clipboard object, NativeEventEmitter wiring, and useClipboard hook run from the bundle. RNCClipboard routes text through navigator.clipboard and images through ClipboardItem where the browser exposes it.",
|
|
1523
|
+
working: "published Clipboard object and two-item useClipboard hook, getString/setString/hasString, getImage/getImagePNG/getImageJPG/setImage/hasImage, hasURL/hasWebURL/hasNumber, load-safe listener methods",
|
|
1524
|
+
missing: "external-app clipboard-change events because browsers expose no matching event; setStrings joins values and getStrings returns one browser text item rather than preserving multiple pasteboard strings; Firefox image read because Clipboard.read is unavailable"
|
|
1525
1525
|
}
|
|
1526
1526
|
]
|
|
1527
1527
|
},
|
|
@@ -2040,9 +2040,10 @@ var init_registry = __esm({
|
|
|
2040
2040
|
versions: [
|
|
2041
2041
|
{
|
|
2042
2042
|
range: ">=0.20.0",
|
|
2043
|
-
coverage: 0.
|
|
2044
|
-
note: "
|
|
2045
|
-
working: "
|
|
2043
|
+
coverage: 0.45,
|
|
2044
|
+
note: "stub \u2014 the published expo-updates constants, validation, result transformation, event fan-out, and useUpdates hook run unchanged against a disabled-development-build ExpoUpdates native seam",
|
|
2045
|
+
working: "disabled embedded-launch constants and currentlyRunning/useUpdates state; no-update check/fetch results; empty log read/clear; in-session get/set/unset extra params; upstream enums",
|
|
2046
|
+
missing: "OTA server checks, update download and storage, applying a downloaded bundle, reload-screen UI, native state-machine events, manifests, request overrides, and persistence"
|
|
2046
2047
|
}
|
|
2047
2048
|
]
|
|
2048
2049
|
},
|
|
@@ -2310,10 +2311,10 @@ var init_registry = __esm({
|
|
|
2310
2311
|
versions: [
|
|
2311
2312
|
{
|
|
2312
2313
|
range: ">=14.0.0",
|
|
2313
|
-
coverage: 0.
|
|
2314
|
-
note: "upstream package JS runs against ExpoKeepAwake
|
|
2314
|
+
coverage: 0.55,
|
|
2315
|
+
note: "stub \u2014 upstream package JS runs against an ExpoKeepAwake seam that tracks activation tags and listener lifecycles but does not acquire a screen wake lock",
|
|
2315
2316
|
working: 'upstream activateKeepAwake/activateKeepAwakeAsync/deactivateKeepAwake/useKeepAwake/addListener run unchanged; requireNativeModule("ExpoKeepAwake") provides activate, deactivate, isAvailableAsync, addListenerForTag',
|
|
2316
|
-
missing: "actual Screen Wake Lock API acquisition
|
|
2317
|
+
missing: "actual Screen Wake Lock API acquisition and release events are not available in the canvas worker; isAvailableAsync only reflects browser wakeLock support"
|
|
2317
2318
|
}
|
|
2318
2319
|
]
|
|
2319
2320
|
},
|
|
@@ -2389,10 +2390,10 @@ var init_registry = __esm({
|
|
|
2389
2390
|
versions: [
|
|
2390
2391
|
{
|
|
2391
2392
|
range: ">=4.0.0",
|
|
2392
|
-
coverage: 0.
|
|
2393
|
-
note: "
|
|
2394
|
-
working: "NavigationBar component
|
|
2395
|
-
missing: "OS contrast enforcement,
|
|
2393
|
+
coverage: 0.5,
|
|
2394
|
+
note: "the published SDK 57 package runs unchanged; SootSim iOS follows its upstream unsupported-platform implementation and returns hidden visibility while component/static setters remain load-safe",
|
|
2395
|
+
working: "SDK 57 NavigationBar component and setStyle/setHidden statics through the published iOS entry",
|
|
2396
|
+
missing: "Android navigation-bar visibility and style effects, visibility events, OS contrast enforcement, and per-emulator navigation-bar dimensions"
|
|
2396
2397
|
}
|
|
2397
2398
|
]
|
|
2398
2399
|
},
|
|
@@ -2430,10 +2431,10 @@ var init_registry = __esm({
|
|
|
2430
2431
|
versions: [
|
|
2431
2432
|
{
|
|
2432
2433
|
range: ">=4.0.0",
|
|
2433
|
-
coverage: 0.
|
|
2434
|
-
note:
|
|
2435
|
-
working: "setBackgroundColorAsync
|
|
2436
|
-
missing: "
|
|
2434
|
+
coverage: 0.65,
|
|
2435
|
+
note: "the published two-function package runs unchanged and its native seam round-trips and clears the processed root background color in both document and render-worker contexts",
|
|
2436
|
+
working: "setBackgroundColorAsync and getBackgroundColorAsync, including null clearing and React Native processed-color conversion",
|
|
2437
|
+
missing: "the background color is not applied to the CanvasKit device-frame root, and the value does not persist across simulator restarts"
|
|
2437
2438
|
}
|
|
2438
2439
|
]
|
|
2439
2440
|
},
|
|
@@ -3562,7 +3563,7 @@ var init_registry = __esm({
|
|
|
3562
3563
|
{
|
|
3563
3564
|
range: ">=0.1.0",
|
|
3564
3565
|
coverage: 1,
|
|
3565
|
-
note: "config
|
|
3566
|
+
note: "build-only \u2014 the published main entry exports withBuildProperties, a config plugin that mutates Android Gradle/ProGuard/settings files and iOS build properties during Expo prebuild; it exposes no application runtime API"
|
|
3566
3567
|
}
|
|
3567
3568
|
]
|
|
3568
3569
|
},
|
|
@@ -3572,9 +3573,10 @@ var init_registry = __esm({
|
|
|
3572
3573
|
versions: [
|
|
3573
3574
|
{
|
|
3574
3575
|
range: ">=1.0.0",
|
|
3575
|
-
coverage:
|
|
3576
|
-
note: "
|
|
3577
|
-
working: "openMenu, closeMenu, hideMenu, registerDevMenuItems"
|
|
3576
|
+
coverage: 0.4,
|
|
3577
|
+
note: "stub \u2014 the real package (`export * from 'expo-dev-menu'`) runs from the bundle; ExpoDevMenu exposes load-safe no-op menu controls and callback registration so development clients boot without fabricating a guest dev menu",
|
|
3578
|
+
working: "published openMenu, closeMenu, hideMenu, and registerDevMenuItems calls",
|
|
3579
|
+
missing: "guest dev-menu UI, registered custom items and callbacks, launcher integration, and development-client navigation"
|
|
3578
3580
|
}
|
|
3579
3581
|
]
|
|
3580
3582
|
},
|
|
@@ -3881,9 +3883,9 @@ var init_registry = __esm({
|
|
|
3881
3883
|
{
|
|
3882
3884
|
range: ">=0.30.0",
|
|
3883
3885
|
coverage: 0.3,
|
|
3884
|
-
note: "
|
|
3885
|
-
working: "
|
|
3886
|
-
missing: "
|
|
3886
|
+
note: "native-seam only: the published Nitro Modules entrypoint installs a load-safe framework proxy, but no native JSI bindings run",
|
|
3887
|
+
working: "published entrypoint and type exports, NitroModules metadata, createHybridObject chainable proxy, hasHybridObject/getAllHybridObjectNames unavailable state, isRuntimeAlive false, callback wrapper, getHybridObjectConstructor",
|
|
3888
|
+
missing: "the native JSI framework implementation; package-specific HybridObjects work only where a separate compat seam registers them, and native memory accounting, ArrayBuffer ownership, cross-runtime boxed HybridObjects, and Nitro Views remain absent"
|
|
3887
3889
|
}
|
|
3888
3890
|
]
|
|
3889
3891
|
},
|
|
@@ -4146,12 +4148,12 @@ var init_registry = __esm({
|
|
|
4146
4148
|
},
|
|
4147
4149
|
"@expo/metro-runtime": {
|
|
4148
4150
|
category: "Expo SDK",
|
|
4149
|
-
stubType: "
|
|
4151
|
+
stubType: "build-only",
|
|
4150
4152
|
versions: [
|
|
4151
4153
|
{
|
|
4152
4154
|
range: ">=55.0.0",
|
|
4153
4155
|
coverage: 0.85,
|
|
4154
|
-
note: "
|
|
4156
|
+
note: "tooling-only \u2014 Metro injects this package into development bundles; SootSim supports its location, server-log, rejection-tracking, refresh, and bootstrap helpers as bundler/runtime infrastructure rather than an application-facing API",
|
|
4155
4157
|
working: "runtime entrypoint, location polyfill install, RSC runtime import, web getDevServer path, development log capture and promise rejection tracking on supported globals",
|
|
4156
4158
|
missing: "native reload/logbox paths depend on RN DevSettings and internal native LogBox behavior; production app functionality is unaffected"
|
|
4157
4159
|
}
|
|
@@ -4164,7 +4166,7 @@ var init_registry = __esm({
|
|
|
4164
4166
|
{
|
|
4165
4167
|
range: ">=55.0.0",
|
|
4166
4168
|
coverage: 1,
|
|
4167
|
-
note: "
|
|
4169
|
+
note: "build-only \u2014 the published 57.0.x main points to an omitted build/index entry while its shipped subpaths are Node SSR, static-rendering, server-manifest, and typed-route generation utilities; it exposes no application native runtime API"
|
|
4168
4170
|
}
|
|
4169
4171
|
]
|
|
4170
4172
|
},
|
|
@@ -4174,10 +4176,10 @@ var init_registry = __esm({
|
|
|
4174
4176
|
versions: [
|
|
4175
4177
|
{
|
|
4176
4178
|
range: ">=2.0.0",
|
|
4177
|
-
coverage: 0.
|
|
4179
|
+
coverage: 0.85,
|
|
4178
4180
|
note: "pure JS WHATWG URL/URLSearchParams polyfill; NativeModules.BlobModule access is guarded",
|
|
4179
4181
|
working: "URL, URLSearchParams, setupURLPolyfill, auto.js web guard, canParse, global URL/URLSearchParams installation",
|
|
4180
|
-
missing: "React Native BlobModule-specific createObjectURL
|
|
4182
|
+
missing: "URLSearchParams.sort does not reorder keys in the published 3.0.0 dependency; React Native BlobModule-specific createObjectURL is absent when BlobModule is unavailable, so browser Blob URLs should use the native URL implementation"
|
|
4181
4183
|
}
|
|
4182
4184
|
]
|
|
4183
4185
|
},
|
|
@@ -4555,7 +4557,7 @@ var init_registry = __esm({
|
|
|
4555
4557
|
range: ">=3.0.0",
|
|
4556
4558
|
coverage: 0.95,
|
|
4557
4559
|
note: "pure JS React error boundary with RN fallback UI",
|
|
4558
|
-
working: "ErrorBoundary component,
|
|
4560
|
+
working: "ErrorBoundary component, bundled fallback UI, custom FallbackComponent, onError callback, resetError recovery",
|
|
4559
4561
|
missing: "fallback rendering fidelity follows core RN View/Text/Button primitives"
|
|
4560
4562
|
}
|
|
4561
4563
|
]
|
|
@@ -5221,7 +5223,7 @@ var init_registry = __esm({
|
|
|
5221
5223
|
versions: [
|
|
5222
5224
|
{
|
|
5223
5225
|
range: ">=4.0.0 <6.0.0",
|
|
5224
|
-
coverage: 0.
|
|
5226
|
+
coverage: 0.65,
|
|
5225
5227
|
note: "native-seam only \u2014 the published ExtensionStorage wrapper runs unchanged against an app-group-keyed UserDefaults analogue; the package also keeps its Expo config-plugin and Apple-target generation paths at build time",
|
|
5226
5228
|
working: "ExtensionStorage constructor, string/number/object/array set and get, remove, app-group suite isolation, reloadWidget, and reloadControls",
|
|
5227
5229
|
missing: "persistence across simulator restarts, sharing with a real Apple extension process, and WidgetKit or Control Center timeline reloads"
|
|
@@ -9897,7 +9899,7 @@ var init_registry = __esm({
|
|
|
9897
9899
|
versions: [
|
|
9898
9900
|
{
|
|
9899
9901
|
range: ">=1.0.0",
|
|
9900
|
-
coverage: 0.
|
|
9902
|
+
coverage: 0.55,
|
|
9901
9903
|
note: "native-seam only \u2014 upstream Expo module export and event types run from the bundle; HardwareButtons reports volume buttons present, no camera button, and accepts camera-button attach/detach",
|
|
9902
9904
|
working: "getCapabilitiesAsync, attachCameraButton, detachCameraButton, listener subscription shape",
|
|
9903
9905
|
missing: "no hardware button event stream from the host OS"
|
|
@@ -10025,9 +10027,9 @@ var init_registry = __esm({
|
|
|
10025
10027
|
versions: [
|
|
10026
10028
|
{
|
|
10027
10029
|
range: ">=1.0.0",
|
|
10028
|
-
coverage: 0.
|
|
10029
|
-
note: "native-seam only \u2014 upstream Expo module wrapper and item types run from the bundle; ExpoCoreSpotlight accepts index/remove calls
|
|
10030
|
-
working: "
|
|
10030
|
+
coverage: 0.4,
|
|
10031
|
+
note: "native-seam only \u2014 upstream Expo module wrapper and item types run from the bundle; ExpoCoreSpotlight reports unavailable and accepts index/remove calls so guarded app paths remain load-safe",
|
|
10032
|
+
working: "published package import, item validation and method shapes, indexItem(s), removeItem(s), removeAllItems, removeAllItemsFromDomain, isAvailable=false",
|
|
10031
10033
|
missing: "no CoreSpotlight index or OS search tap-through"
|
|
10032
10034
|
}
|
|
10033
10035
|
]
|
|
@@ -10713,6 +10715,7 @@ __export(bridge_constants_exports, {
|
|
|
10713
10715
|
DEFAULT_SOOTSIM_BRIDGE_URL: () => DEFAULT_SOOTSIM_BRIDGE_URL,
|
|
10714
10716
|
SOOTSIM_BRIDGE_SIM_CLOSE_CODE: () => SOOTSIM_BRIDGE_SIM_CLOSE_CODE,
|
|
10715
10717
|
SOOTSIM_BRIDGE_SIM_CLOSE_REASON: () => SOOTSIM_BRIDGE_SIM_CLOSE_REASON,
|
|
10718
|
+
isSootsimBridgeHealth: () => isSootsimBridgeHealth,
|
|
10716
10719
|
resolveSootsimBridgePort: () => resolveSootsimBridgePort,
|
|
10717
10720
|
resolveSootsimBridgePortForHttpPort: () => resolveSootsimBridgePortForHttpPort,
|
|
10718
10721
|
resolveSootsimBridgePortForRuntimeLocation: () => resolveSootsimBridgePortForRuntimeLocation,
|
|
@@ -10809,6 +10812,9 @@ function resolveSootsimBridgeWebSocketUrl(input) {
|
|
|
10809
10812
|
href: input.href
|
|
10810
10813
|
});
|
|
10811
10814
|
}
|
|
10815
|
+
function isSootsimBridgeHealth(value, expectedPort) {
|
|
10816
|
+
return typeof value === "object" && value !== null && Reflect.get(value, "ok") === true && Reflect.get(value, "bridgePort") === expectedPort;
|
|
10817
|
+
}
|
|
10812
10818
|
var DEFAULT_SOOTSIM_BRIDGE_PORT, DEFAULT_SOOTSIM_BRIDGE_URL, CONTRAST_DEV_HTTP_BASE_PORT, SOOTSIM_SITE_DEV_HTTP_BASE_PORT, SOOTSIM_SHELL_DEV_HTTP_BASE_PORT, LOCAL_DEV_HTTP_BASE_PORTS, MAX_LOCAL_DEV_PORT_OFFSET, SOOTSIM_BRIDGE_SIM_CLOSE_CODE, SOOTSIM_BRIDGE_SIM_CLOSE_REASON;
|
|
10813
10819
|
var init_bridge_constants = __esm({
|
|
10814
10820
|
"src/bridge-constants.ts"() {
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.299 | (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/bridge-constants.ts
CHANGED
|
@@ -140,6 +140,15 @@ export function resolveSootsimBridgeWebSocketUrl(input: {
|
|
|
140
140
|
})
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
+
export function isSootsimBridgeHealth(value: unknown, expectedPort: number): boolean {
|
|
144
|
+
return (
|
|
145
|
+
typeof value === 'object' &&
|
|
146
|
+
value !== null &&
|
|
147
|
+
Reflect.get(value, 'ok') === true &&
|
|
148
|
+
Reflect.get(value, 'bridgePort') === expectedPort
|
|
149
|
+
)
|
|
150
|
+
}
|
|
151
|
+
|
|
143
152
|
// private websocket close code used when the daemon intentionally closes a
|
|
144
153
|
// sim. browser clients treat it as terminal and skip their normal reconnect
|
|
145
154
|
// loop; playwright-owned sims use it to close their hosting context.
|