peachsim 0.1.2213 → 0.1.2217

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 (103) hide show
  1. package/cli/commands/control.ts +1 -1
  2. package/cli/commands/inspect/list.ts +1 -1
  3. package/detox/index.ts +9 -1
  4. package/dist-lib/agent-daemon-client.cjs +1 -1
  5. package/dist-lib/agent-events.cjs +1 -1
  6. package/dist-lib/attached-projects.cjs +1 -1
  7. package/dist-lib/auth/shared-session.cjs +1 -1
  8. package/dist-lib/backend-origin.cjs +1 -1
  9. package/dist-lib/beta.cjs +1 -1
  10. package/dist-lib/beta.mjs +1 -1
  11. package/dist-lib/bridge-constants.cjs +1 -1
  12. package/dist-lib/bridge-contract-input.cjs +1 -1
  13. package/dist-lib/bridge-contract-input.mjs +1 -1
  14. package/dist-lib/bridge-contract.cjs +1 -1
  15. package/dist-lib/bridge-contract.mjs +1 -1
  16. package/dist-lib/bundle-channel.cjs +22 -13
  17. package/dist-lib/capture-contract.cjs +1 -1
  18. package/dist-lib/capture-contract.mjs +1 -1
  19. package/dist-lib/cloud-contract.cjs +1 -1
  20. package/dist-lib/cloud-contract.mjs +1 -1
  21. package/dist-lib/cloud-test-args.cjs +1 -1
  22. package/dist-lib/cloud-test-args.mjs +1 -1
  23. package/dist-lib/cloud.cjs +1 -1
  24. package/dist-lib/cloud.mjs +1 -1
  25. package/dist-lib/config.cjs +1 -1
  26. package/dist-lib/config.mjs +1 -1
  27. package/dist-lib/detox/index.cjs +11 -3
  28. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  29. package/dist-lib/expo-swift-bundle.cjs +20 -11
  30. package/dist-lib/expo-swift-metadata.cjs +1 -1
  31. package/dist-lib/expo-swift-metadata.mjs +1 -1
  32. package/dist-lib/home-paths.cjs +1 -1
  33. package/dist-lib/host/bridge-host.cjs +30 -16
  34. package/dist-lib/host/fetch-proxy-handler.cjs +5 -5
  35. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  36. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  37. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  38. package/dist-lib/host/websocket-proxy.cjs +1 -1
  39. package/dist-lib/index.cjs +13 -8
  40. package/dist-lib/jump-to-source-babel.cjs +1 -1
  41. package/dist-lib/jump-to-source-native.cjs +1 -1
  42. package/dist-lib/kotlin-host.cjs +1 -1
  43. package/dist-lib/menu.cjs +1 -1
  44. package/dist-lib/menu.mjs +1 -1
  45. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  46. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  47. package/dist-lib/metro-production-bundle.cjs +1 -1
  48. package/dist-lib/metro-production-bundle.mjs +1 -1
  49. package/dist-lib/metro.cjs +13 -8
  50. package/dist-lib/native-app-identity-project.cjs +3 -3
  51. package/dist-lib/native-app-identity-project.mjs +3 -3
  52. package/dist-lib/native-app-identity.cjs +1 -1
  53. package/dist-lib/native-app-identity.mjs +1 -1
  54. package/dist-lib/native-firebase-metadata.cjs +1 -1
  55. package/dist-lib/native-firebase-metadata.mjs +1 -1
  56. package/dist-lib/pdfium-raster.cjs +1 -1
  57. package/dist-lib/pdfium-raster.mjs +1 -1
  58. package/dist-lib/plist.cjs +1 -1
  59. package/dist-lib/plist.mjs +1 -1
  60. package/dist-lib/profiles.cjs +1 -1
  61. package/dist-lib/public-brand.cjs +1 -1
  62. package/dist-lib/public-origins-lib-esm.json +24 -24
  63. package/dist-lib/public-origins-lib.json +54 -54
  64. package/dist-lib/react-native-host-modules.cjs +1 -1
  65. package/dist-lib/react-native-host-modules.mjs +1 -1
  66. package/dist-lib/reap-browser.cjs +1 -1
  67. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  68. package/dist-lib/sdk.cjs +1 -1
  69. package/dist-lib/sdk.mjs +1 -1
  70. package/dist-lib/skills.cjs +32 -18
  71. package/dist-lib/swift-compile.cjs +2 -2
  72. package/dist-lib/swift-compile.mjs +2 -2
  73. package/dist-lib/swift-package.cjs +1 -1
  74. package/dist-lib/swift-package.mjs +1 -1
  75. package/dist-lib/swift-submit.cjs +1 -1
  76. package/dist-lib/swift-submit.mjs +1 -1
  77. package/dist-lib/swift-toolchain.cjs +1 -1
  78. package/dist-lib/swift.cjs +1 -1
  79. package/dist-lib/vite-swift.cjs +18 -9
  80. package/dist-lib/vite.cjs +13 -8
  81. package/dist-lib/worklet-executable.cjs +1 -1
  82. package/dist-lib/worklet-executable.mjs +1 -1
  83. package/dist-types/packages/peach-engine/src/engine/glass-material.d.ts +10 -0
  84. package/dist-types/packages/peach-engine/src/engine/liquid-glass.d.ts +0 -3
  85. package/dist-types/packages/peach-engine/src/engine/native-layout.d.ts +16 -2
  86. package/dist-types/packages/peach-engine/src/engine/node.d.ts +1 -0
  87. package/dist-types/packages/peach-engine/src/engine/scene-table.d.ts +5 -1
  88. package/dist-types/packages/peach-engine/src/engine/scroll.d.ts +3 -0
  89. package/dist-types/packages/peach-engine/src/engine/shell-owned-values.d.ts +7 -1
  90. package/dist-types/packages/peach-engine/src/engine/yoga-layout.d.ts +1 -1
  91. package/dist-types/packages/peach-engine/src/remote-stream/cloud-display.d.ts +2 -2
  92. package/dist-types/packages/peach-engine/src/render-worker/protocol.d.ts +4 -0
  93. package/dist-types/packages/peach-engine/src/render-worker/shell-protocol.d.ts +42 -0
  94. package/dist-types/packages/peach-engine/src/settings/react-native-configuration.d.ts +2 -1
  95. package/kotlin/sdk.tar.gz +0 -0
  96. package/package.json +1 -1
  97. package/runtime-companion.json +1 -1
  98. package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UINibLoading.h +1 -1
  99. package/sdk/ios/wasm/include/fcntl.h +3 -0
  100. package/src/swift-package-manifest.ts +7 -2
  101. package/src/swift-standin-emit.ts +1 -1
  102. package/src/swift-standins.ts +10 -3
  103. package/src/agent-identity.ts +0 -26
@@ -1,7 +1,7 @@
1
1
  export declare const DISPLAY_SERVER_VERSION = 12;
2
2
  export declare const DISPLAY_SERVER_MAJOR = 2;
3
- export declare const DISPLAY_SERVER_MINOR = 29;
4
- export declare const DISPLAY_SERVER_SUBPROTOCOL = "rnx.display-server.v2.wire12.minor29";
3
+ export declare const DISPLAY_SERVER_MINOR = 30;
4
+ export declare const DISPLAY_SERVER_SUBPROTOCOL = "rnx.display-server.v2.wire12.minor30";
5
5
  export declare const DISPLAY_SERVER_TOKEN_SUBPROTOCOL_PREFIX = "rnx.sim-token.";
6
6
  export declare const RNX_CLOUD_DISPLAY_GRANT_TTL_MS: number;
7
7
  export declare const RNX_CLOUD_DISPLAY_CLOSE: {
@@ -665,6 +665,10 @@ export type WorkerToHost = {
665
665
  } | {
666
666
  type: 'remoteDisplay';
667
667
  connected: boolean;
668
+ } | {
669
+ type: 'remoteDeviceConfiguration';
670
+ configuration: ReactNativeConfigurationSnapshot;
671
+ systemColorScheme: 'light' | 'dark';
668
672
  } | {
669
673
  type: 'replayDevice';
670
674
  posture: DevicePosture | null;
@@ -142,6 +142,39 @@ export interface ShellInputs {
142
142
  activeAppId: string;
143
143
  }
144
144
  export type ShellPointerPhase = 'down' | 'move' | 'up' | 'cancel';
145
+ export type WheelTrackInput = {
146
+ phase: 'begin';
147
+ id: number;
148
+ x: number;
149
+ y: number;
150
+ deltaX: number;
151
+ deltaY: number;
152
+ timestamp: number;
153
+ } | {
154
+ phase: 'move';
155
+ id: number;
156
+ offsetX: number;
157
+ offsetY: number;
158
+ timestamp: number;
159
+ } | {
160
+ phase: 'end';
161
+ id: number;
162
+ };
163
+ type Untimed<Step> = Step extends unknown ? Omit<Step, 'timestamp'> : never;
164
+ export type HostWheelTrack = Untimed<WheelTrackInput>;
165
+ export interface WheelTrackTarget {
166
+ key: string;
167
+ offsetX: number;
168
+ offsetY: number;
169
+ minX: number;
170
+ maxX: number;
171
+ minY: number;
172
+ maxY: number;
173
+ width: number;
174
+ height: number;
175
+ bouncesX: boolean;
176
+ bouncesY: boolean;
177
+ }
145
178
  export type ShellIntent = {
146
179
  type: 'goHome';
147
180
  } | {
@@ -372,6 +405,11 @@ export type ShellHostToWorker = {
372
405
  deltaY: number;
373
406
  timestamp: number;
374
407
  nativeWindowRoot?: number;
408
+ } | {
409
+ type: 'wheelTrack';
410
+ surfaceId: string;
411
+ input: WheelTrackInput;
412
+ nativeWindowRoot?: number;
375
413
  } | ({
376
414
  type: 'invokeShellCommand';
377
415
  requestId?: number;
@@ -577,6 +615,10 @@ export type ShellWorkerToHost = {
577
615
  type: 'uiFrameStatsResult';
578
616
  requestId: number;
579
617
  stats: UiFrameStats;
618
+ } | {
619
+ type: 'wheelTarget';
620
+ id: number;
621
+ target: WheelTrackTarget | null;
580
622
  } | {
581
623
  type: 'photoAdded';
582
624
  requestId: number;
@@ -1,9 +1,10 @@
1
1
  import type { ReactNativeConfigurationKey, ReactNativeConfigurationSnapshot } from '../../../../../src/reactNativeConfigurationContract.ts';
2
2
  export { type ReactNativeConfigurationKey, type ReactNativeConfigurationSnapshot, } from '../../../../../src/reactNativeConfigurationContract.ts';
3
- import type { SettingsValues } from '../../../../../src/settingsContract.ts';
3
+ import { type SettingsValues } from '../../../../../src/settingsContract.ts';
4
4
  declare const MUTABLE_KEYS: readonly ['fontSize', 'boldText', 'reduceMotion', 'largerAccessibilitySizes', 'glassTintAmount', 'reduceTransparency', 'increaseContrast', 'showBorders', 'onOffLabels', 'differentiateWithoutColor', 'smartInvert', 'preferCrossFadeTransitions'];
5
5
  type MutableKey = (typeof MUTABLE_KEYS)[number];
6
6
  export type ReactNativeConfigurationMutation = Partial<Pick<SettingsValues, MutableKey>>;
7
+ export declare function isReactNativeConfigurationSnapshot(value: unknown): value is ReactNativeConfigurationSnapshot;
7
8
  export declare function snapshotReactNativeConfiguration(): ReactNativeConfigurationSnapshot;
8
9
  export declare function changesLayout(changed: readonly ReactNativeConfigurationKey[]): boolean;
9
10
  export declare function applyReactNativeConfiguration(snapshot: ReactNativeConfigurationSnapshot): ReactNativeConfigurationKey[];
package/kotlin/sdk.tar.gz CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peachsim",
3
- "version": "0.1.2213",
3
+ "version": "0.1.2217",
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",
@@ -1 +1 @@
1
- {"abi":1,"sha256":"1c15d055a3e1e68a17d3f735cd1c592fdc418c85e781e44abf4f4aa0b1215b52","file":"node/cli-1c15d055a3e1e68a17d3f735cd1c592fdc418c85e781e44abf4f4aa0b1215b52.cjs"}
1
+ {"abi":1,"sha256":"c3cfa87c38bca3be3b225d514efe1b9e2ab9119227137e7190dfa25eccf43fe7","file":"node/cli-c3cfa87c38bca3be3b225d514efe1b9e2ab9119227137e7190dfa25eccf43fe7.cjs"}
@@ -16,7 +16,7 @@ typedef NSString * UINibOptionsKey NS_TYPED_ENUM API_UNAVAILABLE(watchos);
16
16
  UIKIT_EXTERN UINibOptionsKey const UINibExternalObjects API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
17
17
 
18
18
  @interface NSBundle(UINibLoadingAdditions)
19
- - (nullable NSArray *)loadNibNamed:(NSString *)name owner:(nullable id)owner options:(nullable NSDictionary<UINibOptionsKey, id> *)options API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of visionOS.", visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
19
+ - (nullable NSArray *)loadNibNamed:(NSString *)name owner:(nullable id)owner options:(nullable NSDictionary<UINibOptionsKey, id> *)options API_DEPRECATED("Loading Interface Builder products will not be supported in a future version of visionOS.", visionos(1.0, 1.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UNAVAILABLE("UIKitCore declares Bundle.loadNibNamed(_:owner:options:)");
20
20
  @end
21
21
 
22
22
  @interface NSObject(UINibLoadingAdditions)
@@ -30,6 +30,9 @@ struct flock {
30
30
  #define F_FULLFSYNC 51 /* fsync + ask the drive to flush to the media */
31
31
  #undef F_DUPFD_CLOEXEC
32
32
  #define F_DUPFD_CLOEXEC 67
33
+ // darwin's event-only descriptor (0x8000) shares wasi's O_TRUNC bit; a wasi descriptor
34
+ // for event notification is a read-only open.
35
+ #define O_EVTONLY O_RDONLY
33
36
 
34
37
  #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
35
38
  #include <sys/_types/_filesec_t.h>
@@ -40,6 +40,9 @@ const TARGET_TYPES = [
40
40
  'macro',
41
41
  'plugin',
42
42
  ] as const
43
+ const targetRelative = (file: string | undefined) =>
44
+ file === undefined ? [] : [path.posix.normalize(file).replace(/(?<=.)\/+$/, '')]
45
+
43
46
  export type SwiftManifestTargetType = (typeof TARGET_TYPES)[number]
44
47
  const isTargetType = (value: string | undefined): value is SwiftManifestTargetType =>
45
48
  TARGET_TYPES.some((type) => type === value)
@@ -660,11 +663,13 @@ export function swiftPackageManifest(
660
663
  name,
661
664
  type: kind,
662
665
  dir: targetDir,
666
+ // swiftpm resolves these as normalized relative paths, so a directory
667
+ // written with a trailing slash selects its contents
663
668
  sources:
664
669
  target.sources == null
665
670
  ? null
666
- : array(target.sources).flatMap((file) => string(file) ?? []),
667
- exclude: array(target.exclude).flatMap((file) => string(file) ?? []),
671
+ : array(target.sources).flatMap((file) => targetRelative(string(file))),
672
+ exclude: array(target.exclude).flatMap((file) => targetRelative(string(file))),
668
673
  dependencies,
669
674
  languageMode,
670
675
  mainActorIsolation,
@@ -157,7 +157,7 @@ export type StandinOptions = {
157
157
  inert?: boolean
158
158
  /** modules the source imports beside Foundation and UIKit. */
159
159
  imports?: string[]
160
- /** `@_exported import` lines a placeholder's sources declare, verbatim. */
160
+ /** `@_exported import` lines: a placeholder's own, and the modules a framework's headers import. */
161
161
  exported?: string[]
162
162
  /** for a placeholder package's target: the compiler gap that forces it. */
163
163
  placeholder?: string
@@ -1501,6 +1501,8 @@ function objcStandin(
1501
1501
  new Map(),
1502
1502
  new Map(),
1503
1503
  dependencyGraphs,
1504
+ '',
1505
+ view.imports.filter((name) => provided.has(name) || siblings.has(name)),
1504
1506
  )
1505
1507
  }
1506
1508
 
@@ -1533,6 +1535,9 @@ function graphStandin(
1533
1535
  dependencyGraphs: SymbolGraph[] = [],
1534
1536
  // declarations the symbol graphs cannot carry, appended after the emitted ones
1535
1537
  trailer = '',
1538
+ // modules a consumer's import of this one brings along, as a framework
1539
+ // module map's `export *` re-exports what its headers import
1540
+ reexported: readonly string[] = [],
1536
1541
  ): SwiftStandin {
1537
1542
  const paths = new Set(
1538
1543
  graphs.flatMap((graph) =>
@@ -1626,9 +1631,11 @@ function graphStandin(
1626
1631
  inheritedConformances,
1627
1632
  projections,
1628
1633
  dependencyGraphs,
1629
- ...(placeholder
1630
- ? { exported: placeholder.exported, placeholder: binary.placeholder!.gap }
1631
- : {}),
1634
+ exported: [
1635
+ ...(placeholder?.exported ?? []),
1636
+ ...reexported.map((name) => `@_exported import ${name}`),
1637
+ ],
1638
+ ...(placeholder ? { placeholder: binary.placeholder!.gap } : {}),
1632
1639
  })
1633
1640
  for (const entry of skipped) {
1634
1641
  if (swiftPaths.has(entry.path))
@@ -1,26 +0,0 @@
1
- export function agentSessionIdFromCliIdentity(identity: string | null): string | null {
2
- if (!identity) return null
3
- const colon = identity.indexOf(':')
4
- if (colon < 0) return identity.trim() || null
5
- const source = identity.slice(0, colon)
6
- const value = identity.slice(colon + 1).trim()
7
- return source === 'PEACH_CLI_IDENTITY' && value ? value : null
8
- }
9
-
10
- // a lock owner is either a friendly cli label ("active user") or a raw cli
11
- // identity key ("CLAUDE_CODE_SESSION_ID:<uuid>", "gppid-1234"). the cli's sim
12
- // list and the shell's agent indicator both show it, collapsed to a short form
13
- // that still says which agent holds it; an explicit PEACH_CLI_IDENTITY is a
14
- // name its caller chose, so it shows as given.
15
- export function formatLockOwner(owner: string): string {
16
- const colon = owner.indexOf(':')
17
- if (colon <= 0) return owner.length > 24 ? `${owner.slice(0, 21)}…` : owner
18
- const source = owner.slice(0, colon)
19
- const value = owner.slice(colon + 1)
20
- if (source === 'PEACH_CLI_IDENTITY' && value) return value
21
- const short = value.length > 12 ? `${value.slice(0, 8)}…` : value
22
- if (source === 'CLAUDE_CODE_SESSION_ID' || source === 'CODEX_THREAD_ID') {
23
- return `agent ${short}`
24
- }
25
- return `${source} ${short}`
26
- }