peachsim 0.1.2228 → 0.1.2231

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 (100) hide show
  1. package/cli/commands/device.ts +1 -1
  2. package/cli/commands/flow.ts +1 -1
  3. package/dist-lib/agent-daemon-client.cjs +1 -1
  4. package/dist-lib/agent-events.cjs +1 -1
  5. package/dist-lib/attached-projects.cjs +1 -1
  6. package/dist-lib/auth/shared-session.cjs +1 -1
  7. package/dist-lib/backend-origin.cjs +1 -1
  8. package/dist-lib/beta.cjs +1 -1
  9. package/dist-lib/beta.mjs +1 -1
  10. package/dist-lib/bridge-constants.cjs +1 -1
  11. package/dist-lib/bridge-contract-input.cjs +1 -1
  12. package/dist-lib/bridge-contract-input.mjs +1 -1
  13. package/dist-lib/bridge-contract.cjs +1 -1
  14. package/dist-lib/bridge-contract.mjs +1 -1
  15. package/dist-lib/bundle-channel.cjs +35 -9
  16. package/dist-lib/capture-contract.cjs +1 -1
  17. package/dist-lib/capture-contract.mjs +1 -1
  18. package/dist-lib/cloud-contract.cjs +1 -1
  19. package/dist-lib/cloud-contract.mjs +1 -1
  20. package/dist-lib/cloud-test-args.cjs +1 -1
  21. package/dist-lib/cloud-test-args.mjs +1 -1
  22. package/dist-lib/cloud.cjs +1 -1
  23. package/dist-lib/cloud.mjs +1 -1
  24. package/dist-lib/config.cjs +1 -1
  25. package/dist-lib/config.mjs +1 -1
  26. package/dist-lib/detox/index.cjs +5 -2
  27. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  28. package/dist-lib/expo-swift-bundle.cjs +33 -7
  29. package/dist-lib/expo-swift-metadata.cjs +1 -1
  30. package/dist-lib/expo-swift-metadata.mjs +1 -1
  31. package/dist-lib/home-paths.cjs +1 -1
  32. package/dist-lib/host/bridge-host.cjs +76 -11
  33. package/dist-lib/host/fetch-proxy-handler.cjs +4 -4
  34. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  35. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  36. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  37. package/dist-lib/host/websocket-proxy.cjs +1 -1
  38. package/dist-lib/index.cjs +13 -5
  39. package/dist-lib/jump-to-source-babel.cjs +1 -1
  40. package/dist-lib/jump-to-source-native.cjs +1 -1
  41. package/dist-lib/kotlin-host.cjs +1 -1
  42. package/dist-lib/menu.cjs +16 -14
  43. package/dist-lib/menu.mjs +16 -14
  44. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  45. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  46. package/dist-lib/metro-production-bundle.cjs +1 -1
  47. package/dist-lib/metro-production-bundle.mjs +1 -1
  48. package/dist-lib/metro.cjs +7 -5
  49. package/dist-lib/native-app-identity-project.cjs +5 -3
  50. package/dist-lib/native-app-identity-project.mjs +5 -3
  51. package/dist-lib/native-app-identity.cjs +1 -1
  52. package/dist-lib/native-app-identity.mjs +1 -1
  53. package/dist-lib/native-firebase-metadata.cjs +1 -1
  54. package/dist-lib/native-firebase-metadata.mjs +1 -1
  55. package/dist-lib/pdfium-raster.cjs +1 -1
  56. package/dist-lib/pdfium-raster.mjs +1 -1
  57. package/dist-lib/plist.cjs +1 -1
  58. package/dist-lib/plist.mjs +1 -1
  59. package/dist-lib/profiles.cjs +1 -1
  60. package/dist-lib/public-brand.cjs +1 -1
  61. package/dist-lib/public-origins-lib-esm.json +25 -24
  62. package/dist-lib/public-origins-lib.json +55 -53
  63. package/dist-lib/react-native-host-modules.cjs +1 -1
  64. package/dist-lib/react-native-host-modules.mjs +1 -1
  65. package/dist-lib/reap-browser.cjs +1 -1
  66. package/dist-lib/scripts/dev-server-scanner.cjs +43 -3
  67. package/dist-lib/sdk.cjs +1 -1
  68. package/dist-lib/sdk.mjs +1 -1
  69. package/dist-lib/skills.cjs +77 -12
  70. package/dist-lib/swift-compile.cjs +1 -1
  71. package/dist-lib/swift-compile.mjs +1 -1
  72. package/dist-lib/swift-package.cjs +1 -1
  73. package/dist-lib/swift-package.mjs +1 -1
  74. package/dist-lib/swift-submit.cjs +1 -1
  75. package/dist-lib/swift-submit.mjs +1 -1
  76. package/dist-lib/swift-toolchain.cjs +1 -1
  77. package/dist-lib/swift.cjs +1 -1
  78. package/dist-lib/vite-swift.cjs +32 -6
  79. package/dist-lib/vite.cjs +10 -4
  80. package/dist-lib/worklet-executable.cjs +1 -1
  81. package/dist-lib/worklet-executable.mjs +1 -1
  82. package/dist-types/packages/peach-engine/src/engine/canvaskit-api.d.ts +3 -0
  83. package/dist-types/packages/peach-engine/src/engine/native-layout.d.ts +10 -3
  84. package/dist-types/packages/peach-engine/src/engine/scene-table.d.ts +1 -1
  85. package/dist-types/packages/peach-engine/src/engine/types.d.ts +2 -1
  86. package/install.sh +12 -2
  87. package/kotlin/sdk.tar.gz +0 -0
  88. package/package.json +1 -1
  89. package/runtime-companion.json +1 -1
  90. package/scripts/dev-server-scanner.ts +64 -3
  91. package/src/appPackageContract.ts +1 -1
  92. package/src/conformance-pixel-comparison.ts +12 -7
  93. package/src/menu.ts +17 -99
  94. package/src/menuContract.ts +102 -0
  95. package/src/react-native-coverage/native-typescript-parser.ts +18 -8
  96. package/src/settingsContract.ts +8 -8
  97. package/src/swift-host.ts +27 -2
  98. package/src/vite-plugin-one.ts +2 -0
  99. package/src/vite-plugin.ts +9 -8
  100. package/src/xcode-project.ts +8 -2
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "40ec039e7a2920e6b4e7610986eb3ba75c5811eed4ea41570c2a7e2424911721", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "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": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "774c42f06f8d5c1f3f3a09f94379db2046af0016f1fcd6cbe595a9c2da5dcf95", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
43
43
  }
44
44
  });
45
45
 
@@ -37844,7 +37844,7 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
37844
37844
  const postBundleScripts = [];
37845
37845
  for (const id of [...list(app.target.buildPhases)].reverse()) {
37846
37846
  const phase = app.project.object(id);
37847
- if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.inputPaths).length || list(phase.inputFileListPaths).length || list(phase.outputPaths).length || list(phase.outputFileListPaths).length)
37847
+ if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.outputPaths).length || list(phase.outputFileListPaths).length)
37848
37848
  break;
37849
37849
  postBundleScripts.unshift({
37850
37850
  name: str(phase.name) ?? id,
@@ -37853,6 +37853,8 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
37853
37853
  str(phase.shellScript) ?? ""
37854
37854
  ),
37855
37855
  directory: app.project.projectDir,
37856
+ inputPaths: list(phase.inputPaths),
37857
+ inputFileListPaths: list(phase.inputFileListPaths),
37856
37858
  environment: Object.fromEntries(
37857
37859
  [...settingKeys].filter((key2) => /^[A-Za-z_][A-Za-z0-9_]*$/.test(key2)).map((key2) => [key2, settings(key2)])
37858
37860
  )
@@ -38335,7 +38337,7 @@ var init_swift_standin_digest = __esm({
38335
38337
  STANDIN_DIGEST_ENTRYPOINTS = ["swift-standins.ts", "swift-objc-compile.ts"];
38336
38338
  SPECIFIER = /from\s*['"]([^'"]+)['"]|import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
38337
38339
  standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
38338
- STANDIN_SOURCE_DIGEST = true ? "c157dea0314bab3ba5af4145cc3ba5b8a4d824fa6677166162e49713afe384bb" : standinSourceDigest();
38340
+ STANDIN_SOURCE_DIGEST = true ? "f8700690d0cd621b5d9417ea570f1f45c7ec1ad54492b23aa9792102938e9e82" : standinSourceDigest();
38339
38341
  }
38340
38342
  });
38341
38343
 
@@ -48124,11 +48126,35 @@ function buildSwiftBundleFiles(packagePath, hosted, inputs, resourceBundles) {
48124
48126
  CONTENTS_FOLDER_PATH: wrapper,
48125
48127
  UNLOCALIZED_RESOURCES_FOLDER_PATH: wrapper,
48126
48128
  INFOPLIST_PATH: `${wrapper}/Info.plist`,
48127
- SCRIPT_INPUT_FILE_COUNT: "0",
48128
- SCRIPT_INPUT_FILE_LIST_COUNT: "0",
48129
+ SCRIPT_INPUT_FILE_COUNT: String(phase.inputPaths.length),
48130
+ SCRIPT_INPUT_FILE_LIST_COUNT: String(phase.inputFileListPaths.length),
48129
48131
  SCRIPT_OUTPUT_FILE_COUNT: "0",
48130
48132
  SCRIPT_OUTPUT_FILE_LIST_COUNT: "0"
48131
48133
  };
48134
+ const inputPath = (raw2) => {
48135
+ const file = import_node_path83.default.resolve(
48136
+ phase.directory,
48137
+ expand(raw2, (key2) => env[key2] ?? "")
48138
+ );
48139
+ if (!import_node_fs85.default.existsSync(file))
48140
+ throw new Error(
48141
+ `${xcode.app.name}: Run Script "${phase.name}" missing input ${file}`
48142
+ );
48143
+ if (!file.startsWith(`${dir}${import_node_path83.default.sep}`))
48144
+ watched.push(import_node_path83.default.relative(packagePath, file).split(import_node_path83.default.sep).join("/"));
48145
+ return file;
48146
+ };
48147
+ phase.inputPaths.forEach((raw2, index) => {
48148
+ env[`SCRIPT_INPUT_FILE_${index}`] = inputPath(raw2);
48149
+ });
48150
+ phase.inputFileListPaths.forEach((raw2, index) => {
48151
+ const source = inputPath(raw2);
48152
+ const entries = fileListEntries(source, inputPath);
48153
+ const expanded = import_node_path83.default.join(dir, `Input-${index}.xcfilelist`);
48154
+ import_node_fs85.default.writeFileSync(expanded, `${entries.join("\n")}
48155
+ `);
48156
+ env[`SCRIPT_INPUT_FILE_LIST_${index}`] = expanded;
48157
+ });
48132
48158
  try {
48133
48159
  const [shell, ...args] = phase.command;
48134
48160
  (0, import_node_child_process44.execFileSync)(shell, args, {
@@ -54592,7 +54618,7 @@ var init_nitro_superset = __esm({
54592
54618
  init_nitroContract();
54593
54619
  init_swift_standin_digest();
54594
54620
  NITRO_SUPERSET_ENTRY_NAME = "superset";
54595
- NITRO_COMPILER_DIGEST = true ? "02840899304cd9c2c7928baa6f7a13405d0142f29940e8d6fdbf2569fb60b262" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
54621
+ NITRO_COMPILER_DIGEST = true ? "b3ae355413a190ba1006db08b3fa373b79f99034163c936bd1ec2c89b9bce038" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
54596
54622
  nitroSupersetLock = parseLock(nitro_superset_lock_default);
54597
54623
  nitroSupersetKey = (inputs) => nativeEntryKey({ ...inputs, compiler: NITRO_COMPILER_DIGEST });
54598
54624
  published2 = /* @__PURE__ */ new Map();
@@ -54613,7 +54639,7 @@ var init_nitro_superset = __esm({
54613
54639
  var runtime_companion_default;
54614
54640
  var init_runtime_companion = __esm({
54615
54641
  "runtime-companion.json"() {
54616
- runtime_companion_default = { abi: 1, sha256: "286145bc3b2ca79a64228c88d8c2e088a592754d61b5855d0388974ee88863fa", file: "node/cli-286145bc3b2ca79a64228c88d8c2e088a592754d61b5855d0388974ee88863fa.cjs" };
54642
+ runtime_companion_default = { abi: 1, sha256: "00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde", file: "node/cli-00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde.cjs" };
54617
54643
  }
54618
54644
  });
54619
54645
 
@@ -64239,7 +64265,7 @@ init_swift_native_pin();
64239
64265
  init_xcode_project();
64240
64266
  var EXPO_NATIVE_ENTRY_NAME = "ios";
64241
64267
  function expoNativeCompilerDigestValue() {
64242
- return true ? "52d8ecb0a37f0f7a5504161cecd2a17d59f6cff85fdc5cac0ae8f4353362ad1a" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
64268
+ return true ? "aab5589ba02cd96332e686f60153187e7357cc46c8a6ec5369f1400cea6f6da0" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
64243
64269
  }
64244
64270
  var IDENTITY_SOURCE_SKIPS = 1 | 4 | 8 | 16 | 32 | 64 | 128 | 4096;
64245
64271
  function readSources(value) {
@@ -70558,6 +70584,30 @@ async function fetchManifestEnrichment(result, buildIconProxyUrl) {
70558
70584
  }
70559
70585
  var knownNonPatched = /* @__PURE__ */ new Set();
70560
70586
  var knownOne = /* @__PURE__ */ new Set();
70587
+ var oneNativeApps = /* @__PURE__ */ new Map();
70588
+ function oneNativeWidgetFromScan(scan2, result, identity2) {
70589
+ if (!Array.isArray(scan2)) return null;
70590
+ for (const entry of scan2) {
70591
+ if (!entry || typeof entry !== "object" || entry.port !== result.port) continue;
70592
+ if (typeof entry.bundleUrl !== "string") continue;
70593
+ let advertised;
70594
+ try {
70595
+ advertised = new URL(entry.bundleUrl);
70596
+ } catch {
70597
+ continue;
70598
+ }
70599
+ if (!isLoopbackHost(advertised.hostname) || advertised.port !== String(result.port))
70600
+ continue;
70601
+ const widget = configuredWidgetFromScan(scan2, advertised.href);
70602
+ if (widget?.projectRoot === identity2.root && widget.metadata.bundleId === identity2.bundleId)
70603
+ return {
70604
+ ...widget,
70605
+ bundleUrl: result.bundleUrl,
70606
+ packageUrl: new URL("/__peach/swift-package/OneWidgets", result.bundleUrl).href
70607
+ };
70608
+ }
70609
+ return null;
70610
+ }
70561
70611
  async function probePort(port, buildIconProxyUrl, listeningProcess, verdict) {
70562
70612
  const demoApps = await loadOptionalDemoApps();
70563
70613
  const probeHostname = await tcpPing(port);
@@ -70584,6 +70634,15 @@ async function probePort(port, buildIconProxyUrl, listeningProcess, verdict) {
70584
70634
  ]);
70585
70635
  const manifestParsed = manifestRes ? safeParseManifest(manifestRes.body) : null;
70586
70636
  const { launchUrl: manifestLaunchUrl, client: manifestClient } = readExpoManifestFields(manifestParsed);
70637
+ const metadata = manifestParsed?.metadata;
70638
+ const extra = manifestParsed?.extra;
70639
+ const expoGo = extra && typeof extra === "object" ? Reflect.get(extra, "expoGo") : null;
70640
+ const developer = expoGo && typeof expoGo === "object" ? Reflect.get(expoGo, "developer") : null;
70641
+ const projectRoot = developer && typeof developer === "object" ? Reflect.get(developer, "projectRoot") : null;
70642
+ const bundleId = manifestClient.ios?.bundleIdentifier;
70643
+ if (metadata && typeof metadata === "object" && Reflect.get(metadata, "oneNativeApp") === true && typeof projectRoot === "string" && typeof bundleId === "string")
70644
+ oneNativeApps.set(port, { root: projectRoot, bundleId });
70645
+ else if (manifestRes) oneNativeApps.delete(port);
70587
70646
  const manifestState = !manifestRes ? "no-answer" : manifestParsed && (manifestLaunchUrl || typeof manifestClient.name === "string") ? "resolved" : "no-manifest";
70588
70647
  const metroPackager = !!statusRes?.body.includes("packager-status:running") && !(manifestState === "resolved" && manifestLaunchUrl?.includes("/one/metro-entry.bundle"));
70589
70648
  const [sootsimRes, swiftRes, kotlinRes, oneScanRes] = metroPackager ? [null, null, null, null] : await Promise.all([
@@ -70808,6 +70867,9 @@ async function scanDevServers(opts = {}) {
70808
70867
  for (const p of [...knownOne]) {
70809
70868
  if (!currentPorts.has(p)) knownOne.delete(p);
70810
70869
  }
70870
+ for (const p of [...oneNativeApps.keys()]) {
70871
+ if (!currentPorts.has(p)) oneNativeApps.delete(p);
70872
+ }
70811
70873
  for (const p of [...enrichmentCache.keys()]) {
70812
70874
  if (!currentPorts.has(p)) enrichmentCache.delete(p);
70813
70875
  }
@@ -70832,6 +70894,7 @@ async function scanDevServers(opts = {}) {
70832
70894
  if (cached3 && cached3.pid !== pid) {
70833
70895
  knownNonPatched.delete(port);
70834
70896
  knownOne.delete(port);
70897
+ oneNativeApps.delete(port);
70835
70898
  enrichmentCache.delete(port);
70836
70899
  localIconPathCache.delete(port);
70837
70900
  }
@@ -70859,7 +70922,8 @@ async function scanDevServers(opts = {}) {
70859
70922
  }
70860
70923
  await Promise.all(
70861
70924
  results.map(async (result) => {
70862
- if (result.framework !== "one" && result.framework !== "vxrn") {
70925
+ const nativeIdentity = oneNativeApps.get(result.port);
70926
+ if (result.framework !== "one" && result.framework !== "vxrn" && !nativeIdentity) {
70863
70927
  result.widget = null;
70864
70928
  return;
70865
70929
  }
@@ -70874,7 +70938,8 @@ async function scanDevServers(opts = {}) {
70874
70938
  result.widget ??= null;
70875
70939
  return;
70876
70940
  }
70877
- result.widget = scanRes.statusCode === 200 && scanRes.contentType?.includes("json") ? configuredWidgetFromScan(safeParseManifest(scanRes.body), result.bundleUrl) : null;
70941
+ const scan3 = scanRes.statusCode === 200 && scanRes.contentType?.includes("json") ? safeParseManifest(scanRes.body) : null;
70942
+ result.widget = nativeIdentity ? oneNativeWidgetFromScan(scan3, result, nativeIdentity) : configuredWidgetFromScan(scan3, result.bundleUrl);
70878
70943
  })
70879
70944
  );
70880
70945
  const pidByPort = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "40ec039e7a2920e6b4e7610986eb3ba75c5811eed4ea41570c2a7e2424911721", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "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": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "774c42f06f8d5c1f3f3a09f94379db2046af0016f1fcd6cbe595a9c2da5dcf95", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
43
43
  }
44
44
  });
45
45
 
@@ -1501,7 +1501,7 @@ function readIosSdkTree(root) {
1501
1501
 
1502
1502
  // src/swift-standin-digest.ts
1503
1503
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
1504
- var STANDIN_SOURCE_DIGEST = true ? "c157dea0314bab3ba5af4145cc3ba5b8a4d824fa6677166162e49713afe384bb" : standinSourceDigest();
1504
+ var STANDIN_SOURCE_DIGEST = true ? "f8700690d0cd621b5d9417ea570f1f45c7ec1ad54492b23aa9792102938e9e82" : standinSourceDigest();
1505
1505
 
1506
1506
  // src/expo-native-workspace.ts
1507
1507
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -9543,7 +9543,7 @@ var import_node_module = require("node:module");
9543
9543
  var import_node_path11 = require("node:path");
9544
9544
 
9545
9545
  // runtime-companion.json
9546
- var runtime_companion_default = { abi: 1, sha256: "286145bc3b2ca79a64228c88d8c2e088a592754d61b5855d0388974ee88863fa", file: "node/cli-286145bc3b2ca79a64228c88d8c2e088a592754d61b5855d0388974ee88863fa.cjs" };
9546
+ var runtime_companion_default = { abi: 1, sha256: "00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde", file: "node/cli-00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde.cjs" };
9547
9547
 
9548
9548
  // src/cli-runtime.ts
9549
9549
  var CLI_COMPANION_ABI = 1;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/host/fetch-proxy-overrides.ts
4
4
  var FETCH_PROXY_NATIVE_USER_AGENT_HEADER = "x-sootsim-native-user-agent";
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "40ec039e7a2920e6b4e7610986eb3ba75c5811eed4ea41570c2a7e2424911721", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "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": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "774c42f06f8d5c1f3f3a09f94379db2046af0016f1fcd6cbe595a9c2da5dcf95", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
43
43
  }
44
44
  });
45
45
 
@@ -1125,7 +1125,7 @@ var init_src = __esm({
1125
1125
  var runtime_companion_default;
1126
1126
  var init_runtime_companion = __esm({
1127
1127
  "runtime-companion.json"() {
1128
- runtime_companion_default = { abi: 1, sha256: "286145bc3b2ca79a64228c88d8c2e088a592754d61b5855d0388974ee88863fa", file: "node/cli-286145bc3b2ca79a64228c88d8c2e088a592754d61b5855d0388974ee88863fa.cjs" };
1128
+ runtime_companion_default = { abi: 1, sha256: "00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde", file: "node/cli-00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde.cjs" };
1129
1129
  }
1130
1130
  });
1131
1131
 
@@ -13519,7 +13519,7 @@ function readIosSdkTree(root) {
13519
13519
 
13520
13520
  // src/swift-standin-digest.ts
13521
13521
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
13522
- var STANDIN_SOURCE_DIGEST = true ? "c157dea0314bab3ba5af4145cc3ba5b8a4d824fa6677166162e49713afe384bb" : standinSourceDigest();
13522
+ var STANDIN_SOURCE_DIGEST = true ? "f8700690d0cd621b5d9417ea570f1f45c7ec1ad54492b23aa9792102938e9e82" : standinSourceDigest();
13523
13523
 
13524
13524
  // src/expo-native-workspace.ts
13525
13525
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -15616,6 +15616,11 @@ var compilerArchives = {
15616
15616
  }
15617
15617
  }
15618
15618
  };
15619
+ var SWIFT_PRIVATE_DISTRIBUTION_ENV = "PEACH_SWIFT_PRIVATE_DISTRIBUTION";
15620
+ function privateSwiftDistributionRoot() {
15621
+ const root = process.env[SWIFT_PRIVATE_DISTRIBUTION_ENV]?.trim();
15622
+ return root ? import_node_path16.default.resolve(root) : null;
15623
+ }
15619
15624
 
15620
15625
  // src/swift-objc-runtime.ts
15621
15626
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -18289,7 +18294,7 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
18289
18294
  const postBundleScripts = [];
18290
18295
  for (const id of [...list(app.target.buildPhases)].reverse()) {
18291
18296
  const phase = app.project.object(id);
18292
- if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.inputPaths).length || list(phase.inputFileListPaths).length || list(phase.outputPaths).length || list(phase.outputFileListPaths).length)
18297
+ if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.outputPaths).length || list(phase.outputFileListPaths).length)
18293
18298
  break;
18294
18299
  postBundleScripts.unshift({
18295
18300
  name: str(phase.name) ?? id,
@@ -18298,6 +18303,8 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
18298
18303
  str(phase.shellScript) ?? ""
18299
18304
  ),
18300
18305
  directory: app.project.projectDir,
18306
+ inputPaths: list(phase.inputPaths),
18307
+ inputFileListPaths: list(phase.inputFileListPaths),
18301
18308
  environment: Object.fromEntries(
18302
18309
  [...settingKeys].filter((key) => /^[A-Za-z_][A-Za-z0-9_]*$/.test(key)).map((key) => [key, settings(key)])
18303
18310
  )
@@ -24518,6 +24525,7 @@ function peachPlugin(options = {}) {
24518
24525
  let swiftPackages;
24519
24526
  let swiftModuleRoot;
24520
24527
  const moduleRootFor = () => {
24528
+ if (privateSwiftDistributionRoot()) return void 0;
24521
24529
  if (swiftModuleRoot === void 0) {
24522
24530
  const moduleRoot = import_path5.default.resolve(
24523
24531
  import_path5.default.dirname((0, import_node_url2.fileURLToPath)(__sootsim_import_meta_url)),
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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;
package/dist-lib/menu.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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;
@@ -48,19 +48,7 @@ __export(menu_exports, {
48
48
  });
49
49
  module.exports = __toCommonJS(menu_exports);
50
50
 
51
- // src/public-brand.ts
52
- var name = "Peach";
53
- var peachPublicBrand = Object.freeze({
54
- name,
55
- packageName: "peachsim",
56
- commandName: "peach",
57
- domain: "peachsim.com",
58
- origin: "https://peachsim.com",
59
- boxOrigin: "https://rnx-box.contrast.dev"
60
- });
61
- var rnxPublicBrand = peachPublicBrand;
62
-
63
- // src/menu.ts
51
+ // src/menuContract.ts
64
52
  var SOOTSIM_ENGINE_EVENT_NAME = "sootsim:engine-event";
65
53
  var SOOTSIM_SHELL_COMMAND_NAME = "sootsim:shell-command";
66
54
  var SOOTSIM_AMBIENT_GLOW_LEVELS = ["off", "soft", "full"];
@@ -109,6 +97,20 @@ var SOOTSIM_SCREEN_EFFECT_LABELS = {
109
97
  panel: "Panel",
110
98
  green: "Green"
111
99
  };
100
+
101
+ // src/public-brand.ts
102
+ var name = "Peach";
103
+ var peachPublicBrand = Object.freeze({
104
+ name,
105
+ packageName: "peachsim",
106
+ commandName: "peach",
107
+ domain: "peachsim.com",
108
+ origin: "https://peachsim.com",
109
+ boxOrigin: "https://rnx-box.contrast.dev"
110
+ });
111
+ var rnxPublicBrand = peachPublicBrand;
112
+
113
+ // src/menu.ts
112
114
  function buildSootSimMenuDefs(state, deviceChoices) {
113
115
  return [
114
116
  appMenu(),
package/dist-lib/menu.mjs CHANGED
@@ -1,18 +1,6 @@
1
- /*! peach v0.1.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
- // src/public-brand.ts
4
- var name = "Peach";
5
- var peachPublicBrand = Object.freeze({
6
- name,
7
- packageName: "peachsim",
8
- commandName: "peach",
9
- domain: "peachsim.com",
10
- origin: "https://peachsim.com",
11
- boxOrigin: "https://rnx-box.contrast.dev"
12
- });
13
- var rnxPublicBrand = peachPublicBrand;
14
-
15
- // src/menu.ts
3
+ // src/menuContract.ts
16
4
  var SOOTSIM_ENGINE_EVENT_NAME = "sootsim:engine-event";
17
5
  var SOOTSIM_SHELL_COMMAND_NAME = "sootsim:shell-command";
18
6
  var SOOTSIM_AMBIENT_GLOW_LEVELS = ["off", "soft", "full"];
@@ -61,6 +49,20 @@ var SOOTSIM_SCREEN_EFFECT_LABELS = {
61
49
  panel: "Panel",
62
50
  green: "Green"
63
51
  };
52
+
53
+ // src/public-brand.ts
54
+ var name = "Peach";
55
+ var peachPublicBrand = Object.freeze({
56
+ name,
57
+ packageName: "peachsim",
58
+ commandName: "peach",
59
+ domain: "peachsim.com",
60
+ origin: "https://peachsim.com",
61
+ boxOrigin: "https://rnx-box.contrast.dev"
62
+ });
63
+ var rnxPublicBrand = peachPublicBrand;
64
+
65
+ // src/menu.ts
64
66
  function buildSootSimMenuDefs(state, deviceChoices) {
65
67
  return [
66
68
  appMenu(),
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __esm = (fn, res) => function __init() {
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "40ec039e7a2920e6b4e7610986eb3ba75c5811eed4ea41570c2a7e2424911721", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "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": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "774c42f06f8d5c1f3f3a09f94379db2046af0016f1fcd6cbe595a9c2da5dcf95", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
43
43
  }
44
44
  });
45
45
 
@@ -6740,7 +6740,7 @@ var init_node_http_fetch = __esm({
6740
6740
  var runtime_companion_default;
6741
6741
  var init_runtime_companion = __esm({
6742
6742
  "runtime-companion.json"() {
6743
- runtime_companion_default = { abi: 1, sha256: "286145bc3b2ca79a64228c88d8c2e088a592754d61b5855d0388974ee88863fa", file: "node/cli-286145bc3b2ca79a64228c88d8c2e088a592754d61b5855d0388974ee88863fa.cjs" };
6743
+ runtime_companion_default = { abi: 1, sha256: "00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde", file: "node/cli-00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde.cjs" };
6744
6744
  }
6745
6745
  });
6746
6746
 
@@ -8840,7 +8840,7 @@ function readIosSdkTree(root) {
8840
8840
 
8841
8841
  // src/swift-standin-digest.ts
8842
8842
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
8843
- var STANDIN_SOURCE_DIGEST = true ? "c157dea0314bab3ba5af4145cc3ba5b8a4d824fa6677166162e49713afe384bb" : standinSourceDigest();
8843
+ var STANDIN_SOURCE_DIGEST = true ? "f8700690d0cd621b5d9417ea570f1f45c7ec1ad54492b23aa9792102938e9e82" : standinSourceDigest();
8844
8844
 
8845
8845
  // src/expo-native-workspace.ts
8846
8846
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -13552,7 +13552,7 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
13552
13552
  const postBundleScripts = [];
13553
13553
  for (const id of [...list(app.target.buildPhases)].reverse()) {
13554
13554
  const phase = app.project.object(id);
13555
- if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.inputPaths).length || list(phase.inputFileListPaths).length || list(phase.outputPaths).length || list(phase.outputFileListPaths).length)
13555
+ if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.outputPaths).length || list(phase.outputFileListPaths).length)
13556
13556
  break;
13557
13557
  postBundleScripts.unshift({
13558
13558
  name: str(phase.name) ?? id,
@@ -13561,6 +13561,8 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
13561
13561
  str(phase.shellScript) ?? ""
13562
13562
  ),
13563
13563
  directory: app.project.projectDir,
13564
+ inputPaths: list(phase.inputPaths),
13565
+ inputFileListPaths: list(phase.inputFileListPaths),
13564
13566
  environment: Object.fromEntries(
13565
13567
  [...settingKeys].filter((key) => /^[A-Za-z_][A-Za-z0-9_]*$/.test(key)).map((key) => [key, settings(key)])
13566
13568
  )
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2231 | (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": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "40ec039e7a2920e6b4e7610986eb3ba75c5811eed4ea41570c2a7e2424911721", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "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": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "774c42f06f8d5c1f3f3a09f94379db2046af0016f1fcd6cbe595a9c2da5dcf95", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
43
43
  }
44
44
  });
45
45
 
@@ -5921,7 +5921,7 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
5921
5921
  const postBundleScripts = [];
5922
5922
  for (const id of [...list(app.target.buildPhases)].reverse()) {
5923
5923
  const phase = app.project.object(id);
5924
- if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.inputPaths).length || list(phase.inputFileListPaths).length || list(phase.outputPaths).length || list(phase.outputFileListPaths).length)
5924
+ if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.outputPaths).length || list(phase.outputFileListPaths).length)
5925
5925
  break;
5926
5926
  postBundleScripts.unshift({
5927
5927
  name: str(phase.name) ?? id,
@@ -5930,6 +5930,8 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
5930
5930
  str(phase.shellScript) ?? ""
5931
5931
  ),
5932
5932
  directory: app.project.projectDir,
5933
+ inputPaths: list(phase.inputPaths),
5934
+ inputFileListPaths: list(phase.inputFileListPaths),
5933
5935
  environment: Object.fromEntries(
5934
5936
  [...settingKeys].filter((key) => /^[A-Za-z_][A-Za-z0-9_]*$/.test(key)).map((key) => [key, settings(key)])
5935
5937
  )