peachsim 0.1.2180 → 0.1.2185

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 (106) hide show
  1. package/cli/commands/shell-url.ts +28 -22
  2. package/cli/outbound-endpoints.ts +11 -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 +457 -96
  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 +1 -1
  27. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  28. package/dist-lib/expo-swift-bundle.cjs +352 -58
  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 +415 -85
  33. package/dist-lib/host/fetch-proxy-handler.cjs +7 -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 +7 -4
  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 +1 -1
  43. package/dist-lib/menu.mjs +1 -1
  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 -4
  49. package/dist-lib/native-app-identity-project.cjs +6 -3
  50. package/dist-lib/native-app-identity-project.mjs +6 -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 +63 -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 +1 -1
  67. package/dist-lib/sdk.cjs +1 -1
  68. package/dist-lib/sdk.mjs +1 -1
  69. package/dist-lib/skills.cjs +447 -93
  70. package/dist-lib/swift-compile.cjs +13 -4
  71. package/dist-lib/swift-compile.mjs +13 -4
  72. package/dist-lib/swift-package.cjs +26 -1
  73. package/dist-lib/swift-package.mjs +25 -1
  74. package/dist-lib/swift-submit.cjs +2 -2
  75. package/dist-lib/swift-submit.mjs +2 -2
  76. package/dist-lib/swift-toolchain.cjs +1 -1
  77. package/dist-lib/swift.cjs +1 -1
  78. package/dist-lib/vite-swift.cjs +298 -27
  79. package/dist-lib/vite.cjs +7 -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/render-worker/map-command-channel.d.ts +14 -0
  83. package/package.json +1 -1
  84. package/sdk/ios/System/Library/Frameworks/ActivityKit.framework/Headers/ActivityKit.h +1 -0
  85. package/sdk/ios/System/Library/Frameworks/ActivityKit.framework/Modules/module.modulemap +4 -0
  86. package/sdk/ios/usr/lib/swift/ActivityKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +14 -0
  87. package/sdk/ios/usr/lib/swift/CoreGraphics.swiftmodule/arm64-apple-ios-simulator.swiftinterface +14 -0
  88. package/sdk/ios/usr/lib/swift/Dispatch.swiftmodule/arm64-apple-ios-simulator.swiftinterface +3 -0
  89. package/sdk/ios/usr/lib/swift/Foundation.swiftmodule/arm64-apple-ios-simulator.swiftinterface +147 -16
  90. package/sdk/ios/usr/lib/swift/UIKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +5 -0
  91. package/src/expo-native-workspace.ts +19 -21
  92. package/src/expo-swift-bundle.ts +6 -1
  93. package/src/expo-swift-host.ts +35 -6
  94. package/src/expoSwiftContract.ts +3 -0
  95. package/src/native-bundles.ts +30 -10
  96. package/src/one-sdk/source.ts +10 -4
  97. package/src/one-sdk-bundle.ts +56 -24
  98. package/src/swift-compile.ts +3 -1
  99. package/src/swift-interface-bodies.ts +165 -0
  100. package/src/swift-objc-standin.ts +73 -13
  101. package/src/swift-package.ts +26 -0
  102. package/src/swift-source-pods.ts +27 -4
  103. package/src/swift-standin-emit.ts +30 -3
  104. package/src/swift-standins.ts +75 -12
  105. package/src/swift-submit.ts +2 -1
  106. package/src/wasm-optimize.ts +11 -1
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2180 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2185 | (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": "0b82b3773f9c0b27636f277d9c123b3e631b9c9980995d67d67efa6b3176df4a", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "65a0698bf022ace2f4254f3f891828dedf403d61c102238e242084a2279e04eb", "home-paths.ts": "f5583b61f8bdd81823b3b29ff519a48daf9993719f194ddb7de22218472e90f9", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "5f41cd0bd86cb0cffbfb0047348b963f81d5e51cb0e8dd574c739b1a27aa56de", "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": "65a0698bf022ace2f4254f3f891828dedf403d61c102238e242084a2279e04eb", "home-paths.ts": "f5583b61f8bdd81823b3b29ff519a48daf9993719f194ddb7de22218472e90f9", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "5f41cd0bd86cb0cffbfb0047348b963f81d5e51cb0e8dd574c739b1a27aa56de", "xcode-target-members.ts": "ad7589132bffab265e8a10b64e24484fe88b4a2b1cc0ee19a97f151a002eca77", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
43
43
  }
44
44
  });
45
45
 
@@ -5266,6 +5266,137 @@ function isRecord(value) {
5266
5266
  return typeof value === "object" && value !== null && !Array.isArray(value);
5267
5267
  }
5268
5268
 
5269
+ // src/swift-interface-bodies.ts
5270
+ init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
5271
+ var INLINE_ATTRIBUTE = /@(?:inlinable|_alwaysEmitIntoClient|_transparent|inline\(__always\)|_effects\([^()]*\)|_specialize\((?:[^()]|\([^()]*\))*\))\s*/g;
5272
+ var ACCESSOR = /^(?:mutating|nonmutating|async|throws|rethrows|get|set|_modify|_read)$/;
5273
+ function declarationKind(head) {
5274
+ const words2 = head.replace(/@\w+(?:\((?:[^()]|\([^()]*\))*\))?/g, " ").match(/[A-Za-z_]\w*/g);
5275
+ for (const word of words2 ?? []) {
5276
+ if (word === "func" || word === "init" || word === "deinit") return "function";
5277
+ if (word === "var" || word === "let" || word === "subscript") return "property";
5278
+ if (word === "struct" || word === "class" || word === "enum" || word === "protocol" || word === "extension" || word === "actor" || word === "precedencegroup")
5279
+ return "container";
5280
+ }
5281
+ return "container";
5282
+ }
5283
+ function skipLiteral(text5, i) {
5284
+ if (text5.startsWith("//", i)) {
5285
+ const end = text5.indexOf("\n", i);
5286
+ return end < 0 ? text5.length : end;
5287
+ }
5288
+ if (text5.startsWith("/*", i)) {
5289
+ const end = text5.indexOf("*/", i + 2);
5290
+ return end < 0 ? text5.length : end + 2;
5291
+ }
5292
+ if (text5[i] !== '"' && text5[i] !== "#") return i;
5293
+ let hashes = 0;
5294
+ let j = i;
5295
+ while (text5[j] === "#") {
5296
+ hashes++;
5297
+ j++;
5298
+ }
5299
+ if (text5[j] !== '"') return i;
5300
+ const multiline = text5.startsWith('"""', j);
5301
+ const open = multiline ? '"""' : '"';
5302
+ j += open.length;
5303
+ const close = `${open}${"#".repeat(hashes)}`;
5304
+ const escape2 = `\\${"#".repeat(hashes)}`;
5305
+ while (j < text5.length) {
5306
+ if (text5.startsWith(escape2, j)) j += escape2.length + 1;
5307
+ else if (text5.startsWith(close, j)) return j + close.length;
5308
+ else j++;
5309
+ }
5310
+ return text5.length;
5311
+ }
5312
+ function skipBlock(text5, open) {
5313
+ let depth = 0;
5314
+ for (let i = open; i < text5.length; ) {
5315
+ const after = skipLiteral(text5, i);
5316
+ if (after !== i) {
5317
+ i = after;
5318
+ continue;
5319
+ }
5320
+ if (text5[i] === "{") depth++;
5321
+ else if (text5[i] === "}" && --depth === 0) return i + 1;
5322
+ i++;
5323
+ }
5324
+ return text5.length;
5325
+ }
5326
+ function skipExpression(text5, start) {
5327
+ let depth = 0;
5328
+ for (let i = start; i < text5.length; ) {
5329
+ const after = skipLiteral(text5, i);
5330
+ if (after !== i) {
5331
+ i = after;
5332
+ continue;
5333
+ }
5334
+ const char = text5[i];
5335
+ if (char === "(" || char === "[" || char === "{" || char === "<") depth++;
5336
+ else if (char === ">" && text5[i - 1] !== "-") depth--;
5337
+ else if (char === ")" || char === "]" || char === "}") {
5338
+ if (depth === 0) return i;
5339
+ depth--;
5340
+ } else if (char === "," && depth === 0) return i;
5341
+ i++;
5342
+ }
5343
+ return text5.length;
5344
+ }
5345
+ function swiftInterfaceWithoutBodies(text5, keepDefaults = false) {
5346
+ let out = "";
5347
+ const frames = [];
5348
+ let parens = 0;
5349
+ let lineStart = 0;
5350
+ for (let i = 0; i < text5.length; ) {
5351
+ const after = skipLiteral(text5, i);
5352
+ if (after !== i) {
5353
+ out += text5.slice(i, after);
5354
+ i = after;
5355
+ continue;
5356
+ }
5357
+ const char = text5[i];
5358
+ if (char === "=" && parens > 0 && text5[i - 1] === " " && text5[i + 1] === " ") {
5359
+ out = out.trimEnd();
5360
+ i = skipExpression(text5, i + 1);
5361
+ continue;
5362
+ }
5363
+ if (char === "\n") lineStart = out.length + 1;
5364
+ else if (char === "(") parens++;
5365
+ else if (char === ")") parens--;
5366
+ else if (char === "}") {
5367
+ frames.pop();
5368
+ } else if (char === "{") {
5369
+ const parent = frames.at(-1);
5370
+ const head = out.slice(lineStart);
5371
+ if (parens > 0 || parent === "expression") frames.push("expression");
5372
+ else if (parent === "accessors") {
5373
+ out = `${out.slice(0, lineStart)}${head.replace(INLINE_ATTRIBUTE, "")}`.trimEnd();
5374
+ i = skipBlock(text5, i);
5375
+ continue;
5376
+ } else {
5377
+ const kind = declarationKind(head);
5378
+ const body = text5.slice(i + 1, skipBlock(text5, i) - 1);
5379
+ if (kind === "function") {
5380
+ out = `${out.slice(0, lineStart)}${head.replace(INLINE_ATTRIBUTE, "")}`.trimEnd();
5381
+ i = skipBlock(text5, i);
5382
+ continue;
5383
+ }
5384
+ const bare = body.split(/\s+/).every((word) => word === "" || ACCESSOR.test(word));
5385
+ frames.push(kind === "property" && !bare ? "accessors" : "container");
5386
+ if (kind === "property" && bare) {
5387
+ out += `{${body}}`;
5388
+ i = skipBlock(text5, i);
5389
+ frames.pop();
5390
+ continue;
5391
+ }
5392
+ }
5393
+ }
5394
+ out += char;
5395
+ i++;
5396
+ }
5397
+ return out.replace(INLINE_ATTRIBUTE, "");
5398
+ }
5399
+
5269
5400
  // src/swift-objc-sdk.ts
5270
5401
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
5271
5402
  var import_node_path6 = __toESM(require("node:path"), 1);
@@ -5459,6 +5590,29 @@ function moduleMapName(text5) {
5459
5590
  );
5460
5591
  return index < 0 ? void 0 : tokens2[index + 1];
5461
5592
  }
5593
+ function moduleMapModules(text5) {
5594
+ const modules = [];
5595
+ const token = /\/\*[\s\S]*?\*\/|\/\/[^\n]*|"[^"]*"|\{|\}|\bmodule\s+([\w.]+)/g;
5596
+ let depth = 0;
5597
+ let start = -1;
5598
+ let name3 = "";
5599
+ for (const match of text5.matchAll(token)) {
5600
+ if (match[0] === "{") depth++;
5601
+ else if (match[0] === "}") {
5602
+ depth--;
5603
+ if (depth === 0 && start >= 0) {
5604
+ modules.push({ name: name3, text: text5.slice(start, match.index + 1) });
5605
+ start = -1;
5606
+ }
5607
+ } else if (match[1] !== void 0 && depth === 0) {
5608
+ const before = text5.slice(0, match.index).trimEnd();
5609
+ if (/\bextern$/.test(before)) continue;
5610
+ start = match.index;
5611
+ name3 = match[1];
5612
+ }
5613
+ }
5614
+ return modules;
5615
+ }
5462
5616
  function swiftTargetModuleName(name3) {
5463
5617
  return name3.replace(/[^A-Za-z0-9_]/g, "_").replace(/^[0-9]/, "_");
5464
5618
  }
@@ -5890,7 +6044,7 @@ function restoreSwiftInterfaceSPI(interfaceText, module2, graphs) {
5890
6044
  let depth = 0;
5891
6045
  for (const line of interfaceText.split("\n")) {
5892
6046
  const enclosing = scopes.at(-1)?.path ?? [];
5893
- const declaration = /^\s*(?:@[\w.]+(?:\([^)]*\))?\s+|\w+\s+)*?(class(?!\s+(?:func|var|subscript)\b)|struct|enum|protocol|actor|extension|func|var|let|init|subscript|typealias|case)\b\s*([\w.`]*)/.exec(
6047
+ const declaration = /^\s*(?:@[\w.]+(?:\([^)]*\))?\s+|\w+\s+)*?(class(?!\s+(?:func|var|subscript)\b)|struct|enum|protocol|actor|extension|func|var|let|init|subscript|typealias|case)\b\s*([/=\-+!*%<>&|^~?]+|[\w.`]*)/.exec(
5894
6048
  line.replace(/::/g, ".")
5895
6049
  );
5896
6050
  if (declaration) {
@@ -5988,7 +6142,26 @@ var KEEP_EXTERNAL = /* @__PURE__ */ new Map([
5988
6142
  ["s:SE", "Encodable"],
5989
6143
  ["s:Se", "Decodable"],
5990
6144
  ["s:s23CustomStringConvertibleP", "CustomStringConvertible"],
5991
- ["s:s9CodingKeyP", "CodingKey"]
6145
+ ["s:s9CodingKeyP", "CodingKey"],
6146
+ ["s:SL", "Comparable"],
6147
+ ["s:ST", "Sequence"],
6148
+ ["s:St", "IteratorProtocol"],
6149
+ ["s:Sl", "Collection"],
6150
+ ["s:SK", "BidirectionalCollection"],
6151
+ ["s:Sk", "RandomAccessCollection"],
6152
+ ["s:SM", "MutableCollection"],
6153
+ ["s:Sm", "RangeReplaceableCollection"],
6154
+ ["s:s28CustomDebugStringConvertibleP", "CustomDebugStringConvertible"],
6155
+ ["s:s25LosslessStringConvertibleP", "LosslessStringConvertible"],
6156
+ ["s:s20TextOutputStreamableP", "TextOutputStreamable"],
6157
+ ["s:Sx", "Strideable"],
6158
+ ["s:s18AdditiveArithmeticP", "AdditiveArithmetic"],
6159
+ ["s:s25ExpressibleByArrayLiteralP", "ExpressibleByArrayLiteral"],
6160
+ ["s:s30ExpressibleByDictionaryLiteralP", "ExpressibleByDictionaryLiteral"],
6161
+ ["s:s26ExpressibleByStringLiteralP", "ExpressibleByStringLiteral"],
6162
+ ["s:s27ExpressibleByIntegerLiteralP", "ExpressibleByIntegerLiteral"],
6163
+ ["s:s25ExpressibleByFloatLiteralP", "ExpressibleByFloatLiteral"],
6164
+ ["s:s27ExpressibleByBooleanLiteralP", "ExpressibleByBooleanLiteral"]
5992
6165
  ]);
5993
6166
  var LEADING_ATTRS = /^((?:@\w+(?:\([^)]*\))?\s*|nonisolated\s+)*)(.*)$/s;
5994
6167
  var OBJC_ONLY = /@(?:objcMembers|objc|IBOutlet|IBInspectable|IBAction|IBSegueAction|GKInspectable|nonobjc|NSCopying|NSManaged)(?:\([^)]*\))?\s*|\bdynamic\s+/g;
@@ -6869,7 +7042,12 @@ function emitSwiftStandin(sourceGraphs, options) {
6869
7042
  const list2 = [
6870
7043
  ...parent ? [parent] : [],
6871
7044
  ...(conforms.get(id) ?? []).filter(
6872
- (name3) => !ancestors.has(name3) && !inherited.has(conformanceTargets.get(id).get(name3)) && !(parent && objectConformers.has(id) && ["Hashable", "Equatable", "CustomStringConvertible"].includes(name3)) && !(name3 === nsObjectProtocol && externalRoot(id) === nsObject)
7045
+ (name3) => !ancestors.has(name3) && !inherited.has(conformanceTargets.get(id).get(name3)) && !(parent && objectConformers.has(id) && [
7046
+ "Hashable",
7047
+ "Equatable",
7048
+ "CustomStringConvertible",
7049
+ "CustomDebugStringConvertible"
7050
+ ].includes(name3)) && !(name3 === nsObjectProtocol && externalRoot(id) === nsObject) && !options.unconformed?.get(path51)?.has(name3)
6873
7051
  )
6874
7052
  ].filter((name3, at, all2) => all2.indexOf(name3) === at);
6875
7053
  const parentSymbol = superId.has(id) ? byId.get(superId.get(id)) : void 0;
@@ -7658,6 +7836,43 @@ function sdkDeclaration(name3) {
7658
7836
  }
7659
7837
  return sdkDeclarations.get(name3) ?? null;
7660
7838
  }
7839
+ function intakeInterface(text5, keepDefaults = false) {
7840
+ return swiftInterfaceWithoutBodies(text5, keepDefaults).replace(/^((?:@_exported[ \t]+)?import[ \t]+)(\w+)\.[\w.]+[ \t]*$/gm, "$1$2").replace(/\bCoreFoundation\.(?=CG)/g, "CoreGraphics.").replace(/\bCoreFoundation\.(?=\w)/g, "Foundation.").replace(/\bDarwin\.OSStatus\b/g, "Swift.Int32").replace(
7841
+ /\bFoundation\.Data\.(?=Base64(?:En|De)codingOptions\b)/g,
7842
+ "Foundation.NSData."
7843
+ );
7844
+ }
7845
+ function stageVendorFrameworks(dir, stage) {
7846
+ import_node_fs7.default.mkdirSync(stage, { recursive: true });
7847
+ for (const entry of import_node_fs7.default.readdirSync(dir)) {
7848
+ if (!entry.endsWith(".framework")) continue;
7849
+ const source = import_node_path7.default.join(dir, entry);
7850
+ const target = import_node_path7.default.join(stage, entry);
7851
+ import_node_fs7.default.mkdirSync(target, { recursive: true });
7852
+ for (const child of import_node_fs7.default.readdirSync(source)) {
7853
+ if (child !== "Modules") {
7854
+ import_node_fs7.default.symlinkSync(import_node_path7.default.join(source, child), import_node_path7.default.join(target, child));
7855
+ continue;
7856
+ }
7857
+ for (const file of import_node_fs7.default.readdirSync(import_node_path7.default.join(source, child), {
7858
+ recursive: true,
7859
+ encoding: "utf8"
7860
+ })) {
7861
+ const from = import_node_path7.default.join(source, child, file);
7862
+ const to = import_node_path7.default.join(target, child, file);
7863
+ if (import_node_fs7.default.statSync(from).isDirectory()) {
7864
+ import_node_fs7.default.mkdirSync(to, { recursive: true });
7865
+ continue;
7866
+ }
7867
+ import_node_fs7.default.mkdirSync(import_node_path7.default.dirname(to), { recursive: true });
7868
+ if (file.endsWith(".swiftinterface"))
7869
+ import_node_fs7.default.writeFileSync(to, intakeInterface(import_node_fs7.default.readFileSync(from, "utf8")));
7870
+ else import_node_fs7.default.copyFileSync(from, to);
7871
+ }
7872
+ }
7873
+ }
7874
+ return stage;
7875
+ }
7661
7876
  function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vendorFrameworks = []) {
7662
7877
  if (!import_node_fs7.default.existsSync(stdlib))
7663
7878
  throw new Error(
@@ -7685,6 +7900,7 @@ function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vend
7685
7900
  import_node_fs7.default.writeFileSync(file, text5);
7686
7901
  }
7687
7902
  const interfaceCopies = [];
7903
+ let keepDefaults = true;
7688
7904
  if (framework) {
7689
7905
  import_node_fs7.default.mkdirSync(import_node_path7.default.join(frameworks, `${surface.module}.framework`, "Modules"), {
7690
7906
  recursive: true
@@ -7711,10 +7927,7 @@ function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vend
7711
7927
  interfaceCopies.push(import_node_path7.default.join(to, name3));
7712
7928
  import_node_fs7.default.writeFileSync(
7713
7929
  import_node_path7.default.join(to, name3),
7714
- import_node_fs7.default.readFileSync(import_node_path7.default.join(from, name3), "utf8").replace(/\bCoreFoundation\.(?=CG)/g, "CoreGraphics.").replace(/\bCoreFoundation\.(?=\w)/g, "Foundation.").replace(/\bDarwin\.OSStatus\b/g, "Swift.Int32").replace(
7715
- /\bFoundation\.Data\.(?=Base64(?:En|De)codingOptions\b)/g,
7716
- "Foundation.NSData."
7717
- )
7930
+ intakeInterface(import_node_fs7.default.readFileSync(import_node_path7.default.join(from, name3), "utf8"), true)
7718
7931
  );
7719
7932
  }
7720
7933
  }
@@ -7776,7 +7989,10 @@ function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vend
7776
7989
  stubs,
7777
7990
  "-I",
7778
7991
  stubIncludes,
7779
- ...vendorFrameworks.flatMap((dir) => ["-F", dir])
7992
+ ...vendorFrameworks.flatMap((dir, index) => [
7993
+ "-F",
7994
+ stageVendorFrameworks(dir, import_node_path7.default.join(work, "vendor-frameworks", String(index)))
7995
+ ])
7780
7996
  ];
7781
7997
  const missing = /* @__PURE__ */ new Map();
7782
7998
  const stubbed = /* @__PURE__ */ new Set();
@@ -7982,6 +8198,13 @@ function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vend
7982
8198
  );
7983
8199
  }
7984
8200
  }
8201
+ if ((!progress || round === ROUNDS) && keepDefaults && interfaceCopies.length > 0) {
8202
+ keepDefaults = false;
8203
+ for (const file of interfaceCopies)
8204
+ import_node_fs7.default.writeFileSync(file, swiftInterfaceWithoutBodies(import_node_fs7.default.readFileSync(file, "utf8")));
8205
+ writeHeaders();
8206
+ continue;
8207
+ }
7985
8208
  if (!progress || round === ROUNDS)
7986
8209
  throw new Error(
7987
8210
  `its headers do not import as Swift: ${errors.length > 0 ? [...new Set(errors.map((match) => match[4]))].slice(0, 10).join("; ") : `swift-symbolgraph-extract ${run5.signal ?? `exit ${run5.status}`}: ${(run5.stderr.trim() || run5.stdout.trim() || "no diagnostic").slice(0, 4e3)}`}`
@@ -14977,6 +15200,13 @@ var BINARYEN_RELEASES = /* @__PURE__ */ new Map([
14977
15200
  ]
14978
15201
  ]);
14979
15202
  async function runWasmOpt(file, output2, skipPasses, binary) {
15203
+ const admittedCores = windowAdmission()?.cores ?? Number(process.env.TM_EXEC_CPU_CORES);
15204
+ const requestedCores = Number(process.env.BINARYEN_CORES);
15205
+ const environment = { ...process.env, WASM_OPT_PATH: binary };
15206
+ if (Number.isInteger(admittedCores) && admittedCores > 0)
15207
+ environment.BINARYEN_CORES = String(
15208
+ Number.isInteger(requestedCores) && requestedCores > 0 ? Math.min(admittedCores, requestedCores) : admittedCores
15209
+ );
14980
15210
  const result = await (0, import_wasm_opt.wasmOpt)(
14981
15211
  [
14982
15212
  "-Oz",
@@ -14986,7 +15216,7 @@ async function runWasmOpt(file, output2, skipPasses, binary) {
14986
15216
  "-o",
14987
15217
  output2
14988
15218
  ],
14989
- { env: { ...process.env, WASM_OPT_PATH: binary } }
15219
+ { env: environment }
14990
15220
  );
14991
15221
  if (result.status !== 0)
14992
15222
  throw new Error(`wasm-opt exited ${result.status}: ${result.stderr}`);
@@ -17039,7 +17269,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
17039
17269
  var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
17040
17270
  var MULTI_MANIFEST_VERSION = 68;
17041
17271
  var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
17042
- var compilerSourceDigest = true ? "f4c68ce2ea46dd5a9205990046616e5dcc4a3b3b527378ee285d9e25865e5851" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
17272
+ var compilerSourceDigest = true ? "e48d05f659c020e9d4ddc0f6a17da7924aae807faacd6bef7cbed911c43d08cc" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
17043
17273
  function swiftArtifactHash(input, release, moduleRoot) {
17044
17274
  const hash = (0, import_node_crypto13.createHash)("sha256");
17045
17275
  hash.update(`swift-compile
@@ -20343,7 +20573,7 @@ function readCompiledArtifact(directory, hash) {
20343
20573
  return null;
20344
20574
  const bytes = (0, import_node_fs27.readFileSync)(import_node_path27.default.join(directory, "app.wasm"));
20345
20575
  const gzip2 = (0, import_node_fs27.readFileSync)(import_node_path27.default.join(directory, "icu.gz"));
20346
- if ((0, import_node_crypto13.createHash)("sha256").update(bytes).digest("hex") !== receipt.wasm || (0, import_node_crypto13.createHash)("sha256").update(gzip2).digest("hex") !== receipt.icu || bytes.length < 8 || bytes.readUInt32LE(0) !== 1836278016 || bytes.readUInt32LE(4) !== 1)
20576
+ if ((0, import_node_crypto13.createHash)("sha256").update(bytes).digest("hex") !== receipt.wasm || (0, import_node_crypto13.createHash)("sha256").update(gzip2).digest("hex") !== receipt.icu || bytes.length <= 8 || bytes.readUInt32LE(0) !== 1836278016 || bytes.readUInt32LE(4) !== 1)
20347
20577
  return null;
20348
20578
  return { hash, bytes, icu: { sha256: receipt.icu, gzip: gzip2 } };
20349
20579
  } catch (error) {
@@ -21405,6 +21635,8 @@ function compileSwiftProjectOnce(input, options) {
21405
21635
  bytes: (0, import_node_fs27.readFileSync)(executable),
21406
21636
  icu: await icu
21407
21637
  };
21638
+ if (artifact.bytes.length <= 8)
21639
+ throw new Error("swift-compile: deferred linker produced no executable");
21408
21640
  if (!options.project) saveCompiledArtifact(root, artifact);
21409
21641
  saveSharedArtifact(sharedRoot, artifact);
21410
21642
  report("compiled artifact verified");
@@ -29589,7 +29821,7 @@ var MAX_SWIFT_COMPILE_METAL_TOTAL_BYTES = 8 * 1024 * 1024;
29589
29821
  var MAX_SWIFT_COMPILE_IMAGES = 256;
29590
29822
  var MAX_SWIFT_COMPILE_IMAGE_BYTES = 4 * 1024 * 1024;
29591
29823
  var MAX_SWIFT_COMPILE_IMAGE_TOTAL_BYTES = 16 * 1024 * 1024;
29592
- var SWIFT_HOST_ABI = 69;
29824
+ var SWIFT_HOST_ABI = 70;
29593
29825
  var POLL_INTERVAL_MS = 1500;
29594
29826
  function swiftNativeEntry(native, file) {
29595
29827
  return {
@@ -30440,7 +30672,7 @@ function sourceClosureDigest(srcDir, entrypoints) {
30440
30672
  return hash.digest("hex");
30441
30673
  }
30442
30674
  var standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
30443
- var STANDIN_SOURCE_DIGEST = true ? "f2fd734797f09885af5cbd2e5fd5b69c0958bd1f06e2a2e9454cbae6de386412" : standinSourceDigest();
30675
+ var STANDIN_SOURCE_DIGEST = true ? "0981767eef4ad46fe5cb602ee15f1de9ea06dac3a2edb4dab0f6d5279b018a3b" : standinSourceDigest();
30444
30676
 
30445
30677
  // src/swift-standins.ts
30446
30678
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -31613,6 +31845,19 @@ function cxxOnly(surface) {
31613
31845
  return false;
31614
31846
  });
31615
31847
  }
31848
+ function mapSurfaces(modulemap) {
31849
+ const text5 = import_node_fs48.default.readFileSync(modulemap, "utf8");
31850
+ const headers = import_node_path49.default.dirname(modulemap);
31851
+ const modules = moduleMapModules(text5);
31852
+ if (modules.length <= 1) {
31853
+ const module2 = moduleMapName(text5);
31854
+ return module2 ? [headerSurface(module2, modulemap, headers)] : [];
31855
+ }
31856
+ return modules.map(
31857
+ (module2) => headerSurface(module2.name, generatedModuleMap(`${module2.text}
31858
+ `, false), headers)
31859
+ );
31860
+ }
31616
31861
  function simulatorSlice(xcframeworkDir) {
31617
31862
  const slice = import_node_fs48.default.readdirSync(xcframeworkDir).filter((name3) => /^ios-.+-simulator$/.test(name3)).sort()[0];
31618
31863
  return slice ? import_node_path49.default.join(xcframeworkDir, slice) : null;
@@ -31676,8 +31921,7 @@ function surfaces(xcframeworkDir, target, slice = simulatorSlice(xcframeworkDir)
31676
31921
  const headers = import_node_path49.default.join(root, "Headers");
31677
31922
  for (const map of files(headers, (name3) => name3 === "module.modulemap")) {
31678
31923
  const modulemap = import_node_path49.default.join(headers, map);
31679
- const module2 = moduleMapName(import_node_fs48.default.readFileSync(modulemap, "utf8"));
31680
- if (module2) found.push(headerSurface(module2, modulemap, import_node_path49.default.dirname(modulemap)));
31924
+ found.push(...mapSurfaces(modulemap));
31681
31925
  }
31682
31926
  if (found.length === 0 && files(headers, (name3) => name3.endsWith(".h")).length) {
31683
31927
  const module2 = swiftTargetModuleName(target);
@@ -31814,9 +32058,13 @@ function swiftInterfaceForWasm(text5, cFlags) {
31814
32058
  ]);
31815
32059
  return `${interop} ${xcc.join(" ")}`;
31816
32060
  });
31817
- return retargeted.split("\n").map((line) => {
31818
- if (/\benum\s/.test(line) && TYPE_DECLARATION.test(line))
31819
- return line.replace(/@objc(?:\s*\([^()]*\))?\s+/g, "");
32061
+ const lines = retargeted.split("\n");
32062
+ const required = lines.filter((line) => OPTIONAL_REQUIREMENT.test(line)).join("\n");
32063
+ return lines.map((line) => {
32064
+ if (/\benum\s/.test(line) && TYPE_DECLARATION.test(line)) {
32065
+ const name3 = /\benum\s+(\w+)/.exec(line)?.[1];
32066
+ return name3 && new RegExp(`\\b${name3}\\b`).test(required) && !/\bSwift\.Error\b/.test(line) ? line : line.replace(/@objc(?:\s*\([^()]*\))?\s+/g, "");
32067
+ }
31820
32068
  if (TYPE_DECLARATION.test(line)) return line.replace(/@objcMembers\b/g, "");
31821
32069
  if (OPTIONAL_REQUIREMENT.test(line)) return line;
31822
32070
  return line.replace(OBJC_ATTRIBUTE, "");
@@ -32237,6 +32485,14 @@ function graphStandin(module2, graphs, values, wasm, binary, toolchain, work, re
32237
32485
  const plain = /* @__PURE__ */ new Set();
32238
32486
  const unobjc = /* @__PURE__ */ new Set();
32239
32487
  const trapped = /* @__PURE__ */ new Set();
32488
+ const unconformed = /* @__PURE__ */ new Map();
32489
+ const objcProtocols = new Set(
32490
+ graphs.flatMap(
32491
+ (graph) => graph.symbols.filter(
32492
+ (symbol2) => symbol2.kind.identifier === "swift.protocol" && symbol2.identifier.precise.startsWith("c:")
32493
+ ).map((symbol2) => symbol2.pathComponents.join("."))
32494
+ )
32495
+ );
32240
32496
  const file = import_node_path49.default.join(work, `${module2}.swift`);
32241
32497
  const inert = binary.placeholder !== void 0 || binary.publicHeaders !== void 0 && binary.assemblySources === void 0;
32242
32498
  for (; ; ) {
@@ -32249,6 +32505,7 @@ function graphStandin(module2, graphs, values, wasm, binary, toolchain, work, re
32249
32505
  omit,
32250
32506
  plain,
32251
32507
  unobjc,
32508
+ unconformed,
32252
32509
  trapped,
32253
32510
  inert,
32254
32511
  imports: [...placeholder?.peachImports ?? [], ...imports2],
@@ -32296,7 +32553,7 @@ function graphStandin(module2, graphs, values, wasm, binary, toolchain, work, re
32296
32553
  files: { [`${module2}.swift`]: source },
32297
32554
  ...imports2.length ? { dependencies: imports2 } : {}
32298
32555
  };
32299
- const before = omit.size + plain.size + unobjc.size + trapped.size;
32556
+ const before = omit.size + plain.size + unobjc.size + trapped.size + unconformed.size;
32300
32557
  const elsewhere = [];
32301
32558
  for (const match of check2.stderr.matchAll(/^(\S+?):(\d+):\d+: error: (.*)$/gm)) {
32302
32559
  const owner = match[1] === file ? owners[Number(match[2]) - 1] : void 0;
@@ -32304,6 +32561,13 @@ function graphStandin(module2, graphs, values, wasm, binary, toolchain, work, re
32304
32561
  unobjc.add(owner);
32305
32562
  continue;
32306
32563
  }
32564
+ const conformance = /^type '\w+' does not conform to protocol '(\w+)'$/.exec(
32565
+ match[3]
32566
+ )?.[1];
32567
+ if (owner && conformance && objcProtocols.has(conformance)) {
32568
+ unconformed.set(owner, /* @__PURE__ */ new Set([...unconformed.get(owner) ?? [], conformance]));
32569
+ continue;
32570
+ }
32307
32571
  if (owner && swiftPaths.has(owner))
32308
32572
  throw new Error(
32309
32573
  `Swift declaration ${module2}.${owner} does not typecheck: ${match[3]}`
@@ -32319,7 +32583,7 @@ function graphStandin(module2, graphs, values, wasm, binary, toolchain, work, re
32319
32583
  else if (owner) omit.set(owner, `rejected by swiftc: ${match[3]}`);
32320
32584
  else elsewhere.push(match[3]);
32321
32585
  }
32322
- if (omit.size + plain.size + unobjc.size + trapped.size === before)
32586
+ if (omit.size + plain.size + unobjc.size + trapped.size + unconformed.size === before)
32323
32587
  throw new Error(
32324
32588
  `its generated source does not typecheck: ${elsewhere.slice(0, 3).join("; ") || check2.stderr.trim().slice(0, 400)}`
32325
32589
  );
@@ -32445,7 +32709,16 @@ function splitDeclarators(statement, names) {
32445
32709
  );
32446
32710
  }
32447
32711
  function cStandin(surface, binary, toolchain, work) {
32448
- const headers = files(surface.headers, (name3) => name3.endsWith(".h"));
32712
+ const everyHeader = files(surface.headers, (name3) => name3.endsWith(".h"));
32713
+ const moduleRoots = moduleMapHeaders(surface.modulemap, everyHeader);
32714
+ const headers = [...moduleRoots];
32715
+ for (let at = 0; at < headers.length; at++)
32716
+ for (const [, local] of import_node_fs48.default.readFileSync(import_node_path49.default.join(surface.headers, headers[at]), "utf8").matchAll(/^\s*#\s*(?:include|import)\s*["<]([^">]+)[">]/gm)) {
32717
+ const file = import_node_path49.default.posix.normalize(
32718
+ import_node_path49.default.posix.join(import_node_path49.default.posix.dirname(headers[at]), local)
32719
+ );
32720
+ if (everyHeader.includes(file) && !headers.includes(file)) headers.push(file);
32721
+ }
32449
32722
  const framework = import_node_path49.default.basename(import_node_path49.default.dirname(surface.modulemap)) === "Modules";
32450
32723
  const headerDirectory = framework ? `${surface.module}.framework/Headers` : ".";
32451
32724
  const texts = new Map(
@@ -32460,9 +32733,7 @@ function cStandin(surface, binary, toolchain, work) {
32460
32733
  import_node_fs48.default.mkdirSync(import_node_path49.default.dirname(import_node_path49.default.join(include, file)), { recursive: true });
32461
32734
  import_node_fs48.default.writeFileSync(import_node_path49.default.join(include, file), text5);
32462
32735
  }
32463
- const roots = moduleMapHeaders(surface.modulemap, headers).map(
32464
- (file) => import_node_path49.default.posix.join(headerDirectory, file)
32465
- );
32736
+ const roots = moduleRoots.map((file) => import_node_path49.default.posix.join(headerDirectory, file));
32466
32737
  const frameworkMap = `${surface.module}.framework/Modules/module.modulemap`;
32467
32738
  const modulemap = `module ${surface.module} {
32468
32739
  ${roots.map((file) => ` header "${file}"
@@ -33207,7 +33478,7 @@ ${roots.map((file) => ` header "${file}"`).join("\n")}
33207
33478
  return error instanceof Error ? error.message : String(error);
33208
33479
  }
33209
33480
  const found = all.filter(
33210
- (surface) => !provided.has(surface.module) && !(binary.cxxHeaders === void 0 && cxxOnly(surface))
33481
+ (surface) => !provided.has(surface.module) && (surface.kind === "swift" || surface.kind === "mixed" || surface.kind === "source" || files(surface.headers, (name3) => name3.endsWith(".h")).length > 0) && !(binary.cxxHeaders === void 0 && cxxOnly(surface))
33211
33482
  );
33212
33483
  if (found.length === 0) {
33213
33484
  import_node_fs48.default.rmSync(work, { recursive: true, force: true });
package/dist-lib/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2180 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2185 | (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": "0b82b3773f9c0b27636f277d9c123b3e631b9c9980995d67d67efa6b3176df4a", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "65a0698bf022ace2f4254f3f891828dedf403d61c102238e242084a2279e04eb", "home-paths.ts": "f5583b61f8bdd81823b3b29ff519a48daf9993719f194ddb7de22218472e90f9", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "5f41cd0bd86cb0cffbfb0047348b963f81d5e51cb0e8dd574c739b1a27aa56de", "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": "65a0698bf022ace2f4254f3f891828dedf403d61c102238e242084a2279e04eb", "home-paths.ts": "f5583b61f8bdd81823b3b29ff519a48daf9993719f194ddb7de22218472e90f9", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "5f41cd0bd86cb0cffbfb0047348b963f81d5e51cb0e8dd574c739b1a27aa56de", "xcode-target-members.ts": "ad7589132bffab265e8a10b64e24484fe88b4a2b1cc0ee19a97f151a002eca77", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
43
43
  }
44
44
  });
45
45
 
@@ -1909,7 +1909,7 @@ function readIosSdkTree(root) {
1909
1909
 
1910
1910
  // src/swift-standin-digest.ts
1911
1911
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
1912
- var STANDIN_SOURCE_DIGEST = true ? "f2fd734797f09885af5cbd2e5fd5b69c0958bd1f06e2a2e9454cbae6de386412" : standinSourceDigest();
1912
+ var STANDIN_SOURCE_DIGEST = true ? "0981767eef4ad46fe5cb602ee15f1de9ea06dac3a2edb4dab0f6d5279b018a3b" : standinSourceDigest();
1913
1913
 
1914
1914
  // src/expo-native-workspace.ts
1915
1915
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -4994,6 +4994,9 @@ init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
4994
4994
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
4995
4995
  var import_node_crypto4 = require("node:crypto");
4996
4996
 
4997
+ // src/swift-interface-bodies.ts
4998
+ init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
4999
+
4997
5000
  // src/swift-objc-sdk.ts
4998
5001
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
4999
5002
  var import_node_path8 = __toESM(require("node:path"), 1);
@@ -5388,7 +5391,7 @@ var FOUNDATION_IMPLICIT_MODULES = [
5388
5391
  var FOUNDATION_IMPLICIT_FLAGS = FOUNDATION_IMPLICIT_MODULES.map(
5389
5392
  (module2) => `, "-Xfrontend", "-import-module", "-Xfrontend", "${module2}"`
5390
5393
  ).join("");
5391
- var compilerSourceDigest = true ? "f4c68ce2ea46dd5a9205990046616e5dcc4a3b3b527378ee285d9e25865e5851" : swiftCompilerSourceDigest2(__sootsim_import_meta_dirname);
5394
+ var compilerSourceDigest = true ? "e48d05f659c020e9d4ddc0f6a17da7924aae807faacd6bef7cbed911c43d08cc" : swiftCompilerSourceDigest2(__sootsim_import_meta_dirname);
5392
5395
  var CORE_FOUNDATION_HANDLE_IMPORTS = [
5393
5396
  "CFAllocator",
5394
5397
  "CFArray",
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2180 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2185 | (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.2180 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2185 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/worklet-executable.ts
4
4
  import { parse } from "acorn";
@@ -9,16 +9,22 @@ export type MapStyle = string | {
9
9
  sources: Record<string, unknown>;
10
10
  layers: Array<Record<string, unknown>>;
11
11
  };
12
+ export type MapScaleLocale = {
13
+ languageTag: string;
14
+ measurementSystem: 'metric' | 'us' | 'uk';
15
+ };
12
16
  export type MapMountOptions = {
13
17
  style?: MapStyle;
14
18
  nativeAppearance?: 'light' | 'dark';
15
19
  apple?: NativeSurfaceIdentity & {
16
20
  token: string;
17
21
  evaluationId: string;
22
+ locale: MapScaleLocale;
18
23
  };
19
24
  mapType?: 'satellite' | 'hybrid';
20
25
  controls?: {
21
26
  kind: 'compass' | 'scale' | 'userLocation';
27
+ top?: number;
22
28
  }[];
23
29
  projection?: MapProjection;
24
30
  center?: LngLat;
@@ -149,6 +155,14 @@ export type MapCommand = {
149
155
  kind: 'markers';
150
156
  mapId: string;
151
157
  markers: MapMarker[];
158
+ } | {
159
+ kind: 'locale';
160
+ mapId: string;
161
+ locale: MapScaleLocale;
162
+ } | {
163
+ kind: 'controls';
164
+ mapId: string;
165
+ controls: NonNullable<MapMountOptions['controls']>;
152
166
  } | {
153
167
  kind: 'overlays';
154
168
  mapId: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peachsim",
3
- "version": "0.1.2180",
3
+ "version": "0.1.2185",
4
4
  "description": "Vite and Metro plugins, testing drivers, and SDK exports for peach.",
5
5
  "author": "Tamagui LLC",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -0,0 +1 @@
1
+ #import <Foundation/Foundation.h>
@@ -0,0 +1,4 @@
1
+ framework module ActivityKit {
2
+ umbrella header "ActivityKit.h"
3
+ export *
4
+ }