peachsim 0.1.1463 → 0.1.1469

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 (82) hide show
  1. package/cli/bridge-flow-runner.ts +25 -17
  2. package/cli/cloud-client.ts +12 -19
  3. package/cli/commands/inspect/settling.ts +4 -1
  4. package/cli/drivers/playwright-sim-host.ts +10 -0
  5. package/dist-lib/agent-daemon-client.cjs +1 -1
  6. package/dist-lib/agent-events.cjs +1 -1
  7. package/dist-lib/attached-projects.cjs +1 -1
  8. package/dist-lib/auth/shared-session.cjs +1 -1
  9. package/dist-lib/backend-origin.cjs +1 -1
  10. package/dist-lib/beta.cjs +1 -1
  11. package/dist-lib/beta.mjs +1 -1
  12. package/dist-lib/bridge-constants.cjs +1 -1
  13. package/dist-lib/bridge-contract-input.cjs +1 -1
  14. package/dist-lib/bridge-contract-input.mjs +1 -1
  15. package/dist-lib/bridge-contract.cjs +1 -1
  16. package/dist-lib/bridge-contract.mjs +1 -1
  17. package/dist-lib/bundle-channel.cjs +2 -2
  18. package/dist-lib/capture-contract.cjs +1 -1
  19. package/dist-lib/capture-contract.mjs +1 -1
  20. package/dist-lib/cloud-contract.cjs +1 -1
  21. package/dist-lib/cloud-contract.mjs +1 -1
  22. package/dist-lib/cloud-test-args.cjs +1 -1
  23. package/dist-lib/cloud-test-args.mjs +1 -1
  24. package/dist-lib/cloud.cjs +1 -1
  25. package/dist-lib/cloud.mjs +1 -1
  26. package/dist-lib/config.cjs +1 -1
  27. package/dist-lib/config.mjs +1 -1
  28. package/dist-lib/detox/index.cjs +191 -78
  29. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  30. package/dist-lib/expo-swift-bundle.cjs +2 -2
  31. package/dist-lib/expo-swift-metadata.cjs +1 -1
  32. package/dist-lib/expo-swift-metadata.mjs +1 -1
  33. package/dist-lib/home-paths.cjs +1 -1
  34. package/dist-lib/host/bridge-host.cjs +69 -12
  35. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  36. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  37. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  38. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  39. package/dist-lib/host/websocket-proxy.cjs +1 -1
  40. package/dist-lib/index.cjs +5 -2
  41. package/dist-lib/jump-to-source-babel.cjs +1 -1
  42. package/dist-lib/jump-to-source-native.cjs +1 -1
  43. package/dist-lib/kotlin-host.cjs +1 -1
  44. package/dist-lib/menu.cjs +1 -1
  45. package/dist-lib/menu.mjs +1 -1
  46. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  47. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  48. package/dist-lib/metro-production-bundle.cjs +1 -1
  49. package/dist-lib/metro-production-bundle.mjs +1 -1
  50. package/dist-lib/metro.cjs +1 -1
  51. package/dist-lib/native-app-identity-project.cjs +1 -1
  52. package/dist-lib/native-app-identity-project.mjs +1 -1
  53. package/dist-lib/native-app-identity.cjs +1 -1
  54. package/dist-lib/native-app-identity.mjs +1 -1
  55. package/dist-lib/native-firebase-metadata.cjs +1 -1
  56. package/dist-lib/native-firebase-metadata.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/react-native-host-modules.cjs +1 -1
  62. package/dist-lib/react-native-host-modules.mjs +1 -1
  63. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  64. package/dist-lib/sdk.cjs +5 -2
  65. package/dist-lib/sdk.mjs +5 -2
  66. package/dist-lib/skills.cjs +480 -296
  67. package/dist-lib/swift-compile.cjs +2 -2
  68. package/dist-lib/swift-compile.mjs +2 -2
  69. package/dist-lib/swift-package.cjs +1 -1
  70. package/dist-lib/swift-package.mjs +1 -1
  71. package/dist-lib/swift-submit.cjs +1 -1
  72. package/dist-lib/swift-submit.mjs +1 -1
  73. package/dist-lib/swift-toolchain.cjs +1 -1
  74. package/dist-lib/swift.cjs +1 -1
  75. package/dist-lib/vite-swift.cjs +2 -2
  76. package/dist-lib/vite.cjs +1 -1
  77. package/dist-lib/worklet-executable.cjs +5 -1
  78. package/dist-lib/worklet-executable.mjs +5 -1
  79. package/package.json +1 -1
  80. package/src/bundle-asset-resource.ts +8 -0
  81. package/src/swift-compile.ts +4 -0
  82. package/src/worklet-executable.ts +7 -2
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1463 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1469 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -2343,7 +2343,7 @@ function compileSwiftProjectUnit(input, options) {
2343
2343
  };
2344
2344
  const hash = swiftArtifactHash(input, options.release, moduleRoot);
2345
2345
  return serialize(root, async () => {
2346
- if (process.platform === "darwin" && process.env.TM_SESSION && process.env.CI !== "true" && moduleRoot === import_node_path2.default.resolve(__sootsim_import_meta_dirname, "../../sootsim-swift") && !swiftDistributionAt(moduleRoot)) {
2346
+ if (process.platform === "darwin" && process.env.TM_SESSION && !process.env.CONTRAST_REMOTE_BUILD && process.env.CI !== "true" && moduleRoot === import_node_path2.default.resolve(__sootsim_import_meta_dirname, "../../sootsim-swift") && !swiftDistributionAt(moduleRoot)) {
2347
2347
  const requestRoot = (0, import_node_fs2.mkdtempSync)(import_node_path2.default.join(root, ".builder-request-"));
2348
2348
  const output = import_node_path2.default.join(requestRoot, "output");
2349
2349
  const request = import_node_path2.default.join(requestRoot, "request.json");
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1463 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1469 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/swift-compile.ts
4
4
  import { execFile as execFile2, execFileSync } from "node:child_process";
@@ -2289,7 +2289,7 @@ function compileSwiftProjectUnit(input, options) {
2289
2289
  };
2290
2290
  const hash = swiftArtifactHash(input, options.release, moduleRoot);
2291
2291
  return serialize(root, async () => {
2292
- if (process.platform === "darwin" && process.env.TM_SESSION && process.env.CI !== "true" && moduleRoot === path2.resolve(import.meta.dirname, "../../sootsim-swift") && !swiftDistributionAt(moduleRoot)) {
2292
+ if (process.platform === "darwin" && process.env.TM_SESSION && !process.env.CONTRAST_REMOTE_BUILD && process.env.CI !== "true" && moduleRoot === path2.resolve(import.meta.dirname, "../../sootsim-swift") && !swiftDistributionAt(moduleRoot)) {
2293
2293
  const requestRoot = mkdtempSync(path2.join(root, ".builder-request-"));
2294
2294
  const output = path2.join(requestRoot, "output");
2295
2295
  const request = path2.join(requestRoot, "request.json");
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1463 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1469 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1463 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1469 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/swift-package.ts
4
4
  function isSwiftManifestFile(file) {
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1463 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1469 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1463 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1469 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/swiftContract.ts
4
4
  function isSwiftResourcePath(value) {
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1463 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1469 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1463 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1469 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1463 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1469 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -4038,7 +4038,7 @@ function compileSwiftProjectUnit(input, options) {
4038
4038
  };
4039
4039
  const hash = swiftArtifactHash(input, options.release, moduleRoot);
4040
4040
  return serialize(root, async () => {
4041
- if (process.platform === "darwin" && process.env.TM_SESSION && process.env.CI !== "true" && moduleRoot === import_node_path2.default.resolve(__sootsim_import_meta_dirname, "../../sootsim-swift") && !swiftDistributionAt(moduleRoot)) {
4041
+ if (process.platform === "darwin" && process.env.TM_SESSION && !process.env.CONTRAST_REMOTE_BUILD && process.env.CI !== "true" && moduleRoot === import_node_path2.default.resolve(__sootsim_import_meta_dirname, "../../sootsim-swift") && !swiftDistributionAt(moduleRoot)) {
4042
4042
  const requestRoot = (0, import_node_fs2.mkdtempSync)(import_node_path2.default.join(root, ".builder-request-"));
4043
4043
  const output = import_node_path2.default.join(requestRoot, "output");
4044
4044
  const request = import_node_path2.default.join(requestRoot, "request.json");
package/dist-lib/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1463 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1469 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1463 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1469 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -254,6 +254,10 @@ function resolveProperty(owner, name, collection, depth) {
254
254
  function resolveObject(expression, scope, collection, depth) {
255
255
  if (depth > MAX_RESOLUTION_DEPTH) return void 0;
256
256
  if (expression.type === "ObjectExpression") return { object: expression, scope };
257
+ if (expression.type === "SequenceExpression") {
258
+ const last = childNodes(Reflect.get(expression, "expressions")).at(-1);
259
+ return last && resolveObject(last, scope, collection, depth + 1);
260
+ }
257
261
  if (expression.type === "Identifier") {
258
262
  const name = identifierName(expression);
259
263
  const binding = name === void 0 ? void 0 : lookup(scope, name);
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1463 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1469 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/worklet-executable.ts
4
4
  import { parse } from "acorn";
@@ -229,6 +229,10 @@ function resolveProperty(owner, name, collection, depth) {
229
229
  function resolveObject(expression, scope, collection, depth) {
230
230
  if (depth > MAX_RESOLUTION_DEPTH) return void 0;
231
231
  if (expression.type === "ObjectExpression") return { object: expression, scope };
232
+ if (expression.type === "SequenceExpression") {
233
+ const last = childNodes(Reflect.get(expression, "expressions")).at(-1);
234
+ return last && resolveObject(last, scope, collection, depth + 1);
235
+ }
232
236
  if (expression.type === "Identifier") {
233
237
  const name = identifierName(expression);
234
238
  const binding = name === void 0 ? void 0 : lookup(scope, name);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peachsim",
3
- "version": "0.1.1463",
3
+ "version": "0.1.1469",
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,8 @@
1
+ export const PEACH_BUNDLE_ASSET_PREFIX = 'peach-asset://'
2
+
3
+ export interface PeachBundleAssetReference {
4
+ uri: string
5
+ sha256: string
6
+ contentType: string
7
+ byteLength: number
8
+ }
@@ -2690,9 +2690,13 @@ export function compileSwiftProjectUnit(
2690
2690
  }
2691
2691
  const hash = swiftArtifactHash(input, options.release, moduleRoot)
2692
2692
  return serialize(root, async () => {
2693
+ // a remote builder slot (CONTRAST_REMOTE_BUILD) already admitted this work
2694
+ // and every builder mac carries the pinned toolchain, so it compiles in
2695
+ // place. offloading again from there adds a second workspace and install.
2693
2696
  if (
2694
2697
  process.platform === 'darwin' &&
2695
2698
  process.env.TM_SESSION &&
2699
+ !process.env.CONTRAST_REMOTE_BUILD &&
2696
2700
  process.env.CI !== 'true' &&
2697
2701
  moduleRoot === path.resolve(import.meta.dirname, '../../sootsim-swift') &&
2698
2702
  !swiftDistributionAt(moduleRoot)
@@ -318,8 +318,9 @@ function resolveProperty(
318
318
  }
319
319
 
320
320
  // the object literal an expression yields, when it is statically known: a literal,
321
- // a binding whose value is one, a parameter of an immediately invoked function
322
- // bound to its argument (or to a key of it), or a static member of one of those.
321
+ // a comma expression's final value, a binding whose value is one, a parameter of
322
+ // an immediately invoked function bound to its argument (or to a key of it), or
323
+ // a static member of one of those.
323
324
  function resolveObject(
324
325
  expression: SyntaxNode,
325
326
  scope: Scope,
@@ -328,6 +329,10 @@ function resolveObject(
328
329
  ): ResolvedObject | undefined {
329
330
  if (depth > MAX_RESOLUTION_DEPTH) return undefined
330
331
  if (expression.type === 'ObjectExpression') return { object: expression, scope }
332
+ if (expression.type === 'SequenceExpression') {
333
+ const last = childNodes(Reflect.get(expression, 'expressions')).at(-1)
334
+ return last && resolveObject(last, scope, collection, depth + 1)
335
+ }
331
336
  if (expression.type === 'Identifier') {
332
337
  const name = identifierName(expression)
333
338
  const binding = name === undefined ? undefined : lookup(scope, name)