peachsim 0.1.2191 → 0.1.2192

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 (92) 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 +67 -55
  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 +1 -1
  25. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  26. package/dist-lib/expo-swift-bundle.cjs +62 -50
  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 -6
  30. package/dist-lib/host/bridge-host.cjs +67 -55
  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 +3 -3
  48. package/dist-lib/native-app-identity-project.mjs +3 -3
  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 +67 -56
  68. package/dist-lib/swift-compile.cjs +8 -17
  69. package/dist-lib/swift-compile.mjs +8 -17
  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 +41 -23
  75. package/dist-lib/swift.cjs +1 -1
  76. package/dist-lib/vite-swift.cjs +44 -32
  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-engine/src/engine/scroll-momentum-math.d.ts +2 -1
  81. package/dist-types/packages/peach-engine/src/render-worker/compositor-protocol.d.ts +1 -0
  82. package/dist-types/packages/peach-engine/src/render-worker/scroll-mirror.d.ts +1 -0
  83. package/package.json +1 -1
  84. package/src/expo-native-workspace.ts +21 -20
  85. package/src/home-paths.ts +0 -5
  86. package/src/nitro-adapter.lock.json +265 -265
  87. package/src/nitro-superset.lock.json +4 -4
  88. package/src/swift-distribution.lock.json +17 -11
  89. package/src/swift-distribution.ts +3 -3
  90. package/src/swift-toolchain.ts +40 -30
  91. package/src/swift-wasm-prune.ts +3 -2
  92. package/src/turbo-runtime.lock.json +21 -21
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2192 | (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;
@@ -2671,18 +2671,7 @@ function sourceSwiftCheckout() {
2671
2671
  return import_node_path4.default.resolve(peachsimPackageRoot(), "../sootsim-swift");
2672
2672
  }
2673
2673
  function swiftSdkOptions() {
2674
- const directory = process.env.PEACH_SWIFT_SDKS_PATH;
2675
- if (directory) return ["--swift-sdks-path", import_node_path4.default.resolve(directory)];
2676
- if (scratch && process.platform === "linux") {
2677
- const config = process.env.XDG_CONFIG_HOME;
2678
- if (config !== void 0 && !import_node_path4.default.isAbsolute(config))
2679
- throw new Error("XDG_CONFIG_HOME must be an absolute path");
2680
- return [
2681
- "--swift-sdks-path",
2682
- config === void 0 ? import_node_path4.default.join(import_node_os3.default.userInfo().homedir, ".swiftpm", "swift-sdks") : import_node_path4.default.join(config, "swiftpm", "swift-sdks")
2683
- ];
2684
- }
2685
- return [];
2674
+ return ["--swift-sdks-path", import_node_path4.default.resolve(peachSwiftSdksDir())];
2686
2675
  }
2687
2676
  var SWIFT_HOST_COMPILER_RELEASE = "swift-6.4.0-RELEASE-custom-81b2c791c27276bf";
2688
2677
  var SWIFT_HOST_COMPILER_ID = "81b2c791c27276bf";
@@ -3001,6 +2990,9 @@ function peachHome() {
3001
2990
  const override = process.env.PEACH_HOME;
3002
2991
  return override ? import_node_path4.default.resolve(override) : import_node_path4.default.join(import_node_os3.default.homedir(), ".peach");
3003
2992
  }
2993
+ function peachSwiftSdksDir() {
2994
+ return process.env.PEACH_SWIFT_SDKS_PATH ?? import_node_path4.default.join(peachHome(), "swift", "sdks");
2995
+ }
3004
2996
  var BUILDERS_ROOT_ENV = "CONTRAST_BUILDERS_ROOT";
3005
2997
  function buildersRootEnv() {
3006
2998
  const root = process.env[BUILDERS_ROOT_ENV]?.trim();
@@ -3228,8 +3220,7 @@ function swiftSdkInstallStep(release, wasmSdk) {
3228
3220
  function swiftSdkInstallCommand(release, wasmSdk) {
3229
3221
  const { wasmSdkId, wasmSdkUrl, wasmSdkChecksum } = wasmSdk;
3230
3222
  const program = `import { installSwiftWasmSdk } from "peachsim/swift-toolchain"; installSwiftWasmSdk(${JSON.stringify(release)}, ${JSON.stringify({ wasmSdkId, wasmSdkUrl, wasmSdkChecksum })})`;
3231
- const directory = process.env.PEACH_SWIFT_SDKS_PATH;
3232
- const environment = directory ? `PEACH_SWIFT_SDKS_PATH='${import_node_path4.default.resolve(directory).replaceAll("'", "'\\''")}' ` : "";
3223
+ const environment = `PEACH_SWIFT_SDKS_PATH='${import_node_path4.default.resolve(peachSwiftSdksDir()).replaceAll("'", "'\\''")}' `;
3233
3224
  return `${environment}node --input-type=module -e '${program.replaceAll("'", "'\\''")}'`;
3234
3225
  }
3235
3226
  function swiftInstallSteps(release, wasmSdk) {
@@ -5759,7 +5750,7 @@ function pruneSwiftWasmLink(directory, toolchainBin, moduleRoot, staticClangTarg
5759
5750
  throw new Error(`swift-wasm-prune: the build owns its sdk directory ${sdkWasiDir}`);
5760
5751
  const sdkObjsDir = ensureUnpackedSdkObjects(sdkWasiDir);
5761
5752
  const distDir = import_node_path10.default.join(moduleRoot, "lib");
5762
- const dropsReflection = (obj, name2) => !!name2 && !/^(SwiftUI|Combine)-/.test(import_node_path10.default.basename(obj.file)) && (name2.startsWith("l__swift5_reflection_descriptor") || name2.startsWith("$s") && (name2.endsWith("CMF") || name2.endsWith("VMF")) && !(!obj.file.startsWith(distDir) && obj.file.endsWith(".swift.o")));
5753
+ const dropsReflection = (obj, name2) => !!name2 && !/^(SwiftUI|Combine|_[A-Za-z0-9]+_SwiftUI)-/.test(import_node_path10.default.basename(obj.file)) && (name2.startsWith("l__swift5_reflection_descriptor") || name2.startsWith("$s") && (name2.endsWith("CMF") || name2.endsWith("VMF")) && !(!obj.file.startsWith(distDir) && obj.file.endsWith(".swift.o")));
5763
5754
  const prunedObjsDir = import_node_path10.default.join(directory, ".peach-pruned-objs");
5764
5755
  import_node_fs9.default.rmSync(prunedObjsDir, { recursive: true, force: true });
5765
5756
  import_node_fs9.default.mkdirSync(prunedObjsDir, { recursive: true });
@@ -12477,7 +12468,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
12477
12468
  var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
12478
12469
  var MULTI_MANIFEST_VERSION = 68;
12479
12470
  var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
12480
- var compilerSourceDigest = true ? "9d8d3ae2b2d5324ea93c50de702176f964cf229949899cccbeb49f982845e24b" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
12471
+ var compilerSourceDigest = true ? "e10a6af53455b2d2b6d58c2abd62834b0ca3a02445b4778b18f9fcbb90fa3747" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
12481
12472
  function swiftArtifactHash(input, release, moduleRoot) {
12482
12473
  const hash = (0, import_node_crypto13.createHash)("sha256");
12483
12474
  hash.update(`swift-compile
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2192 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/swift-compile.ts
4
4
  import {
@@ -2616,18 +2616,7 @@ function sourceSwiftCheckout() {
2616
2616
  return path4.resolve(peachsimPackageRoot(), "../sootsim-swift");
2617
2617
  }
2618
2618
  function swiftSdkOptions() {
2619
- const directory = process.env.PEACH_SWIFT_SDKS_PATH;
2620
- if (directory) return ["--swift-sdks-path", path4.resolve(directory)];
2621
- if (scratch && process.platform === "linux") {
2622
- const config = process.env.XDG_CONFIG_HOME;
2623
- if (config !== void 0 && !path4.isAbsolute(config))
2624
- throw new Error("XDG_CONFIG_HOME must be an absolute path");
2625
- return [
2626
- "--swift-sdks-path",
2627
- config === void 0 ? path4.join(os.userInfo().homedir, ".swiftpm", "swift-sdks") : path4.join(config, "swiftpm", "swift-sdks")
2628
- ];
2629
- }
2630
- return [];
2619
+ return ["--swift-sdks-path", path4.resolve(peachSwiftSdksDir())];
2631
2620
  }
2632
2621
  var SWIFT_HOST_COMPILER_RELEASE = "swift-6.4.0-RELEASE-custom-81b2c791c27276bf";
2633
2622
  var SWIFT_HOST_COMPILER_ID = "81b2c791c27276bf";
@@ -2946,6 +2935,9 @@ function peachHome() {
2946
2935
  const override = process.env.PEACH_HOME;
2947
2936
  return override ? path4.resolve(override) : path4.join(os.homedir(), ".peach");
2948
2937
  }
2938
+ function peachSwiftSdksDir() {
2939
+ return process.env.PEACH_SWIFT_SDKS_PATH ?? path4.join(peachHome(), "swift", "sdks");
2940
+ }
2949
2941
  var BUILDERS_ROOT_ENV = "CONTRAST_BUILDERS_ROOT";
2950
2942
  function buildersRootEnv() {
2951
2943
  const root = process.env[BUILDERS_ROOT_ENV]?.trim();
@@ -3173,8 +3165,7 @@ function swiftSdkInstallStep(release, wasmSdk) {
3173
3165
  function swiftSdkInstallCommand(release, wasmSdk) {
3174
3166
  const { wasmSdkId, wasmSdkUrl, wasmSdkChecksum } = wasmSdk;
3175
3167
  const program = `import { installSwiftWasmSdk } from "peachsim/swift-toolchain"; installSwiftWasmSdk(${JSON.stringify(release)}, ${JSON.stringify({ wasmSdkId, wasmSdkUrl, wasmSdkChecksum })})`;
3176
- const directory = process.env.PEACH_SWIFT_SDKS_PATH;
3177
- const environment = directory ? `PEACH_SWIFT_SDKS_PATH='${path4.resolve(directory).replaceAll("'", "'\\''")}' ` : "";
3168
+ const environment = `PEACH_SWIFT_SDKS_PATH='${path4.resolve(peachSwiftSdksDir()).replaceAll("'", "'\\''")}' `;
3178
3169
  return `${environment}node --input-type=module -e '${program.replaceAll("'", "'\\''")}'`;
3179
3170
  }
3180
3171
  function swiftInstallSteps(release, wasmSdk) {
@@ -5706,7 +5697,7 @@ function pruneSwiftWasmLink(directory, toolchainBin, moduleRoot, staticClangTarg
5706
5697
  throw new Error(`swift-wasm-prune: the build owns its sdk directory ${sdkWasiDir}`);
5707
5698
  const sdkObjsDir = ensureUnpackedSdkObjects(sdkWasiDir);
5708
5699
  const distDir = path10.join(moduleRoot, "lib");
5709
- const dropsReflection = (obj, name2) => !!name2 && !/^(SwiftUI|Combine)-/.test(path10.basename(obj.file)) && (name2.startsWith("l__swift5_reflection_descriptor") || name2.startsWith("$s") && (name2.endsWith("CMF") || name2.endsWith("VMF")) && !(!obj.file.startsWith(distDir) && obj.file.endsWith(".swift.o")));
5700
+ const dropsReflection = (obj, name2) => !!name2 && !/^(SwiftUI|Combine|_[A-Za-z0-9]+_SwiftUI)-/.test(path10.basename(obj.file)) && (name2.startsWith("l__swift5_reflection_descriptor") || name2.startsWith("$s") && (name2.endsWith("CMF") || name2.endsWith("VMF")) && !(!obj.file.startsWith(distDir) && obj.file.endsWith(".swift.o")));
5710
5701
  const prunedObjsDir = path10.join(directory, ".peach-pruned-objs");
5711
5702
  fs4.rmSync(prunedObjsDir, { recursive: true, force: true });
5712
5703
  fs4.mkdirSync(prunedObjsDir, { recursive: true });
@@ -12457,7 +12448,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
12457
12448
  var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
12458
12449
  var MULTI_MANIFEST_VERSION = 68;
12459
12450
  var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
12460
- var compilerSourceDigest = true ? "9d8d3ae2b2d5324ea93c50de702176f964cf229949899cccbeb49f982845e24b" : swiftCompilerSourceDigest(import.meta.dirname);
12451
+ var compilerSourceDigest = true ? "e10a6af53455b2d2b6d58c2abd62834b0ca3a02445b4778b18f9fcbb90fa3747" : swiftCompilerSourceDigest(import.meta.dirname);
12461
12452
  function swiftArtifactHash(input, release, moduleRoot) {
12462
12453
  const hash = createHash13("sha256");
12463
12454
  hash.update(`swift-compile
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2192 | (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.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2192 | (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.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2192 | (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.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2192 | (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.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2192 | (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;
@@ -42,6 +42,7 @@ __export(swift_toolchain_exports, {
42
42
  extractSwiftHostCompiler: () => extractSwiftHostCompiler,
43
43
  installSwiftWasmSdk: () => installSwiftWasmSdk,
44
44
  peachHome: () => peachHome,
45
+ peachSwiftSdksDir: () => peachSwiftSdksDir,
45
46
  peachsimPackageRoot: () => peachsimPackageRoot,
46
47
  privateSwiftCompilerRelease: () => privateSwiftCompilerRelease,
47
48
  privateSwiftDistributionRoot: () => privateSwiftDistributionRoot,
@@ -95,18 +96,7 @@ function sourceSwiftCheckout() {
95
96
  return import_node_path.default.resolve(peachsimPackageRoot(), "../sootsim-swift");
96
97
  }
97
98
  function swiftSdkOptions() {
98
- const directory = process.env.PEACH_SWIFT_SDKS_PATH;
99
- if (directory) return ["--swift-sdks-path", import_node_path.default.resolve(directory)];
100
- if (scratch && process.platform === "linux") {
101
- const config = process.env.XDG_CONFIG_HOME;
102
- if (config !== void 0 && !import_node_path.default.isAbsolute(config))
103
- throw new Error("XDG_CONFIG_HOME must be an absolute path");
104
- return [
105
- "--swift-sdks-path",
106
- config === void 0 ? import_node_path.default.join(import_node_os.default.userInfo().homedir, ".swiftpm", "swift-sdks") : import_node_path.default.join(config, "swiftpm", "swift-sdks")
107
- ];
108
- }
109
- return [];
99
+ return ["--swift-sdks-path", import_node_path.default.resolve(peachSwiftSdksDir())];
110
100
  }
111
101
  var SWIFT_HOST_COMPILER_RELEASE = "swift-6.4.0-RELEASE-custom-81b2c791c27276bf";
112
102
  var SWIFT_HOST_COMPILER_ID = "81b2c791c27276bf";
@@ -395,9 +385,22 @@ function ensureSwiftLinuxRuntime(release) {
395
385
  `);
396
386
  const download = `${plan.dest}.${process.pid}.tmp`;
397
387
  try {
398
- (0, import_node_child_process.execFileSync)("curl", ["-fsSL", "--show-error", plan.url, "-o", download], {
399
- stdio: "inherit"
400
- });
388
+ (0, import_node_child_process.execFileSync)(
389
+ "curl",
390
+ [
391
+ "-fsSL",
392
+ "--show-error",
393
+ "--retry",
394
+ "3",
395
+ "--retry-all-errors",
396
+ plan.url,
397
+ "-o",
398
+ download
399
+ ],
400
+ {
401
+ stdio: "inherit"
402
+ }
403
+ );
401
404
  if (swiftFileChecksum(download) !== plan.checksum)
402
405
  throw new Error("declared Linux runtime checksum mismatch");
403
406
  import_node_fs.default.renameSync(download, plan.dest);
@@ -516,6 +519,9 @@ function peachHome() {
516
519
  const override = process.env.PEACH_HOME;
517
520
  return override ? import_node_path.default.resolve(override) : import_node_path.default.join(import_node_os.default.homedir(), ".peach");
518
521
  }
522
+ function peachSwiftSdksDir() {
523
+ return process.env.PEACH_SWIFT_SDKS_PATH ?? import_node_path.default.join(peachHome(), "swift", "sdks");
524
+ }
519
525
  var BUILDERS_ROOT_ENV = "CONTRAST_BUILDERS_ROOT";
520
526
  var agentBuildersRoot;
521
527
  function agentSharedCacheRoot() {
@@ -771,8 +777,7 @@ function installSwiftSdkArchive(swift, sdk, archive) {
771
777
  store
772
778
  ]);
773
779
  const expected = swiftSdkPayloadChecksum(stagedBundle);
774
- const directory = process.env.PEACH_SWIFT_SDKS_PATH;
775
- const locks = directory ? import_node_path.default.join(import_node_path.default.resolve(directory), ".peach-locks") : import_node_path.default.join(import_node_os.default.homedir(), ".swiftpm", "builder-locks");
780
+ const locks = import_node_path.default.join(import_node_path.default.resolve(peachSwiftSdksDir()), ".peach-locks");
776
781
  import_node_fs.default.mkdirSync(locks, { recursive: true });
777
782
  (0, import_node_child_process.execFileSync)(
778
783
  "perl",
@@ -834,9 +839,22 @@ function installSwiftWasmSdk(release, sdk) {
834
839
  if (sdk.wasmSdkUrl.startsWith("file:"))
835
840
  import_node_fs.default.copyFileSync((0, import_node_url.fileURLToPath)(sdk.wasmSdkUrl), archive);
836
841
  else
837
- (0, import_node_child_process.execFileSync)("curl", ["-fsSL", "--show-error", sdk.wasmSdkUrl, "-o", archive], {
838
- stdio: "inherit"
839
- });
842
+ (0, import_node_child_process.execFileSync)(
843
+ "curl",
844
+ [
845
+ "-fsSL",
846
+ "--show-error",
847
+ "--retry",
848
+ "3",
849
+ "--retry-all-errors",
850
+ sdk.wasmSdkUrl,
851
+ "-o",
852
+ archive
853
+ ],
854
+ {
855
+ stdio: "inherit"
856
+ }
857
+ );
840
858
  installSwiftSdkArchive(swift, sdk, archive);
841
859
  swiftToolchain(release, sdk);
842
860
  } finally {
@@ -954,8 +972,7 @@ function swiftSdkInstallStep(release, wasmSdk) {
954
972
  function swiftSdkInstallCommand(release, wasmSdk) {
955
973
  const { wasmSdkId, wasmSdkUrl, wasmSdkChecksum } = wasmSdk;
956
974
  const program = `import { installSwiftWasmSdk } from "peachsim/swift-toolchain"; installSwiftWasmSdk(${JSON.stringify(release)}, ${JSON.stringify({ wasmSdkId, wasmSdkUrl, wasmSdkChecksum })})`;
957
- const directory = process.env.PEACH_SWIFT_SDKS_PATH;
958
- const environment = directory ? `PEACH_SWIFT_SDKS_PATH='${import_node_path.default.resolve(directory).replaceAll("'", "'\\''")}' ` : "";
975
+ const environment = `PEACH_SWIFT_SDKS_PATH='${import_node_path.default.resolve(peachSwiftSdksDir()).replaceAll("'", "'\\''")}' `;
959
976
  return `${environment}node --input-type=module -e '${program.replaceAll("'", "'\\''")}'`;
960
977
  }
961
978
  function swiftInstallSteps(release, wasmSdk) {
@@ -1021,6 +1038,7 @@ function swiftCompilerInstall(release) {
1021
1038
  extractSwiftHostCompiler,
1022
1039
  installSwiftWasmSdk,
1023
1040
  peachHome,
1041
+ peachSwiftSdksDir,
1024
1042
  peachsimPackageRoot,
1025
1043
  privateSwiftCompilerRelease,
1026
1044
  privateSwiftDistributionRoot,
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2192 | (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.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2192 | (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;
@@ -39,7 +39,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
39
39
  var define_SWIFT_COVERAGE_SOURCE_DIGESTS_default;
40
40
  var init_define_SWIFT_COVERAGE_SOURCE_DIGESTS = __esm({
41
41
  "<define:__SWIFT_COVERAGE_SOURCE_DIGESTS__>"() {
42
- define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "99e03b74c961d2449afd58c2cbc415ba91d1d469a4f89e461c137fd6c305b27c", "swift-coverage/xcode-asset-symbols.ts": "1b2a67733bc9d139b351466270205452a6172140bc25080d72619e2952c44671", "swift-coverage/xcode-bridging.ts": "33184be8c5daf6646aa5a1276a4e15531f1be27b7c26f56550e0fbb1fc678a11", "swift-coverage/xcode-packages.ts": "8e6020d17d24474150a5a50d042aca6261819ef75c79680a287a66f395909915", "swift-coverage/xcode-strings.ts": "f2dd4c7cd8ef77035184b0132909c2fa09fd20ed06b7757c2f1f960bfdde031c", "swift-coverage/reader.ts": "da559b67ecd1161dea70c980b5f98f2c55af3550f0714479100fa5e9e813625c", "swift-coverage/provenance.ts": "eb3b41ae8b58b48f6758f084800f188dfb1edb227e483abdd6b80cde66e849b9", "swift-package-manifest.ts": "4b7d4a715cdaf57468ead23f2ff9dce76d02c6a888d73d144d4baa2ae571ba3c", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "e7cf8a143d47ff86b4ee2db4a8266e96b100926104990dba795321bc5923df3e", "home-paths.ts": "f5583b61f8bdd81823b3b29ff519a48daf9993719f194ddb7de22218472e90f9", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "86f79e98323ec065e0e5195324c75ca608f490efbd95dcc25c53d5aa0b9aecc9", "xcode-target-members.ts": "ad7589132bffab265e8a10b64e24484fe88b4a2b1cc0ee19a97f151a002eca77", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
42
+ define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "99e03b74c961d2449afd58c2cbc415ba91d1d469a4f89e461c137fd6c305b27c", "swift-coverage/xcode-asset-symbols.ts": "1b2a67733bc9d139b351466270205452a6172140bc25080d72619e2952c44671", "swift-coverage/xcode-bridging.ts": "33184be8c5daf6646aa5a1276a4e15531f1be27b7c26f56550e0fbb1fc678a11", "swift-coverage/xcode-packages.ts": "8e6020d17d24474150a5a50d042aca6261819ef75c79680a287a66f395909915", "swift-coverage/xcode-strings.ts": "f2dd4c7cd8ef77035184b0132909c2fa09fd20ed06b7757c2f1f960bfdde031c", "swift-coverage/reader.ts": "da559b67ecd1161dea70c980b5f98f2c55af3550f0714479100fa5e9e813625c", "swift-coverage/provenance.ts": "eb3b41ae8b58b48f6758f084800f188dfb1edb227e483abdd6b80cde66e849b9", "swift-package-manifest.ts": "4b7d4a715cdaf57468ead23f2ff9dce76d02c6a888d73d144d4baa2ae571ba3c", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "25505683ca29a0b380413bf2a5026d4967eacf886e35bc11ece6e15317e5bb02", "home-paths.ts": "673205c02bbc8e342a9b43585a3a1b5f6b64eb5fb474e1a8647e9d2c2e62e67d", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "86f79e98323ec065e0e5195324c75ca608f490efbd95dcc25c53d5aa0b9aecc9", "xcode-target-members.ts": "ad7589132bffab265e8a10b64e24484fe88b4a2b1cc0ee19a97f151a002eca77", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
43
43
  }
44
44
  });
45
45
 
@@ -4380,18 +4380,7 @@ function sourceSwiftCheckout() {
4380
4380
  return import_node_path4.default.resolve(peachsimPackageRoot(), "../sootsim-swift");
4381
4381
  }
4382
4382
  function swiftSdkOptions() {
4383
- const directory = process.env.PEACH_SWIFT_SDKS_PATH;
4384
- if (directory) return ["--swift-sdks-path", import_node_path4.default.resolve(directory)];
4385
- if (scratch && process.platform === "linux") {
4386
- const config = process.env.XDG_CONFIG_HOME;
4387
- if (config !== void 0 && !import_node_path4.default.isAbsolute(config))
4388
- throw new Error("XDG_CONFIG_HOME must be an absolute path");
4389
- return [
4390
- "--swift-sdks-path",
4391
- config === void 0 ? import_node_path4.default.join(import_node_os3.default.userInfo().homedir, ".swiftpm", "swift-sdks") : import_node_path4.default.join(config, "swiftpm", "swift-sdks")
4392
- ];
4393
- }
4394
- return [];
4383
+ return ["--swift-sdks-path", import_node_path4.default.resolve(peachSwiftSdksDir())];
4395
4384
  }
4396
4385
  var SWIFT_HOST_COMPILER_RELEASE = "swift-6.4.0-RELEASE-custom-81b2c791c27276bf";
4397
4386
  var SWIFT_HOST_COMPILER_ID = "81b2c791c27276bf";
@@ -4680,9 +4669,22 @@ function ensureSwiftLinuxRuntime(release) {
4680
4669
  `);
4681
4670
  const download2 = `${plan.dest}.${process.pid}.tmp`;
4682
4671
  try {
4683
- (0, import_node_child_process4.execFileSync)("curl", ["-fsSL", "--show-error", plan.url, "-o", download2], {
4684
- stdio: "inherit"
4685
- });
4672
+ (0, import_node_child_process4.execFileSync)(
4673
+ "curl",
4674
+ [
4675
+ "-fsSL",
4676
+ "--show-error",
4677
+ "--retry",
4678
+ "3",
4679
+ "--retry-all-errors",
4680
+ plan.url,
4681
+ "-o",
4682
+ download2
4683
+ ],
4684
+ {
4685
+ stdio: "inherit"
4686
+ }
4687
+ );
4686
4688
  if (swiftFileChecksum(download2) !== plan.checksum)
4687
4689
  throw new Error("declared Linux runtime checksum mismatch");
4688
4690
  import_node_fs6.default.renameSync(download2, plan.dest);
@@ -4783,6 +4785,9 @@ function peachHome() {
4783
4785
  const override = process.env.PEACH_HOME;
4784
4786
  return override ? import_node_path4.default.resolve(override) : import_node_path4.default.join(import_node_os3.default.homedir(), ".peach");
4785
4787
  }
4788
+ function peachSwiftSdksDir() {
4789
+ return process.env.PEACH_SWIFT_SDKS_PATH ?? import_node_path4.default.join(peachHome(), "swift", "sdks");
4790
+ }
4786
4791
  var BUILDERS_ROOT_ENV = "CONTRAST_BUILDERS_ROOT";
4787
4792
  function buildersRootEnv() {
4788
4793
  const root = process.env[BUILDERS_ROOT_ENV]?.trim();
@@ -4969,8 +4974,7 @@ function installSwiftSdkArchive(swift, sdk, archive) {
4969
4974
  store
4970
4975
  ]);
4971
4976
  const expected = swiftSdkPayloadChecksum(stagedBundle);
4972
- const directory = process.env.PEACH_SWIFT_SDKS_PATH;
4973
- const locks = directory ? import_node_path4.default.join(import_node_path4.default.resolve(directory), ".peach-locks") : import_node_path4.default.join(import_node_os3.default.homedir(), ".swiftpm", "builder-locks");
4977
+ const locks = import_node_path4.default.join(import_node_path4.default.resolve(peachSwiftSdksDir()), ".peach-locks");
4974
4978
  import_node_fs6.default.mkdirSync(locks, { recursive: true });
4975
4979
  (0, import_node_child_process4.execFileSync)(
4976
4980
  "perl",
@@ -5032,9 +5036,22 @@ function installSwiftWasmSdk(release, sdk) {
5032
5036
  if (sdk.wasmSdkUrl.startsWith("file:"))
5033
5037
  import_node_fs6.default.copyFileSync((0, import_node_url.fileURLToPath)(sdk.wasmSdkUrl), archive);
5034
5038
  else
5035
- (0, import_node_child_process4.execFileSync)("curl", ["-fsSL", "--show-error", sdk.wasmSdkUrl, "-o", archive], {
5036
- stdio: "inherit"
5037
- });
5039
+ (0, import_node_child_process4.execFileSync)(
5040
+ "curl",
5041
+ [
5042
+ "-fsSL",
5043
+ "--show-error",
5044
+ "--retry",
5045
+ "3",
5046
+ "--retry-all-errors",
5047
+ sdk.wasmSdkUrl,
5048
+ "-o",
5049
+ archive
5050
+ ],
5051
+ {
5052
+ stdio: "inherit"
5053
+ }
5054
+ );
5038
5055
  installSwiftSdkArchive(swift, sdk, archive);
5039
5056
  swiftToolchain(release, sdk);
5040
5057
  } finally {
@@ -5143,8 +5160,7 @@ function swiftSdkInstallStep(release, wasmSdk) {
5143
5160
  function swiftSdkInstallCommand(release, wasmSdk) {
5144
5161
  const { wasmSdkId, wasmSdkUrl, wasmSdkChecksum } = wasmSdk;
5145
5162
  const program = `import { installSwiftWasmSdk } from "peachsim/swift-toolchain"; installSwiftWasmSdk(${JSON.stringify(release)}, ${JSON.stringify({ wasmSdkId, wasmSdkUrl, wasmSdkChecksum })})`;
5146
- const directory = process.env.PEACH_SWIFT_SDKS_PATH;
5147
- const environment = directory ? `PEACH_SWIFT_SDKS_PATH='${import_node_path4.default.resolve(directory).replaceAll("'", "'\\''")}' ` : "";
5163
+ const environment = `PEACH_SWIFT_SDKS_PATH='${import_node_path4.default.resolve(peachSwiftSdksDir()).replaceAll("'", "'\\''")}' `;
5148
5164
  return `${environment}node --input-type=module -e '${program.replaceAll("'", "'\\''")}'`;
5149
5165
  }
5150
5166
  function swiftInstallSteps(release, wasmSdk) {
@@ -10685,7 +10701,7 @@ function pruneSwiftWasmLink(directory, toolchainBin, moduleRoot, staticClangTarg
10685
10701
  throw new Error(`swift-wasm-prune: the build owns its sdk directory ${sdkWasiDir}`);
10686
10702
  const sdkObjsDir = ensureUnpackedSdkObjects(sdkWasiDir);
10687
10703
  const distDir = import_node_path10.default.join(moduleRoot, "lib");
10688
- const dropsReflection = (obj, name3) => !!name3 && !/^(SwiftUI|Combine)-/.test(import_node_path10.default.basename(obj.file)) && (name3.startsWith("l__swift5_reflection_descriptor") || name3.startsWith("$s") && (name3.endsWith("CMF") || name3.endsWith("VMF")) && !(!obj.file.startsWith(distDir) && obj.file.endsWith(".swift.o")));
10704
+ const dropsReflection = (obj, name3) => !!name3 && !/^(SwiftUI|Combine|_[A-Za-z0-9]+_SwiftUI)-/.test(import_node_path10.default.basename(obj.file)) && (name3.startsWith("l__swift5_reflection_descriptor") || name3.startsWith("$s") && (name3.endsWith("CMF") || name3.endsWith("VMF")) && !(!obj.file.startsWith(distDir) && obj.file.endsWith(".swift.o")));
10689
10705
  const prunedObjsDir = import_node_path10.default.join(directory, ".peach-pruned-objs");
10690
10706
  import_node_fs10.default.rmSync(prunedObjsDir, { recursive: true, force: true });
10691
10707
  import_node_fs10.default.mkdirSync(prunedObjsDir, { recursive: true });
@@ -15163,9 +15179,6 @@ function rnxHomeDir() {
15163
15179
  const override = process.env[PEACH_HOME_ENV];
15164
15180
  return override && override.length > 0 ? import_node_path17.default.resolve(override) : ambientHomeDir();
15165
15181
  }
15166
- function peachSwiftSdksDir() {
15167
- return process.env.PEACH_SWIFT_SDKS_PATH ?? import_node_path17.default.join(rnxHomeDir(), "swift", "sdks");
15168
- }
15169
15182
  function runtimesDir() {
15170
15183
  return import_node_path17.default.join(rnxHomeDir(), "runtimes");
15171
15184
  }
@@ -17296,7 +17309,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
17296
17309
  var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
17297
17310
  var MULTI_MANIFEST_VERSION = 68;
17298
17311
  var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
17299
- var compilerSourceDigest = true ? "9d8d3ae2b2d5324ea93c50de702176f964cf229949899cccbeb49f982845e24b" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
17312
+ var compilerSourceDigest = true ? "e10a6af53455b2d2b6d58c2abd62834b0ca3a02445b4778b18f9fcbb90fa3747" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
17300
17313
  function swiftArtifactHash(input, release, moduleRoot) {
17301
17314
  const hash = (0, import_node_crypto13.createHash)("sha256");
17302
17315
  hash.update(`swift-compile
@@ -26632,7 +26645,6 @@ async function swiftDistributionRoot(signal) {
26632
26645
  }
26633
26646
  }
26634
26647
  async function installSwiftToolchain(release, sdk, signal, compilerOnly = false) {
26635
- process.env.PEACH_SWIFT_SDKS_PATH = peachSwiftSdksDir();
26636
26648
  const root = import_node_path36.default.resolve(swiftToolchainBin(release), "../..");
26637
26649
  const owned = process.platform === "darwin" ? import_node_path36.default.join(import_node_os12.default.homedir(), "Library/Developer/Toolchains", `${release}.xctoolchain`) : import_node_path36.default.join(rnxHomeDir(), "swift", "toolchains", release);
26638
26650
  const selectedCompiler = process.platform === "darwin" && import_node_fs36.default.existsSync(import_node_path36.default.join(root, "usr/bin/swift"));
@@ -26675,7 +26687,7 @@ then run the command again; it installs the SDK.`,
26675
26687
  const ready = swiftToolchainReady(release, sdk);
26676
26688
  if (ready) return ready;
26677
26689
  signal?.throwIfAborted();
26678
- const directory = process.env.PEACH_SWIFT_SDKS_PATH;
26690
+ const directory = peachSwiftSdksDir();
26679
26691
  process.stderr.write(`peach: installing Swift SDK ${sdk.wasmSdkId} to ${directory}\u2026
26680
26692
  `);
26681
26693
  try {
@@ -30602,7 +30614,7 @@ function sourceClosureDigest(srcDir, entrypoints) {
30602
30614
  return hash.digest("hex");
30603
30615
  }
30604
30616
  var standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
30605
- var STANDIN_SOURCE_DIGEST = true ? "8bf9878abc11473e9367806d1a6ac0089e4451eefdc2a1e5830542f3e83e80cf" : standinSourceDigest();
30617
+ var STANDIN_SOURCE_DIGEST = true ? "c387958abbb31d4eec2c99667ca99ccf6efb1328361a47445d476c520ae3c310" : standinSourceDigest();
30606
30618
 
30607
30619
  // src/swift-standins.ts
30608
30620
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
package/dist-lib/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2192 | (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;
@@ -39,7 +39,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
39
39
  var define_SWIFT_COVERAGE_SOURCE_DIGESTS_default;
40
40
  var init_define_SWIFT_COVERAGE_SOURCE_DIGESTS = __esm({
41
41
  "<define:__SWIFT_COVERAGE_SOURCE_DIGESTS__>"() {
42
- define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "99e03b74c961d2449afd58c2cbc415ba91d1d469a4f89e461c137fd6c305b27c", "swift-coverage/xcode-asset-symbols.ts": "1b2a67733bc9d139b351466270205452a6172140bc25080d72619e2952c44671", "swift-coverage/xcode-bridging.ts": "33184be8c5daf6646aa5a1276a4e15531f1be27b7c26f56550e0fbb1fc678a11", "swift-coverage/xcode-packages.ts": "8e6020d17d24474150a5a50d042aca6261819ef75c79680a287a66f395909915", "swift-coverage/xcode-strings.ts": "f2dd4c7cd8ef77035184b0132909c2fa09fd20ed06b7757c2f1f960bfdde031c", "swift-coverage/reader.ts": "da559b67ecd1161dea70c980b5f98f2c55af3550f0714479100fa5e9e813625c", "swift-coverage/provenance.ts": "eb3b41ae8b58b48f6758f084800f188dfb1edb227e483abdd6b80cde66e849b9", "swift-package-manifest.ts": "4b7d4a715cdaf57468ead23f2ff9dce76d02c6a888d73d144d4baa2ae571ba3c", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "e7cf8a143d47ff86b4ee2db4a8266e96b100926104990dba795321bc5923df3e", "home-paths.ts": "f5583b61f8bdd81823b3b29ff519a48daf9993719f194ddb7de22218472e90f9", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "86f79e98323ec065e0e5195324c75ca608f490efbd95dcc25c53d5aa0b9aecc9", "xcode-target-members.ts": "ad7589132bffab265e8a10b64e24484fe88b4a2b1cc0ee19a97f151a002eca77", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
42
+ define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "99e03b74c961d2449afd58c2cbc415ba91d1d469a4f89e461c137fd6c305b27c", "swift-coverage/xcode-asset-symbols.ts": "1b2a67733bc9d139b351466270205452a6172140bc25080d72619e2952c44671", "swift-coverage/xcode-bridging.ts": "33184be8c5daf6646aa5a1276a4e15531f1be27b7c26f56550e0fbb1fc678a11", "swift-coverage/xcode-packages.ts": "8e6020d17d24474150a5a50d042aca6261819ef75c79680a287a66f395909915", "swift-coverage/xcode-strings.ts": "f2dd4c7cd8ef77035184b0132909c2fa09fd20ed06b7757c2f1f960bfdde031c", "swift-coverage/reader.ts": "da559b67ecd1161dea70c980b5f98f2c55af3550f0714479100fa5e9e813625c", "swift-coverage/provenance.ts": "eb3b41ae8b58b48f6758f084800f188dfb1edb227e483abdd6b80cde66e849b9", "swift-package-manifest.ts": "4b7d4a715cdaf57468ead23f2ff9dce76d02c6a888d73d144d4baa2ae571ba3c", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "25505683ca29a0b380413bf2a5026d4967eacf886e35bc11ece6e15317e5bb02", "home-paths.ts": "673205c02bbc8e342a9b43585a3a1b5f6b64eb5fb474e1a8647e9d2c2e62e67d", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "86f79e98323ec065e0e5195324c75ca608f490efbd95dcc25c53d5aa0b9aecc9", "xcode-target-members.ts": "ad7589132bffab265e8a10b64e24484fe88b4a2b1cc0ee19a97f151a002eca77", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
43
43
  }
44
44
  });
45
45
 
@@ -1909,7 +1909,7 @@ function readIosSdkTree(root) {
1909
1909
 
1910
1910
  // src/swift-standin-digest.ts
1911
1911
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
1912
- var STANDIN_SOURCE_DIGEST = true ? "8bf9878abc11473e9367806d1a6ac0089e4451eefdc2a1e5830542f3e83e80cf" : standinSourceDigest();
1912
+ var STANDIN_SOURCE_DIGEST = true ? "c387958abbb31d4eec2c99667ca99ccf6efb1328361a47445d476c520ae3c310" : standinSourceDigest();
1913
1913
 
1914
1914
  // src/expo-native-workspace.ts
1915
1915
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -5391,7 +5391,7 @@ var FOUNDATION_IMPLICIT_MODULES = [
5391
5391
  var FOUNDATION_IMPLICIT_FLAGS = FOUNDATION_IMPLICIT_MODULES.map(
5392
5392
  (module2) => `, "-Xfrontend", "-import-module", "-Xfrontend", "${module2}"`
5393
5393
  ).join("");
5394
- var compilerSourceDigest = true ? "9d8d3ae2b2d5324ea93c50de702176f964cf229949899cccbeb49f982845e24b" : swiftCompilerSourceDigest2(__sootsim_import_meta_dirname);
5394
+ var compilerSourceDigest = true ? "e10a6af53455b2d2b6d58c2abd62834b0ca3a02445b4778b18f9fcbb90fa3747" : swiftCompilerSourceDigest2(__sootsim_import_meta_dirname);
5395
5395
  var CORE_FOUNDATION_HANDLE_IMPORTS = [
5396
5396
  "CFAllocator",
5397
5397
  "CFArray",
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2192 | (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.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2192 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/worklet-executable.ts
4
4
  import { parse } from "acorn";
@@ -81,9 +81,10 @@ export interface ScrollMomentumConfig extends ScrollRange {
81
81
  snapToStart?: boolean;
82
82
  snapToEnd?: boolean;
83
83
  disableIntervalMomentum?: boolean;
84
+ viewAlignedSnap?: boolean;
84
85
  collapseBand?: CollapseBand | null;
85
86
  }
86
- export type ScrollSnapFlags = Required<Pick<ScrollMomentumConfig, 'snapToStart' | 'snapToEnd' | 'disableIntervalMomentum'>>;
87
+ export type ScrollSnapFlags = Required<Pick<ScrollMomentumConfig, 'snapToStart' | 'snapToEnd' | 'disableIntervalMomentum' | 'viewAlignedSnap'>>;
87
88
  export declare function readScrollSnapFlags(props: Record<string, unknown> | null | undefined): ScrollSnapFlags;
88
89
  export interface CollapseBand {
89
90
  start: number;
@@ -243,6 +243,7 @@ export interface ScrollMomentumDriveDescriptor extends ScrollRange {
243
243
  snapToStart: boolean;
244
244
  snapToEnd: boolean;
245
245
  disableIntervalMomentum: boolean;
246
+ viewAlignedSnap: boolean;
246
247
  collapseBand?: CollapseBand;
247
248
  physics: ScrollMomentumPhysics;
248
249
  nestedScrollChain?: ScrollMomentumDriveNode[];
@@ -52,6 +52,7 @@ export interface ScrollMirrorEntry extends ScrollMirrorOwner {
52
52
  snapToStart: boolean;
53
53
  snapToEnd: boolean;
54
54
  disableIntervalMomentum: boolean;
55
+ viewAlignedSnap: boolean;
55
56
  collapseBand?: CollapseBand;
56
57
  decelerationRate?: unknown;
57
58
  scrollEventThrottle?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peachsim",
3
- "version": "0.1.2191",
3
+ "version": "0.1.2192",
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",
@@ -721,10 +721,12 @@ export async function prepareInstalledExpoWorkspace(app: string, work: string) {
721
721
  })
722
722
  }
723
723
 
724
- // the copy tracks the files its source checkout tracks, including ignored ones the
725
- // project commits, so a postinstall that marks them with `git update-index` finds them
726
- function trackedSourceFiles(root: string, work: string): string[] {
727
- const listed = spawnSync('git', ['ls-files', '-z'], {
724
+ // the copy's index lists the files its source checkout tracks, including ignored ones
725
+ // the project commits, so a postinstall that marks them with `git update-index` finds
726
+ // them. the entries reuse the source index's object ids: hashing or storing a monorepo's
727
+ // worth of blobs takes minutes, and nothing reads their contents from this repository
728
+ function trackedSourceEntries(root: string, work: string): string[] {
729
+ const listed = spawnSync('git', ['ls-files', '--stage', '-z'], {
728
730
  cwd: root,
729
731
  env: { ...process.env, ...isolatedGitEnv },
730
732
  maxBuffer: 256 * 1024 * 1024,
@@ -733,25 +735,16 @@ function trackedSourceFiles(root: string, work: string): string[] {
733
735
  return listed.stdout
734
736
  .toString('utf8')
735
737
  .split('\0')
736
- .filter((file) => file !== '' && fs.existsSync(path.join(work, file)))
738
+ .filter((entry) => {
739
+ const tab = entry.indexOf('\t')
740
+ return tab > 0 && fs.existsSync(path.join(work, entry.slice(tab + 1)))
741
+ })
737
742
  }
738
743
 
739
744
  function initializeWorkspaceGit(root: string, work: string) {
740
745
  requireNativeGit()
741
- execFileSync('git', ['init', '--quiet'], {
742
- cwd: work,
743
- env: { ...process.env, ...isolatedGitEnv },
744
- timeout: 60_000,
745
- })
746
- const tracked = trackedSourceFiles(root, work)
747
- if (tracked.length > 0)
748
- // update-index takes exact paths; add matches every file against every pathspec, which is quadratic here
749
- execFileSync('git', ['update-index', '--add', '-z', '--stdin'], {
750
- cwd: work,
751
- env: { ...process.env, ...isolatedGitEnv },
752
- input: tracked.join('\0'),
753
- timeout: 120_000,
754
- })
746
+ const env = { ...process.env, ...isolatedGitEnv }
747
+ execFileSync('git', ['init', '--quiet'], { cwd: work, env, timeout: 60_000 })
755
748
  execFileSync(
756
749
  'git',
757
750
  [
@@ -768,8 +761,16 @@ function initializeWorkspaceGit(root: string, work: string) {
768
761
  '-m',
769
762
  'prepared workspace',
770
763
  ],
771
- { cwd: work, env: { ...process.env, ...isolatedGitEnv }, timeout: 60_000 },
764
+ { cwd: work, env, timeout: 60_000 },
772
765
  )
766
+ const tracked = trackedSourceEntries(root, work)
767
+ if (tracked.length > 0)
768
+ execFileSync('git', ['update-index', '-z', '--index-info'], {
769
+ cwd: work,
770
+ env,
771
+ input: tracked.join('\0'),
772
+ timeout: 60_000,
773
+ })
773
774
  }
774
775
 
775
776
  async function prepareWorkspace(