peachsim 0.1.2222 → 0.1.2224

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 (95) 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/attached-projects.cjs +1 -1
  4. package/dist-lib/auth/shared-session.cjs +1 -1
  5. package/dist-lib/backend-origin.cjs +1 -1
  6. package/dist-lib/beta.cjs +1 -1
  7. package/dist-lib/beta.mjs +1 -1
  8. package/dist-lib/bridge-constants.cjs +1 -1
  9. package/dist-lib/bridge-contract-input.cjs +1 -1
  10. package/dist-lib/bridge-contract-input.mjs +1 -1
  11. package/dist-lib/bridge-contract.cjs +1 -1
  12. package/dist-lib/bridge-contract.mjs +1 -1
  13. package/dist-lib/bundle-channel.cjs +45 -29
  14. package/dist-lib/capture-contract.cjs +1 -1
  15. package/dist-lib/capture-contract.mjs +1 -1
  16. package/dist-lib/cloud-contract.cjs +1 -1
  17. package/dist-lib/cloud-contract.mjs +1 -1
  18. package/dist-lib/cloud-test-args.cjs +1 -1
  19. package/dist-lib/cloud-test-args.mjs +1 -1
  20. package/dist-lib/cloud.cjs +1 -1
  21. package/dist-lib/cloud.mjs +1 -1
  22. package/dist-lib/config.cjs +1 -1
  23. package/dist-lib/config.mjs +1 -1
  24. package/dist-lib/detox/index.cjs +2 -2
  25. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  26. package/dist-lib/expo-swift-bundle.cjs +43 -27
  27. package/dist-lib/expo-swift-metadata.cjs +1 -1
  28. package/dist-lib/expo-swift-metadata.mjs +1 -1
  29. package/dist-lib/home-paths.cjs +1 -1
  30. package/dist-lib/host/bridge-host.cjs +45 -29
  31. package/dist-lib/host/fetch-proxy-handler.cjs +4 -4
  32. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  33. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  34. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  35. package/dist-lib/host/websocket-proxy.cjs +1 -1
  36. package/dist-lib/index.cjs +4 -4
  37. package/dist-lib/jump-to-source-babel.cjs +1 -1
  38. package/dist-lib/jump-to-source-native.cjs +1 -1
  39. package/dist-lib/kotlin-host.cjs +1 -1
  40. package/dist-lib/menu.cjs +1 -1
  41. package/dist-lib/menu.mjs +1 -1
  42. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  43. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  44. package/dist-lib/metro-production-bundle.cjs +1 -1
  45. package/dist-lib/metro-production-bundle.mjs +1 -1
  46. package/dist-lib/metro.cjs +4 -4
  47. package/dist-lib/native-app-identity-project.cjs +2 -2
  48. package/dist-lib/native-app-identity-project.mjs +2 -2
  49. package/dist-lib/native-app-identity.cjs +1 -1
  50. package/dist-lib/native-app-identity.mjs +1 -1
  51. package/dist-lib/native-firebase-metadata.cjs +1 -1
  52. package/dist-lib/native-firebase-metadata.mjs +1 -1
  53. package/dist-lib/pdfium-raster.cjs +1 -1
  54. package/dist-lib/pdfium-raster.mjs +1 -1
  55. package/dist-lib/plist.cjs +1 -1
  56. package/dist-lib/plist.mjs +1 -1
  57. package/dist-lib/profiles.cjs +1 -1
  58. package/dist-lib/public-brand.cjs +1 -1
  59. package/dist-lib/public-origins-lib-esm.json +24 -24
  60. package/dist-lib/public-origins-lib.json +53 -53
  61. package/dist-lib/react-native-host-modules.cjs +1 -1
  62. package/dist-lib/react-native-host-modules.mjs +1 -1
  63. package/dist-lib/reap-browser.cjs +1 -1
  64. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  65. package/dist-lib/sdk.cjs +1 -1
  66. package/dist-lib/sdk.mjs +1 -1
  67. package/dist-lib/skills.cjs +46 -29
  68. package/dist-lib/swift-compile.cjs +24 -8
  69. package/dist-lib/swift-compile.mjs +24 -8
  70. package/dist-lib/swift-package.cjs +1 -1
  71. package/dist-lib/swift-package.mjs +1 -1
  72. package/dist-lib/swift-submit.cjs +1 -1
  73. package/dist-lib/swift-submit.mjs +1 -1
  74. package/dist-lib/swift-toolchain.cjs +1 -1
  75. package/dist-lib/swift.cjs +1 -1
  76. package/dist-lib/vite-swift.cjs +41 -25
  77. package/dist-lib/vite.cjs +4 -4
  78. package/dist-lib/worklet-executable.cjs +1 -1
  79. package/dist-lib/worklet-executable.mjs +1 -1
  80. package/dist-types/packages/peach-compat/src/stubs/native-seams/react-native-cookies.d.ts +2 -1
  81. package/dist-types/packages/peach-engine/src/engine/glass-material.d.ts +4 -0
  82. package/dist-types/packages/peach-engine/src/engine/liquid-glass.d.ts +3 -6
  83. package/dist-types/packages/peach-engine/src/engine/types.d.ts +1 -0
  84. package/dist-types/packages/peach-globals/src/browser-object-url.d.ts +10 -0
  85. package/kotlin/sdk.tar.gz +0 -0
  86. package/package.json +1 -1
  87. package/runtime-companion.json +1 -1
  88. package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UISegmentedControl.h +1 -1
  89. package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UITabBar.h +1 -1
  90. package/src/conformance-comparison-contract.ts +9 -9
  91. package/src/conformance-pixel-comparison.ts +16 -3
  92. package/src/swift-compile.ts +4 -4
  93. package/src/swift-host.ts +23 -26
  94. package/src/swift-root-lock.ts +27 -4
  95. package/src/vite-plugin.ts +6 -1
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
package/dist-lib/beta.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
package/dist-lib/beta.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (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
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (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
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (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
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -26214,6 +26214,17 @@ function processTable(pid) {
26214
26214
  );
26215
26215
  }
26216
26216
  }
26217
+ async function processTableWithRetry(pid, signal) {
26218
+ for (let attempt = 1; ; attempt++) {
26219
+ try {
26220
+ return processTable(pid);
26221
+ } catch (error) {
26222
+ if (attempt >= INSPECT_ATTEMPTS) throw error;
26223
+ await pause(POLL_MS * attempt, signal);
26224
+ signal?.throwIfAborted();
26225
+ }
26226
+ }
26227
+ }
26217
26228
  function sameProcess(row, identity2) {
26218
26229
  return row.pid === identity2.pid && Math.abs(row.start - identity2.start) <= START_TOLERANCE_MS;
26219
26230
  }
@@ -26288,7 +26299,11 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
26288
26299
  );
26289
26300
  (0, import_node_fs39.mkdirSync)(directory2, { recursive: true });
26290
26301
  const token = (0, import_node_crypto19.randomUUID)();
26291
- const owner = JSON.stringify(ownIdentity(process.pid));
26302
+ const ownRow = (await processTableWithRetry(process.pid, signal)).find(
26303
+ (candidate) => candidate.pid === process.pid && !candidate.zombie
26304
+ );
26305
+ if (!ownRow) throw new Error(`swift root lock cannot find process ${process.pid}`);
26306
+ const owner = JSON.stringify({ pid: process.pid, start: ownRow.start });
26292
26307
  const pending = import_node_path37.default.join(directory2, `pending.${token}`);
26293
26308
  let held = 0;
26294
26309
  for (; ; ) {
@@ -26297,15 +26312,15 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
26297
26312
  const current2 = newest > 0 ? readGeneration(directory2, newest) : null;
26298
26313
  if (newest > 0 && !current2) continue;
26299
26314
  if (current2 && !current2.released) {
26300
- const owner2 = processTable(current2.holder.pid);
26301
- if (owner2.some((row) => !row.zombie && sameProcess(row, current2.holder))) {
26315
+ const holder = await processTableWithRetry(current2.holder.pid, signal);
26316
+ if (holder.some((row) => !row.zombie && sameProcess(row, current2.holder))) {
26302
26317
  if (!wait) return void 0;
26303
26318
  await pause(POLL_MS, signal);
26304
26319
  continue;
26305
26320
  }
26306
26321
  const children2 = readChildren(directory2, newest);
26307
26322
  if (children2.length) {
26308
- const table = processTable();
26323
+ const table = await processTableWithRetry(void 0, signal);
26309
26324
  if (children2.some((child) => groupAlive(table, child))) {
26310
26325
  if (!wait) return void 0;
26311
26326
  await pause(POLL_MS, signal);
@@ -26380,7 +26395,7 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
26380
26395
  (0, import_node_fs39.writeFileSync)(import_node_path37.default.join(directory2, name(held, "released")), "");
26381
26396
  }
26382
26397
  }
26383
- var import_node_child_process21, import_node_crypto19, import_node_fs39, import_node_os10, import_node_path37, POLL_MS, START_TOLERANCE_MS, name;
26398
+ var import_node_child_process21, import_node_crypto19, import_node_fs39, import_node_os10, import_node_path37, POLL_MS, INSPECT_ATTEMPTS, START_TOLERANCE_MS, name;
26384
26399
  var init_swift_root_lock = __esm({
26385
26400
  "src/swift-root-lock.ts"() {
26386
26401
  "use strict";
@@ -26393,6 +26408,7 @@ var init_swift_root_lock = __esm({
26393
26408
  init_process_group();
26394
26409
  init_process_table();
26395
26410
  POLL_MS = 250;
26411
+ INSPECT_ATTEMPTS = 5;
26396
26412
  START_TOLERANCE_MS = 2e3;
26397
26413
  name = (number3, suffix) => `${String(number3).padStart(12, "0")}.${suffix}`;
26398
26414
  }
@@ -29457,8 +29473,8 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
29457
29473
  const moduleName2 = swiftTargetModuleName(name3);
29458
29474
  const originalMap = originalMaps.get(moduleName2);
29459
29475
  const stagedMap = sourceModuleMaps.get(moduleName2);
29460
- const originalPath = originalMap ? import_node_path41.default.join(layout2.root, originalMap) : stagedMap?.path;
29461
- const originalContents = originalMap ? input.files[originalMap] : stagedMap?.contents;
29476
+ const originalPath = stagedMap?.path ?? (originalMap ? import_node_path41.default.join(layout2.root, originalMap) : void 0);
29477
+ const originalContents = stagedMap?.contents ?? (originalMap && input.files[originalMap]);
29462
29478
  const originalTokens = originalContents ? moduleMapTokens(originalContents) : [];
29463
29479
  if (originalPath && originalTokens.some(
29464
29480
  (token, index) => token === "module" && (originalTokens[index + 1] === "Swift" || originalTokens[index + 1] === `${moduleName2}.Swift`)
@@ -31390,7 +31406,7 @@ int EXUpdatesApplyBSDiffPatch(const char * _Nonnull oldFilePath,
31390
31406
  REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
31391
31407
  MULTI_MANIFEST_VERSION = 68;
31392
31408
  SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
31393
- compilerSourceDigest = true ? "eba60b7a2e9485f928a6ec2e544e10d84b2b33430be66b9e069c9797a927af86" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
31409
+ compilerSourceDigest = true ? "ae9e08389e6ab1901846342a7b347d7c10f8074172cf5d4d6505f7e955879ad4" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
31394
31410
  nativeCxxCompilerFlags = ["-fno-cxx-modules"];
31395
31411
  cFlagArray = (flags) => JSON.stringify(withoutGlogModuleMap(flags));
31396
31412
  cxxFlagArray = (flags) => JSON.stringify([...nativeCxxCompilerFlags, ...withoutGlogModuleMap(flags)]);
@@ -43314,7 +43330,7 @@ var init_swift_standin_digest = __esm({
43314
43330
  STANDIN_DIGEST_ENTRYPOINTS = ["swift-standins.ts", "swift-objc-compile.ts"];
43315
43331
  SPECIFIER = /from\s*['"]([^'"]+)['"]|import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
43316
43332
  standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
43317
- STANDIN_SOURCE_DIGEST = true ? "1a62599378cd7cdf32385f588eb3f983f07ea222d145ec5b6dc34cce9104f46c" : standinSourceDigest();
43333
+ STANDIN_SOURCE_DIGEST = true ? "967c1c2a3b66ac640e0162783ed9e21b09ff285f8e1f7d4327b70416699e14c8" : standinSourceDigest();
43318
43334
  }
43319
43335
  });
43320
43336
 
@@ -50012,6 +50028,21 @@ function compileInput(packagePath, entry) {
50012
50028
  () => snapshotCompileInput(packageSnapshot(project2, entry))
50013
50029
  );
50014
50030
  }
50031
+ function swiftBuildRoot(packagePath, moduleRoot) {
50032
+ if (process.env.CONTRAST_SWIFT_BUILD_ROOT) return process.env.CONTRAST_SWIFT_BUILD_ROOT;
50033
+ const resolvedPath = import_node_path79.default.resolve(packagePath);
50034
+ const parts = resolvedPath.split(import_node_path79.default.sep);
50035
+ const scopedAt = Math.max(
50036
+ parts.lastIndexOf("peach-expo-swift"),
50037
+ parts.lastIndexOf("peach-nitro-swift")
50038
+ );
50039
+ const buildKeyPath = scopedAt >= 0 && parts.length >= scopedAt + 3 ? parts.slice(0, scopedAt + 2).join(import_node_path79.default.sep) : sourceEntries().get(resolvedPath) ?? resolvedPath;
50040
+ return import_node_path79.default.join(
50041
+ swiftCacheDir(),
50042
+ "swift-builds",
50043
+ (0, import_node_crypto40.createHash)("sha256").update(`${moduleRoot}\0${buildKeyPath}`).digest("hex").slice(0, 16)
50044
+ );
50045
+ }
50015
50046
  function installedWorkspaceInput(packagePath, entry, moduleRoot) {
50016
50047
  const project2 = projectFor(packagePath);
50017
50048
  return withXcodeLayout(project2.packagePath, () => {
@@ -50094,22 +50125,7 @@ async function compile(packagePath, stamp, moduleRootOverride, hosted, snapshot,
50094
50125
  // building each other's sources. each app and module checkout still gets
50095
50126
  // its own root, so they do not queue and the same app keeps its
50096
50127
  // incremental build across restarts.
50097
- buildRoot: (() => {
50098
- if (process.env.CONTRAST_SWIFT_BUILD_ROOT)
50099
- return process.env.CONTRAST_SWIFT_BUILD_ROOT;
50100
- const resolvedPath = import_node_path79.default.resolve(packagePath);
50101
- const parts = resolvedPath.split(import_node_path79.default.sep);
50102
- const scopedAt = Math.max(
50103
- parts.lastIndexOf("peach-expo-swift"),
50104
- parts.lastIndexOf("peach-nitro-swift")
50105
- );
50106
- const buildKeyPath = scopedAt >= 0 && parts.length >= scopedAt + 3 ? parts.slice(0, scopedAt + 2).join(import_node_path79.default.sep) : sourceEntries().get(resolvedPath) ?? resolvedPath;
50107
- return import_node_path79.default.join(
50108
- swiftCacheDir(),
50109
- "swift-builds",
50110
- (0, import_node_crypto40.createHash)("sha256").update(`${moduleRoot}\0${buildKeyPath}`).digest("hex").slice(0, 16)
50111
- );
50112
- })(),
50128
+ buildRoot: swiftBuildRoot(packagePath, moduleRoot),
50113
50129
  moduleRoot,
50114
50130
  ...toolchain,
50115
50131
  signal
@@ -55840,7 +55856,7 @@ var init_nitro_superset = __esm({
55840
55856
  init_nitroContract();
55841
55857
  init_swift_standin_digest();
55842
55858
  NITRO_SUPERSET_ENTRY_NAME = "superset";
55843
- NITRO_COMPILER_DIGEST = true ? "a4a039ea02c6f6891931ee5a3d0136be472592ea109f8bc1b947d9d235a9559c" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
55859
+ NITRO_COMPILER_DIGEST = true ? "b67bb7ac0400689754e30ae2ef421de96e239e21485fc028366cf86bdb1095b4" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
55844
55860
  nitroSupersetLock = parseLock(nitro_superset_lock_default);
55845
55861
  nitroSupersetKey = (inputs) => nativeEntryKey({ ...inputs, compiler: NITRO_COMPILER_DIGEST });
55846
55862
  published = /* @__PURE__ */ new Map();
@@ -57065,7 +57081,7 @@ var init_expo_native_compiler_digest = __esm({
57065
57081
 
57066
57082
  // src/expo-native-prebuilt.ts
57067
57083
  function expoNativeCompilerDigestValue() {
57068
- return true ? "db679f96e034ef5a3e217e2553ec748fa11d5dd68cd9247dd7bcae61a03d42a1" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
57084
+ return true ? "963a611a48c6145fa72e127fa98e60722db74c1cc40fd8ed1fbd6e229bf4b5bf" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
57069
57085
  }
57070
57086
  function readSources(value) {
57071
57087
  const sources = isRecord(value) ? value.sources : null;
@@ -64542,7 +64558,7 @@ var import_node_path5 = require("node:path");
64542
64558
  init_src();
64543
64559
 
64544
64560
  // runtime-companion.json
64545
- var runtime_companion_default = { abi: 1, sha256: "6b48c0f7ae1d87e581af7cf445b2eaad2e1a4aa8fad23a00e1ae90916b2bbc02", file: "node/cli-6b48c0f7ae1d87e581af7cf445b2eaad2e1a4aa8fad23a00e1ae90916b2bbc02.cjs" };
64561
+ var runtime_companion_default = { abi: 1, sha256: "ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42", file: "node/cli-ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42.cjs" };
64546
64562
 
64547
64563
  // src/cli-runtime.ts
64548
64564
  init_answeredNativePackages();
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (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
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/cloud-contract.ts
4
4
  var RNX_CLOUD_MAX_ARTIFACT_BYTES = 40761776;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (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
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (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
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // ../contrast-runtime-delivery/src/version.ts
4
4
  function isValidRuntimeVersion(value) {
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -2515,7 +2515,7 @@ function isValidRuntimeVersion(value) {
2515
2515
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
2516
2516
 
2517
2517
  // runtime-companion.json
2518
- var runtime_companion_default = { abi: 1, sha256: "6b48c0f7ae1d87e581af7cf445b2eaad2e1a4aa8fad23a00e1ae90916b2bbc02", file: "node/cli-6b48c0f7ae1d87e581af7cf445b2eaad2e1a4aa8fad23a00e1ae90916b2bbc02.cjs" };
2518
+ var runtime_companion_default = { abi: 1, sha256: "ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42", file: "node/cli-ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42.cjs" };
2519
2519
 
2520
2520
  // src/answeredNativePackages.ts
2521
2521
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -19105,6 +19105,17 @@ function processTable(pid) {
19105
19105
  );
19106
19106
  }
19107
19107
  }
19108
+ async function processTableWithRetry(pid, signal) {
19109
+ for (let attempt = 1; ; attempt++) {
19110
+ try {
19111
+ return processTable(pid);
19112
+ } catch (error) {
19113
+ if (attempt >= INSPECT_ATTEMPTS) throw error;
19114
+ await pause(POLL_MS * attempt, signal);
19115
+ signal?.throwIfAborted();
19116
+ }
19117
+ }
19118
+ }
19108
19119
  function sameProcess(row, identity2) {
19109
19120
  return row.pid === identity2.pid && Math.abs(row.start - identity2.start) <= START_TOLERANCE_MS;
19110
19121
  }
@@ -19179,7 +19190,11 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
19179
19190
  );
19180
19191
  (0, import_node_fs47.mkdirSync)(directory2, { recursive: true });
19181
19192
  const token = (0, import_node_crypto20.randomUUID)();
19182
- const owner = JSON.stringify(ownIdentity(process.pid));
19193
+ const ownRow = (await processTableWithRetry(process.pid, signal)).find(
19194
+ (candidate) => candidate.pid === process.pid && !candidate.zombie
19195
+ );
19196
+ if (!ownRow) throw new Error(`swift root lock cannot find process ${process.pid}`);
19197
+ const owner = JSON.stringify({ pid: process.pid, start: ownRow.start });
19183
19198
  const pending = import_node_path43.default.join(directory2, `pending.${token}`);
19184
19199
  let held = 0;
19185
19200
  for (; ; ) {
@@ -19188,15 +19203,15 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
19188
19203
  const current2 = newest > 0 ? readGeneration(directory2, newest) : null;
19189
19204
  if (newest > 0 && !current2) continue;
19190
19205
  if (current2 && !current2.released) {
19191
- const owner2 = processTable(current2.holder.pid);
19192
- if (owner2.some((row) => !row.zombie && sameProcess(row, current2.holder))) {
19206
+ const holder = await processTableWithRetry(current2.holder.pid, signal);
19207
+ if (holder.some((row) => !row.zombie && sameProcess(row, current2.holder))) {
19193
19208
  if (!wait) return void 0;
19194
19209
  await pause(POLL_MS, signal);
19195
19210
  continue;
19196
19211
  }
19197
19212
  const children2 = readChildren(directory2, newest);
19198
19213
  if (children2.length) {
19199
- const table = processTable();
19214
+ const table = await processTableWithRetry(void 0, signal);
19200
19215
  if (children2.some((child) => groupAlive(table, child))) {
19201
19216
  if (!wait) return void 0;
19202
19217
  await pause(POLL_MS, signal);
@@ -19271,7 +19286,7 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
19271
19286
  (0, import_node_fs47.writeFileSync)(import_node_path43.default.join(directory2, name2(held, "released")), "");
19272
19287
  }
19273
19288
  }
19274
- var import_node_child_process25, import_node_crypto20, import_node_fs47, import_node_os10, import_node_path43, POLL_MS, START_TOLERANCE_MS, name2;
19289
+ var import_node_child_process25, import_node_crypto20, import_node_fs47, import_node_os10, import_node_path43, POLL_MS, INSPECT_ATTEMPTS, START_TOLERANCE_MS, name2;
19275
19290
  var init_swift_root_lock = __esm({
19276
19291
  "src/swift-root-lock.ts"() {
19277
19292
  "use strict";
@@ -19284,6 +19299,7 @@ var init_swift_root_lock = __esm({
19284
19299
  init_process_group();
19285
19300
  init_process_table();
19286
19301
  POLL_MS = 250;
19302
+ INSPECT_ATTEMPTS = 5;
19287
19303
  START_TOLERANCE_MS = 2e3;
19288
19304
  name2 = (number3, suffix) => `${String(number3).padStart(12, "0")}.${suffix}`;
19289
19305
  }
@@ -22348,8 +22364,8 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
22348
22364
  const moduleName = swiftTargetModuleName(name3);
22349
22365
  const originalMap = originalMaps.get(moduleName);
22350
22366
  const stagedMap = sourceModuleMaps.get(moduleName);
22351
- const originalPath = originalMap ? import_node_path47.default.join(layout2.root, originalMap) : stagedMap?.path;
22352
- const originalContents = originalMap ? input.files[originalMap] : stagedMap?.contents;
22367
+ const originalPath = stagedMap?.path ?? (originalMap ? import_node_path47.default.join(layout2.root, originalMap) : void 0);
22368
+ const originalContents = stagedMap?.contents ?? (originalMap && input.files[originalMap]);
22353
22369
  const originalTokens = originalContents ? moduleMapTokens(originalContents) : [];
22354
22370
  if (originalPath && originalTokens.some(
22355
22371
  (token, index) => token === "module" && (originalTokens[index + 1] === "Swift" || originalTokens[index + 1] === `${moduleName}.Swift`)
@@ -24281,7 +24297,7 @@ int EXUpdatesApplyBSDiffPatch(const char * _Nonnull oldFilePath,
24281
24297
  REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
24282
24298
  MULTI_MANIFEST_VERSION = 68;
24283
24299
  SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
24284
- compilerSourceDigest = true ? "eba60b7a2e9485f928a6ec2e544e10d84b2b33430be66b9e069c9797a927af86" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
24300
+ compilerSourceDigest = true ? "ae9e08389e6ab1901846342a7b347d7c10f8074172cf5d4d6505f7e955879ad4" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
24285
24301
  nativeCxxCompilerFlags = ["-fno-cxx-modules"];
24286
24302
  cFlagArray = (flags) => JSON.stringify(withoutGlogModuleMap(flags));
24287
24303
  cxxFlagArray = (flags) => JSON.stringify([...nativeCxxCompilerFlags, ...withoutGlogModuleMap(flags)]);
@@ -28412,7 +28428,7 @@ var init_swift_standin_digest = __esm({
28412
28428
  STANDIN_DIGEST_ENTRYPOINTS = ["swift-standins.ts", "swift-objc-compile.ts"];
28413
28429
  SPECIFIER = /from\s*['"]([^'"]+)['"]|import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
28414
28430
  standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
28415
- STANDIN_SOURCE_DIGEST = true ? "1a62599378cd7cdf32385f588eb3f983f07ea222d145ec5b6dc34cce9104f46c" : standinSourceDigest();
28431
+ STANDIN_SOURCE_DIGEST = true ? "967c1c2a3b66ac640e0162783ed9e21b09ff285f8e1f7d4327b70416699e14c8" : standinSourceDigest();
28416
28432
  }
28417
28433
  });
28418
28434
 
@@ -38327,6 +38343,21 @@ function snapshotCompileInput(snapshot) {
38327
38343
  };
38328
38344
  return snapshot.glue ? withNativeSourceGlue(input, snapshot.glue) : input;
38329
38345
  }
38346
+ function swiftBuildRoot(packagePath, moduleRoot) {
38347
+ if (process.env.CONTRAST_SWIFT_BUILD_ROOT) return process.env.CONTRAST_SWIFT_BUILD_ROOT;
38348
+ const resolvedPath = import_node_path77.default.resolve(packagePath);
38349
+ const parts = resolvedPath.split(import_node_path77.default.sep);
38350
+ const scopedAt = Math.max(
38351
+ parts.lastIndexOf("peach-expo-swift"),
38352
+ parts.lastIndexOf("peach-nitro-swift")
38353
+ );
38354
+ const buildKeyPath = scopedAt >= 0 && parts.length >= scopedAt + 3 ? parts.slice(0, scopedAt + 2).join(import_node_path77.default.sep) : sourceEntries().get(resolvedPath) ?? resolvedPath;
38355
+ return import_node_path77.default.join(
38356
+ swiftCacheDir(),
38357
+ "swift-builds",
38358
+ (0, import_node_crypto40.createHash)("sha256").update(`${moduleRoot}\0${buildKeyPath}`).digest("hex").slice(0, 16)
38359
+ );
38360
+ }
38330
38361
  function installedWorkspaceInput(packagePath, entry, moduleRoot) {
38331
38362
  const project = projectFor(packagePath);
38332
38363
  return withXcodeLayout(project.packagePath, () => {
@@ -38409,22 +38440,7 @@ async function compile(packagePath, stamp, moduleRootOverride, hosted, snapshot,
38409
38440
  // building each other's sources. each app and module checkout still gets
38410
38441
  // its own root, so they do not queue and the same app keeps its
38411
38442
  // incremental build across restarts.
38412
- buildRoot: (() => {
38413
- if (process.env.CONTRAST_SWIFT_BUILD_ROOT)
38414
- return process.env.CONTRAST_SWIFT_BUILD_ROOT;
38415
- const resolvedPath = import_node_path77.default.resolve(packagePath);
38416
- const parts = resolvedPath.split(import_node_path77.default.sep);
38417
- const scopedAt = Math.max(
38418
- parts.lastIndexOf("peach-expo-swift"),
38419
- parts.lastIndexOf("peach-nitro-swift")
38420
- );
38421
- const buildKeyPath = scopedAt >= 0 && parts.length >= scopedAt + 3 ? parts.slice(0, scopedAt + 2).join(import_node_path77.default.sep) : sourceEntries().get(resolvedPath) ?? resolvedPath;
38422
- return import_node_path77.default.join(
38423
- swiftCacheDir(),
38424
- "swift-builds",
38425
- (0, import_node_crypto40.createHash)("sha256").update(`${moduleRoot}\0${buildKeyPath}`).digest("hex").slice(0, 16)
38426
- );
38427
- })(),
38443
+ buildRoot: swiftBuildRoot(packagePath, moduleRoot),
38428
38444
  moduleRoot,
38429
38445
  ...toolchain,
38430
38446
  signal
@@ -48949,7 +48965,7 @@ init_swift_native_pin();
48949
48965
  init_xcode_project();
48950
48966
  var EXPO_NATIVE_ENTRY_NAME = "ios";
48951
48967
  function expoNativeCompilerDigestValue() {
48952
- return true ? "db679f96e034ef5a3e217e2553ec748fa11d5dd68cd9247dd7bcae61a03d42a1" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
48968
+ return true ? "963a611a48c6145fa72e127fa98e60722db74c1cc40fd8ed1fbd6e229bf4b5bf" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
48953
48969
  }
48954
48970
  var IDENTITY_SOURCE_SKIPS = 1 | 4 | 8 | 16 | 32 | 64 | 128 | 4096;
48955
48971
  function readSources(value) {
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // ../peach-globals/src/bundle-global-footer.ts
4
4
  function findBundleFooter(source, prefix) {
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;