peachsim 0.1.2209 → 0.1.2213

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 (141) hide show
  1. package/cli/command-registry.ts +1 -0
  2. package/cli/commands/inspect/settling.ts +1 -1
  3. package/cli/commands/map.ts +576 -0
  4. package/cli/commands/runtime.ts +1 -1
  5. package/cli/main.ts +6 -0
  6. package/cli/outbound-endpoints.ts +11 -0
  7. package/dist-lib/agent-daemon-client.cjs +1 -1
  8. package/dist-lib/agent-events.cjs +1 -1
  9. package/dist-lib/attached-projects.cjs +1 -1
  10. package/dist-lib/auth/shared-session.cjs +1 -1
  11. package/dist-lib/backend-origin.cjs +1 -1
  12. package/dist-lib/beta.cjs +1 -1
  13. package/dist-lib/beta.mjs +1 -1
  14. package/dist-lib/bridge-constants.cjs +1 -1
  15. package/dist-lib/bridge-contract-input.cjs +1 -1
  16. package/dist-lib/bridge-contract-input.mjs +1 -1
  17. package/dist-lib/bridge-contract.cjs +1 -1
  18. package/dist-lib/bridge-contract.mjs +1 -1
  19. package/dist-lib/bundle-channel.cjs +282 -53
  20. package/dist-lib/capture-contract.cjs +1 -1
  21. package/dist-lib/capture-contract.mjs +1 -1
  22. package/dist-lib/cloud-contract.cjs +1 -1
  23. package/dist-lib/cloud-contract.mjs +1 -1
  24. package/dist-lib/cloud-test-args.cjs +1 -1
  25. package/dist-lib/cloud-test-args.mjs +1 -1
  26. package/dist-lib/cloud.cjs +1 -1
  27. package/dist-lib/cloud.mjs +1 -1
  28. package/dist-lib/config.cjs +1 -1
  29. package/dist-lib/config.mjs +1 -1
  30. package/dist-lib/detox/index.cjs +6 -3
  31. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  32. package/dist-lib/expo-swift-bundle.cjs +280 -51
  33. package/dist-lib/expo-swift-metadata.cjs +1 -1
  34. package/dist-lib/expo-swift-metadata.mjs +1 -1
  35. package/dist-lib/home-paths.cjs +1 -1
  36. package/dist-lib/host/bridge-host.cjs +1264 -856
  37. package/dist-lib/host/fetch-proxy-handler.cjs +21 -5
  38. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  39. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  40. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  41. package/dist-lib/host/websocket-proxy.cjs +1 -1
  42. package/dist-lib/index.cjs +1966 -752
  43. package/dist-lib/jump-to-source-babel.cjs +1 -1
  44. package/dist-lib/jump-to-source-native.cjs +1 -1
  45. package/dist-lib/kotlin-host.cjs +1 -1
  46. package/dist-lib/menu.cjs +1 -1
  47. package/dist-lib/menu.mjs +1 -1
  48. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  49. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  50. package/dist-lib/metro-production-bundle.cjs +1 -1
  51. package/dist-lib/metro-production-bundle.mjs +1 -1
  52. package/dist-lib/metro.cjs +1806 -593
  53. package/dist-lib/native-app-identity-project.cjs +19 -3
  54. package/dist-lib/native-app-identity-project.mjs +19 -3
  55. package/dist-lib/native-app-identity.cjs +1 -1
  56. package/dist-lib/native-app-identity.mjs +1 -1
  57. package/dist-lib/native-firebase-metadata.cjs +1 -1
  58. package/dist-lib/native-firebase-metadata.mjs +1 -1
  59. package/dist-lib/pdfium-raster.cjs +1 -1
  60. package/dist-lib/pdfium-raster.mjs +1 -1
  61. package/dist-lib/plist.cjs +1 -1
  62. package/dist-lib/plist.mjs +1 -1
  63. package/dist-lib/profiles.cjs +1 -1
  64. package/dist-lib/public-brand.cjs +1 -1
  65. package/dist-lib/public-origins-lib-esm.json +25 -24
  66. package/dist-lib/public-origins-lib.json +83 -53
  67. package/dist-lib/react-native-host-modules.cjs +1 -1
  68. package/dist-lib/react-native-host-modules.mjs +1 -1
  69. package/dist-lib/reap-browser.cjs +1 -1
  70. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  71. package/dist-lib/sdk.cjs +2 -2
  72. package/dist-lib/sdk.mjs +2 -2
  73. package/dist-lib/skills.cjs +1800 -1334
  74. package/dist-lib/swift-compile.cjs +58 -12
  75. package/dist-lib/swift-compile.mjs +57 -12
  76. package/dist-lib/swift-package.cjs +1 -1
  77. package/dist-lib/swift-package.mjs +1 -1
  78. package/dist-lib/swift-submit.cjs +1 -1
  79. package/dist-lib/swift-submit.mjs +1 -1
  80. package/dist-lib/swift-toolchain.cjs +1 -1
  81. package/dist-lib/swift.cjs +1 -1
  82. package/dist-lib/vite-swift.cjs +257 -47
  83. package/dist-lib/vite.cjs +1530 -303
  84. package/dist-lib/worklet-executable.cjs +1 -1
  85. package/dist-lib/worklet-executable.mjs +1 -1
  86. package/dist-types/packages/peach-engine/src/engine/font-config.d.ts +1 -1
  87. package/dist-types/packages/peach-engine/src/engine/node.d.ts +1 -0
  88. package/kotlin/sdk.tar.gz +0 -0
  89. package/package.json +1 -1
  90. package/runtime-companion.json +1 -1
  91. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/CoreData.apinotes +35 -0
  92. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/CoreData.h +8 -0
  93. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSAttributeDescription.h +30 -0
  94. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSEntityDescription.h +14 -0
  95. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSExpressionDescription.h +10 -0
  96. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSFetchIndexDescription.h +13 -0
  97. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSFetchIndexElementDescription.h +18 -0
  98. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSManagedObject.h +11 -0
  99. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSManagedObjectContext.h +19 -0
  100. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSManagedObjectID.h +2 -0
  101. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSManagedObjectModel.h +3 -0
  102. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSMergePolicy.h +17 -0
  103. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSPersistentStore.h +8 -0
  104. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSPersistentStoreCoordinator.h +6 -0
  105. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSPropertyDescription.h +13 -0
  106. package/sdk/ios/System/Library/Frameworks/CoreData.framework/Headers/NSRelationshipDescription.h +21 -0
  107. package/sdk/ios/System/Library/Frameworks/QuartzCore.framework/Headers/CoreAnimation.h +2 -0
  108. package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h +1 -10
  109. package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes +21 -0
  110. package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UINibLoading.h +1 -1
  111. package/sdk/ios/System/Library/Frameworks/UIKitTypes.framework/Headers/UIKitTypes.h +11 -0
  112. package/sdk/ios/usr/lib/swift/Combine.swiftmodule/arm64-apple-ios-simulator.swiftinterface +18 -0
  113. package/sdk/ios/usr/lib/swift/Foundation.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1 -0
  114. package/sdk/ios/usr/lib/swift/SwiftUI.swiftmodule/arm64-apple-ios-simulator.swiftinterface +19 -0
  115. package/sdk/ios/usr/lib/swift/SwiftUICore.swiftmodule/arm64-apple-ios-simulator.swiftinterface +4 -0
  116. package/sdk/ios/usr/lib/swift/UIKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +4 -0
  117. package/sdk/ios/wasm/include/pthread.h +1 -0
  118. package/sdk/ios/wasm/include/signal.h +2 -2
  119. package/sdk/native-hashes.json +3 -3
  120. package/skills/contrast/SKILL.md +1 -0
  121. package/src/home-paths.ts +1 -1
  122. package/src/host/bridge-host.ts +101 -97
  123. package/src/metro-plugin.ts +4 -1
  124. package/src/native-static-libraries.ts +7 -0
  125. package/src/react-native-coverage/native-source-ranges-file.ts +1 -1
  126. package/src/runtime-assets.ts +0 -1
  127. package/src/runtime-delivery.ts +1 -1
  128. package/src/runtime-packs.ts +212 -0
  129. package/src/swift-compile.ts +48 -10
  130. package/src/swift-host.ts +22 -3
  131. package/src/swift-objc-compile.ts +1 -1
  132. package/src/swift-objc-import.ts +32 -2
  133. package/src/swift-objc-standin.ts +1 -1
  134. package/src/swift-packages.ts +53 -28
  135. package/src/swift-pdf-raster.ts +60 -4
  136. package/src/swift-shipped-archives.json +44 -0
  137. package/src/swift-shipped-binaries.ts +12 -0
  138. package/src/swift-standin-config.ts +4 -2
  139. package/src/swift-standin-emit.ts +9 -3
  140. package/src/swift-standins.ts +75 -8
  141. package/src/vite-plugin-one.ts +4 -1
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2209 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2213 | (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;
@@ -59,6 +59,7 @@ __export(swift_compile_exports, {
59
59
  swiftCDefinedNames: () => swiftCDefinedNames,
60
60
  swiftCMainEntry: () => swiftCMainEntry,
61
61
  swiftCPredefines: () => swiftCPredefines,
62
+ swiftCTakesReturnAddress: () => swiftCTakesReturnAddress,
62
63
  swiftCodeMask: () => swiftCodeMask,
63
64
  swiftCompileSdkOptions: () => swiftCompileSdkOptions,
64
65
  swiftCrossImportFlags: () => swiftCrossImportFlags,
@@ -11042,10 +11043,25 @@ function swiftClangImporterFlags(flags) {
11042
11043
  (flag) => flag !== "-fobjc-arc" && flag !== "-fno-objc-arc" && !/^-std=(?:c(?!\+\+)|gnu(?!\+\+)|iso9899:)/.test(flag)
11043
11044
  );
11044
11045
  }
11045
- function swiftObjCModuleMap(module2, headers) {
11046
+ var SWIFT_SUBMODULE_IMPORT = /^[ \t]*(?:@\w+(?:\([^)]*\))?[ \t]+)*import[ \t]+([A-Za-z_]\w*)\.([A-Za-z_]\w*)[ \t]*(?:\/\/.*)?$/gm;
11047
+ function swiftSubmoduleImports(sources) {
11048
+ const imports = /* @__PURE__ */ new Map();
11049
+ for (const source of sources)
11050
+ for (const [, module2, submodule] of source.matchAll(SWIFT_SUBMODULE_IMPORT)) {
11051
+ const names = imports.get(module2) ?? /* @__PURE__ */ new Set();
11052
+ names.add(submodule);
11053
+ imports.set(module2, names);
11054
+ }
11055
+ return imports;
11056
+ }
11057
+ function swiftObjCModuleMap(module2, headers, submodules = /* @__PURE__ */ new Set()) {
11058
+ const header = (file) => `header ${JSON.stringify(file)}`;
11059
+ const stem = (file) => file.slice(file.lastIndexOf("/") + 1).replace(/\.[^.]*$/, "");
11046
11060
  return [
11047
11061
  `module ${module2} {`,
11048
- ...headers.map((header) => ` header ${JSON.stringify(header)}`),
11062
+ ...headers.map(
11063
+ (file) => submodules.has(stem(file)) ? ` module ${stem(file)} { ${header(file)} export * }` : ` ${header(file)}`
11064
+ ),
11049
11065
  " export *",
11050
11066
  "}",
11051
11067
  ""
@@ -12582,7 +12598,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
12582
12598
  var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
12583
12599
  var MULTI_MANIFEST_VERSION = 68;
12584
12600
  var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
12585
- var compilerSourceDigest = true ? "f113c3b74986e3d582dde643cb5771f750e5c836703fb20a79a1d67a53884748" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
12601
+ var compilerSourceDigest = true ? "4646bbe2e0cd2e48e498f51fd3d0d5ea29ecd5e6163fdf3afe8d64d4368022d7" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
12586
12602
  function swiftArtifactHash(input, release, moduleRoot) {
12587
12603
  const hash = (0, import_node_crypto13.createHash)("sha256");
12588
12604
  hash.update(`swift-compile
@@ -14214,6 +14230,20 @@ function stripCCode(source) {
14214
14230
  }
14215
14231
  return code;
14216
14232
  }
14233
+ var wasmMacroEnvironment = {
14234
+ ...emptyMacroEnvironment,
14235
+ defines: /* @__PURE__ */ new Map([
14236
+ ["__wasm__", "1"],
14237
+ ["__wasm32__", "1"],
14238
+ ["__wasi__", "1"]
14239
+ ])
14240
+ };
14241
+ function swiftCTakesReturnAddress(source) {
14242
+ if (!source.includes("__builtin_return_address")) return false;
14243
+ return /\b__builtin_return_address\s*\(/.test(
14244
+ cActiveCode(stripCCode(source), wasmMacroEnvironment)
14245
+ );
14246
+ }
14217
14247
  function swiftCDefinedNames(sources) {
14218
14248
  const names = /* @__PURE__ */ new Set();
14219
14249
  for (const source of sources)
@@ -14561,6 +14591,11 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
14561
14591
  clangImportedModules.add(name2);
14562
14592
  }
14563
14593
  }
14594
+ const submoduleImports = swiftSubmoduleImports(
14595
+ Object.entries(input.files).flatMap(
14596
+ ([file, contents]) => file.endsWith(".swift") ? [contents] : []
14597
+ )
14598
+ );
14564
14599
  const headerDirectory = import_node_path27.default.join(layout2.root, ".build", "peach-cxx-headers");
14565
14600
  const flattenedHeaders = /* @__PURE__ */ new Set();
14566
14601
  if ((0, import_node_fs25.existsSync)(headerDirectory)) {
@@ -14946,7 +14981,8 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
14946
14981
  );
14947
14982
  const moduleContents = originalModuleMap ? input.files[originalModuleMap[1]] : swiftpmModuleMap?.contents ?? packageModuleMap?.[1] ?? swiftObjCModuleMap(
14948
14983
  swiftTargetModuleName(target.name),
14949
- roots2.map((file) => import_node_path27.default.join(layout2.root, file))
14984
+ roots2.map((file) => import_node_path27.default.join(layout2.root, file)),
14985
+ submoduleImports.get(swiftTargetModuleName(target.name))
14950
14986
  );
14951
14987
  if (moduleContents === void 0)
14952
14988
  throw new Error("missing original module map " + modulemap);
@@ -15271,10 +15307,14 @@ module ${moduleName}.Swift {
15271
15307
  header ${JSON.stringify(import_node_path27.default.join(headerDirectory, name2 + "-Swift.h"))}
15272
15308
  requires objc
15273
15309
  }
15274
- ` : swiftObjCModuleMap(moduleName, [
15275
- ...(input.nativeTargets?.find((target) => target.name === name2)?.publicHeaders ?? []).map((header) => import_node_path27.default.join(layout2.root, header)),
15276
- import_node_path27.default.join(headerDirectory, name2 + "-Swift.h")
15277
- ])
15310
+ ` : swiftObjCModuleMap(
15311
+ moduleName,
15312
+ [
15313
+ ...(input.nativeTargets?.find((target) => target.name === name2)?.publicHeaders ?? []).map((header) => import_node_path27.default.join(layout2.root, header)),
15314
+ import_node_path27.default.join(headerDirectory, name2 + "-Swift.h")
15315
+ ],
15316
+ submoduleImports.get(moduleName)
15317
+ )
15278
15318
  );
15279
15319
  nativeHeaderFlags.push("-fmodule-map-file=" + modulemap);
15280
15320
  }
@@ -16265,8 +16305,12 @@ async function buildFrameworkProducts(scratch2, args) {
16265
16305
  const linked = frameworkLinkClosure(scratch2, linkedTargets.targets);
16266
16306
  const objects = linked.objects;
16267
16307
  if (linked.modules.has("UniformTypeIdentifiers")) {
16268
- const object3 = import_node_path27.default.join(scratch2, "UniformTypeIdentifiers-NativeConstants.o");
16269
- if (!(0, import_node_fs25.existsSync)(object3)) {
16308
+ const constantsDir = import_node_path27.default.join(scratch2, "uniform-type-constants");
16309
+ const constantsStamp = import_node_path27.default.join(constantsDir, ".complete");
16310
+ const object3 = import_node_path27.default.join(constantsDir, "UniformTypeIdentifiers-NativeConstants.o");
16311
+ if (!(0, import_node_fs25.existsSync)(constantsStamp) || (0, import_node_fs25.readFileSync)(constantsStamp, "utf8") !== args.frameworkKey) {
16312
+ (0, import_node_fs25.rmSync)(constantsDir, { recursive: true, force: true });
16313
+ (0, import_node_fs25.mkdirSync)(constantsDir);
16270
16314
  const sdkPaths2 = swiftSdkPaths(args.moduleRoot, args.toolchainBin);
16271
16315
  compileUniformTypeConstants({
16272
16316
  bin: args.toolchainBin,
@@ -16274,8 +16318,9 @@ async function buildFrameworkProducts(scratch2, args) {
16274
16318
  darwin: sdkPaths2.darwin,
16275
16319
  packageRoot: args.moduleRoot,
16276
16320
  minimum: darwinRecordsMinimum(),
16277
- out: scratch2
16321
+ out: constantsDir
16278
16322
  });
16323
+ (0, import_node_fs25.writeFileSync)(constantsStamp, args.frameworkKey);
16279
16324
  }
16280
16325
  objects.push(object3);
16281
16326
  linked.owners.set(object3, "UniformTypeIdentifiers");
@@ -16993,6 +17038,7 @@ function compileSwiftProjectOnce(input, options) {
16993
17038
  swiftCDefinedNames,
16994
17039
  swiftCMainEntry,
16995
17040
  swiftCPredefines,
17041
+ swiftCTakesReturnAddress,
16996
17042
  swiftCodeMask,
16997
17043
  swiftCompileSdkOptions,
16998
17044
  swiftCrossImportFlags,
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2209 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2213 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/swift-compile.ts
4
4
  import {
@@ -11004,10 +11004,25 @@ function swiftClangImporterFlags(flags) {
11004
11004
  (flag) => flag !== "-fobjc-arc" && flag !== "-fno-objc-arc" && !/^-std=(?:c(?!\+\+)|gnu(?!\+\+)|iso9899:)/.test(flag)
11005
11005
  );
11006
11006
  }
11007
- function swiftObjCModuleMap(module, headers) {
11007
+ var SWIFT_SUBMODULE_IMPORT = /^[ \t]*(?:@\w+(?:\([^)]*\))?[ \t]+)*import[ \t]+([A-Za-z_]\w*)\.([A-Za-z_]\w*)[ \t]*(?:\/\/.*)?$/gm;
11008
+ function swiftSubmoduleImports(sources) {
11009
+ const imports = /* @__PURE__ */ new Map();
11010
+ for (const source of sources)
11011
+ for (const [, module, submodule] of source.matchAll(SWIFT_SUBMODULE_IMPORT)) {
11012
+ const names = imports.get(module) ?? /* @__PURE__ */ new Set();
11013
+ names.add(submodule);
11014
+ imports.set(module, names);
11015
+ }
11016
+ return imports;
11017
+ }
11018
+ function swiftObjCModuleMap(module, headers, submodules = /* @__PURE__ */ new Set()) {
11019
+ const header = (file) => `header ${JSON.stringify(file)}`;
11020
+ const stem = (file) => file.slice(file.lastIndexOf("/") + 1).replace(/\.[^.]*$/, "");
11008
11021
  return [
11009
11022
  `module ${module} {`,
11010
- ...headers.map((header) => ` header ${JSON.stringify(header)}`),
11023
+ ...headers.map(
11024
+ (file) => submodules.has(stem(file)) ? ` module ${stem(file)} { ${header(file)} export * }` : ` ${header(file)}`
11025
+ ),
11011
11026
  " export *",
11012
11027
  "}",
11013
11028
  ""
@@ -12562,7 +12577,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
12562
12577
  var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
12563
12578
  var MULTI_MANIFEST_VERSION = 68;
12564
12579
  var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
12565
- var compilerSourceDigest = true ? "f113c3b74986e3d582dde643cb5771f750e5c836703fb20a79a1d67a53884748" : swiftCompilerSourceDigest(import.meta.dirname);
12580
+ var compilerSourceDigest = true ? "4646bbe2e0cd2e48e498f51fd3d0d5ea29ecd5e6163fdf3afe8d64d4368022d7" : swiftCompilerSourceDigest(import.meta.dirname);
12566
12581
  function swiftArtifactHash(input, release, moduleRoot) {
12567
12582
  const hash = createHash13("sha256");
12568
12583
  hash.update(`swift-compile
@@ -14194,6 +14209,20 @@ function stripCCode(source) {
14194
14209
  }
14195
14210
  return code;
14196
14211
  }
14212
+ var wasmMacroEnvironment = {
14213
+ ...emptyMacroEnvironment,
14214
+ defines: /* @__PURE__ */ new Map([
14215
+ ["__wasm__", "1"],
14216
+ ["__wasm32__", "1"],
14217
+ ["__wasi__", "1"]
14218
+ ])
14219
+ };
14220
+ function swiftCTakesReturnAddress(source) {
14221
+ if (!source.includes("__builtin_return_address")) return false;
14222
+ return /\b__builtin_return_address\s*\(/.test(
14223
+ cActiveCode(stripCCode(source), wasmMacroEnvironment)
14224
+ );
14225
+ }
14197
14226
  function swiftCDefinedNames(sources) {
14198
14227
  const names = /* @__PURE__ */ new Set();
14199
14228
  for (const source of sources)
@@ -14541,6 +14570,11 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
14541
14570
  clangImportedModules.add(name2);
14542
14571
  }
14543
14572
  }
14573
+ const submoduleImports = swiftSubmoduleImports(
14574
+ Object.entries(input.files).flatMap(
14575
+ ([file, contents]) => file.endsWith(".swift") ? [contents] : []
14576
+ )
14577
+ );
14544
14578
  const headerDirectory = path27.join(layout2.root, ".build", "peach-cxx-headers");
14545
14579
  const flattenedHeaders = /* @__PURE__ */ new Set();
14546
14580
  if (existsSync5(headerDirectory)) {
@@ -14926,7 +14960,8 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
14926
14960
  );
14927
14961
  const moduleContents = originalModuleMap ? input.files[originalModuleMap[1]] : swiftpmModuleMap?.contents ?? packageModuleMap?.[1] ?? swiftObjCModuleMap(
14928
14962
  swiftTargetModuleName(target.name),
14929
- roots2.map((file) => path27.join(layout2.root, file))
14963
+ roots2.map((file) => path27.join(layout2.root, file)),
14964
+ submoduleImports.get(swiftTargetModuleName(target.name))
14930
14965
  );
14931
14966
  if (moduleContents === void 0)
14932
14967
  throw new Error("missing original module map " + modulemap);
@@ -15251,10 +15286,14 @@ module ${moduleName}.Swift {
15251
15286
  header ${JSON.stringify(path27.join(headerDirectory, name2 + "-Swift.h"))}
15252
15287
  requires objc
15253
15288
  }
15254
- ` : swiftObjCModuleMap(moduleName, [
15255
- ...(input.nativeTargets?.find((target) => target.name === name2)?.publicHeaders ?? []).map((header) => path27.join(layout2.root, header)),
15256
- path27.join(headerDirectory, name2 + "-Swift.h")
15257
- ])
15289
+ ` : swiftObjCModuleMap(
15290
+ moduleName,
15291
+ [
15292
+ ...(input.nativeTargets?.find((target) => target.name === name2)?.publicHeaders ?? []).map((header) => path27.join(layout2.root, header)),
15293
+ path27.join(headerDirectory, name2 + "-Swift.h")
15294
+ ],
15295
+ submoduleImports.get(moduleName)
15296
+ )
15258
15297
  );
15259
15298
  nativeHeaderFlags.push("-fmodule-map-file=" + modulemap);
15260
15299
  }
@@ -16245,8 +16284,12 @@ async function buildFrameworkProducts(scratch2, args) {
16245
16284
  const linked = frameworkLinkClosure(scratch2, linkedTargets.targets);
16246
16285
  const objects = linked.objects;
16247
16286
  if (linked.modules.has("UniformTypeIdentifiers")) {
16248
- const object3 = path27.join(scratch2, "UniformTypeIdentifiers-NativeConstants.o");
16249
- if (!existsSync5(object3)) {
16287
+ const constantsDir = path27.join(scratch2, "uniform-type-constants");
16288
+ const constantsStamp = path27.join(constantsDir, ".complete");
16289
+ const object3 = path27.join(constantsDir, "UniformTypeIdentifiers-NativeConstants.o");
16290
+ if (!existsSync5(constantsStamp) || readFileSync16(constantsStamp, "utf8") !== args.frameworkKey) {
16291
+ rmSync6(constantsDir, { recursive: true, force: true });
16292
+ mkdirSync6(constantsDir);
16250
16293
  const sdkPaths2 = swiftSdkPaths(args.moduleRoot, args.toolchainBin);
16251
16294
  compileUniformTypeConstants({
16252
16295
  bin: args.toolchainBin,
@@ -16254,8 +16297,9 @@ async function buildFrameworkProducts(scratch2, args) {
16254
16297
  darwin: sdkPaths2.darwin,
16255
16298
  packageRoot: args.moduleRoot,
16256
16299
  minimum: darwinRecordsMinimum(),
16257
- out: scratch2
16300
+ out: constantsDir
16258
16301
  });
16302
+ writeFileSync7(constantsStamp, args.frameworkKey);
16259
16303
  }
16260
16304
  objects.push(object3);
16261
16305
  linked.owners.set(object3, "UniformTypeIdentifiers");
@@ -16972,6 +17016,7 @@ export {
16972
17016
  swiftCDefinedNames,
16973
17017
  swiftCMainEntry,
16974
17018
  swiftCPredefines,
17019
+ swiftCTakesReturnAddress,
16975
17020
  swiftCodeMask,
16976
17021
  swiftCompileSdkOptions,
16977
17022
  swiftCrossImportFlags,
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2209 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2213 | (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.2209 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2213 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/swift-package.ts
4
4
  function swiftManifestSettings(target) {
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2209 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2213 | (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.2209 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2213 | (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.2209 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2213 | (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.2209 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2213 | (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;