peachsim 0.1.2182 → 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 (95) hide show
  1. package/cli/outbound-endpoints.ts +11 -1
  2. package/dist-lib/agent-daemon-client.cjs +1 -1
  3. package/dist-lib/agent-events.cjs +1 -1
  4. package/dist-lib/attached-projects.cjs +1 -1
  5. package/dist-lib/auth/shared-session.cjs +1 -1
  6. package/dist-lib/backend-origin.cjs +1 -1
  7. package/dist-lib/beta.cjs +1 -1
  8. package/dist-lib/beta.mjs +1 -1
  9. package/dist-lib/bridge-constants.cjs +1 -1
  10. package/dist-lib/bridge-contract-input.cjs +1 -1
  11. package/dist-lib/bridge-contract-input.mjs +1 -1
  12. package/dist-lib/bridge-contract.cjs +1 -1
  13. package/dist-lib/bridge-contract.mjs +1 -1
  14. package/dist-lib/bundle-channel.cjs +321 -31
  15. package/dist-lib/capture-contract.cjs +1 -1
  16. package/dist-lib/capture-contract.mjs +1 -1
  17. package/dist-lib/cloud-contract.cjs +1 -1
  18. package/dist-lib/cloud-contract.mjs +1 -1
  19. package/dist-lib/cloud-test-args.cjs +1 -1
  20. package/dist-lib/cloud-test-args.mjs +1 -1
  21. package/dist-lib/cloud.cjs +1 -1
  22. package/dist-lib/cloud.mjs +1 -1
  23. package/dist-lib/config.cjs +1 -1
  24. package/dist-lib/config.mjs +1 -1
  25. package/dist-lib/detox/index.cjs +1 -1
  26. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  27. package/dist-lib/expo-swift-bundle.cjs +288 -26
  28. package/dist-lib/expo-swift-metadata.cjs +1 -1
  29. package/dist-lib/expo-swift-metadata.mjs +1 -1
  30. package/dist-lib/home-paths.cjs +1 -1
  31. package/dist-lib/host/bridge-host.cjs +314 -31
  32. package/dist-lib/host/fetch-proxy-handler.cjs +7 -4
  33. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  34. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  35. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  36. package/dist-lib/host/websocket-proxy.cjs +1 -1
  37. package/dist-lib/index.cjs +7 -4
  38. package/dist-lib/jump-to-source-babel.cjs +1 -1
  39. package/dist-lib/jump-to-source-native.cjs +1 -1
  40. package/dist-lib/kotlin-host.cjs +1 -1
  41. package/dist-lib/menu.cjs +1 -1
  42. package/dist-lib/menu.mjs +1 -1
  43. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  44. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  45. package/dist-lib/metro-production-bundle.cjs +1 -1
  46. package/dist-lib/metro-production-bundle.mjs +1 -1
  47. package/dist-lib/metro.cjs +7 -4
  48. package/dist-lib/native-app-identity-project.cjs +6 -3
  49. package/dist-lib/native-app-identity-project.mjs +6 -3
  50. package/dist-lib/native-app-identity.cjs +1 -1
  51. package/dist-lib/native-app-identity.mjs +1 -1
  52. package/dist-lib/native-firebase-metadata.cjs +1 -1
  53. package/dist-lib/native-firebase-metadata.mjs +1 -1
  54. package/dist-lib/pdfium-raster.cjs +1 -1
  55. package/dist-lib/pdfium-raster.mjs +1 -1
  56. package/dist-lib/plist.cjs +1 -1
  57. package/dist-lib/plist.mjs +1 -1
  58. package/dist-lib/profiles.cjs +1 -1
  59. package/dist-lib/public-brand.cjs +1 -1
  60. package/dist-lib/public-origins-lib-esm.json +25 -24
  61. package/dist-lib/public-origins-lib.json +63 -53
  62. package/dist-lib/react-native-host-modules.cjs +1 -1
  63. package/dist-lib/react-native-host-modules.mjs +1 -1
  64. package/dist-lib/reap-browser.cjs +1 -1
  65. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  66. package/dist-lib/sdk.cjs +1 -1
  67. package/dist-lib/sdk.mjs +1 -1
  68. package/dist-lib/skills.cjs +321 -31
  69. package/dist-lib/swift-compile.cjs +2 -2
  70. package/dist-lib/swift-compile.mjs +2 -2
  71. package/dist-lib/swift-package.cjs +26 -1
  72. package/dist-lib/swift-package.mjs +25 -1
  73. package/dist-lib/swift-submit.cjs +1 -1
  74. package/dist-lib/swift-submit.mjs +1 -1
  75. package/dist-lib/swift-toolchain.cjs +1 -1
  76. package/dist-lib/swift.cjs +1 -1
  77. package/dist-lib/vite-swift.cjs +286 -24
  78. package/dist-lib/vite.cjs +7 -4
  79. package/dist-lib/worklet-executable.cjs +1 -1
  80. package/dist-lib/worklet-executable.mjs +1 -1
  81. package/package.json +1 -1
  82. package/sdk/ios/System/Library/Frameworks/ActivityKit.framework/Headers/ActivityKit.h +1 -0
  83. package/sdk/ios/System/Library/Frameworks/ActivityKit.framework/Modules/module.modulemap +4 -0
  84. package/sdk/ios/usr/lib/swift/ActivityKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +14 -0
  85. package/sdk/ios/usr/lib/swift/CoreGraphics.swiftmodule/arm64-apple-ios-simulator.swiftinterface +14 -0
  86. package/sdk/ios/usr/lib/swift/Dispatch.swiftmodule/arm64-apple-ios-simulator.swiftinterface +3 -0
  87. package/sdk/ios/usr/lib/swift/Foundation.swiftmodule/arm64-apple-ios-simulator.swiftinterface +147 -16
  88. package/sdk/ios/usr/lib/swift/UIKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +5 -0
  89. package/src/expo-native-workspace.ts +2 -1
  90. package/src/swift-interface-bodies.ts +165 -0
  91. package/src/swift-objc-standin.ts +73 -13
  92. package/src/swift-package.ts +26 -0
  93. package/src/swift-source-pods.ts +27 -4
  94. package/src/swift-standin-emit.ts +30 -3
  95. package/src/swift-standins.ts +75 -12
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2182 | (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
 
@@ -36554,6 +36554,29 @@ function moduleMapName(text6) {
36554
36554
  );
36555
36555
  return index < 0 ? void 0 : tokens2[index + 1];
36556
36556
  }
36557
+ function moduleMapModules(text6) {
36558
+ const modules = [];
36559
+ const token = /\/\*[\s\S]*?\*\/|\/\/[^\n]*|"[^"]*"|\{|\}|\bmodule\s+([\w.]+)/g;
36560
+ let depth = 0;
36561
+ let start = -1;
36562
+ let name3 = "";
36563
+ for (const match of text6.matchAll(token)) {
36564
+ if (match[0] === "{") depth++;
36565
+ else if (match[0] === "}") {
36566
+ depth--;
36567
+ if (depth === 0 && start >= 0) {
36568
+ modules.push({ name: name3, text: text6.slice(start, match.index + 1) });
36569
+ start = -1;
36570
+ }
36571
+ } else if (match[1] !== void 0 && depth === 0) {
36572
+ const before = text6.slice(0, match.index).trimEnd();
36573
+ if (/\bextern$/.test(before)) continue;
36574
+ start = match.index;
36575
+ name3 = match[1];
36576
+ }
36577
+ }
36578
+ return modules;
36579
+ }
36557
36580
  function swiftTargetModuleName(name3) {
36558
36581
  return name3.replace(/[^A-Za-z0-9_]/g, "_").replace(/^[0-9]/, "_");
36559
36582
  }
@@ -42932,6 +42955,143 @@ var init_swift_objc_runtime = __esm({
42932
42955
  }
42933
42956
  });
42934
42957
 
42958
+ // src/swift-interface-bodies.ts
42959
+ function declarationKind(head) {
42960
+ const words2 = head.replace(/@\w+(?:\((?:[^()]|\([^()]*\))*\))?/g, " ").match(/[A-Za-z_]\w*/g);
42961
+ for (const word of words2 ?? []) {
42962
+ if (word === "func" || word === "init" || word === "deinit") return "function";
42963
+ if (word === "var" || word === "let" || word === "subscript") return "property";
42964
+ if (word === "struct" || word === "class" || word === "enum" || word === "protocol" || word === "extension" || word === "actor" || word === "precedencegroup")
42965
+ return "container";
42966
+ }
42967
+ return "container";
42968
+ }
42969
+ function skipLiteral(text6, i) {
42970
+ if (text6.startsWith("//", i)) {
42971
+ const end = text6.indexOf("\n", i);
42972
+ return end < 0 ? text6.length : end;
42973
+ }
42974
+ if (text6.startsWith("/*", i)) {
42975
+ const end = text6.indexOf("*/", i + 2);
42976
+ return end < 0 ? text6.length : end + 2;
42977
+ }
42978
+ if (text6[i] !== '"' && text6[i] !== "#") return i;
42979
+ let hashes = 0;
42980
+ let j = i;
42981
+ while (text6[j] === "#") {
42982
+ hashes++;
42983
+ j++;
42984
+ }
42985
+ if (text6[j] !== '"') return i;
42986
+ const multiline = text6.startsWith('"""', j);
42987
+ const open = multiline ? '"""' : '"';
42988
+ j += open.length;
42989
+ const close = `${open}${"#".repeat(hashes)}`;
42990
+ const escape2 = `\\${"#".repeat(hashes)}`;
42991
+ while (j < text6.length) {
42992
+ if (text6.startsWith(escape2, j)) j += escape2.length + 1;
42993
+ else if (text6.startsWith(close, j)) return j + close.length;
42994
+ else j++;
42995
+ }
42996
+ return text6.length;
42997
+ }
42998
+ function skipBlock(text6, open) {
42999
+ let depth = 0;
43000
+ for (let i = open; i < text6.length; ) {
43001
+ const after = skipLiteral(text6, i);
43002
+ if (after !== i) {
43003
+ i = after;
43004
+ continue;
43005
+ }
43006
+ if (text6[i] === "{") depth++;
43007
+ else if (text6[i] === "}" && --depth === 0) return i + 1;
43008
+ i++;
43009
+ }
43010
+ return text6.length;
43011
+ }
43012
+ function skipExpression(text6, start) {
43013
+ let depth = 0;
43014
+ for (let i = start; i < text6.length; ) {
43015
+ const after = skipLiteral(text6, i);
43016
+ if (after !== i) {
43017
+ i = after;
43018
+ continue;
43019
+ }
43020
+ const char = text6[i];
43021
+ if (char === "(" || char === "[" || char === "{" || char === "<") depth++;
43022
+ else if (char === ">" && text6[i - 1] !== "-") depth--;
43023
+ else if (char === ")" || char === "]" || char === "}") {
43024
+ if (depth === 0) return i;
43025
+ depth--;
43026
+ } else if (char === "," && depth === 0) return i;
43027
+ i++;
43028
+ }
43029
+ return text6.length;
43030
+ }
43031
+ function swiftInterfaceWithoutBodies(text6, keepDefaults = false) {
43032
+ let out = "";
43033
+ const frames = [];
43034
+ let parens = 0;
43035
+ let lineStart = 0;
43036
+ for (let i = 0; i < text6.length; ) {
43037
+ const after = skipLiteral(text6, i);
43038
+ if (after !== i) {
43039
+ out += text6.slice(i, after);
43040
+ i = after;
43041
+ continue;
43042
+ }
43043
+ const char = text6[i];
43044
+ if (char === "=" && parens > 0 && text6[i - 1] === " " && text6[i + 1] === " ") {
43045
+ out = out.trimEnd();
43046
+ i = skipExpression(text6, i + 1);
43047
+ continue;
43048
+ }
43049
+ if (char === "\n") lineStart = out.length + 1;
43050
+ else if (char === "(") parens++;
43051
+ else if (char === ")") parens--;
43052
+ else if (char === "}") {
43053
+ frames.pop();
43054
+ } else if (char === "{") {
43055
+ const parent = frames.at(-1);
43056
+ const head = out.slice(lineStart);
43057
+ if (parens > 0 || parent === "expression") frames.push("expression");
43058
+ else if (parent === "accessors") {
43059
+ out = `${out.slice(0, lineStart)}${head.replace(INLINE_ATTRIBUTE, "")}`.trimEnd();
43060
+ i = skipBlock(text6, i);
43061
+ continue;
43062
+ } else {
43063
+ const kind = declarationKind(head);
43064
+ const body = text6.slice(i + 1, skipBlock(text6, i) - 1);
43065
+ if (kind === "function") {
43066
+ out = `${out.slice(0, lineStart)}${head.replace(INLINE_ATTRIBUTE, "")}`.trimEnd();
43067
+ i = skipBlock(text6, i);
43068
+ continue;
43069
+ }
43070
+ const bare = body.split(/\s+/).every((word) => word === "" || ACCESSOR.test(word));
43071
+ frames.push(kind === "property" && !bare ? "accessors" : "container");
43072
+ if (kind === "property" && bare) {
43073
+ out += `{${body}}`;
43074
+ i = skipBlock(text6, i);
43075
+ frames.pop();
43076
+ continue;
43077
+ }
43078
+ }
43079
+ }
43080
+ out += char;
43081
+ i++;
43082
+ }
43083
+ return out.replace(INLINE_ATTRIBUTE, "");
43084
+ }
43085
+ var INLINE_ATTRIBUTE, ACCESSOR;
43086
+ var init_swift_interface_bodies = __esm({
43087
+ "src/swift-interface-bodies.ts"() {
43088
+ "use strict";
43089
+ init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
43090
+ INLINE_ATTRIBUTE = /@(?:inlinable|_alwaysEmitIntoClient|_transparent|inline\(__always\)|_effects\([^()]*\)|_specialize\((?:[^()]|\([^()]*\))*\))\s*/g;
43091
+ ACCESSOR = /^(?:mutating|nonmutating|async|throws|rethrows|get|set|_modify|_read)$/;
43092
+ }
43093
+ });
43094
+
42935
43095
  // src/swift-objc-sdk.ts
42936
43096
  var import_node_path31, IOS_SDK_TARGET, OVERLAY_PATH, tree, IOS_SDK_HEADERS, IOS_SDK_OVERLAYS;
42937
43097
  var init_swift_objc_sdk = __esm({
@@ -42977,7 +43137,7 @@ function restoreSwiftInterfaceSPI(interfaceText, module2, graphs) {
42977
43137
  let depth = 0;
42978
43138
  for (const line of interfaceText.split("\n")) {
42979
43139
  const enclosing = scopes.at(-1)?.path ?? [];
42980
- 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(
43140
+ 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(
42981
43141
  line.replace(/::/g, ".")
42982
43142
  );
42983
43143
  if (declaration) {
@@ -43899,7 +44059,12 @@ function emitSwiftStandin(sourceGraphs, options) {
43899
44059
  const list2 = [
43900
44060
  ...parent ? [parent] : [],
43901
44061
  ...(conforms.get(id) ?? []).filter(
43902
- (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)
44062
+ (name3) => !ancestors.has(name3) && !inherited.has(conformanceTargets.get(id).get(name3)) && !(parent && objectConformers.has(id) && [
44063
+ "Hashable",
44064
+ "Equatable",
44065
+ "CustomStringConvertible",
44066
+ "CustomDebugStringConvertible"
44067
+ ].includes(name3)) && !(name3 === nsObjectProtocol && externalRoot(id) === nsObject) && !options.unconformed?.get(path133)?.has(name3)
43903
44068
  )
43904
44069
  ].filter((name3, at, all2) => all2.indexOf(name3) === at);
43905
44070
  const parentSymbol = superId.has(id) ? byId.get(superId.get(id)) : void 0;
@@ -44406,7 +44571,26 @@ var init_swift_standin_emit = __esm({
44406
44571
  ["s:SE", "Encodable"],
44407
44572
  ["s:Se", "Decodable"],
44408
44573
  ["s:s23CustomStringConvertibleP", "CustomStringConvertible"],
44409
- ["s:s9CodingKeyP", "CodingKey"]
44574
+ ["s:s9CodingKeyP", "CodingKey"],
44575
+ ["s:SL", "Comparable"],
44576
+ ["s:ST", "Sequence"],
44577
+ ["s:St", "IteratorProtocol"],
44578
+ ["s:Sl", "Collection"],
44579
+ ["s:SK", "BidirectionalCollection"],
44580
+ ["s:Sk", "RandomAccessCollection"],
44581
+ ["s:SM", "MutableCollection"],
44582
+ ["s:Sm", "RangeReplaceableCollection"],
44583
+ ["s:s28CustomDebugStringConvertibleP", "CustomDebugStringConvertible"],
44584
+ ["s:s25LosslessStringConvertibleP", "LosslessStringConvertible"],
44585
+ ["s:s20TextOutputStreamableP", "TextOutputStreamable"],
44586
+ ["s:Sx", "Strideable"],
44587
+ ["s:s18AdditiveArithmeticP", "AdditiveArithmetic"],
44588
+ ["s:s25ExpressibleByArrayLiteralP", "ExpressibleByArrayLiteral"],
44589
+ ["s:s30ExpressibleByDictionaryLiteralP", "ExpressibleByDictionaryLiteral"],
44590
+ ["s:s26ExpressibleByStringLiteralP", "ExpressibleByStringLiteral"],
44591
+ ["s:s27ExpressibleByIntegerLiteralP", "ExpressibleByIntegerLiteral"],
44592
+ ["s:s25ExpressibleByFloatLiteralP", "ExpressibleByFloatLiteral"],
44593
+ ["s:s27ExpressibleByBooleanLiteralP", "ExpressibleByBooleanLiteral"]
44410
44594
  ]);
44411
44595
  LEADING_ATTRS = /^((?:@\w+(?:\([^)]*\))?\s*|nonisolated\s+)*)(.*)$/s;
44412
44596
  OBJC_ONLY = /@(?:objcMembers|objc|IBOutlet|IBInspectable|IBAction|IBSegueAction|GKInspectable|nonobjc|NSCopying|NSManaged)(?:\([^)]*\))?\s*|\bdynamic\s+/g;
@@ -44720,6 +44904,43 @@ function sdkDeclaration(name3) {
44720
44904
  }
44721
44905
  return sdkDeclarations.get(name3) ?? null;
44722
44906
  }
44907
+ function intakeInterface(text6, keepDefaults = false) {
44908
+ return swiftInterfaceWithoutBodies(text6, 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(
44909
+ /\bFoundation\.Data\.(?=Base64(?:En|De)codingOptions\b)/g,
44910
+ "Foundation.NSData."
44911
+ );
44912
+ }
44913
+ function stageVendorFrameworks(dir, stage) {
44914
+ import_node_fs35.default.mkdirSync(stage, { recursive: true });
44915
+ for (const entry of import_node_fs35.default.readdirSync(dir)) {
44916
+ if (!entry.endsWith(".framework")) continue;
44917
+ const source = import_node_path32.default.join(dir, entry);
44918
+ const target = import_node_path32.default.join(stage, entry);
44919
+ import_node_fs35.default.mkdirSync(target, { recursive: true });
44920
+ for (const child of import_node_fs35.default.readdirSync(source)) {
44921
+ if (child !== "Modules") {
44922
+ import_node_fs35.default.symlinkSync(import_node_path32.default.join(source, child), import_node_path32.default.join(target, child));
44923
+ continue;
44924
+ }
44925
+ for (const file of import_node_fs35.default.readdirSync(import_node_path32.default.join(source, child), {
44926
+ recursive: true,
44927
+ encoding: "utf8"
44928
+ })) {
44929
+ const from = import_node_path32.default.join(source, child, file);
44930
+ const to = import_node_path32.default.join(target, child, file);
44931
+ if (import_node_fs35.default.statSync(from).isDirectory()) {
44932
+ import_node_fs35.default.mkdirSync(to, { recursive: true });
44933
+ continue;
44934
+ }
44935
+ import_node_fs35.default.mkdirSync(import_node_path32.default.dirname(to), { recursive: true });
44936
+ if (file.endsWith(".swiftinterface"))
44937
+ import_node_fs35.default.writeFileSync(to, intakeInterface(import_node_fs35.default.readFileSync(from, "utf8")));
44938
+ else import_node_fs35.default.copyFileSync(from, to);
44939
+ }
44940
+ }
44941
+ }
44942
+ return stage;
44943
+ }
44723
44944
  function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vendorFrameworks = []) {
44724
44945
  if (!import_node_fs35.default.existsSync(stdlib))
44725
44946
  throw new Error(
@@ -44747,6 +44968,7 @@ function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vend
44747
44968
  import_node_fs35.default.writeFileSync(file, text6);
44748
44969
  }
44749
44970
  const interfaceCopies = [];
44971
+ let keepDefaults = true;
44750
44972
  if (framework) {
44751
44973
  import_node_fs35.default.mkdirSync(import_node_path32.default.join(frameworks, `${surface.module}.framework`, "Modules"), {
44752
44974
  recursive: true
@@ -44773,10 +44995,7 @@ function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vend
44773
44995
  interfaceCopies.push(import_node_path32.default.join(to, name3));
44774
44996
  import_node_fs35.default.writeFileSync(
44775
44997
  import_node_path32.default.join(to, name3),
44776
- import_node_fs35.default.readFileSync(import_node_path32.default.join(from, name3), "utf8").replace(/\bCoreFoundation\.(?=CG)/g, "CoreGraphics.").replace(/\bCoreFoundation\.(?=\w)/g, "Foundation.").replace(/\bDarwin\.OSStatus\b/g, "Swift.Int32").replace(
44777
- /\bFoundation\.Data\.(?=Base64(?:En|De)codingOptions\b)/g,
44778
- "Foundation.NSData."
44779
- )
44998
+ intakeInterface(import_node_fs35.default.readFileSync(import_node_path32.default.join(from, name3), "utf8"), true)
44780
44999
  );
44781
45000
  }
44782
45001
  }
@@ -44838,7 +45057,10 @@ function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vend
44838
45057
  stubs,
44839
45058
  "-I",
44840
45059
  stubIncludes,
44841
- ...vendorFrameworks.flatMap((dir) => ["-F", dir])
45060
+ ...vendorFrameworks.flatMap((dir, index) => [
45061
+ "-F",
45062
+ stageVendorFrameworks(dir, import_node_path32.default.join(work, "vendor-frameworks", String(index)))
45063
+ ])
44842
45064
  ];
44843
45065
  const missing2 = /* @__PURE__ */ new Map();
44844
45066
  const stubbed = /* @__PURE__ */ new Set();
@@ -45044,6 +45266,13 @@ function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vend
45044
45266
  );
45045
45267
  }
45046
45268
  }
45269
+ if ((!progress || round === ROUNDS) && keepDefaults && interfaceCopies.length > 0) {
45270
+ keepDefaults = false;
45271
+ for (const file of interfaceCopies)
45272
+ import_node_fs35.default.writeFileSync(file, swiftInterfaceWithoutBodies(import_node_fs35.default.readFileSync(file, "utf8")));
45273
+ writeHeaders();
45274
+ continue;
45275
+ }
45047
45276
  if (!progress || round === ROUNDS)
45048
45277
  throw new Error(
45049
45278
  `its headers do not import as Swift: ${errors.length > 0 ? [...new Set(errors.map((match) => match[4]))].slice(0, 10).join("; ") : `swift-symbolgraph-extract ${run12.signal ?? `exit ${run12.status}`}: ${(run12.stderr.trim() || run12.stdout.trim() || "no diagnostic").slice(0, 4e3)}`}`
@@ -45608,6 +45837,7 @@ var init_swift_objc_standin = __esm({
45608
45837
  import_node_fs35 = __toESM(require("node:fs"), 1);
45609
45838
  import_node_path32 = __toESM(require("node:path"), 1);
45610
45839
  init_is_record();
45840
+ init_swift_interface_bodies();
45611
45841
  init_swift_objc_platform();
45612
45842
  init_swift_objc_sdk();
45613
45843
  init_swift_package();
@@ -57947,7 +58177,7 @@ var init_swift_compile = __esm({
57947
58177
  REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
57948
58178
  MULTI_MANIFEST_VERSION = 68;
57949
58179
  SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
57950
- compilerSourceDigest = true ? "73960368f0b83cf042511655d857d5f64204fa539e2c984423a12c08657b068e" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
58180
+ compilerSourceDigest = true ? "e48d05f659c020e9d4ddc0f6a17da7924aae807faacd6bef7cbed911c43d08cc" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
57951
58181
  nativeCxxCompilerFlags = ["-fno-cxx-modules"];
57952
58182
  cFlagArray = (flags) => JSON.stringify(withoutGlogModuleMap(flags));
57953
58183
  cxxFlagArray = (flags) => JSON.stringify([...nativeCxxCompilerFlags, ...withoutGlogModuleMap(flags)]);
@@ -63696,7 +63926,7 @@ function initializeWorkspaceGit(root, work) {
63696
63926
  });
63697
63927
  const tracked = trackedSourceFiles(root, work);
63698
63928
  if (tracked.length > 0)
63699
- (0, import_node_child_process36.execFileSync)("git", ["add", "-f", "--pathspec-from-file=-", "--pathspec-file-nul"], {
63929
+ (0, import_node_child_process36.execFileSync)("git", ["update-index", "--add", "-z", "--stdin"], {
63700
63930
  cwd: work,
63701
63931
  env: { ...process.env, ...isolatedGitEnv },
63702
63932
  input: tracked.join("\0"),
@@ -64513,7 +64743,7 @@ var init_swift_standin_digest = __esm({
64513
64743
  STANDIN_DIGEST_ENTRYPOINTS = ["swift-standins.ts", "swift-objc-compile.ts"];
64514
64744
  SPECIFIER = /from\s*['"]([^'"]+)['"]|import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
64515
64745
  standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
64516
- STANDIN_SOURCE_DIGEST = true ? "cc396d180b261e922288f645807b4a704fa92410ffc902bfbaac72b81af6413a" : standinSourceDigest();
64746
+ STANDIN_SOURCE_DIGEST = true ? "0981767eef4ad46fe5cb602ee15f1de9ea06dac3a2edb4dab0f6d5279b018a3b" : standinSourceDigest();
64517
64747
  }
64518
64748
  });
64519
64749
 
@@ -64969,7 +65199,7 @@ var init_package_tree_digest = __esm({
64969
65199
 
64970
65200
  // src/expo-native-prebuilt.ts
64971
65201
  function expoNativeCompilerDigestValue() {
64972
- return true ? "2799fbdcc514ac59227047679bf5780658834c45f46965b7b41455f6453d53e2" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
65202
+ return true ? "5096ba1e78a0087b6e56f15c4b37fcbd9bcabb2acde17a257d8add357efd462c" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
64973
65203
  }
64974
65204
  function readSources(value) {
64975
65205
  const sources = isRecord(value) ? value.sources : null;
@@ -67257,6 +67487,19 @@ function cxxOnly(surface) {
67257
67487
  return false;
67258
67488
  });
67259
67489
  }
67490
+ function mapSurfaces(modulemap) {
67491
+ const text6 = import_node_fs77.default.readFileSync(modulemap, "utf8");
67492
+ const headers = import_node_path74.default.dirname(modulemap);
67493
+ const modules = moduleMapModules(text6);
67494
+ if (modules.length <= 1) {
67495
+ const module2 = moduleMapName(text6);
67496
+ return module2 ? [headerSurface(module2, modulemap, headers)] : [];
67497
+ }
67498
+ return modules.map(
67499
+ (module2) => headerSurface(module2.name, generatedModuleMap(`${module2.text}
67500
+ `, false), headers)
67501
+ );
67502
+ }
67260
67503
  function simulatorSlice(xcframeworkDir) {
67261
67504
  const slice = import_node_fs77.default.readdirSync(xcframeworkDir).filter((name3) => /^ios-.+-simulator$/.test(name3)).sort()[0];
67262
67505
  return slice ? import_node_path74.default.join(xcframeworkDir, slice) : null;
@@ -67320,8 +67563,7 @@ function surfaces(xcframeworkDir, target, slice = simulatorSlice(xcframeworkDir)
67320
67563
  const headers = import_node_path74.default.join(root, "Headers");
67321
67564
  for (const map2 of files(headers, (name3) => name3 === "module.modulemap")) {
67322
67565
  const modulemap = import_node_path74.default.join(headers, map2);
67323
- const module2 = moduleMapName(import_node_fs77.default.readFileSync(modulemap, "utf8"));
67324
- if (module2) found.push(headerSurface(module2, modulemap, import_node_path74.default.dirname(modulemap)));
67566
+ found.push(...mapSurfaces(modulemap));
67325
67567
  }
67326
67568
  if (found.length === 0 && files(headers, (name3) => name3.endsWith(".h")).length) {
67327
67569
  const module2 = swiftTargetModuleName(target);
@@ -67455,9 +67697,13 @@ function swiftInterfaceForWasm(text6, cFlags) {
67455
67697
  ]);
67456
67698
  return `${interop} ${xcc.join(" ")}`;
67457
67699
  });
67458
- return retargeted.split("\n").map((line) => {
67459
- if (/\benum\s/.test(line) && TYPE_DECLARATION.test(line))
67460
- return line.replace(/@objc(?:\s*\([^()]*\))?\s+/g, "");
67700
+ const lines = retargeted.split("\n");
67701
+ const required = lines.filter((line) => OPTIONAL_REQUIREMENT.test(line)).join("\n");
67702
+ return lines.map((line) => {
67703
+ if (/\benum\s/.test(line) && TYPE_DECLARATION.test(line)) {
67704
+ const name3 = /\benum\s+(\w+)/.exec(line)?.[1];
67705
+ return name3 && new RegExp(`\\b${name3}\\b`).test(required) && !/\bSwift\.Error\b/.test(line) ? line : line.replace(/@objc(?:\s*\([^()]*\))?\s+/g, "");
67706
+ }
67461
67707
  if (TYPE_DECLARATION.test(line)) return line.replace(/@objcMembers\b/g, "");
67462
67708
  if (OPTIONAL_REQUIREMENT.test(line)) return line;
67463
67709
  return line.replace(OBJC_ATTRIBUTE, "");
@@ -67875,6 +68121,14 @@ function graphStandin(module2, graphs, values, wasm, binary2, toolchain, work, r
67875
68121
  const plain = /* @__PURE__ */ new Set();
67876
68122
  const unobjc = /* @__PURE__ */ new Set();
67877
68123
  const trapped = /* @__PURE__ */ new Set();
68124
+ const unconformed = /* @__PURE__ */ new Map();
68125
+ const objcProtocols = new Set(
68126
+ graphs.flatMap(
68127
+ (graph) => graph.symbols.filter(
68128
+ (symbol2) => symbol2.kind.identifier === "swift.protocol" && symbol2.identifier.precise.startsWith("c:")
68129
+ ).map((symbol2) => symbol2.pathComponents.join("."))
68130
+ )
68131
+ );
67878
68132
  const file = import_node_path74.default.join(work, `${module2}.swift`);
67879
68133
  const inert = binary2.placeholder !== void 0 || binary2.publicHeaders !== void 0 && binary2.assemblySources === void 0;
67880
68134
  for (; ; ) {
@@ -67887,6 +68141,7 @@ function graphStandin(module2, graphs, values, wasm, binary2, toolchain, work, r
67887
68141
  omit,
67888
68142
  plain,
67889
68143
  unobjc,
68144
+ unconformed,
67890
68145
  trapped,
67891
68146
  inert,
67892
68147
  imports: [...placeholder?.peachImports ?? [], ...imports2],
@@ -67934,7 +68189,7 @@ function graphStandin(module2, graphs, values, wasm, binary2, toolchain, work, r
67934
68189
  files: { [`${module2}.swift`]: source },
67935
68190
  ...imports2.length ? { dependencies: imports2 } : {}
67936
68191
  };
67937
- const before = omit.size + plain.size + unobjc.size + trapped.size;
68192
+ const before = omit.size + plain.size + unobjc.size + trapped.size + unconformed.size;
67938
68193
  const elsewhere = [];
67939
68194
  for (const match of check2.stderr.matchAll(/^(\S+?):(\d+):\d+: error: (.*)$/gm)) {
67940
68195
  const owner = match[1] === file ? owners[Number(match[2]) - 1] : void 0;
@@ -67942,6 +68197,13 @@ function graphStandin(module2, graphs, values, wasm, binary2, toolchain, work, r
67942
68197
  unobjc.add(owner);
67943
68198
  continue;
67944
68199
  }
68200
+ const conformance = /^type '\w+' does not conform to protocol '(\w+)'$/.exec(
68201
+ match[3]
68202
+ )?.[1];
68203
+ if (owner && conformance && objcProtocols.has(conformance)) {
68204
+ unconformed.set(owner, /* @__PURE__ */ new Set([...unconformed.get(owner) ?? [], conformance]));
68205
+ continue;
68206
+ }
67945
68207
  if (owner && swiftPaths.has(owner))
67946
68208
  throw new Error(
67947
68209
  `Swift declaration ${module2}.${owner} does not typecheck: ${match[3]}`
@@ -67957,7 +68219,7 @@ function graphStandin(module2, graphs, values, wasm, binary2, toolchain, work, r
67957
68219
  else if (owner) omit.set(owner, `rejected by swiftc: ${match[3]}`);
67958
68220
  else elsewhere.push(match[3]);
67959
68221
  }
67960
- if (omit.size + plain.size + unobjc.size + trapped.size === before)
68222
+ if (omit.size + plain.size + unobjc.size + trapped.size + unconformed.size === before)
67961
68223
  throw new Error(
67962
68224
  `its generated source does not typecheck: ${elsewhere.slice(0, 3).join("; ") || check2.stderr.trim().slice(0, 400)}`
67963
68225
  );
@@ -68082,7 +68344,16 @@ function splitDeclarators(statement, names) {
68082
68344
  );
68083
68345
  }
68084
68346
  function cStandin(surface, binary2, toolchain, work) {
68085
- const headers = files(surface.headers, (name3) => name3.endsWith(".h"));
68347
+ const everyHeader = files(surface.headers, (name3) => name3.endsWith(".h"));
68348
+ const moduleRoots = moduleMapHeaders(surface.modulemap, everyHeader);
68349
+ const headers = [...moduleRoots];
68350
+ for (let at = 0; at < headers.length; at++)
68351
+ for (const [, local] of import_node_fs77.default.readFileSync(import_node_path74.default.join(surface.headers, headers[at]), "utf8").matchAll(/^\s*#\s*(?:include|import)\s*["<]([^">]+)[">]/gm)) {
68352
+ const file = import_node_path74.default.posix.normalize(
68353
+ import_node_path74.default.posix.join(import_node_path74.default.posix.dirname(headers[at]), local)
68354
+ );
68355
+ if (everyHeader.includes(file) && !headers.includes(file)) headers.push(file);
68356
+ }
68086
68357
  const framework = import_node_path74.default.basename(import_node_path74.default.dirname(surface.modulemap)) === "Modules";
68087
68358
  const headerDirectory = framework ? `${surface.module}.framework/Headers` : ".";
68088
68359
  const texts = new Map(
@@ -68097,9 +68368,7 @@ function cStandin(surface, binary2, toolchain, work) {
68097
68368
  import_node_fs77.default.mkdirSync(import_node_path74.default.dirname(import_node_path74.default.join(include, file)), { recursive: true });
68098
68369
  import_node_fs77.default.writeFileSync(import_node_path74.default.join(include, file), text6);
68099
68370
  }
68100
- const roots = moduleMapHeaders(surface.modulemap, headers).map(
68101
- (file) => import_node_path74.default.posix.join(headerDirectory, file)
68102
- );
68371
+ const roots = moduleRoots.map((file) => import_node_path74.default.posix.join(headerDirectory, file));
68103
68372
  const frameworkMap = `${surface.module}.framework/Modules/module.modulemap`;
68104
68373
  const modulemap = `module ${surface.module} {
68105
68374
  ${roots.map((file) => ` header "${file}"
@@ -68833,7 +69102,7 @@ ${roots.map((file) => ` header "${file}"`).join("\n")}
68833
69102
  return error instanceof Error ? error.message : String(error);
68834
69103
  }
68835
69104
  const found = all.filter(
68836
- (surface) => !provided.has(surface.module) && !(binary2.cxxHeaders === void 0 && cxxOnly(surface))
69105
+ (surface) => !provided.has(surface.module) && (surface.kind === "swift" || surface.kind === "mixed" || surface.kind === "source" || files(surface.headers, (name3) => name3.endsWith(".h")).length > 0) && !(binary2.cxxHeaders === void 0 && cxxOnly(surface))
68837
69106
  );
68838
69107
  if (found.length === 0) {
68839
69108
  import_node_fs77.default.rmSync(work, { recursive: true, force: true });
@@ -83870,20 +84139,41 @@ async function trunkSpecification(lockFile, root, version2, checksum) {
83870
84139
  "specifications",
83871
84140
  `${checksum}.json`
83872
84141
  );
84142
+ const sha1 = (value) => (0, import_node_crypto52.createHash)("sha1").update(value).digest("hex");
83873
84143
  let text6;
83874
84144
  if (import_node_fs96.default.existsSync(file)) text6 = import_node_fs96.default.readFileSync(file, "utf8");
83875
84145
  else {
83876
84146
  const shard = (0, import_node_crypto52.createHash)("md5").update(root).digest("hex").slice(0, 3).split("").join("/");
83877
- const response = await fetch(
83878
- `https://cdn.cocoapods.org/Specs/${shard}/${root}/${version2}/${root}.podspec.json`
83879
- );
84147
+ const specPath = `Specs/${shard}/${root}/${version2}/${root}.podspec.json`;
84148
+ const response = await fetch(`https://cdn.cocoapods.org/${specPath}`);
83880
84149
  if (!response.ok)
83881
84150
  throw new Error(
83882
84151
  `CocoaPods specification ${root} ${version2}: HTTP ${response.status}`
83883
84152
  );
83884
84153
  text6 = await response.text();
84154
+ if (sha1(text6) !== checksum) {
84155
+ const history = await fetch(
84156
+ `https://api.github.com/repos/CocoaPods/Specs/commits?path=${specPath}&per_page=100`
84157
+ );
84158
+ if (!history.ok)
84159
+ throw new Error(`CocoaPods specification ${root} history: HTTP ${history.status}`);
84160
+ const commits = await history.json();
84161
+ for (const commit of Array.isArray(commits) ? commits : []) {
84162
+ const sha = record2(commit) ? commit.sha : void 0;
84163
+ if (typeof sha !== "string") continue;
84164
+ const revision = await fetch(
84165
+ `https://raw.githubusercontent.com/CocoaPods/Specs/${sha}/${specPath}`
84166
+ );
84167
+ if (!revision.ok) continue;
84168
+ const revisionText = await revision.text();
84169
+ if (sha1(revisionText) === checksum) {
84170
+ text6 = revisionText;
84171
+ break;
84172
+ }
84173
+ }
84174
+ }
83885
84175
  }
83886
- if ((0, import_node_crypto52.createHash)("sha1").update(text6).digest("hex") !== checksum)
84176
+ if (sha1(text6) !== checksum)
83887
84177
  throw new Error(`${root} podspec checksum differs from ${lockFile}`);
83888
84178
  const spec = JSON.parse(text6);
83889
84179
  if (!record2(spec) || spec.name !== root || spec.version !== version2)
@@ -84679,7 +84969,7 @@ var init_nitro_superset = __esm({
84679
84969
  init_nitroContract();
84680
84970
  init_swift_standin_digest();
84681
84971
  NITRO_SUPERSET_ENTRY_NAME = "superset";
84682
- NITRO_COMPILER_DIGEST = true ? "4b0c1069391aa3533d7f86ec0218e3db332433aaaa017425707f0273d51d8ce5" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
84972
+ NITRO_COMPILER_DIGEST = true ? "f02c3ec3fd9a77d144224ecf36dbf177c3878f12158689dcd8dcd6347e72ca55" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
84683
84973
  nitroSupersetLock = parseLock(nitro_superset_lock_default);
84684
84974
  nitroSupersetKey = (inputs) => nativeEntryKey({ ...inputs, compiler: NITRO_COMPILER_DIGEST });
84685
84975
  published2 = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2182 | (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;
@@ -12474,7 +12474,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
12474
12474
  var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
12475
12475
  var MULTI_MANIFEST_VERSION = 68;
12476
12476
  var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
12477
- var compilerSourceDigest = true ? "73960368f0b83cf042511655d857d5f64204fa539e2c984423a12c08657b068e" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
12477
+ var compilerSourceDigest = true ? "e48d05f659c020e9d4ddc0f6a17da7924aae807faacd6bef7cbed911c43d08cc" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
12478
12478
  function swiftArtifactHash(input, release, moduleRoot) {
12479
12479
  const hash = (0, import_node_crypto13.createHash)("sha256");
12480
12480
  hash.update(`swift-compile
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2182 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2185 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/swift-compile.ts
4
4
  import {
@@ -12454,7 +12454,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
12454
12454
  var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
12455
12455
  var MULTI_MANIFEST_VERSION = 68;
12456
12456
  var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
12457
- var compilerSourceDigest = true ? "73960368f0b83cf042511655d857d5f64204fa539e2c984423a12c08657b068e" : swiftCompilerSourceDigest(import.meta.dirname);
12457
+ var compilerSourceDigest = true ? "e48d05f659c020e9d4ddc0f6a17da7924aae807faacd6bef7cbed911c43d08cc" : swiftCompilerSourceDigest(import.meta.dirname);
12458
12458
  function swiftArtifactHash(input, release, moduleRoot) {
12459
12459
  const hash = createHash13("sha256");
12460
12460
  hash.update(`swift-compile
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2182 | (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;
@@ -32,6 +32,7 @@ __export(swift_package_exports, {
32
32
  isSwiftManifestFile: () => isSwiftManifestFile,
33
33
  isSwiftNativeTranslationUnit: () => isSwiftNativeTranslationUnit,
34
34
  manifestCalls: () => manifestCalls,
35
+ moduleMapModules: () => moduleMapModules,
35
36
  moduleMapName: () => moduleMapName,
36
37
  moduleMapTokens: () => moduleMapTokens,
37
38
  swiftImplicitResourcePaths: () => swiftImplicitResourcePaths,
@@ -236,6 +237,29 @@ function moduleMapName(text) {
236
237
  );
237
238
  return index < 0 ? void 0 : tokens[index + 1];
238
239
  }
240
+ function moduleMapModules(text) {
241
+ const modules = [];
242
+ const token = /\/\*[\s\S]*?\*\/|\/\/[^\n]*|"[^"]*"|\{|\}|\bmodule\s+([\w.]+)/g;
243
+ let depth = 0;
244
+ let start = -1;
245
+ let name = "";
246
+ for (const match of text.matchAll(token)) {
247
+ if (match[0] === "{") depth++;
248
+ else if (match[0] === "}") {
249
+ depth--;
250
+ if (depth === 0 && start >= 0) {
251
+ modules.push({ name, text: text.slice(start, match.index + 1) });
252
+ start = -1;
253
+ }
254
+ } else if (match[1] !== void 0 && depth === 0) {
255
+ const before = text.slice(0, match.index).trimEnd();
256
+ if (/\bextern$/.test(before)) continue;
257
+ start = match.index;
258
+ name = match[1];
259
+ }
260
+ }
261
+ return modules;
262
+ }
239
263
  function swiftTargetModuleName(name) {
240
264
  return name.replace(/[^A-Za-z0-9_]/g, "_").replace(/^[0-9]/, "_");
241
265
  }
@@ -662,6 +686,7 @@ function swiftPackagePartition(manifest, resourcePaths = []) {
662
686
  isSwiftManifestFile,
663
687
  isSwiftNativeTranslationUnit,
664
688
  manifestCalls,
689
+ moduleMapModules,
665
690
  moduleMapName,
666
691
  moduleMapTokens,
667
692
  swiftImplicitResourcePaths,