peachsim 0.1.655 → 0.1.656

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.
Files changed (66) hide show
  1. package/dist-lib/agent-daemon-client.cjs +1 -1
  2. package/dist-lib/agent-events.cjs +1 -1
  3. package/dist-lib/agent-identity.cjs +1 -1
  4. package/dist-lib/agent-sessions.cjs +1 -1
  5. package/dist-lib/attached-projects.cjs +1 -1
  6. package/dist-lib/auth/shared-session.cjs +1 -1
  7. package/dist-lib/backend-origin.cjs +1 -1
  8. package/dist-lib/beta.cjs +1 -1
  9. package/dist-lib/beta.mjs +1 -1
  10. package/dist-lib/bridge-constants.cjs +1 -1
  11. package/dist-lib/bridge-contract-input.cjs +1 -1
  12. package/dist-lib/bridge-contract-input.mjs +1 -1
  13. package/dist-lib/bridge-contract.cjs +1 -1
  14. package/dist-lib/bridge-contract.mjs +1 -1
  15. package/dist-lib/capture-contract.cjs +1 -1
  16. package/dist-lib/capture-contract.mjs +1 -1
  17. package/dist-lib/cli-constants.cjs +1 -1
  18. package/dist-lib/cloud-contract.cjs +1 -1
  19. package/dist-lib/cloud-contract.mjs +1 -1
  20. package/dist-lib/cloud-test-args.cjs +1 -1
  21. package/dist-lib/cloud-test-args.mjs +1 -1
  22. package/dist-lib/cloud.cjs +1 -1
  23. package/dist-lib/cloud.mjs +1 -1
  24. package/dist-lib/config.cjs +1 -1
  25. package/dist-lib/detox/index.cjs +1 -1
  26. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  27. package/dist-lib/home-paths.cjs +1 -1
  28. package/dist-lib/host/bridge-host.cjs +1 -1
  29. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  30. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  31. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  32. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  33. package/dist-lib/host/websocket-proxy.cjs +1 -1
  34. package/dist-lib/index.cjs +5 -12
  35. package/dist-lib/jump-to-source-babel.cjs +1 -1
  36. package/dist-lib/jump-to-source-native.cjs +1 -1
  37. package/dist-lib/kotlin-host.cjs +1 -1
  38. package/dist-lib/menu.cjs +1 -1
  39. package/dist-lib/menu.mjs +1 -1
  40. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  41. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  42. package/dist-lib/metro-production-bundle.cjs +1 -1
  43. package/dist-lib/metro-production-bundle.mjs +1 -1
  44. package/dist-lib/metro.cjs +1 -1
  45. package/dist-lib/native-app-identity.cjs +1 -1
  46. package/dist-lib/native-app-identity.mjs +1 -1
  47. package/dist-lib/profiles.cjs +1 -1
  48. package/dist-lib/public-brand.cjs +1 -1
  49. package/dist-lib/react-native-host-modules.cjs +1 -1
  50. package/dist-lib/react-native-host-modules.mjs +1 -1
  51. package/dist-lib/render-mode.cjs +1 -1
  52. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  53. package/dist-lib/sdk.cjs +1 -1
  54. package/dist-lib/sdk.mjs +1 -1
  55. package/dist-lib/skills.cjs +51 -47
  56. package/dist-lib/swift-compile.cjs +1 -1
  57. package/dist-lib/swift-compile.mjs +1 -1
  58. package/dist-lib/swift-package.cjs +1 -1
  59. package/dist-lib/swift-package.mjs +1 -1
  60. package/dist-lib/swift-submit.cjs +1 -1
  61. package/dist-lib/swift-submit.mjs +1 -1
  62. package/dist-lib/swift.cjs +1 -1
  63. package/dist-lib/vite-swift.cjs +1 -1
  64. package/dist-lib/vite.cjs +5 -12
  65. package/package.json +1 -1
  66. package/src/dev-server-open.ts +4 -11
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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/beta.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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/beta.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/beta.ts
4
4
  var IS_BETA = true;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/bridge-contract.ts
4
4
  var SIM_LONG_PRESS_MAX_MS = 5e3;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/bridge-contract.ts
4
4
  var REFUSED_PERFORM_STEP_TYPES = [
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/capture-contract.ts
4
4
  var RNX_SCREEN_CAPTURE_VERSION = 1;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/cloud-contract.ts
4
4
  var RNX_CLOUD_MAX_ARTIFACT_BYTES = 20 * 1024 * 1024;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/cloud-test-args.ts
4
4
  var CLOUD_TEST_ARGS_MAX_COUNT = 32;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/host/fetch-proxy-overrides.ts
4
4
  var FETCH_PROXY_BROWSER_USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -3564,7 +3564,6 @@ var import_node_child_process = require("node:child_process");
3564
3564
  var import_node_crypto3 = require("node:crypto");
3565
3565
  var import_node_fs4 = __toESM(require("node:fs"), 1);
3566
3566
  var import_node_path4 = __toESM(require("node:path"), 1);
3567
- var import_node_url = require("node:url");
3568
3567
  function resolveRnxDesktopAppName(open, projectRoot) {
3569
3568
  if (!open) return null;
3570
3569
  if (typeof open === "object") {
@@ -3622,17 +3621,11 @@ function observeRnxDesktopLaunch(child, appName) {
3622
3621
  });
3623
3622
  }
3624
3623
  function launchRnxDesktop(bundleUrl, appName) {
3625
- const packageRoot = import_node_path4.default.resolve(import_node_path4.default.dirname((0, import_node_url.fileURLToPath)(__sootsim_import_meta_url)), "..");
3626
- const binPath = import_node_path4.default.join(packageRoot, "dist-cli", "bin.js");
3627
3624
  console.log(`[peach] opening ${appName} in the desktop simulator`);
3628
- const child = (0, import_node_child_process.spawn)(
3629
- process.execPath,
3630
- [binPath, ...buildRnxDesktopOpenArgs(bundleUrl)],
3631
- {
3632
- stdio: ["ignore", "ignore", "pipe"],
3633
- windowsHide: true
3634
- }
3635
- );
3625
+ const child = (0, import_node_child_process.spawn)("peach", buildRnxDesktopOpenArgs(bundleUrl), {
3626
+ stdio: ["ignore", "ignore", "pipe"],
3627
+ windowsHide: true
3628
+ });
3636
3629
  observeRnxDesktopLaunch(child, appName);
3637
3630
  }
3638
3631
 
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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/menu.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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/menu.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/public-brand.ts
4
4
  var name = "Peach";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/is-record.ts
4
4
  function isRecord(value) {
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/metro-production-bundle.ts
4
4
  var RNXSIM_METRO_MODULE_PATHS_PREFIX = "globalThis.__sootsimModulePaths=";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/native-app-identity.ts
4
4
  var NATIVE_APP_IDENTITY_PREFIX = "globalThis.__sootsimNativeAppIdentity=";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/react-native-host-modules.ts
4
4
  var REACT_NATIVE_PASSTHROUGH_SPECIFIERS = [
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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/sdk.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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/sdk.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -4506,7 +4506,7 @@ var init_supported_native_packages = __esm({
4506
4506
  "@react-native-documents/viewer",
4507
4507
  // seam
4508
4508
  "@react-native-firebase/analytics",
4509
- // coverage
4509
+ // seam+coverage
4510
4510
  "@react-native-firebase/app",
4511
4511
  // seam+coverage
4512
4512
  "@react-native-firebase/auth",
@@ -4523,6 +4523,8 @@ var init_supported_native_packages = __esm({
4523
4523
  // coverage
4524
4524
  "@react-native-firebase/storage",
4525
4525
  // seam
4526
+ "@react-native-google-signin/google-signin",
4527
+ // seam
4526
4528
  "@react-native-masked-view/masked-view",
4527
4529
  // coverage
4528
4530
  "@react-native-menu/menu",
@@ -4610,7 +4612,7 @@ var init_supported_native_packages = __esm({
4610
4612
  "expo-apple-authentication",
4611
4613
  // seam
4612
4614
  "expo-application",
4613
- // semantic-proof+coverage
4615
+ // semantic-proof+seam+coverage
4614
4616
  "expo-asset",
4615
4617
  // seam+coverage
4616
4618
  "expo-audio",
@@ -4628,7 +4630,7 @@ var init_supported_native_packages = __esm({
4628
4630
  "expo-brightness",
4629
4631
  // semantic-proof
4630
4632
  "expo-calendar",
4631
- // semantic-proof
4633
+ // semantic-proof+seam
4632
4634
  "expo-camera",
4633
4635
  // seam+coverage
4634
4636
  "expo-cellular",
@@ -4636,9 +4638,9 @@ var init_supported_native_packages = __esm({
4636
4638
  "expo-clipboard",
4637
4639
  // seam+coverage
4638
4640
  "expo-constants",
4639
- // semantic-proof+coverage
4641
+ // semantic-proof+seam+coverage
4640
4642
  "expo-contacts",
4641
- // semantic-proof
4643
+ // semantic-proof+seam
4642
4644
  "expo-core-spotlight",
4643
4645
  // seam
4644
4646
  "expo-crypto",
@@ -4670,7 +4672,7 @@ var init_supported_native_packages = __esm({
4670
4672
  "expo-image-picker",
4671
4673
  // seam+coverage
4672
4674
  "expo-insights",
4673
- // coverage
4675
+ // seam+coverage
4674
4676
  "expo-intent-launcher",
4675
4677
  // semantic-proof
4676
4678
  "expo-keep-awake",
@@ -4678,7 +4680,7 @@ var init_supported_native_packages = __esm({
4678
4680
  "expo-key-event",
4679
4681
  // seam
4680
4682
  "expo-linear-gradient",
4681
- // visual-proof+coverage
4683
+ // visual-proof+seam+coverage
4682
4684
  "expo-linking",
4683
4685
  // seam+coverage
4684
4686
  "expo-local-authentication",
@@ -4706,41 +4708,43 @@ var init_supported_native_packages = __esm({
4706
4708
  "expo-pip",
4707
4709
  // seam
4708
4710
  "expo-print",
4709
- // semantic-proof
4711
+ // semantic-proof+seam
4712
+ "expo-quick-actions",
4713
+ // seam
4710
4714
  "expo-screen-capture",
4711
4715
  // semantic-proof
4712
4716
  "expo-screen-corner-radius",
4713
4717
  // seam+coverage
4714
4718
  "expo-screen-orientation",
4715
- // semantic-proof+coverage
4719
+ // semantic-proof+seam+coverage
4716
4720
  "expo-secure-store",
4717
- // semantic-proof+coverage
4721
+ // semantic-proof+seam+coverage
4718
4722
  "expo-sensors",
4719
4723
  // semantic-proof+seam
4720
4724
  "expo-sharing",
4721
- // semantic-proof+coverage
4725
+ // semantic-proof+seam+coverage
4722
4726
  "expo-sms",
4723
- // semantic-proof
4727
+ // semantic-proof+seam
4724
4728
  "expo-speech",
4725
4729
  // semantic-proof+seam
4726
4730
  "expo-speech-recognition",
4727
4731
  // seam
4728
4732
  "expo-splash-screen",
4729
- // semantic-proof+coverage
4733
+ // semantic-proof+seam+coverage
4730
4734
  "expo-sqlite",
4731
- // coverage
4735
+ // seam+coverage
4732
4736
  "expo-store-review",
4733
- // semantic-proof+coverage
4737
+ // semantic-proof+seam+coverage
4734
4738
  "expo-symbols",
4735
4739
  // coverage
4736
4740
  "expo-system-ui",
4737
4741
  // seam+coverage
4738
4742
  "expo-task-manager",
4739
- // semantic-proof+coverage
4743
+ // semantic-proof+seam+coverage
4740
4744
  "expo-testflight",
4741
4745
  // seam+coverage
4742
4746
  "expo-tracking-transparency",
4743
- // semantic-proof+coverage
4747
+ // semantic-proof+seam+coverage
4744
4748
  "expo-updates",
4745
4749
  // seam+coverage
4746
4750
  "expo-video",
@@ -4934,7 +4938,7 @@ var init_supported_native_packages = __esm({
4934
4938
  "react-native-gzip",
4935
4939
  // seam+coverage
4936
4940
  "react-native-haptic-feedback",
4937
- // coverage
4941
+ // seam+coverage
4938
4942
  "react-native-headphone-detection",
4939
4943
  // seam+coverage
4940
4944
  "react-native-home-indicator",
@@ -4972,7 +4976,7 @@ var init_supported_native_packages = __esm({
4972
4976
  "react-native-launch-arguments",
4973
4977
  // coverage
4974
4978
  "react-native-linear-gradient",
4975
- // coverage
4979
+ // seam+coverage
4976
4980
  "react-native-linkedin-login",
4977
4981
  // seam
4978
4982
  "react-native-localize",
@@ -6150,7 +6154,7 @@ var init_registry = __esm({
6150
6154
  {
6151
6155
  range: ">=14.0.0",
6152
6156
  coverage: 0.95,
6153
- note: "package-local wrapper registers only ExponentConstants; upstream expo-constants JS computes the public Constants object unchanged.",
6157
+ note: "real upstream package \u2014 not intercepted. the app's expo-constants JS computes the public Constants object over the ExponentConstants native module.",
6154
6158
  working: "ExponentConstants native module constants matching the bare iOS dictionary: sessionId, executionEnvironment, appOwnership, debugMode, deviceName, isHeadless, statusBarHeight, systemFonts, platform.ios.buildNumber, expoConfig/manifest from the resolved app config, getWebViewUserAgentAsync, and the AppOwnership / ExecutionEnvironment / UserInterfaceIdiom enums from upstream JS",
6155
6159
  missing: "real binary-derived embedded app config, Expo Updates manifest2, expoGoConfig/easConfig, physical-device status bar and system font enumeration. the Expo Go fields deviceYearClass, expoVersion, expoRuntimeVersion, experienceUrl, isDevice, linkingUri and the deprecated platform.ios model/platform/systemVersion/userInterfaceIdiom are intentionally absent, matching a bare iOS app where the native constants dictionary never publishes them; read device metadata from expo-device instead"
6156
6160
  }
@@ -6228,7 +6232,7 @@ var init_registry = __esm({
6228
6232
  {
6229
6233
  range: ">=0.17.0",
6230
6234
  coverage: 1,
6231
- note: "full splash wired to the Peach canvas boot splash, including the app's REAL configured artwork. the config plugin's image + backgroundColor (+ imageWidth, resizeMode, dark variant) and the legacy expo.splash / expo.ios.splash blocks are parsed and painted on boot exactly like the native splash window. setOptions({fade,duration}) is honored: hideAsync()/hide() cross-dissolve the splash over the configured duration (default 400ms, fade default off \u2014 mirroring ios/SplashScreenManager.swift hide()); preventAutoHideAsync holds the splash until the app hides it. matches upstream index.native.ts semantics.",
6235
+ note: "real upstream package \u2014 not intercepted. the app's expo-splash-screen JS runs over the ExpoSplashScreen module (native-seams/expo-splash-screen.ts, mirroring ios/SplashScreenModule.swift), which also answers expo-router's internal prevent and maybe-hide calls. full splash wired to the Peach canvas boot splash, including the app's REAL configured artwork. the config plugin's image + backgroundColor (+ imageWidth, resizeMode, dark variant) and the legacy expo.splash / expo.ios.splash blocks are parsed and painted on boot exactly like the native splash window. setOptions({fade,duration}) is honored: hideAsync()/hide() cross-dissolve the splash over the configured duration (default 400ms, fade default off \u2014 mirroring ios/SplashScreenManager.swift hide()); preventAutoHideAsync holds the splash until the app hides it. matches upstream index.native.ts semantics.",
6232
6236
  working: "preventAutoHideAsync (holds splash), hideAsync, hide (sync), setOptions (fade + duration drive the real canvas fade), configured splash image + backgroundColor + imageWidth + resizeMode + dark variant painted on boot (config plugin + legacy expo.splash), SplashScreenOptions type"
6233
6237
  }
6234
6238
  ]
@@ -6280,7 +6284,7 @@ var init_registry = __esm({
6280
6284
  {
6281
6285
  range: ">=12.0.0",
6282
6286
  coverage: 0.95,
6283
- note: "upstream expo-secure-store JS runs unchanged; package-local wrapper only registers the ExpoSecureStore native module backed by tenant-scoped IndexedDB records encrypted with AES-GCM via WebCrypto. Bun/test environments without IndexedDB use the same encrypted record format in memory. (same golden-rule native-seam tier as expo-crypto / expo-network: upstream JS runs unmodified, every gap is a physically-absent-on-an-iOS-sim feature.)",
6287
+ note: "real upstream package \u2014 not intercepted. the app's expo-secure-store JS runs over the ExpoSecureStore native module, backed by tenant-scoped IndexedDB records encrypted with AES-GCM via WebCrypto. Bun/test environments without IndexedDB use the same encrypted record format in memory. (same golden-rule native-seam tier as expo-crypto / expo-network: upstream JS runs unmodified, every gap is a physically-absent-on-an-iOS-sim feature.)",
6284
6288
  working: "upstream validation and constants, getItem/setItem sync APIs over the hydrated in-process cache, getItemAsync/setItemAsync/deleteItemAsync async APIs, isAvailableAsync, canUseBiometricAuthentication false, keychainService/accessGroup/requireAuthentication storage partitioning, AES-GCM encrypted storage records with per-record salt/iv and tenant-scoped PBKDF2 key derivation, persists across reloads when IndexedDB is available",
6285
6289
  missing: "canUseBiometricAuthentication always false (no biometric prompt available on web \u2014 correct unavailable shape), requireAuthentication not enforced beyond storage partitioning/encryption (no biometric prompt to require), keychainAccessible does not affect browser storage access. sync reads cannot synchronously cold-load IndexedDB after a fresh worker boot; async reads hydrate the cache. all of these are honest absent-on-web semantics \u2014 apps with graceful-degradation paths behave correctly."
6286
6290
  }
@@ -6333,8 +6337,8 @@ var init_registry = __esm({
6333
6337
  {
6334
6338
  range: ">=12.0.0",
6335
6339
  coverage: 1,
6336
- note: "CanvasKit gradient shader via _gradientColors style prop, full API",
6337
- working: "LinearGradient, colors, start, end, locations, dither, normalizeColor, getLinearGradientBackgroundImage utility"
6340
+ note: "upstream expo-linear-gradient JS runs unchanged against an ExpoLinearGradient native view seam drawing the CGGradient its layer draws",
6341
+ working: "LinearGradient, colors, start, end, locations, dither, style, children"
6338
6342
  }
6339
6343
  ]
6340
6344
  },
@@ -6422,7 +6426,7 @@ var init_registry = __esm({
6422
6426
  {
6423
6427
  range: ">=5.0.0",
6424
6428
  coverage: 0.95,
6425
- note: "upstream expo-application JS runs unchanged; package-local wrapper only registers the ExpoApplication native module, whose identity constants follow the live Expo config.",
6429
+ note: "real upstream package \u2014 not intercepted. the app's expo-application JS runs over the ExpoApplication native module, whose identity constants follow the live Expo config.",
6426
6430
  working: "upstream constants and platform availability checks, applicationName, applicationId, nativeApplicationVersion, nativeBuildVersion, getIosIdForVendorAsync (localStorage-backed), getIosApplicationReleaseTypeAsync SIMULATOR, ApplicationReleaseType enum, getInstallationTimeAsync, getIosPushNotificationServiceEnvironmentAsync",
6427
6431
  missing: "bare/frozen apps without resolved Expo config use simulator metadata; Android id/install referrer on non-Android platforms; push entitlement inspection"
6428
6432
  }
@@ -6759,10 +6763,10 @@ var init_registry = __esm({
6759
6763
  versions: [
6760
6764
  {
6761
6765
  range: ">=13.0.0",
6762
- coverage: 0.94,
6763
- note: "real SQLite via lazy-loaded bedrock-sqlite (~1MB WASM) \u2014 full SQL support including joins, transactions, prepared statements, RETURNING. WASM ships in the runtime tarball and loads with the expo-sqlite compatibility chunk, so synchronous APIs are ready as soon as the module import resolves. memfs persists to IDB via Module._memfs (requires the bedrock-sqlite build with the memfs-on-module export from orez/sqlite-wasm); reloads restore the prior state \u2014 verified end-to-end via the orbstack/published-runtime probe across 3 page reloads.",
6764
- working: "openDatabaseAsync / openDatabaseSync (real bedrock instance), execAsync / execSync, prepareAsync / prepareSync, runAsync / runSync, getFirstAsync / getFirstSync, getAllAsync / getAllSync, getEachAsync / getEachSync, withTransactionAsync / withTransactionSync, withExclusiveTransactionAsync, isInTransactionAsync / isInTransactionSync, closeAsync / closeSync, deleteDatabaseAsync / deleteDatabaseSync, SQLiteStatement.executeAsync / executeSync / executeForRawResultAsync / executeForRawResultSync / getColumnNames* / finalize*, SQLiteProvider, useSQLiteContext, defaultDatabaseDirectory, async iteration via for-await-of, RETURNING clauses",
6765
- missing: "serializeAsync (bedrock does not expose sqlite3_serialize through its module surface), backupDatabaseAsync, addDatabaseChangeListener (no sqlite3_update_hook bindings), createSessionAsync, loadExtensionAsync, SQLiteTaggedQuery (Bun-style template literal API)"
6766
+ coverage: 0.9,
6767
+ note: "real upstream package \u2014 not intercepted. its JS (openDatabase*, SQLiteDatabase, SQLiteStatement cursors, SQLiteProvider, kv-store, tagged queries) runs from the bundle over the ExpoSQLite native module (native-seams/expo-sqlite.ts), which follows ios/SQLiteModule.swift on the shared bedrock-sqlite WASM engine: the per path database cache, lazy sqlite3_step cursors, iOS error codes and messages. databases live under Documents/SQLite in the tenant memfs and persist to IDB; the seam loader waits for the engine so the sync api is ready when the bundle evaluates.",
6768
+ working: "open/close (cached by path and options, ref counted), exec, prepare, run with array and named bindings, step, getAll, reset, finalize, column names, isInTransaction, withExclusiveTransactionAsync (second connection), deleteDatabase, importAssetDatabaseAsync from a file, serialize (VACUUM INTO) and deserialize",
6769
+ missing: "onDatabaseChange never fires (no sqlite3_update_hook in bedrock); backup, sessions and loadExtension throw; database files are not visible to expo-file-system"
6766
6770
  }
6767
6771
  ]
6768
6772
  },
@@ -7237,9 +7241,9 @@ var init_registry = __esm({
7237
7241
  {
7238
7242
  range: ">=18.0.0",
7239
7243
  coverage: 0.95,
7240
- note: "development noop \u2014 analytics calls resolve and intentionally send nothing",
7241
- working: "default analytics(), getAnalytics, logEvent, logScreenView, logLogin, logSignUp, logSearch, logShare, logPurchase, logAddToCart, logSelectContent, logSelectItem, logViewItem, logViewItemList, logBeginCheckout, setUserId, setUserProperty, setUserProperties, collection/session/default parameter helpers, getAppInstanceId",
7242
- missing: "real Google Analytics transport and native app instance id; initiateOnDeviceConversionMeasurement not stubbed"
7244
+ note: "upstream @react-native-firebase/analytics JS runs unchanged against the NativeRNFBTurboAnalytics (v26) and RNFBAnalyticsModule native seam; events and properties are accepted and nothing is uploaded, the app instance id persists on device and follows reset and analytics_storage consent",
7245
+ working: "default callable export, getAnalytics, modular helpers and their argument validation, logEvent and every log* helper, setUserId, setUserProperty, setUserProperties, setDefaultEventParameters, collection and session timeout, getAppInstanceId, getSessionId, resetAnalyticsData, setConsent, on-device conversion measurement",
7246
+ missing: "Google Analytics transport, DebugView, StoreKit transactions for logTransaction"
7243
7247
  }
7244
7248
  ]
7245
7249
  },
@@ -7655,7 +7659,7 @@ var init_registry = __esm({
7655
7659
  {
7656
7660
  range: ">=12.0.0",
7657
7661
  coverage: 0.9,
7658
- note: "upstream expo-sharing JS runs unchanged; package-local wrapper only registers the ExpoSharing native module. shareAsync presents the same canvas share sheet core RN Share uses; a declared app group id reads the empty inbox a browser preview should report.",
7662
+ note: "real upstream package \u2014 not intercepted. the app's expo-sharing JS runs over the ExpoSharing native module. shareAsync presents the same canvas share sheet core RN Share uses; a declared app group id reads the empty inbox a browser preview should report.",
7659
7663
  working: "isAvailableAsync through upstream js, shareAsync presenting the shared canvas sheet and resolving on dismissal whatever the outcome, dialogTitle accepted and not shown as on iOS, ERR_FILE_PERMISSION for unreadable files, ERR_MISSING_CURRENT_VIEW_CONTROLLER without a sheet host, ERR_FAILED_TO_RESOLVE_APP_GROUP_ID from all three share-into entries when the app declares no ExpoShareIntoAppGroupId, empty incoming-share inbox when it does",
7660
7664
  missing: "incoming share extension app-group storage (no extension writes into the group from a preview, so a declared key always reads empty); UTI/mimeType file restaging and iPad popover anchoring have no visible effect on the iPhone-idiom sheet"
7661
7665
  }
@@ -7785,7 +7789,7 @@ var init_registry = __esm({
7785
7789
  {
7786
7790
  range: ">=1.0.0",
7787
7791
  coverage: 0.93,
7788
- note: "package-local wrapper registers only the RNHapticFeedback TurboModule; upstream react-native-haptic-feedback JS runs unchanged against the browser vibration API where available. full upstream API surface \u2014 every documented entry point lands on either real navigator.vibrate work or correct unavailable shape.",
7792
+ note: "real upstream package \u2014 not intercepted. the app's react-native-haptic-feedback JS runs over the RNHapticFeedback TurboModule against the browser vibration API where available. full upstream API surface \u2014 every documented entry point lands on either real navigator.vibrate work or correct unavailable shape.",
7789
7793
  working: "sootsim validated upstream trigger, stop, isSupported, triggerPattern, getSystemHapticStatus, setEnabled, isEnabled, impact, HapticFeedbackTypes, Patterns, pattern/PATTERN_CHARS, and TouchableHaptic; RNHapticFeedback TurboModule uses navigator.vibrate for trigger/triggerPattern/stop and reports browser support shape",
7790
7794
  missing: "actual Core Haptics/UIKit haptic engine, AHAP file playback, hardware-specific intensity/sharpness rendering \u2014 these are unavailable on web (browser vibration API only honors duration patterns); apps that gate on isSupported take the no-haptic branch correctly"
7791
7795
  }
@@ -7864,7 +7868,7 @@ var init_registry = __esm({
7864
7868
  {
7865
7869
  range: ">=10.0.0",
7866
7870
  coverage: 0.8,
7867
- note: "package-local RNGoogleSignin TurboModule seam; upstream JS runs unchanged for signed-out iOS flows, with RN oracle documenting the upstream new-arch provider gap",
7871
+ note: "real upstream package \u2014 not intercepted. the app's JS runs over the RNGoogleSignin TurboModule seam for signed-out iOS flows, with RN oracle documenting the upstream new-arch provider gap",
7868
7872
  working: "upstream GoogleSignin, GoogleSigninButton, statusCodes, and helper predicates run unchanged; configure, hasPlayServices, hasPreviousSignIn, getCurrentUser, addScopes, signInSilently no-saved response, getTokens signed-out rejection, clearCachedAccessToken, signOut/revokeAccess, and codegen native button press render through the RNGoogleSignin seam",
7869
7873
  missing: "real Google OAuth popup/redirect flow, token exchange, keychain-backed current user persistence, successful scope grants, One Tap / web credential support, and upstream iOS new-arch module provider registration in the RN oracle app"
7870
7874
  }
@@ -8102,7 +8106,7 @@ var init_registry = __esm({
8102
8106
  {
8103
8107
  range: ">=8.0.0",
8104
8108
  coverage: 0.95,
8105
- note: "upstream expo-store-review JS runs unchanged; package-local wrapper only registers the ExpoStoreReview native module.",
8109
+ note: "real upstream package \u2014 not intercepted. the app's expo-store-review JS runs over the ExpoStoreReview native module.",
8106
8110
  working: "isAvailableAsync returns iOS-simulator available, hasAction/storeUrl computed by upstream JS, requestReview resolves without a browser StoreKit prompt",
8107
8111
  missing: "real iOS StoreKit review prompt presentation"
8108
8112
  }
@@ -8129,7 +8133,7 @@ var init_registry = __esm({
8129
8133
  {
8130
8134
  range: ">=3.0.0",
8131
8135
  coverage: 0.9,
8132
- note: "upstream expo-tracking-transparency JS runs unchanged; package-local wrapper only registers the ExpoTrackingTransparency native module.",
8136
+ note: "real upstream package \u2014 not intercepted. the app's expo-tracking-transparency JS runs over the ExpoTrackingTransparency native module.",
8133
8137
  working: "getAdvertisingId returns null for the simulator zero IDFA, getTrackingPermissionsAsync reports undetermined, requestTrackingPermissionsAsync resolves denied, isAvailable, PermissionStatus/useTrackingPermissions exports from upstream JS",
8134
8138
  missing: "real iOS ATT consent sheet and authorized IDFA access"
8135
8139
  }
@@ -8156,7 +8160,7 @@ var init_registry = __esm({
8156
8160
  {
8157
8161
  range: ">=11.0.0",
8158
8162
  coverage: 0.93,
8159
- note: "package-local wrapper registers only the ExpoTaskManager native module; upstream expo-task-manager JS runs unchanged. isAvailableAsync returns false on web per upstream's documented unavailable shape (TaskManager.ts:286), so apps with graceful-degradation paths skip background-task registration correctly. Peach is exactly as capable here as real expo-on-web (full JS surface + the same documented unavailable shape) \u2014 the only gaps are background execution primitives no browser has.",
8163
+ note: "real upstream package \u2014 not intercepted. the app's expo-task-manager JS runs over the ExpoTaskManager native module. isAvailableAsync returns false on web per upstream's documented unavailable shape (TaskManager.ts:286), so apps with graceful-degradation paths skip background-task registration correctly. Peach is exactly as capable here as real expo-on-web (full JS surface + the same documented unavailable shape) \u2014 the only gaps are background execution primitives no browser has.",
8160
8164
  working: "upstream defineTask/isTaskDefined validation, native EVENT_NAME, isAvailableAsync (false on web), isTaskRegisteredAsync, getTaskOptionsAsync, getRegisteredTasksAsync, unregisterTaskAsync, unregisterAllTasksAsync, notifyTaskFinishedAsync, native task execution events",
8161
8165
  missing: "persistent native EXTaskService storage, app relaunch/headless execution, real task execution while the browser tab is suspended (browsers do not have iOS Background Fetch / Android WorkManager)"
8162
8166
  }
@@ -8377,10 +8381,10 @@ var init_registry = __esm({
8377
8381
  versions: [
8378
8382
  {
8379
8383
  range: ">=2.0.0",
8380
- coverage: 0.93,
8381
- note: "CanvasKit gradient shader via _gradientColors style prop",
8382
- working: "LinearGradient, colors, start, end, locations, style, children",
8383
- missing: "useAngle/angle/angleCenter props (accepted but not applied to gradient calculation), animated gradient"
8384
+ coverage: 0.95,
8385
+ note: "upstream react-native-linear-gradient JS runs unchanged against a BVLinearGradient native view seam drawing the CGGradient its layer draws, including useAngle with angle and angleCenter",
8386
+ working: "LinearGradient, colors, start, end, locations, useAngle, angle, angleCenter, style, children",
8387
+ missing: "setNativeProps on the gradient, PlatformColor stops"
8384
8388
  }
8385
8389
  ]
8386
8390
  },
@@ -8780,8 +8784,8 @@ var init_registry = __esm({
8780
8784
  {
8781
8785
  range: ">=11.0.0",
8782
8786
  coverage: 0.75,
8783
- note: "upstream expo-intent-launcher JS runs unchanged; iOS unavailable behavior matches its Android-only native module",
8784
- working: "upstream ActivityAction and ResultCode constants, iOS UnavailabilityError behavior for startActivityAsync/openApplication/getApplicationIconAsync, package-local wrapper that preserves upstream argument validation and public exports",
8787
+ note: "real upstream package \u2014 not intercepted. on iOS the app's expo-intent-launcher JS throws UnavailabilityError itself, as its native module is Android-only",
8788
+ working: "upstream ActivityAction and ResultCode constants, iOS UnavailabilityError behavior for startActivityAsync/openApplication/getApplicationIconAsync, upstream argument validation and public exports",
8785
8789
  missing: "real Android Activity result lifecycle, package manager icon extraction, Android settings/app intents, browser URL launch fallback intentionally removed to match iOS sootsim parity"
8786
8790
  }
8787
8791
  ]
@@ -9058,7 +9062,7 @@ var init_registry = __esm({
9058
9062
  {
9059
9063
  range: ">=55.0.0",
9060
9064
  coverage: 0.95,
9061
- note: "package-local wrapper registers only the ExpoInsights native module; upstream public JS is an empty default export.",
9065
+ note: "real upstream package \u2014 not intercepted. the app's expo-insights JS (an empty default export) runs over the ExpoInsights native module.",
9062
9066
  working: "default export is the upstream empty object; ExpoInsights native module name resolves after importing expo-insights so inlined expo-modules-core bundles do not fall through to the permissive proxy",
9063
9067
  missing: "native lifecycle telemetry delivery to i.expo.dev is intentionally absent in sootsim"
9064
9068
  }
@@ -9899,7 +9903,7 @@ var init_registry = __esm({
9899
9903
  coverage: 0.9,
9900
9904
  note: "native-seam: sqlite.core.js runs unchanged from the bundle; only NativeModules.SQLite is ours, following platforms/ios/SQLite.m over the shared bedrock-sqlite WASM engine (tenant-scoped memfs IDB, so a reopened database keeps its rows). connections keyed by name, rowsAffected from the total_changes() delta, insertId whenever the connection has changed rows, WebSQL error codes from the primary sqlite code, BLOB columns as base64, the regexp() function, WAL journal mode, and the background batch reply after the calling turn",
9901
9905
  working: "open (default/Documents/Library locations), close, delete, attach, echoStringValue, executeSqlBatch/backgroundExecuteSqlBatch, executeSql/backgroundExecuteSql; everything in sqlite.core.js above them (openDatabase, transaction/readTransaction, executeSql, sqlBatch, enablePromise) is the real package",
9902
- missing: "integral JS numbers bind as integers (iOS binds every bridged number as a double, so 5 into a TEXT column reads 5.0 there); createFromLocation copies nothing (no app-bundle www/ or sandbox asset exists); a multi-statement string errors where iOS silently runs only the first statement; regexp() bracket classes such as [[:alpha:]]; the Shared location (needs an AppGroupName) opens a temporary database as iOS does with a nil directory"
9906
+ missing: "createFromLocation copies nothing (no app-bundle www/ or sandbox asset exists); a multi-statement string errors where iOS silently runs only the first statement; regexp() bracket classes such as [[:alpha:]]; the Shared location (needs an AppGroupName) opens a temporary database as iOS does with a nil directory"
9903
9907
  }
9904
9908
  ]
9905
9909
  },
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/swift-compile.ts
4
4
  import { execFile as execFile2 } from "node:child_process";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/swift-package.ts
4
4
  function isSwiftManifestFile(file) {
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/swift-submit.ts
4
4
  var SWIFT_COMPILE_PATH = "/api/swift-compile";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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.655 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.656 | (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;
@@ -54,7 +54,6 @@ var import_node_child_process = require("node:child_process");
54
54
  var import_node_crypto = require("node:crypto");
55
55
  var import_node_fs = __toESM(require("node:fs"), 1);
56
56
  var import_node_path = __toESM(require("node:path"), 1);
57
- var import_node_url = require("node:url");
58
57
  function resolveRnxDesktopAppName(open, projectRoot) {
59
58
  if (!open) return null;
60
59
  if (typeof open === "object") {
@@ -112,17 +111,11 @@ function observeRnxDesktopLaunch(child, appName) {
112
111
  });
113
112
  }
114
113
  function launchRnxDesktop(bundleUrl, appName) {
115
- const packageRoot = import_node_path.default.resolve(import_node_path.default.dirname((0, import_node_url.fileURLToPath)(__sootsim_import_meta_url)), "..");
116
- const binPath = import_node_path.default.join(packageRoot, "dist-cli", "bin.js");
117
114
  console.log(`[peach] opening ${appName} in the desktop simulator`);
118
- const child = (0, import_node_child_process.spawn)(
119
- process.execPath,
120
- [binPath, ...buildRnxDesktopOpenArgs(bundleUrl)],
121
- {
122
- stdio: ["ignore", "ignore", "pipe"],
123
- windowsHide: true
124
- }
125
- );
115
+ const child = (0, import_node_child_process.spawn)("peach", buildRnxDesktopOpenArgs(bundleUrl), {
116
+ stdio: ["ignore", "ignore", "pipe"],
117
+ windowsHide: true
118
+ });
126
119
  observeRnxDesktopLaunch(child, appName);
127
120
  }
128
121
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peachsim",
3
- "version": "0.1.655",
3
+ "version": "0.1.656",
4
4
  "description": "Vite and Metro plugins, testing drivers, and SDK exports for peach.",
5
5
  "author": "Tamagui LLC",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -2,7 +2,6 @@ import { spawn, type ChildProcess } from 'node:child_process'
2
2
  import { createHash } from 'node:crypto'
3
3
  import fs from 'node:fs'
4
4
  import path from 'node:path'
5
- import { fileURLToPath } from 'node:url'
6
5
 
7
6
  export type RnxDesktopOpenOption = boolean | { appName: string }
8
7
 
@@ -84,16 +83,10 @@ export function observeRnxDesktopLaunch(child: ChildProcess, appName: string): v
84
83
  }
85
84
 
86
85
  export function launchRnxDesktop(bundleUrl: string, appName: string): void {
87
- const packageRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..')
88
- const binPath = path.join(packageRoot, 'dist-cli', 'bin.js')
89
86
  console.log(`[peach] opening ${appName} in the desktop simulator`)
90
- const child = spawn(
91
- process.execPath,
92
- [binPath, ...buildRnxDesktopOpenArgs(bundleUrl)],
93
- {
94
- stdio: ['ignore', 'ignore', 'pipe'],
95
- windowsHide: true,
96
- },
97
- )
87
+ const child = spawn('peach', buildRnxDesktopOpenArgs(bundleUrl), {
88
+ stdio: ['ignore', 'ignore', 'pipe'],
89
+ windowsHide: true,
90
+ })
98
91
  observeRnxDesktopLaunch(child, appName)
99
92
  }