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
package/dist-lib/sdk.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
  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 __create = Object.create;
@@ -53684,6 +53684,17 @@ function processTable(pid) {
53684
53684
  );
53685
53685
  }
53686
53686
  }
53687
+ async function processTableWithRetry(pid, signal) {
53688
+ for (let attempt = 1; ; attempt++) {
53689
+ try {
53690
+ return processTable(pid);
53691
+ } catch (error) {
53692
+ if (attempt >= INSPECT_ATTEMPTS) throw error;
53693
+ await pause(POLL_MS * attempt, signal);
53694
+ signal?.throwIfAborted();
53695
+ }
53696
+ }
53697
+ }
53687
53698
  function sameProcess(row, identity2) {
53688
53699
  return row.pid === identity2.pid && Math.abs(row.start - identity2.start) <= START_TOLERANCE_MS;
53689
53700
  }
@@ -53758,7 +53769,11 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
53758
53769
  );
53759
53770
  (0, import_node_fs51.mkdirSync)(directory2, { recursive: true });
53760
53771
  const token = (0, import_node_crypto24.randomUUID)();
53761
- const owner = JSON.stringify(ownIdentity(process.pid));
53772
+ const ownRow = (await processTableWithRetry(process.pid, signal)).find(
53773
+ (candidate) => candidate.pid === process.pid && !candidate.zombie
53774
+ );
53775
+ if (!ownRow) throw new Error(`swift root lock cannot find process ${process.pid}`);
53776
+ const owner = JSON.stringify({ pid: process.pid, start: ownRow.start });
53762
53777
  const pending2 = import_node_path47.default.join(directory2, `pending.${token}`);
53763
53778
  let held = 0;
53764
53779
  for (; ; ) {
@@ -53767,15 +53782,15 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
53767
53782
  const current2 = newest > 0 ? readGeneration(directory2, newest) : null;
53768
53783
  if (newest > 0 && !current2) continue;
53769
53784
  if (current2 && !current2.released) {
53770
- const owner2 = processTable(current2.holder.pid);
53771
- if (owner2.some((row) => !row.zombie && sameProcess(row, current2.holder))) {
53785
+ const holder = await processTableWithRetry(current2.holder.pid, signal);
53786
+ if (holder.some((row) => !row.zombie && sameProcess(row, current2.holder))) {
53772
53787
  if (!wait) return void 0;
53773
53788
  await pause(POLL_MS, signal);
53774
53789
  continue;
53775
53790
  }
53776
53791
  const children2 = readChildren(directory2, newest);
53777
53792
  if (children2.length) {
53778
- const table = processTable();
53793
+ const table = await processTableWithRetry(void 0, signal);
53779
53794
  if (children2.some((child) => groupAlive(table, child))) {
53780
53795
  if (!wait) return void 0;
53781
53796
  await pause(POLL_MS, signal);
@@ -53850,7 +53865,7 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
53850
53865
  (0, import_node_fs51.writeFileSync)(import_node_path47.default.join(directory2, name2(held, "released")), "");
53851
53866
  }
53852
53867
  }
53853
- var import_node_child_process29, import_node_crypto24, import_node_fs51, import_node_os11, import_node_path47, POLL_MS, START_TOLERANCE_MS, name2;
53868
+ var import_node_child_process29, import_node_crypto24, import_node_fs51, import_node_os11, import_node_path47, POLL_MS, INSPECT_ATTEMPTS, START_TOLERANCE_MS, name2;
53854
53869
  var init_swift_root_lock = __esm({
53855
53870
  "src/swift-root-lock.ts"() {
53856
53871
  "use strict";
@@ -53863,6 +53878,7 @@ var init_swift_root_lock = __esm({
53863
53878
  init_process_group();
53864
53879
  init_process_table();
53865
53880
  POLL_MS = 250;
53881
+ INSPECT_ATTEMPTS = 5;
53866
53882
  START_TOLERANCE_MS = 2e3;
53867
53883
  name2 = (number3, suffix) => `${String(number3).padStart(12, "0")}.${suffix}`;
53868
53884
  }
@@ -56945,8 +56961,8 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
56945
56961
  const moduleName2 = swiftTargetModuleName(name3);
56946
56962
  const originalMap = originalMaps.get(moduleName2);
56947
56963
  const stagedMap = sourceModuleMaps.get(moduleName2);
56948
- const originalPath = originalMap ? import_node_path51.default.join(layout2.root, originalMap) : stagedMap?.path;
56949
- const originalContents = originalMap ? input.files[originalMap] : stagedMap?.contents;
56964
+ const originalPath = stagedMap?.path ?? (originalMap ? import_node_path51.default.join(layout2.root, originalMap) : void 0);
56965
+ const originalContents = stagedMap?.contents ?? (originalMap && input.files[originalMap]);
56950
56966
  const originalTokens = originalContents ? moduleMapTokens(originalContents) : [];
56951
56967
  if (originalPath && originalTokens.some(
56952
56968
  (token, index) => token === "module" && (originalTokens[index + 1] === "Swift" || originalTokens[index + 1] === `${moduleName2}.Swift`)
@@ -58879,7 +58895,7 @@ int EXUpdatesApplyBSDiffPatch(const char * _Nonnull oldFilePath,
58879
58895
  REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
58880
58896
  MULTI_MANIFEST_VERSION = 68;
58881
58897
  SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
58882
- compilerSourceDigest = true ? "eba60b7a2e9485f928a6ec2e544e10d84b2b33430be66b9e069c9797a927af86" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
58898
+ compilerSourceDigest = true ? "ae9e08389e6ab1901846342a7b347d7c10f8074172cf5d4d6505f7e955879ad4" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
58883
58899
  nativeCxxCompilerFlags = ["-fno-cxx-modules"];
58884
58900
  cFlagArray = (flags) => JSON.stringify(withoutGlogModuleMap(flags));
58885
58901
  cxxFlagArray = (flags) => JSON.stringify([...nativeCxxCompilerFlags, ...withoutGlogModuleMap(flags)]);
@@ -65359,7 +65375,7 @@ var init_swift_standin_digest = __esm({
65359
65375
  STANDIN_DIGEST_ENTRYPOINTS = ["swift-standins.ts", "swift-objc-compile.ts"];
65360
65376
  SPECIFIER = /from\s*['"]([^'"]+)['"]|import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
65361
65377
  standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
65362
- STANDIN_SOURCE_DIGEST = true ? "1a62599378cd7cdf32385f588eb3f983f07ea222d145ec5b6dc34cce9104f46c" : standinSourceDigest();
65378
+ STANDIN_SOURCE_DIGEST = true ? "967c1c2a3b66ac640e0162783ed9e21b09ff285f8e1f7d4327b70416699e14c8" : standinSourceDigest();
65363
65379
  }
65364
65380
  });
65365
65381
 
@@ -65820,7 +65836,7 @@ var init_package_tree_digest = __esm({
65820
65836
 
65821
65837
  // src/expo-native-prebuilt.ts
65822
65838
  function expoNativeCompilerDigestValue() {
65823
- return true ? "db679f96e034ef5a3e217e2553ec748fa11d5dd68cd9247dd7bcae61a03d42a1" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
65839
+ return true ? "963a611a48c6145fa72e127fa98e60722db74c1cc40fd8ed1fbd6e229bf4b5bf" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
65824
65840
  }
65825
65841
  function readSources(value) {
65826
65842
  const sources = isRecord(value) ? value.sources : null;
@@ -74817,6 +74833,7 @@ __export(swift_host_exports, {
74817
74833
  sourceStamp: () => sourceStamp,
74818
74834
  standinLibraries: () => standinLibraries,
74819
74835
  swiftApiGapReport: () => swiftApiGapReport,
74836
+ swiftBuildRoot: () => swiftBuildRoot,
74820
74837
  swiftPackageAssets: () => swiftPackageAssets,
74821
74838
  swiftPackageMetadata: () => swiftPackageMetadata,
74822
74839
  swiftPackageWatchFiles: () => swiftPackageWatchFiles,
@@ -76600,6 +76617,21 @@ function compileInput(packagePath, entry) {
76600
76617
  () => snapshotCompileInput(packageSnapshot(project2, entry))
76601
76618
  );
76602
76619
  }
76620
+ function swiftBuildRoot(packagePath, moduleRoot) {
76621
+ if (process.env.CONTRAST_SWIFT_BUILD_ROOT) return process.env.CONTRAST_SWIFT_BUILD_ROOT;
76622
+ const resolvedPath = import_node_path83.default.resolve(packagePath);
76623
+ const parts = resolvedPath.split(import_node_path83.default.sep);
76624
+ const scopedAt = Math.max(
76625
+ parts.lastIndexOf("peach-expo-swift"),
76626
+ parts.lastIndexOf("peach-nitro-swift")
76627
+ );
76628
+ const buildKeyPath = scopedAt >= 0 && parts.length >= scopedAt + 3 ? parts.slice(0, scopedAt + 2).join(import_node_path83.default.sep) : sourceEntries().get(resolvedPath) ?? resolvedPath;
76629
+ return import_node_path83.default.join(
76630
+ swiftCacheDir(),
76631
+ "swift-builds",
76632
+ (0, import_node_crypto45.createHash)("sha256").update(`${moduleRoot}\0${buildKeyPath}`).digest("hex").slice(0, 16)
76633
+ );
76634
+ }
76603
76635
  function installedWorkspaceInput(packagePath, entry, moduleRoot) {
76604
76636
  const project2 = projectFor(packagePath);
76605
76637
  return withXcodeLayout(project2.packagePath, () => {
@@ -76682,22 +76714,7 @@ async function compile(packagePath, stamp, moduleRootOverride, hosted, snapshot,
76682
76714
  // building each other's sources. each app and module checkout still gets
76683
76715
  // its own root, so they do not queue and the same app keeps its
76684
76716
  // incremental build across restarts.
76685
- buildRoot: (() => {
76686
- if (process.env.CONTRAST_SWIFT_BUILD_ROOT)
76687
- return process.env.CONTRAST_SWIFT_BUILD_ROOT;
76688
- const resolvedPath = import_node_path83.default.resolve(packagePath);
76689
- const parts = resolvedPath.split(import_node_path83.default.sep);
76690
- const scopedAt = Math.max(
76691
- parts.lastIndexOf("peach-expo-swift"),
76692
- parts.lastIndexOf("peach-nitro-swift")
76693
- );
76694
- const buildKeyPath = scopedAt >= 0 && parts.length >= scopedAt + 3 ? parts.slice(0, scopedAt + 2).join(import_node_path83.default.sep) : sourceEntries().get(resolvedPath) ?? resolvedPath;
76695
- return import_node_path83.default.join(
76696
- swiftCacheDir(),
76697
- "swift-builds",
76698
- (0, import_node_crypto45.createHash)("sha256").update(`${moduleRoot}\0${buildKeyPath}`).digest("hex").slice(0, 16)
76699
- );
76700
- })(),
76717
+ buildRoot: swiftBuildRoot(packagePath, moduleRoot),
76701
76718
  moduleRoot,
76702
76719
  ...toolchain,
76703
76720
  signal
@@ -86497,7 +86514,7 @@ var init_nitro_superset = __esm({
86497
86514
  init_nitroContract();
86498
86515
  init_swift_standin_digest();
86499
86516
  NITRO_SUPERSET_ENTRY_NAME = "superset";
86500
- NITRO_COMPILER_DIGEST = true ? "a4a039ea02c6f6891931ee5a3d0136be472592ea109f8bc1b947d9d235a9559c" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
86517
+ NITRO_COMPILER_DIGEST = true ? "b67bb7ac0400689754e30ae2ef421de96e239e21485fc028366cf86bdb1095b4" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
86501
86518
  nitroSupersetLock = parseLock(nitro_superset_lock_default);
86502
86519
  nitroSupersetKey = (inputs) => nativeEntryKey({ ...inputs, compiler: NITRO_COMPILER_DIGEST });
86503
86520
  published2 = /* @__PURE__ */ new Map();
@@ -87209,7 +87226,7 @@ var init_one_sdk_bundle = __esm({
87209
87226
  var runtime_companion_default;
87210
87227
  var init_runtime_companion = __esm({
87211
87228
  "runtime-companion.json"() {
87212
- runtime_companion_default = { abi: 1, sha256: "6b48c0f7ae1d87e581af7cf445b2eaad2e1a4aa8fad23a00e1ae90916b2bbc02", file: "node/cli-6b48c0f7ae1d87e581af7cf445b2eaad2e1a4aa8fad23a00e1ae90916b2bbc02.cjs" };
87229
+ runtime_companion_default = { abi: 1, sha256: "ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42", file: "node/cli-ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42.cjs" };
87213
87230
  }
87214
87231
  });
87215
87232
 
@@ -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;
@@ -11166,6 +11166,7 @@ var import_node_fs22 = require("node:fs");
11166
11166
  var import_node_os10 = require("node:os");
11167
11167
  var import_node_path23 = __toESM(require("node:path"), 1);
11168
11168
  var POLL_MS = 250;
11169
+ var INSPECT_ATTEMPTS = 5;
11169
11170
  var START_TOLERANCE_MS = 2e3;
11170
11171
  function errorCode(error) {
11171
11172
  return error instanceof Error && "code" in error && typeof error.code === "string" ? error.code : void 0;
@@ -11179,6 +11180,17 @@ function processTable(pid) {
11179
11180
  );
11180
11181
  }
11181
11182
  }
11183
+ async function processTableWithRetry(pid, signal) {
11184
+ for (let attempt = 1; ; attempt++) {
11185
+ try {
11186
+ return processTable(pid);
11187
+ } catch (error) {
11188
+ if (attempt >= INSPECT_ATTEMPTS) throw error;
11189
+ await pause(POLL_MS * attempt, signal);
11190
+ signal?.throwIfAborted();
11191
+ }
11192
+ }
11193
+ }
11182
11194
  function sameProcess(row, identity) {
11183
11195
  return row.pid === identity.pid && Math.abs(row.start - identity.start) <= START_TOLERANCE_MS;
11184
11196
  }
@@ -11248,7 +11260,11 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
11248
11260
  );
11249
11261
  (0, import_node_fs22.mkdirSync)(directory, { recursive: true });
11250
11262
  const token = (0, import_node_crypto12.randomUUID)();
11251
- const owner = JSON.stringify(ownIdentity(process.pid));
11263
+ const ownRow = (await processTableWithRetry(process.pid, signal)).find(
11264
+ (candidate) => candidate.pid === process.pid && !candidate.zombie
11265
+ );
11266
+ if (!ownRow) throw new Error(`swift root lock cannot find process ${process.pid}`);
11267
+ const owner = JSON.stringify({ pid: process.pid, start: ownRow.start });
11252
11268
  const pending = import_node_path23.default.join(directory, `pending.${token}`);
11253
11269
  let held = 0;
11254
11270
  for (; ; ) {
@@ -11257,15 +11273,15 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
11257
11273
  const current = newest > 0 ? readGeneration(directory, newest) : null;
11258
11274
  if (newest > 0 && !current) continue;
11259
11275
  if (current && !current.released) {
11260
- const owner2 = processTable(current.holder.pid);
11261
- if (owner2.some((row) => !row.zombie && sameProcess(row, current.holder))) {
11276
+ const holder = await processTableWithRetry(current.holder.pid, signal);
11277
+ if (holder.some((row) => !row.zombie && sameProcess(row, current.holder))) {
11262
11278
  if (!wait) return void 0;
11263
11279
  await pause(POLL_MS, signal);
11264
11280
  continue;
11265
11281
  }
11266
11282
  const children2 = readChildren(directory, newest);
11267
11283
  if (children2.length) {
11268
- const table = processTable();
11284
+ const table = await processTableWithRetry(void 0, signal);
11269
11285
  if (children2.some((child) => groupAlive(table, child))) {
11270
11286
  if (!wait) return void 0;
11271
11287
  await pause(POLL_MS, signal);
@@ -12623,7 +12639,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
12623
12639
  var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
12624
12640
  var MULTI_MANIFEST_VERSION = 68;
12625
12641
  var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
12626
- var compilerSourceDigest = true ? "eba60b7a2e9485f928a6ec2e544e10d84b2b33430be66b9e069c9797a927af86" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
12642
+ var compilerSourceDigest = true ? "ae9e08389e6ab1901846342a7b347d7c10f8074172cf5d4d6505f7e955879ad4" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
12627
12643
  function swiftArtifactHash(input, release, moduleRoot) {
12628
12644
  const hash = (0, import_node_crypto13.createHash)("sha256");
12629
12645
  hash.update(`swift-compile
@@ -15334,8 +15350,8 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
15334
15350
  const moduleName = swiftTargetModuleName(name2);
15335
15351
  const originalMap = originalMaps.get(moduleName);
15336
15352
  const stagedMap = sourceModuleMaps.get(moduleName);
15337
- const originalPath = originalMap ? import_node_path27.default.join(layout2.root, originalMap) : stagedMap?.path;
15338
- const originalContents = originalMap ? input.files[originalMap] : stagedMap?.contents;
15353
+ const originalPath = stagedMap?.path ?? (originalMap ? import_node_path27.default.join(layout2.root, originalMap) : void 0);
15354
+ const originalContents = stagedMap?.contents ?? (originalMap && input.files[originalMap]);
15339
15355
  const originalTokens = originalContents ? moduleMapTokens(originalContents) : [];
15340
15356
  if (originalPath && originalTokens.some(
15341
15357
  (token, index) => token === "module" && (originalTokens[index + 1] === "Swift" || originalTokens[index + 1] === `${moduleName}.Swift`)
@@ -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/swift-compile.ts
4
4
  import {
@@ -11145,6 +11145,7 @@ import {
11145
11145
  import { homedir as homedir2 } from "node:os";
11146
11146
  import path23 from "node:path";
11147
11147
  var POLL_MS = 250;
11148
+ var INSPECT_ATTEMPTS = 5;
11148
11149
  var START_TOLERANCE_MS = 2e3;
11149
11150
  function errorCode(error) {
11150
11151
  return error instanceof Error && "code" in error && typeof error.code === "string" ? error.code : void 0;
@@ -11158,6 +11159,17 @@ function processTable(pid) {
11158
11159
  );
11159
11160
  }
11160
11161
  }
11162
+ async function processTableWithRetry(pid, signal) {
11163
+ for (let attempt = 1; ; attempt++) {
11164
+ try {
11165
+ return processTable(pid);
11166
+ } catch (error) {
11167
+ if (attempt >= INSPECT_ATTEMPTS) throw error;
11168
+ await pause(POLL_MS * attempt, signal);
11169
+ signal?.throwIfAborted();
11170
+ }
11171
+ }
11172
+ }
11161
11173
  function sameProcess(row, identity) {
11162
11174
  return row.pid === identity.pid && Math.abs(row.start - identity.start) <= START_TOLERANCE_MS;
11163
11175
  }
@@ -11227,7 +11239,11 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
11227
11239
  );
11228
11240
  mkdirSync4(directory, { recursive: true });
11229
11241
  const token = randomUUID4();
11230
- const owner = JSON.stringify(ownIdentity(process.pid));
11242
+ const ownRow = (await processTableWithRetry(process.pid, signal)).find(
11243
+ (candidate) => candidate.pid === process.pid && !candidate.zombie
11244
+ );
11245
+ if (!ownRow) throw new Error(`swift root lock cannot find process ${process.pid}`);
11246
+ const owner = JSON.stringify({ pid: process.pid, start: ownRow.start });
11231
11247
  const pending = path23.join(directory, `pending.${token}`);
11232
11248
  let held = 0;
11233
11249
  for (; ; ) {
@@ -11236,15 +11252,15 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
11236
11252
  const current = newest > 0 ? readGeneration(directory, newest) : null;
11237
11253
  if (newest > 0 && !current) continue;
11238
11254
  if (current && !current.released) {
11239
- const owner2 = processTable(current.holder.pid);
11240
- if (owner2.some((row) => !row.zombie && sameProcess(row, current.holder))) {
11255
+ const holder = await processTableWithRetry(current.holder.pid, signal);
11256
+ if (holder.some((row) => !row.zombie && sameProcess(row, current.holder))) {
11241
11257
  if (!wait) return void 0;
11242
11258
  await pause(POLL_MS, signal);
11243
11259
  continue;
11244
11260
  }
11245
11261
  const children2 = readChildren(directory, newest);
11246
11262
  if (children2.length) {
11247
- const table = processTable();
11263
+ const table = await processTableWithRetry(void 0, signal);
11248
11264
  if (children2.some((child) => groupAlive(table, child))) {
11249
11265
  if (!wait) return void 0;
11250
11266
  await pause(POLL_MS, signal);
@@ -12602,7 +12618,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
12602
12618
  var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
12603
12619
  var MULTI_MANIFEST_VERSION = 68;
12604
12620
  var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
12605
- var compilerSourceDigest = true ? "eba60b7a2e9485f928a6ec2e544e10d84b2b33430be66b9e069c9797a927af86" : swiftCompilerSourceDigest(import.meta.dirname);
12621
+ var compilerSourceDigest = true ? "ae9e08389e6ab1901846342a7b347d7c10f8074172cf5d4d6505f7e955879ad4" : swiftCompilerSourceDigest(import.meta.dirname);
12606
12622
  function swiftArtifactHash(input, release, moduleRoot) {
12607
12623
  const hash = createHash13("sha256");
12608
12624
  hash.update(`swift-compile
@@ -15313,8 +15329,8 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
15313
15329
  const moduleName = swiftTargetModuleName(name2);
15314
15330
  const originalMap = originalMaps.get(moduleName);
15315
15331
  const stagedMap = sourceModuleMaps.get(moduleName);
15316
- const originalPath = originalMap ? path27.join(layout2.root, originalMap) : stagedMap?.path;
15317
- const originalContents = originalMap ? input.files[originalMap] : stagedMap?.contents;
15332
+ const originalPath = stagedMap?.path ?? (originalMap ? path27.join(layout2.root, originalMap) : void 0);
15333
+ const originalContents = stagedMap?.contents ?? (originalMap && input.files[originalMap]);
15318
15334
  const originalTokens = originalContents ? moduleMapTokens(originalContents) : [];
15319
15335
  if (originalPath && originalTokens.some(
15320
15336
  (token, index) => token === "module" && (originalTokens[index + 1] === "Swift" || originalTokens[index + 1] === `${moduleName}.Swift`)
@@ -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/swift-package.ts
4
4
  function swiftManifestSettings(target) {
@@ -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/is-record.ts
4
4
  function isRecord(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;
@@ -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;
@@ -16181,6 +16181,7 @@ var import_node_fs24 = require("node:fs");
16181
16181
  var import_node_os10 = require("node:os");
16182
16182
  var import_node_path23 = __toESM(require("node:path"), 1);
16183
16183
  var POLL_MS = 250;
16184
+ var INSPECT_ATTEMPTS = 5;
16184
16185
  var START_TOLERANCE_MS = 2e3;
16185
16186
  function errorCode(error) {
16186
16187
  return error instanceof Error && "code" in error && typeof error.code === "string" ? error.code : void 0;
@@ -16194,6 +16195,17 @@ function processTable(pid) {
16194
16195
  );
16195
16196
  }
16196
16197
  }
16198
+ async function processTableWithRetry(pid, signal) {
16199
+ for (let attempt = 1; ; attempt++) {
16200
+ try {
16201
+ return processTable(pid);
16202
+ } catch (error) {
16203
+ if (attempt >= INSPECT_ATTEMPTS) throw error;
16204
+ await pause(POLL_MS * attempt, signal);
16205
+ signal?.throwIfAborted();
16206
+ }
16207
+ }
16208
+ }
16197
16209
  function sameProcess(row, identity2) {
16198
16210
  return row.pid === identity2.pid && Math.abs(row.start - identity2.start) <= START_TOLERANCE_MS;
16199
16211
  }
@@ -16263,7 +16275,11 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
16263
16275
  );
16264
16276
  (0, import_node_fs24.mkdirSync)(directory, { recursive: true });
16265
16277
  const token = (0, import_node_crypto12.randomUUID)();
16266
- const owner = JSON.stringify(ownIdentity(process.pid));
16278
+ const ownRow = (await processTableWithRetry(process.pid, signal)).find(
16279
+ (candidate) => candidate.pid === process.pid && !candidate.zombie
16280
+ );
16281
+ if (!ownRow) throw new Error(`swift root lock cannot find process ${process.pid}`);
16282
+ const owner = JSON.stringify({ pid: process.pid, start: ownRow.start });
16267
16283
  const pending = import_node_path23.default.join(directory, `pending.${token}`);
16268
16284
  let held = 0;
16269
16285
  for (; ; ) {
@@ -16272,15 +16288,15 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
16272
16288
  const current = newest > 0 ? readGeneration(directory, newest) : null;
16273
16289
  if (newest > 0 && !current) continue;
16274
16290
  if (current && !current.released) {
16275
- const owner2 = processTable(current.holder.pid);
16276
- if (owner2.some((row) => !row.zombie && sameProcess(row, current.holder))) {
16291
+ const holder = await processTableWithRetry(current.holder.pid, signal);
16292
+ if (holder.some((row) => !row.zombie && sameProcess(row, current.holder))) {
16277
16293
  if (!wait) return void 0;
16278
16294
  await pause(POLL_MS, signal);
16279
16295
  continue;
16280
16296
  }
16281
16297
  const children2 = readChildren(directory, newest);
16282
16298
  if (children2.length) {
16283
- const table = processTable();
16299
+ const table = await processTableWithRetry(void 0, signal);
16284
16300
  if (children2.some((child) => groupAlive(table, child))) {
16285
16301
  if (!wait) return void 0;
16286
16302
  await pause(POLL_MS, signal);
@@ -17477,7 +17493,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
17477
17493
  var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
17478
17494
  var MULTI_MANIFEST_VERSION = 68;
17479
17495
  var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
17480
- var compilerSourceDigest = true ? "eba60b7a2e9485f928a6ec2e544e10d84b2b33430be66b9e069c9797a927af86" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
17496
+ var compilerSourceDigest = true ? "ae9e08389e6ab1901846342a7b347d7c10f8074172cf5d4d6505f7e955879ad4" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
17481
17497
  function swiftArtifactHash(input, release, moduleRoot) {
17482
17498
  const hash = (0, import_node_crypto13.createHash)("sha256");
17483
17499
  hash.update(`swift-compile
@@ -20095,8 +20111,8 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
20095
20111
  const moduleName = swiftTargetModuleName(name3);
20096
20112
  const originalMap = originalMaps.get(moduleName);
20097
20113
  const stagedMap = sourceModuleMaps.get(moduleName);
20098
- const originalPath = originalMap ? import_node_path27.default.join(layout2.root, originalMap) : stagedMap?.path;
20099
- const originalContents = originalMap ? input.files[originalMap] : stagedMap?.contents;
20114
+ const originalPath = stagedMap?.path ?? (originalMap ? import_node_path27.default.join(layout2.root, originalMap) : void 0);
20115
+ const originalContents = stagedMap?.contents ?? (originalMap && input.files[originalMap]);
20100
20116
  const originalTokens = originalContents ? moduleMapTokens(originalContents) : [];
20101
20117
  if (originalPath && originalTokens.some(
20102
20118
  (token, index) => token === "module" && (originalTokens[index + 1] === "Swift" || originalTokens[index + 1] === `${moduleName}.Swift`)
@@ -30937,7 +30953,7 @@ function sourceClosureDigest(srcDir, entrypoints) {
30937
30953
  return hash.digest("hex");
30938
30954
  }
30939
30955
  var standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
30940
- var STANDIN_SOURCE_DIGEST = true ? "1a62599378cd7cdf32385f588eb3f983f07ea222d145ec5b6dc34cce9104f46c" : standinSourceDigest();
30956
+ var STANDIN_SOURCE_DIGEST = true ? "967c1c2a3b66ac640e0162783ed9e21b09ff285f8e1f7d4327b70416699e14c8" : standinSourceDigest();
30941
30957
 
30942
30958
  // src/swift-standins.ts
30943
30959
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -37809,6 +37825,21 @@ function compileInput(packagePath, entry) {
37809
37825
  () => snapshotCompileInput(packageSnapshot(project, entry))
37810
37826
  );
37811
37827
  }
37828
+ function swiftBuildRoot(packagePath, moduleRoot) {
37829
+ if (process.env.CONTRAST_SWIFT_BUILD_ROOT) return process.env.CONTRAST_SWIFT_BUILD_ROOT;
37830
+ const resolvedPath = import_node_path54.default.resolve(packagePath);
37831
+ const parts = resolvedPath.split(import_node_path54.default.sep);
37832
+ const scopedAt = Math.max(
37833
+ parts.lastIndexOf("peach-expo-swift"),
37834
+ parts.lastIndexOf("peach-nitro-swift")
37835
+ );
37836
+ const buildKeyPath = scopedAt >= 0 && parts.length >= scopedAt + 3 ? parts.slice(0, scopedAt + 2).join(import_node_path54.default.sep) : sourceEntries().get(resolvedPath) ?? resolvedPath;
37837
+ return import_node_path54.default.join(
37838
+ swiftCacheDir(),
37839
+ "swift-builds",
37840
+ (0, import_node_crypto29.createHash)("sha256").update(`${moduleRoot}\0${buildKeyPath}`).digest("hex").slice(0, 16)
37841
+ );
37842
+ }
37812
37843
  async function compile(packagePath, stamp, moduleRootOverride, hosted, snapshot, signal) {
37813
37844
  const resources = {
37814
37845
  table: snapshot.resources.table,
@@ -37868,22 +37899,7 @@ async function compile(packagePath, stamp, moduleRootOverride, hosted, snapshot,
37868
37899
  // building each other's sources. each app and module checkout still gets
37869
37900
  // its own root, so they do not queue and the same app keeps its
37870
37901
  // incremental build across restarts.
37871
- buildRoot: (() => {
37872
- if (process.env.CONTRAST_SWIFT_BUILD_ROOT)
37873
- return process.env.CONTRAST_SWIFT_BUILD_ROOT;
37874
- const resolvedPath = import_node_path54.default.resolve(packagePath);
37875
- const parts = resolvedPath.split(import_node_path54.default.sep);
37876
- const scopedAt = Math.max(
37877
- parts.lastIndexOf("peach-expo-swift"),
37878
- parts.lastIndexOf("peach-nitro-swift")
37879
- );
37880
- const buildKeyPath = scopedAt >= 0 && parts.length >= scopedAt + 3 ? parts.slice(0, scopedAt + 2).join(import_node_path54.default.sep) : sourceEntries().get(resolvedPath) ?? resolvedPath;
37881
- return import_node_path54.default.join(
37882
- swiftCacheDir(),
37883
- "swift-builds",
37884
- (0, import_node_crypto29.createHash)("sha256").update(`${moduleRoot}\0${buildKeyPath}`).digest("hex").slice(0, 16)
37885
- );
37886
- })(),
37902
+ buildRoot: swiftBuildRoot(packagePath, moduleRoot),
37887
37903
  moduleRoot,
37888
37904
  ...toolchain,
37889
37905
  signal
package/dist-lib/vite.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 __create = Object.create;
@@ -1072,7 +1072,7 @@ var init_src = __esm({
1072
1072
  var runtime_companion_default;
1073
1073
  var init_runtime_companion = __esm({
1074
1074
  "runtime-companion.json"() {
1075
- runtime_companion_default = { abi: 1, sha256: "6b48c0f7ae1d87e581af7cf445b2eaad2e1a4aa8fad23a00e1ae90916b2bbc02", file: "node/cli-6b48c0f7ae1d87e581af7cf445b2eaad2e1a4aa8fad23a00e1ae90916b2bbc02.cjs" };
1075
+ runtime_companion_default = { abi: 1, sha256: "ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42", file: "node/cli-ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42.cjs" };
1076
1076
  }
1077
1077
  });
1078
1078
 
@@ -3228,7 +3228,7 @@ function readIosSdkTree(root) {
3228
3228
 
3229
3229
  // src/swift-standin-digest.ts
3230
3230
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
3231
- var STANDIN_SOURCE_DIGEST = true ? "1a62599378cd7cdf32385f588eb3f983f07ea222d145ec5b6dc34cce9104f46c" : standinSourceDigest();
3231
+ var STANDIN_SOURCE_DIGEST = true ? "967c1c2a3b66ac640e0162783ed9e21b09ff285f8e1f7d4327b70416699e14c8" : standinSourceDigest();
3232
3232
 
3233
3233
  // src/expo-native-workspace.ts
3234
3234
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -6742,7 +6742,7 @@ var FOUNDATION_IMPLICIT_MODULES = [
6742
6742
  var FOUNDATION_IMPLICIT_FLAGS = FOUNDATION_IMPLICIT_MODULES.map(
6743
6743
  (module2) => `, "-Xfrontend", "-import-module", "-Xfrontend", "${module2}"`
6744
6744
  ).join("");
6745
- var compilerSourceDigest = true ? "eba60b7a2e9485f928a6ec2e544e10d84b2b33430be66b9e069c9797a927af86" : swiftCompilerSourceDigest2(__sootsim_import_meta_dirname);
6745
+ var compilerSourceDigest = true ? "ae9e08389e6ab1901846342a7b347d7c10f8074172cf5d4d6505f7e955879ad4" : swiftCompilerSourceDigest2(__sootsim_import_meta_dirname);
6746
6746
  var CORE_FOUNDATION_HANDLE_IMPORTS = [
6747
6747
  "CFAllocator",
6748
6748
  "CFArray",
@@ -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/worklet-executable.ts
4
4
  import { parse } from "acorn";
@@ -1,3 +1,4 @@
1
+ import { BrowserURL } from '../../../../peach-globals/src/browser-object-url.d.ts';
1
2
  import type { NativeEvaluationLease } from '../../../../peach-engine/src/guest/native-evaluation-lease.d.ts';
2
3
  export type NativeCookie = {
3
4
  name: string;
@@ -39,7 +40,7 @@ export declare const cookieStores: {
39
40
  readonly native: NativeCookieJar;
40
41
  readonly webKit: NativeCookieJar;
41
42
  };
42
- export declare function createCookieOperations(): {
43
+ export declare function createCookieOperations(URLConstructor: typeof BrowserURL): {
43
44
  storeResponseCookies: (store: CookieStore, url: string, headers: readonly string[]) => void;
44
45
  restore: (cookies: unknown) => CookieStore;
45
46
  cookiesMatching: (store: CookieStore, parsed: URL) => StoredCookie[];
@@ -26,6 +26,10 @@ export interface GlassMotionScope {
26
26
  export interface GlassInteractionGlow {
27
27
  opacity: number;
28
28
  }
29
+ export interface GlassMaterialTint {
30
+ matrix: readonly number[];
31
+ opacity: number;
32
+ }
29
33
  export declare function glassMaterialOutset(style: GlassStyle, width: number, height: number, intensity?: number): number;
30
34
  export declare function glassMaterialDraws<Config extends {
31
35
  material?: GlassStyle;
@@ -1,4 +1,4 @@
1
- import { type GlassInteractionGlow, type GlassMotionScope, type GlassShapeArrow, type GlassShape, type GlassStyle } from './glass-material.d.ts';
1
+ import { type GlassInteractionGlow, type GlassMaterialTint, type GlassMotionScope, type GlassShapeArrow, type GlassShape, type GlassStyle } from './glass-material.d.ts';
2
2
  import { resolveAnimatedLiquidGlassRect } from './liquid-glass-rect.d.ts';
3
3
  import { type LiquidGlassType } from './liquid-glass-shaders.d.ts';
4
4
  import { type FrameDamage } from './render-damage.d.ts';
@@ -42,11 +42,8 @@ export interface LiquidGlassConfig {
42
42
  materialization?: number;
43
43
  materialReferenceSize?: number;
44
44
  keyboardIdiom?: 'phone' | 'pad';
45
- materialTint?: {
46
- gain: number;
47
- bias: number;
48
- opacity: number;
49
- };
45
+ materialTint?: GlassMaterialTint;
46
+ materialTintDark?: GlassMaterialTint;
50
47
  type?: LiquidGlassType;
51
48
  colorScheme?: LiquidGlassColorScheme;
52
49
  backdropSource?: 'tenant';
@@ -453,6 +453,7 @@ export interface SootSimStyle {
453
453
  _textBackingRaster?: true;
454
454
  _fieldLine?: boolean;
455
455
  _swiftUIWidthProposal?: number;
456
+ _swiftUIHeightProposal?: number;
456
457
  _minimumScaleFactor?: number;
457
458
  _hyphenationLocale?: string;
458
459
  _hyphenationFactor?: number;