peachsim 0.1.2189 → 0.1.2191

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 (102) hide show
  1. package/cli/commands/daemon.ts +13 -1
  2. package/cli/commands/package.ts +1 -1
  3. package/cli/commands/setup.ts +4 -2
  4. package/cli/commands/shell-url.ts +1 -1
  5. package/cli/main.ts +2 -0
  6. package/dist-lib/agent-daemon-client.cjs +1 -1
  7. package/dist-lib/agent-events.cjs +1 -1
  8. package/dist-lib/attached-projects.cjs +1 -1
  9. package/dist-lib/auth/shared-session.cjs +1 -1
  10. package/dist-lib/backend-origin.cjs +1 -1
  11. package/dist-lib/beta.cjs +1 -1
  12. package/dist-lib/beta.mjs +1 -1
  13. package/dist-lib/bridge-constants.cjs +1 -1
  14. package/dist-lib/bridge-contract-input.cjs +1 -1
  15. package/dist-lib/bridge-contract-input.mjs +1 -1
  16. package/dist-lib/bridge-contract.cjs +1 -1
  17. package/dist-lib/bridge-contract.mjs +1 -1
  18. package/dist-lib/bundle-channel.cjs +85 -135
  19. package/dist-lib/capture-contract.cjs +1 -1
  20. package/dist-lib/capture-contract.mjs +1 -1
  21. package/dist-lib/cloud-contract.cjs +1 -1
  22. package/dist-lib/cloud-contract.mjs +1 -1
  23. package/dist-lib/cloud-test-args.cjs +1 -1
  24. package/dist-lib/cloud-test-args.mjs +1 -1
  25. package/dist-lib/cloud.cjs +1 -1
  26. package/dist-lib/cloud.mjs +1 -1
  27. package/dist-lib/config.cjs +1 -1
  28. package/dist-lib/config.mjs +1 -1
  29. package/dist-lib/detox/index.cjs +1 -1
  30. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  31. package/dist-lib/expo-swift-bundle.cjs +59 -131
  32. package/dist-lib/expo-swift-metadata.cjs +1 -1
  33. package/dist-lib/expo-swift-metadata.mjs +1 -1
  34. package/dist-lib/home-paths.cjs +1 -1
  35. package/dist-lib/host/bridge-host.cjs +85 -135
  36. package/dist-lib/host/fetch-proxy-handler.cjs +4 -4
  37. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  38. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  39. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  40. package/dist-lib/host/websocket-proxy.cjs +1 -1
  41. package/dist-lib/index.cjs +7 -5
  42. package/dist-lib/jump-to-source-babel.cjs +1 -1
  43. package/dist-lib/jump-to-source-native.cjs +1 -1
  44. package/dist-lib/kotlin-host.cjs +7 -2
  45. package/dist-lib/menu.cjs +1 -1
  46. package/dist-lib/menu.mjs +1 -1
  47. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  48. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  49. package/dist-lib/metro-production-bundle.cjs +1 -1
  50. package/dist-lib/metro-production-bundle.mjs +1 -1
  51. package/dist-lib/metro.cjs +7 -5
  52. package/dist-lib/native-app-identity-project.cjs +6 -4
  53. package/dist-lib/native-app-identity-project.mjs +6 -4
  54. package/dist-lib/native-app-identity.cjs +1 -1
  55. package/dist-lib/native-app-identity.mjs +1 -1
  56. package/dist-lib/native-firebase-metadata.cjs +1 -1
  57. package/dist-lib/native-firebase-metadata.mjs +1 -1
  58. package/dist-lib/pdfium-raster.cjs +1 -1
  59. package/dist-lib/pdfium-raster.mjs +1 -1
  60. package/dist-lib/plist.cjs +1 -1
  61. package/dist-lib/plist.mjs +1 -1
  62. package/dist-lib/profiles.cjs +1 -1
  63. package/dist-lib/public-brand.cjs +1 -1
  64. package/dist-lib/public-origins-lib-esm.json +24 -24
  65. package/dist-lib/public-origins-lib.json +53 -53
  66. package/dist-lib/react-native-host-modules.cjs +1 -1
  67. package/dist-lib/react-native-host-modules.mjs +1 -1
  68. package/dist-lib/reap-browser.cjs +1 -1
  69. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  70. package/dist-lib/sdk.cjs +1 -1
  71. package/dist-lib/sdk.mjs +1 -1
  72. package/dist-lib/skills.cjs +105 -139
  73. package/dist-lib/swift-compile.cjs +14 -117
  74. package/dist-lib/swift-compile.mjs +14 -117
  75. package/dist-lib/swift-package.cjs +1 -1
  76. package/dist-lib/swift-package.mjs +1 -1
  77. package/dist-lib/swift-submit.cjs +1 -1
  78. package/dist-lib/swift-submit.mjs +1 -1
  79. package/dist-lib/swift-toolchain.cjs +1 -1
  80. package/dist-lib/swift.cjs +1 -1
  81. package/dist-lib/vite-swift.cjs +57 -129
  82. package/dist-lib/vite.cjs +4 -4
  83. package/dist-lib/worklet-executable.cjs +1 -1
  84. package/dist-lib/worklet-executable.mjs +1 -1
  85. package/dist-types/packages/peach-engine/src/engine/computed-padding.d.ts +40 -0
  86. package/dist-types/packages/peach-engine/src/engine/layout-engine.d.ts +3 -0
  87. package/dist-types/packages/peach-engine/src/engine/node.d.ts +3 -0
  88. package/dist-types/packages/peach-engine/src/engine/yoga-layout.d.ts +60 -0
  89. package/dist-types/packages/peach-engine/src/render-worker/shell-tree-wire.d.ts +2 -0
  90. package/dist-types/packages/peach-engine/src/settings/device-spec-bus.d.ts +10 -0
  91. package/kotlin/sdk.tar.gz +0 -0
  92. package/package.json +1 -1
  93. package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UIFindSession.h +2 -12
  94. package/sdk/ios/System/Library/Frameworks/UIKitTypes.framework/Headers/UIKitTypes.h +12 -0
  95. package/src/kotlin-host.ts +6 -1
  96. package/src/podspec-sources.ts +21 -2
  97. package/src/swift-compile.ts +21 -114
  98. package/src/swift-host.ts +12 -8
  99. package/src/swift-interface-bodies.ts +7 -1
  100. package/src/swift-objc-standin.ts +46 -8
  101. package/src/swift-packages.ts +1 -0
  102. package/src/xcode-project.ts +6 -4
@@ -207,15 +207,27 @@ export function getDaemonServiceStatus(): DaemonServiceStatus {
207
207
  }
208
208
  if (process.platform === 'linux') {
209
209
  const path = linuxUnitPath()
210
- return { supported: true, installed: existsSync(path), path }
210
+ return { supported: linuxUserManagerReachable(), installed: existsSync(path), path }
211
211
  }
212
212
  return { supported: false, installed: false }
213
213
  }
214
214
 
215
+ // systemctl --user reaches the user's systemd manager through this socket; a
216
+ // container, WSL without systemd or a login with no user session has none.
217
+ function linuxUserManagerReachable(): boolean {
218
+ const runtime = process.env.XDG_RUNTIME_DIR
219
+ return runtime ? existsSync(resolve(runtime, 'systemd/private')) : false
220
+ }
221
+
215
222
  export async function daemonInstall({ port, force }: { port: number; force: boolean }) {
216
223
  if (shouldSkipPersistentDaemon()) {
217
224
  throw new Error('background daemon setup is unavailable in this environment')
218
225
  }
226
+ if (process.platform === 'linux' && !linuxUserManagerReachable()) {
227
+ throw new Error(
228
+ 'background daemon setup is unavailable in this environment: no systemd user manager answers this session',
229
+ )
230
+ }
219
231
 
220
232
  const invocation = resolveDaemonInvocation()
221
233
  console.log(` binary: ${[invocation.executable, ...invocation.prefixArgs].join(' ')}`)
@@ -312,6 +312,7 @@ export async function runPackage(args: string[]): Promise<void> {
312
312
  // the app is assembled beside the output, so archives and the final move stay on its volume
313
313
  const staging = `${output}.${randomUUID()}`
314
314
  const temporary = path.join(staging, `${name}.app`)
315
+ fs.mkdirSync(path.dirname(output), { recursive: true })
315
316
  fs.mkdirSync(staging)
316
317
  const scratch = fs.mkdtempSync(path.join(os.tmpdir(), 'peach-package-'))
317
318
  const routes: AppPackageManifest['routes'] = {}
@@ -680,7 +681,6 @@ export async function runPackage(args: string[]): Promise<void> {
680
681
  }
681
682
  return stageHostLaunchMetadata(new URL(launchUrl), origin)
682
683
  })
683
- fs.mkdirSync(path.dirname(output), { recursive: true })
684
684
  execFileSync('/usr/bin/ditto', [host, temporary])
685
685
  const contents = path.join(temporary, 'Contents')
686
686
  const resources = path.join(contents, 'Resources')
@@ -359,8 +359,10 @@ async function decideService(
359
359
  if (!status.supported) {
360
360
  if (!options.json) {
361
361
  printPromptBlock('Background service', [
362
- 'The persistent service is currently available on macOS and Linux.',
363
- 'peach will start the bridge when needed on this platform.',
362
+ process.platform === 'linux'
363
+ ? 'The persistent service needs a systemd user session, which this login does not have.'
364
+ : 'The persistent service is currently available on macOS and Linux.',
365
+ 'peach will start the bridge when needed.',
364
366
  ])
365
367
  }
366
368
  return false
@@ -791,7 +791,7 @@ export async function buildShellUrl(
791
791
  legacyDefault ||
792
792
  configuredRenderer === 'paper'
793
793
  )
794
- throw new Error(
794
+ throw new CliUsageError(
795
795
  'unsupported-architecture: React Native apps require the new architecture. ' +
796
796
  (legacyDefault
797
797
  ? 'React Native ' + version + ' defaults to the legacy architecture. '
package/cli/main.ts CHANGED
@@ -69,6 +69,8 @@ async function handleTopLevelError(err: unknown): Promise<never> {
69
69
  msg.startsWith('non-interactive setup requires ') ||
70
70
  msg.startsWith('no live peach world serves ') ||
71
71
  msg.startsWith('peach bridge did not start within') ||
72
+ msg.startsWith('another Peach daemon wrote the lockfile during startup') ||
73
+ /^sim \S+ is locked by another cli/.test(msg) ||
72
74
  msg.startsWith(
73
75
  `package.json already defines scripts.${rnxPublicBrand.commandName} as `,
74
76
  ) ||
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (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.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (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.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (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.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (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.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
package/dist-lib/beta.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
package/dist-lib/beta.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/beta.ts
4
4
  var IS_BETA = true;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (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.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (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.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/bridge-contract.ts
4
4
  var SIM_LONG_PRESS_MAX_MS = 5e3;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (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.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/bridge-contract.ts
4
4
  var REFUSED_PERFORM_STEP_TYPES = [
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (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": "8ffd57670829ddd2b10e812defbd9016859744be88713c5ba65847aa6e26dff4", "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": "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" };
43
43
  }
44
44
  });
45
45
 
@@ -15698,7 +15698,7 @@ function swiftInterfaceWithoutBodies(text6, keepDefaults = false) {
15698
15698
  continue;
15699
15699
  }
15700
15700
  const char = text6[i];
15701
- if (char === "=" && parens > 0 && text6[i - 1] === " " && text6[i + 1] === " ") {
15701
+ if (!keepDefaults && char === "=" && parens > 0 && text6[i - 1] === " " && text6[i + 1] === " ") {
15702
15702
  out = out.trimEnd();
15703
15703
  i = skipExpression(text6, i + 1);
15704
15704
  continue;
@@ -17835,10 +17835,11 @@ function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vend
17835
17835
  "-module-cache-path",
17836
17836
  moduleCache,
17837
17837
  "-minimum-access-level",
17838
- // symbol graphs hide public underscored names at the public threshold.
17839
- // original clang headers remain the declaration boundary, and a swift
17840
- // overlay names its underscored and spi declarations.
17841
- original || surface.interface ? "internal" : "public",
17838
+ // symbol graphs hide public underscored names at the public threshold,
17839
+ // including a function with an underscored parameter. clang headers
17840
+ // remain the declaration boundary, and a swift overlay names its
17841
+ // underscored and spi declarations.
17842
+ "internal",
17842
17843
  ...surface.interface ? ["-include-spi-symbols"] : [],
17843
17844
  "-skip-synthesized-members",
17844
17845
  "-omit-extension-block-symbols",
@@ -17937,6 +17938,13 @@ function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vend
17937
17938
  writeHeaders();
17938
17939
  }
17939
17940
  const ownHeaders = new Set(headerFiles(headersDir).map((name3) => import_node_path23.default.basename(name3)));
17941
+ const functionPointers = new Set(
17942
+ [...originals.values()].flatMap(
17943
+ (text6) => [...text6.matchAll(/\btypedef\b[^;{}]*?\(\s*\*\s*(\w+)\s*\)\s*\(/g)].map(
17944
+ (match) => match[1]
17945
+ )
17946
+ )
17947
+ );
17940
17948
  const graphs = import_node_fs24.default.readdirSync(out).filter((name3) => name3.endsWith(".symbols.json")).sort().map((name3) => {
17941
17949
  const graph = JSON.parse(import_node_fs24.default.readFileSync(import_node_path23.default.join(out, name3), "utf8"));
17942
17950
  return {
@@ -17944,6 +17952,22 @@ function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vend
17944
17952
  symbols: graph.symbols.filter((symbol2) => {
17945
17953
  const header = /^c:([^@]+\.h)@/.exec(symbol2.identifier.precise)?.[1];
17946
17954
  return !header || ownHeaders.has(header);
17955
+ }).map((symbol2) => {
17956
+ if (symbol2.kind.identifier !== "swift.typealias" || !symbol2.identifier.precise.startsWith("c:") || !functionPointers.has(symbol2.pathComponents.at(-1) ?? ""))
17957
+ return symbol2;
17958
+ const fragments = symbol2.declarationFragments ?? [];
17959
+ const equals = fragments.findIndex(
17960
+ (fragment) => fragment.spelling.includes("=")
17961
+ );
17962
+ const arrow = fragments.findLastIndex(
17963
+ (fragment) => fragment.spelling.includes("->")
17964
+ );
17965
+ return {
17966
+ ...symbol2,
17967
+ declarationFragments: fragments.map(
17968
+ (fragment, index) => index > equals && index < arrow && fragment.kind === "typeIdentifier" && functionPointers.has(fragment.spelling) ? { ...fragment, spelling: `@escaping ${fragment.spelling}` } : fragment
17969
+ )
17970
+ };
17947
17971
  })
17948
17972
  };
17949
17973
  });
@@ -27273,6 +27297,9 @@ function emitSwiftPackageManifest(args) {
27273
27297
  ' publicHeadersPath: "include",'
27274
27298
  ] : native?.flags ? [` sources: ${JSON.stringify(native.sources)},`] : target.sources !== void 0 ? [` sources: ${JSON.stringify(target.sources)},`] : [],
27275
27299
  ...!native?.clang && target.publicHeadersPath !== void 0 ? [` publicHeadersPath: ${JSON.stringify(target.publicHeadersPath)},`] : [],
27300
+ // swiftpm appends the root package's name after a target's own flags
27301
+ // unless the target opts out of package access
27302
+ ...!clang && target.swiftFlags?.includes("-package-name") ? [" packageAccess: false,"] : [],
27276
27303
  // the native backend supplies dependency module maps without their
27277
27304
  // compiled modules. textual c++ includes keep those dependencies usable.
27278
27305
  ` ${clang ? nativeSettings : swiftSettings}${link}`,
@@ -28217,7 +28244,10 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
28217
28244
  for (const file of Object.keys(input.files)) {
28218
28245
  if (!file.endsWith(".swift")) continue;
28219
28246
  const target = bySourcePath.find(
28220
- (candidate) => candidate.path === "." || file.startsWith(`${candidate.path}/`)
28247
+ (candidate) => (candidate.path === "." || file.startsWith(`${candidate.path}/`)) && (candidate.sources === void 0 || candidate.sources.some((source) => {
28248
+ const selected = import_node_path41.default.posix.join(candidate.path, source);
28249
+ return file === selected || file.startsWith(`${selected}/`);
28250
+ }))
28221
28251
  );
28222
28252
  const excluded = target?.exclude?.some(
28223
28253
  (name3) => file === import_node_path41.default.posix.join(target.path, name3)
@@ -28270,7 +28300,10 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
28270
28300
  const targetEntries = (target) => {
28271
28301
  const prefix = target.path === "." ? "" : `${target.path}/`;
28272
28302
  return Object.entries(input.files).filter(
28273
- ([file]) => file.startsWith(prefix) && !target.exclude?.some(
28303
+ ([file]) => file.startsWith(prefix) && (target.sources === void 0 || !(file.endsWith(".swift") || isSwiftNativeTranslationUnit(file)) || target.sources.some((source) => {
28304
+ const selected = import_node_path41.default.posix.join(prefix, source);
28305
+ return file === selected || file.startsWith(`${selected}/`);
28306
+ })) && !target.exclude?.some(
28274
28307
  (excluded) => file === `${prefix}${excluded}` || file.startsWith(`${prefix}${excluded}/`)
28275
28308
  ) && !targets.some(
28276
28309
  (candidate) => candidate.name !== target.name && candidate.path !== "." && candidate.path.startsWith(prefix) && file.startsWith(`${candidate.path}/`)
@@ -28425,8 +28458,7 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
28425
28458
  )) {
28426
28459
  const include2 = match[1];
28427
28460
  const producer = /(?:^|\/)([^/]+)-Swift\.h$/.exec(include2)?.[1];
28428
- if (producer && targets.some((value) => value.name === producer))
28429
- producers2.add(producer);
28461
+ if (producer && swiftTargets.has(producer)) producers2.add(producer);
28430
28462
  const local = [
28431
28463
  import_node_path41.default.posix.join(import_node_path41.default.posix.dirname(file), include2),
28432
28464
  `${includes}${include2}`,
@@ -30789,7 +30821,7 @@ var init_swift_compile = __esm({
30789
30821
  REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
30790
30822
  MULTI_MANIFEST_VERSION = 68;
30791
30823
  SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
30792
- compilerSourceDigest = true ? "2a1da81ab7798d1b1b2f07ce1f9d3314f5461acfea19548a6c5065edb1133762" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
30824
+ compilerSourceDigest = true ? "9d8d3ae2b2d5324ea93c50de702176f964cf229949899cccbeb49f982845e24b" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
30793
30825
  nativeCxxCompilerFlags = ["-fno-cxx-modules"];
30794
30826
  cFlagArray = (flags) => JSON.stringify(withoutGlogModuleMap(flags));
30795
30827
  cxxFlagArray = (flags) => JSON.stringify([...nativeCxxCompilerFlags, ...withoutGlogModuleMap(flags)]);
@@ -30952,117 +30984,6 @@ var init_swift_compile = __esm({
30952
30984
  "NSFileErrorMinimum",
30953
30985
  "NSFormattingErrorMaximum",
30954
30986
  "NSFormattingErrorMinimum",
30955
- "NSFoundationVersionNumber",
30956
- "NSFoundationVersionNumber10_0",
30957
- "NSFoundationVersionNumber10_1",
30958
- "NSFoundationVersionNumber10_10",
30959
- "NSFoundationVersionNumber10_10_1",
30960
- "NSFoundationVersionNumber10_10_2",
30961
- "NSFoundationVersionNumber10_10_3",
30962
- "NSFoundationVersionNumber10_10_4",
30963
- "NSFoundationVersionNumber10_10_5",
30964
- "NSFoundationVersionNumber10_10_Max",
30965
- "NSFoundationVersionNumber10_11",
30966
- "NSFoundationVersionNumber10_11_1",
30967
- "NSFoundationVersionNumber10_11_2",
30968
- "NSFoundationVersionNumber10_11_3",
30969
- "NSFoundationVersionNumber10_11_4",
30970
- "NSFoundationVersionNumber10_11_Max",
30971
- "NSFoundationVersionNumber10_1_1",
30972
- "NSFoundationVersionNumber10_1_2",
30973
- "NSFoundationVersionNumber10_1_3",
30974
- "NSFoundationVersionNumber10_1_4",
30975
- "NSFoundationVersionNumber10_2",
30976
- "NSFoundationVersionNumber10_2_1",
30977
- "NSFoundationVersionNumber10_2_2",
30978
- "NSFoundationVersionNumber10_2_3",
30979
- "NSFoundationVersionNumber10_2_4",
30980
- "NSFoundationVersionNumber10_2_5",
30981
- "NSFoundationVersionNumber10_2_6",
30982
- "NSFoundationVersionNumber10_2_7",
30983
- "NSFoundationVersionNumber10_2_8",
30984
- "NSFoundationVersionNumber10_3",
30985
- "NSFoundationVersionNumber10_3_1",
30986
- "NSFoundationVersionNumber10_3_2",
30987
- "NSFoundationVersionNumber10_3_3",
30988
- "NSFoundationVersionNumber10_3_4",
30989
- "NSFoundationVersionNumber10_3_5",
30990
- "NSFoundationVersionNumber10_3_6",
30991
- "NSFoundationVersionNumber10_3_7",
30992
- "NSFoundationVersionNumber10_3_8",
30993
- "NSFoundationVersionNumber10_3_9",
30994
- "NSFoundationVersionNumber10_4",
30995
- "NSFoundationVersionNumber10_4_1",
30996
- "NSFoundationVersionNumber10_4_10",
30997
- "NSFoundationVersionNumber10_4_11",
30998
- "NSFoundationVersionNumber10_4_2",
30999
- "NSFoundationVersionNumber10_4_3",
31000
- "NSFoundationVersionNumber10_4_4_Intel",
31001
- "NSFoundationVersionNumber10_4_4_PowerPC",
31002
- "NSFoundationVersionNumber10_4_5",
31003
- "NSFoundationVersionNumber10_4_6",
31004
- "NSFoundationVersionNumber10_4_7",
31005
- "NSFoundationVersionNumber10_4_8",
31006
- "NSFoundationVersionNumber10_4_9",
31007
- "NSFoundationVersionNumber10_5",
31008
- "NSFoundationVersionNumber10_5_1",
31009
- "NSFoundationVersionNumber10_5_2",
31010
- "NSFoundationVersionNumber10_5_3",
31011
- "NSFoundationVersionNumber10_5_4",
31012
- "NSFoundationVersionNumber10_5_5",
31013
- "NSFoundationVersionNumber10_5_6",
31014
- "NSFoundationVersionNumber10_5_7",
31015
- "NSFoundationVersionNumber10_5_8",
31016
- "NSFoundationVersionNumber10_6",
31017
- "NSFoundationVersionNumber10_6_1",
31018
- "NSFoundationVersionNumber10_6_2",
31019
- "NSFoundationVersionNumber10_6_3",
31020
- "NSFoundationVersionNumber10_6_4",
31021
- "NSFoundationVersionNumber10_6_5",
31022
- "NSFoundationVersionNumber10_6_6",
31023
- "NSFoundationVersionNumber10_6_7",
31024
- "NSFoundationVersionNumber10_6_8",
31025
- "NSFoundationVersionNumber10_7",
31026
- "NSFoundationVersionNumber10_7_1",
31027
- "NSFoundationVersionNumber10_7_2",
31028
- "NSFoundationVersionNumber10_7_3",
31029
- "NSFoundationVersionNumber10_7_4",
31030
- "NSFoundationVersionNumber10_8",
31031
- "NSFoundationVersionNumber10_8_1",
31032
- "NSFoundationVersionNumber10_8_2",
31033
- "NSFoundationVersionNumber10_8_3",
31034
- "NSFoundationVersionNumber10_8_4",
31035
- "NSFoundationVersionNumber10_9",
31036
- "NSFoundationVersionNumber10_9_1",
31037
- "NSFoundationVersionNumber10_9_2",
31038
- "NSFoundationVersionNumber_iOS_4_0",
31039
- "NSFoundationVersionNumber_iOS_4_1",
31040
- "NSFoundationVersionNumber_iOS_4_2",
31041
- "NSFoundationVersionNumber_iOS_4_3",
31042
- "NSFoundationVersionNumber_iOS_5_0",
31043
- "NSFoundationVersionNumber_iOS_5_1",
31044
- "NSFoundationVersionNumber_iOS_6_0",
31045
- "NSFoundationVersionNumber_iOS_6_1",
31046
- "NSFoundationVersionNumber_iOS_7_0",
31047
- "NSFoundationVersionNumber_iOS_7_1",
31048
- "NSFoundationVersionNumber_iOS_8_0",
31049
- "NSFoundationVersionNumber_iOS_8_1",
31050
- "NSFoundationVersionNumber_iOS_8_2",
31051
- "NSFoundationVersionNumber_iOS_8_3",
31052
- "NSFoundationVersionNumber_iOS_8_4",
31053
- "NSFoundationVersionNumber_iOS_8_x_Max",
31054
- "NSFoundationVersionNumber_iOS_9_0",
31055
- "NSFoundationVersionNumber_iOS_9_1",
31056
- "NSFoundationVersionNumber_iOS_9_2",
31057
- "NSFoundationVersionNumber_iOS_9_3",
31058
- "NSFoundationVersionNumber_iOS_9_4",
31059
- "NSFoundationVersionNumber_iOS_9_x_Max",
31060
- "NSFoundationVersionNumber_iPhoneOS_2_0",
31061
- "NSFoundationVersionNumber_iPhoneOS_2_1",
31062
- "NSFoundationVersionNumber_iPhoneOS_2_2",
31063
- "NSFoundationVersionNumber_iPhoneOS_3_0",
31064
- "NSFoundationVersionNumber_iPhoneOS_3_1",
31065
- "NSFoundationVersionNumber_iPhoneOS_3_2",
31066
30987
  "NSFoundationVersionWithFileManagerResourceForkSupport",
31067
30988
  "NSFreeHashTable",
31068
30989
  "NSFreeMapTable",
@@ -33945,8 +33866,10 @@ function isIosAppTarget(ref, options = {}) {
33945
33866
  },
33946
33867
  options
33947
33868
  );
33869
+ const platforms2 = settingList(get("SUPPORTED_PLATFORMS"));
33870
+ if (platforms2.length > 0) return platforms2.some(isIosPlatform);
33948
33871
  const sdk = get("SDKROOT");
33949
- return sdk === "auto" ? settingList(get("SUPPORTED_PLATFORMS")).some(isIosPlatform) : sdk === "" || isIosPlatform(sdk);
33872
+ return sdk === "" || isIosPlatform(sdk);
33950
33873
  }
33951
33874
  function isIosPlatform(name3) {
33952
33875
  return name3.startsWith("iphoneos") || name3.startsWith("iphonesimulator");
@@ -42570,6 +42493,7 @@ function resolveSwiftPackages(options) {
42570
42493
  dir: target.dir,
42571
42494
  files: files2,
42572
42495
  exclude: target.exclude,
42496
+ ...target.sources ? { sources: target.sources } : {},
42573
42497
  packageDir: pkg.manifest.dir,
42574
42498
  remote: pkg.remote,
42575
42499
  iosDeployment: pkg.manifest.iosDeployment,
@@ -43004,7 +42928,7 @@ var init_swift_standin_digest = __esm({
43004
42928
  STANDIN_DIGEST_ENTRYPOINTS = ["swift-standins.ts", "swift-objc-compile.ts"];
43005
42929
  SPECIFIER = /from\s*['"]([^'"]+)['"]|import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
43006
42930
  standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
43007
- STANDIN_SOURCE_DIGEST = true ? "8357df1eb62bbe4eb3a2bc4588867a6b75d1052c41e274e31fec2fde3700676e" : standinSourceDigest();
42931
+ STANDIN_SOURCE_DIGEST = true ? "8bf9878abc11473e9367806d1a6ac0089e4451eefdc2a1e5830542f3e83e80cf" : standinSourceDigest();
43008
42932
  }
43009
42933
  });
43010
42934
 
@@ -48134,9 +48058,13 @@ async function buildXcodeLayout(root) {
48134
48058
  upcomingFeatures: target.packageUpcomingFeatures.filter(
48135
48059
  (feature) => feature.configuration === null || feature.configuration === packageConfiguration
48136
48060
  ).map((feature) => feature.name),
48137
- swiftFlags: target.packageSwiftFlags.filter(
48138
- (setting) => setting.configuration === null || setting.configuration === packageConfiguration
48139
- ).flatMap((setting) => setting.flags),
48061
+ // the flat build gives every module one package; swiftpm names each
48062
+ // module for its own package, which `@retroactive` and `package` read
48063
+ swiftFlags: ["-package-name", swiftPackageIdentity(target.packageDir)].concat(
48064
+ target.packageSwiftFlags.filter(
48065
+ (setting) => setting.configuration === null || setting.configuration === packageConfiguration
48066
+ ).flatMap((setting) => setting.flags)
48067
+ ),
48140
48068
  linkedLibraries: target.packageLibraries.filter(
48141
48069
  (library) => library.configuration === null || library.configuration === packageConfiguration
48142
48070
  ).map((library) => library.name),
@@ -48494,7 +48422,7 @@ function xcodeManifest(layout2) {
48494
48422
  `let package = Package(name: "app", ${layout2.app.iosDeploymentTarget ? `platforms: [.iOS(${JSON.stringify(layout2.app.iosDeploymentTarget)})], ` : ""}dependencies: [${[...nativePaths].map(([name3, directory2]) => `.package(name: ${JSON.stringify(name3)}, path: ${JSON.stringify(directory2)})`).join(", ")}], targets: [`,
48495
48423
  ` .executableTarget(name: "${layout2.app.moduleName}", dependencies: [${[...appProducts, ...layout2.targets.map((target) => JSON.stringify(target.name)), ...sdkProducts].join(", ")}], path: "${XCODE_APP_DIR}", ${appSettings}),`,
48496
48424
  ...layout2.targets.map(
48497
- (target) => target.systemLibrary ? ` .systemLibrary(name: "${target.name}", path: "${target.path}"),` : ` .target(name: "${target.name}", ${target.dependencies === void 0 ? "" : `dependencies: [${dependencies(target)}], `}path: "${target.path}", ${target.exclude.length > 0 ? `exclude: ${JSON.stringify(target.exclude)}, ` : ""}${target.resources ? "resources: [], " : ""}${target.publicHeadersPath === void 0 ? "" : `publicHeadersPath: ${JSON.stringify(target.publicHeadersPath)}, `}${clangSettings(target)}${swiftManifestSettings(target)}${libraries(target)}),`
48425
+ (target) => target.systemLibrary ? ` .systemLibrary(name: "${target.name}", path: "${target.path}"),` : ` .target(name: "${target.name}", ${target.dependencies === void 0 ? "" : `dependencies: [${dependencies(target)}], `}path: "${target.path}", ${target.exclude.length > 0 ? `exclude: ${JSON.stringify(target.exclude)}, ` : ""}${target.sources === void 0 ? "" : `sources: ${JSON.stringify(target.sources)}, `}${target.resources ? "resources: [], " : ""}${target.publicHeadersPath === void 0 ? "" : `publicHeadersPath: ${JSON.stringify(target.publicHeadersPath)}, `}${clangSettings(target)}${swiftManifestSettings(target)}${libraries(target)}),`
48498
48426
  ),
48499
48427
  "])",
48500
48428
  ""
@@ -50937,7 +50865,8 @@ var init_podspec_sources = __esm({
50937
50865
  }
50938
50866
  or = () => this.binary(["||"], this.and);
50939
50867
  and = () => this.binary(["&&"], this.eq);
50940
- eq = () => this.binary(["==", "!="], this.shift);
50868
+ eq = () => this.binary(["==", "!="], this.compare);
50869
+ compare = () => this.binary(["<", ">", "<=", ">="], this.shift);
50941
50870
  shift = () => this.binary(["<<"], this.add);
50942
50871
  add = () => this.binary(["+", "-"], this.unary);
50943
50872
  unary = () => {
@@ -51092,6 +51021,8 @@ var init_podspec_sources = __esm({
51092
51021
  return { k: "hash", pairs: pairs2 };
51093
51022
  }
51094
51023
  if (tok.v === "::") return this.fail("top-level constant");
51024
+ if (tok.v === "$" && this.toks[this.i]?.t === "id")
51025
+ return { k: "fail", why: `global $${this.toks[this.i++].v}` };
51095
51026
  return this.fail(`unexpected ${tok.v}`);
51096
51027
  }
51097
51028
  }
@@ -51299,7 +51230,15 @@ var init_podspec_sources = __esm({
51299
51230
  }
51300
51231
  case "bin": {
51301
51232
  if (node.op === "||" || node.op === "&&") {
51302
- const l2 = this.ev(scope2, node.l);
51233
+ let l2;
51234
+ try {
51235
+ l2 = this.ev(scope2, node.l);
51236
+ } catch (error) {
51237
+ if (!recoverable(error)) throw error;
51238
+ const r2 = this.ev(scope2, node.r);
51239
+ if (truthy(r2) === (node.op === "||")) return r2;
51240
+ throw error;
51241
+ }
51303
51242
  return truthy(l2) === (node.op === "||") ? l2 : this.ev(scope2, node.r);
51304
51243
  }
51305
51244
  const l = this.ev(scope2, node.l);
@@ -51321,6 +51260,12 @@ var init_podspec_sources = __esm({
51321
51260
  l.push(r);
51322
51261
  return l;
51323
51262
  }
51263
+ if (typeof l === "number" && typeof r === "number") {
51264
+ if (node.op === "<") return l < r;
51265
+ if (node.op === ">") return l > r;
51266
+ if (node.op === "<=") return l <= r;
51267
+ if (node.op === ">=") return l >= r;
51268
+ }
51324
51269
  return this.fail(`operator ${node.op}`);
51325
51270
  }
51326
51271
  case "method": {
@@ -55051,7 +54996,7 @@ var init_nitro_superset = __esm({
55051
54996
  init_nitroContract();
55052
54997
  init_swift_standin_digest();
55053
54998
  NITRO_SUPERSET_ENTRY_NAME = "superset";
55054
- NITRO_COMPILER_DIGEST = true ? "e93e3676955536b40fb7d641f4fc1f923b11fdb88e6dace01f40c294b4bcde2e" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
54999
+ NITRO_COMPILER_DIGEST = true ? "e99385128dd9d84fea68a577e53c7a4a93a855f8f3e0b00b584eba31e08b599f" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
55055
55000
  nitroSupersetLock = parseLock(nitro_superset_lock_default);
55056
55001
  nitroSupersetKey = (inputs) => nativeEntryKey({ ...inputs, compiler: NITRO_COMPILER_DIGEST });
55057
55002
  published = /* @__PURE__ */ new Map();
@@ -56276,7 +56221,7 @@ var init_expo_native_compiler_digest = __esm({
56276
56221
 
56277
56222
  // src/expo-native-prebuilt.ts
56278
56223
  function expoNativeCompilerDigestValue() {
56279
- return true ? "71d42de432341241c4ed964764fe540e192d2c68c59ab6123dd11f47da4fb36e" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
56224
+ return true ? "b94cda9bfcf7bc33627ad755dd1d150970b3a3ad790430aa313cfc6d23d36831" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
56280
56225
  }
56281
56226
  function readSources(value) {
56282
56227
  const sources = isRecord(value) ? value.sources : null;
@@ -57226,7 +57171,7 @@ var init_react_native_core = __esm({
57226
57171
  init_swift_distribution();
57227
57172
  init_swift_package();
57228
57173
  init_swiftContract();
57229
- recipe = true ? "ad88035f7f9d4bac52054fb8da3c9cce8606e49c7522c8c0556f8dc3cb900ebd" : reactNativeCoreDigest2(__sootsim_import_meta_dirname);
57174
+ recipe = true ? "3fd6f321c9bd4f9cede042a7cee967febbe9f87df3e90e8e2937322e8ee19455" : reactNativeCoreDigest2(__sootsim_import_meta_dirname);
57230
57175
  strings4 = (value) => isRecord(value) && Object.values(value).every((item) => typeof item === "string");
57231
57176
  }
57232
57177
  });
@@ -61802,6 +61747,7 @@ async function compileKotlin(input, origin) {
61802
61747
  [
61803
61748
  ...common,
61804
61749
  "-nowarn",
61750
+ "-Xpartial-linkage-loglevel=error",
61805
61751
  `-Xinclude=${import_node_path103.default.join(work, "klib")}`,
61806
61752
  "-Xir-produce-js",
61807
61753
  "-ir-output-dir",
@@ -61897,6 +61843,10 @@ async function compileKotlin(input, origin) {
61897
61843
  import_node_path103.default.join(work, "java-abi", `Spec${index}.kt`),
61898
61844
  spec.file
61899
61845
  );
61846
+ output2 = output2.replace(
61847
+ /^error: <app> @ (.+\.kt:\d+:\d+): (.*)$/gm,
61848
+ "$1: error: $2"
61849
+ );
61900
61850
  throw new Error(
61901
61851
  `kotlin compile failed:
61902
61852
  ${output2.trim() || (error instanceof Error ? error.message : String(error))}`
@@ -62042,7 +61992,7 @@ var init_kotlin_host = __esm({
62042
61992
  "__tests__",
62043
61993
  "scripts"
62044
61994
  ]);
62045
- BUILD_FORMAT = 19;
61995
+ BUILD_FORMAT = 20;
62046
61996
  builds = /* @__PURE__ */ new Map();
62047
61997
  toolScans = /* @__PURE__ */ new Map();
62048
61998
  BRIDGE_PARAMETERS = {
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (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.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/capture-contract.ts
4
4
  var RNX_SCREEN_CAPTURE_VERSION = 1;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (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.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/cloud-contract.ts
4
4
  var RNX_CLOUD_MAX_ARTIFACT_BYTES = 40761776;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (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.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/cloud-test-args.ts
4
4
  var CLOUD_TEST_ARGS_MAX_COUNT = 32;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2189 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2191 | (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;