peachsim 0.1.1644 → 0.1.1653

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 (608) hide show
  1. package/README.md +12 -0
  2. package/cli/app-catalog.ts +1 -1
  3. package/cli/app-fonts.ts +11 -80
  4. package/cli/app-splash.ts +18 -12
  5. package/cli/bridge-flow-runner.ts +11 -7
  6. package/cli/cloud-client.ts +10 -13
  7. package/cli/command-registry.ts +13 -4
  8. package/cli/commands/box.ts +4 -4
  9. package/cli/commands/control.ts +93 -53
  10. package/cli/commands/coverage-parser.ts +67 -0
  11. package/cli/commands/coverage.ts +550 -0
  12. package/cli/commands/debug.ts +9 -18
  13. package/cli/commands/desktop.ts +19 -7
  14. package/cli/commands/device.ts +14 -9
  15. package/cli/commands/guest-host.ts +6 -10
  16. package/cli/commands/inspect/core.ts +81 -17
  17. package/cli/commands/inspect.ts +13 -8
  18. package/cli/commands/kotlin.ts +2 -2
  19. package/cli/commands/maestro-compare.ts +1 -1
  20. package/cli/commands/platform.ts +20 -11
  21. package/cli/commands/preview.ts +16 -18
  22. package/cli/commands/runtime.ts +3 -2
  23. package/cli/commands/screenshot-layers.ts +1 -1
  24. package/cli/commands/screenshot.ts +1 -1
  25. package/cli/commands/serve.ts +5 -1
  26. package/cli/commands/support.ts +4 -4
  27. package/cli/commands/three-mode.ts +22 -15
  28. package/cli/commands/upload.ts +44 -45
  29. package/cli/current-sim.ts +38 -0
  30. package/cli/desktop-companion.ts +36 -8
  31. package/cli/device-option.ts +1 -1
  32. package/cli/drivers/playwright.ts +1 -0
  33. package/cli/drivers/types.ts +4 -0
  34. package/cli/help-core.ts +1 -1
  35. package/cli/internal-child.ts +2 -1
  36. package/cli/main.ts +9 -3
  37. package/cli/outbound-endpoints.ts +11 -3
  38. package/cli/output-redaction.ts +39 -14
  39. package/cli/remote-simulators.ts +4 -1
  40. package/cli/scene-video.ts +5 -2
  41. package/cli/send-to-box.ts +7 -10
  42. package/cli/telemetry.ts +1 -1
  43. package/cli/ws-bridge.ts +8 -1
  44. package/detox/attempt-events.cjs +3 -1
  45. package/detox/attempt-events.d.cts +1 -1
  46. package/detox/expectations.ts +108 -99
  47. package/detox/frame-offset.d.mts +6 -0
  48. package/detox/frame-offset.mjs +35 -0
  49. package/detox/gestures.ts +6 -18
  50. package/detox/index.ts +169 -101
  51. package/detox/jest-preset.cjs +1 -3
  52. package/detox/jest-transform.cjs +4 -0
  53. package/detox/matchers.ts +3 -0
  54. package/detox/motion-change.cjs +46 -114
  55. package/detox/motion-change.d.cts +5 -27
  56. package/dist-lib/agent-daemon-client.cjs +1 -1
  57. package/dist-lib/agent-events.cjs +1 -1
  58. package/dist-lib/attached-projects.cjs +1 -1
  59. package/dist-lib/auth/shared-session.cjs +1 -1
  60. package/dist-lib/backend-origin.cjs +1 -1
  61. package/dist-lib/beta.cjs +1 -1
  62. package/dist-lib/beta.mjs +1 -1
  63. package/dist-lib/bridge-constants.cjs +1 -1
  64. package/dist-lib/bridge-contract-input.cjs +65 -1
  65. package/dist-lib/bridge-contract-input.mjs +63 -1
  66. package/dist-lib/bridge-contract.cjs +19 -1
  67. package/dist-lib/bridge-contract.mjs +17 -1
  68. package/dist-lib/bundle-channel.cjs +38091 -14846
  69. package/dist-lib/capture-contract.cjs +1 -1
  70. package/dist-lib/capture-contract.mjs +1 -1
  71. package/dist-lib/cloud-contract.cjs +1 -1
  72. package/dist-lib/cloud-contract.mjs +1 -1
  73. package/dist-lib/cloud-test-args.cjs +1 -1
  74. package/dist-lib/cloud-test-args.mjs +1 -1
  75. package/dist-lib/cloud.cjs +1 -1
  76. package/dist-lib/cloud.mjs +1 -1
  77. package/dist-lib/config.cjs +1 -1
  78. package/dist-lib/config.mjs +5 -3
  79. package/dist-lib/detox/index.cjs +1244 -4509
  80. package/dist-lib/detox/jest-preset.cjs +1 -3
  81. package/dist-lib/detox/jest-transform.cjs +4 -0
  82. package/dist-lib/dev-bundle-resolution.cjs +28 -24
  83. package/dist-lib/expo-swift-bundle.cjs +35049 -13125
  84. package/dist-lib/expo-swift-metadata.cjs +1 -1
  85. package/dist-lib/expo-swift-metadata.mjs +1 -1
  86. package/dist-lib/home-paths.cjs +1 -1
  87. package/dist-lib/host/bridge-host.cjs +45112 -63143
  88. package/dist-lib/host/fetch-proxy-handler.cjs +3544 -11
  89. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  90. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  91. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  92. package/dist-lib/host/websocket-proxy.cjs +1 -1
  93. package/dist-lib/index.cjs +1909 -2029
  94. package/dist-lib/jump-to-source-babel.cjs +1 -1
  95. package/dist-lib/jump-to-source-native.cjs +1 -1
  96. package/dist-lib/kotlin-host.cjs +2 -2
  97. package/dist-lib/menu.cjs +1 -1
  98. package/dist-lib/menu.mjs +1 -1
  99. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  100. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  101. package/dist-lib/metro-production-bundle.cjs +1 -1
  102. package/dist-lib/metro-production-bundle.mjs +1 -1
  103. package/dist-lib/metro.cjs +380 -522
  104. package/dist-lib/native-app-identity-project.cjs +39 -252
  105. package/dist-lib/native-app-identity-project.mjs +1174 -11
  106. package/dist-lib/native-app-identity.cjs +8 -3
  107. package/dist-lib/native-app-identity.mjs +8 -3
  108. package/dist-lib/native-firebase-metadata.cjs +1 -1
  109. package/dist-lib/native-firebase-metadata.mjs +1 -1
  110. package/dist-lib/plist.cjs +2 -244
  111. package/dist-lib/plist.mjs +1 -1
  112. package/dist-lib/profiles.cjs +1 -1
  113. package/dist-lib/public-brand.cjs +1 -1
  114. package/dist-lib/public-origins-lib-esm.json +290 -0
  115. package/dist-lib/public-origins-lib-static.json +1 -0
  116. package/dist-lib/public-origins-lib.json +1852 -0
  117. package/dist-lib/react-native-host-modules.cjs +1 -1
  118. package/dist-lib/react-native-host-modules.mjs +1 -1
  119. package/dist-lib/scripts/dev-server-scanner.cjs +14 -253
  120. package/dist-lib/sdk.cjs +83 -16
  121. package/dist-lib/sdk.mjs +81 -15
  122. package/dist-lib/skills.cjs +50546 -75098
  123. package/dist-lib/swift-compile.cjs +25897 -1070
  124. package/dist-lib/swift-compile.mjs +25866 -1033
  125. package/dist-lib/swift-package.cjs +79 -1
  126. package/dist-lib/swift-package.mjs +75 -1
  127. package/dist-lib/swift-submit.cjs +1 -1
  128. package/dist-lib/swift-submit.mjs +1 -1
  129. package/dist-lib/swift-toolchain.cjs +1 -1
  130. package/dist-lib/swift.cjs +1 -1
  131. package/dist-lib/vite-swift.cjs +34273 -12349
  132. package/dist-lib/vite.cjs +373 -298
  133. package/dist-lib/worklet-executable.cjs +1 -1
  134. package/dist-lib/worklet-executable.mjs +1 -1
  135. package/dist-types/packages/peach-compat/src/engine-config.d.ts +2 -0
  136. package/dist-types/packages/peach-compat/src/stubs/form-sheet-spring.d.ts +9 -0
  137. package/dist-types/packages/peach-compat/src/stubs/native-evaluation-lease.d.ts +47 -0
  138. package/dist-types/packages/peach-compat/src/stubs/native-seams/react-native-cookies.d.ts +113 -0
  139. package/dist-types/packages/peach-compat/src/stubs/native-seams/react-native-gesture-handler.d.ts +154 -0
  140. package/dist-types/packages/peach-compat/src/stubs/screen-transition-math.d.ts +756 -0
  141. package/dist-types/packages/peach-compat/src/stubs/transition-scalar.d.ts +25 -0
  142. package/dist-types/packages/peach-engine/src/billing/plans.d.ts +64 -0
  143. package/dist-types/packages/peach-engine/src/browser-page-target.d.ts +2 -0
  144. package/dist-types/packages/peach-engine/src/bundle-platform-url.d.ts +3 -0
  145. package/dist-types/packages/peach-engine/src/capture/browser-accessibility-host.d.ts +3 -0
  146. package/dist-types/packages/peach-engine/src/capture/browser-composite.d.ts +55 -0
  147. package/dist-types/packages/peach-engine/src/capture/browserAccessibilityContract.d.ts +27 -0
  148. package/dist-types/packages/peach-engine/src/capture/nativeScreenCaptureContract.d.ts +22 -0
  149. package/dist-types/packages/peach-engine/src/cli-companion.d.ts +36 -0
  150. package/dist-types/packages/peach-engine/src/components/native-ui/webview-frame-bridge.d.ts +34 -0
  151. package/dist-types/packages/peach-engine/src/config.d.ts +5 -0
  152. package/dist-types/packages/peach-engine/src/engine/android-stretch-effect.d.ts +57 -0
  153. package/dist-types/packages/peach-engine/src/engine/animated-driven-style.d.ts +47 -0
  154. package/dist-types/packages/peach-engine/src/engine/animated-value.d.ts +5 -0
  155. package/dist-types/packages/peach-engine/src/engine/animated.d.ts +195 -0
  156. package/dist-types/packages/peach-engine/src/engine/animation-clockContract.d.ts +15 -0
  157. package/dist-types/packages/peach-engine/src/engine/animation-graph.d.ts +148 -0
  158. package/dist-types/packages/peach-engine/src/engine/app-catalog-wire.d.ts +10 -0
  159. package/dist-types/packages/peach-engine/src/engine/app-font-registry.d.ts +87 -0
  160. package/dist-types/packages/peach-engine/src/engine/attributed-paragraph-paint.d.ts +7 -0
  161. package/dist-types/packages/peach-engine/src/engine/attributed-paragraph.d.ts +123 -0
  162. package/dist-types/packages/peach-engine/src/engine/audioContract.d.ts +16 -0
  163. package/dist-types/packages/peach-engine/src/engine/canvaskit-api.d.ts +93 -0
  164. package/dist-types/packages/peach-engine/src/engine/canvaskit-renderer.d.ts +216 -0
  165. package/dist-types/packages/peach-engine/src/engine/config-plugin-fonts.d.ts +40 -0
  166. package/dist-types/packages/peach-engine/src/engine/config-plugin-splash.d.ts +25 -0
  167. package/dist-types/packages/peach-engine/src/engine/cull-visibility.d.ts +44 -0
  168. package/dist-types/packages/peach-engine/src/engine/damage-rect.d.ts +19 -0
  169. package/dist-types/packages/peach-engine/src/engine/engine-resource.d.ts +6 -0
  170. package/dist-types/packages/peach-engine/src/engine/expo-manifest.d.ts +5 -0
  171. package/dist-types/packages/peach-engine/src/engine/fiber-debug-metadata.d.ts +30 -0
  172. package/dist-types/packages/peach-engine/src/engine/font-config.d.ts +139 -0
  173. package/dist-types/packages/peach-engine/src/engine/generated/sf-pro-font.d.ts +1 -0
  174. package/dist-types/packages/peach-engine/src/engine/glass-material.d.ts +31 -0
  175. package/dist-types/packages/peach-engine/src/engine/host-composite.d.ts +100 -0
  176. package/dist-types/packages/peach-engine/src/engine/hosted-semantics.d.ts +49 -0
  177. package/dist-types/packages/peach-engine/src/engine/image-audit.d.ts +70 -0
  178. package/dist-types/packages/peach-engine/src/engine/image-loader.d.ts +350 -0
  179. package/dist-types/packages/peach-engine/src/engine/inspect-info.d.ts +27 -0
  180. package/dist-types/packages/peach-engine/src/engine/inspect-outline.d.ts +14 -0
  181. package/dist-types/packages/peach-engine/src/engine/inspect-visibility.d.ts +33 -0
  182. package/dist-types/packages/peach-engine/src/engine/ios-fast-scroll.d.ts +16 -0
  183. package/dist-types/packages/peach-engine/src/engine/layout-sab.d.ts +43 -0
  184. package/dist-types/packages/peach-engine/src/engine/liquid-glass-rect.d.ts +23 -0
  185. package/dist-types/packages/peach-engine/src/engine/liquid-glass-shaders.d.ts +9 -0
  186. package/dist-types/packages/peach-engine/src/engine/liquid-glass.d.ts +283 -0
  187. package/dist-types/packages/peach-engine/src/engine/live-object-counts.d.ts +6 -0
  188. package/dist-types/packages/peach-engine/src/engine/lottie-runtime.d.ts +32 -0
  189. package/dist-types/packages/peach-engine/src/engine/lottie-types.d.ts +138 -0
  190. package/dist-types/packages/peach-engine/src/engine/memory-counts.d.ts +27 -0
  191. package/dist-types/packages/peach-engine/src/engine/metalDirectContract.d.ts +108 -0
  192. package/dist-types/packages/peach-engine/src/engine/metalShaderContract.d.ts +217 -0
  193. package/dist-types/packages/peach-engine/src/engine/native-animation-driver.d.ts +112 -0
  194. package/dist-types/packages/peach-engine/src/engine/native-animation-graph.d.ts +62 -0
  195. package/dist-types/packages/peach-engine/src/engine/native-layout.d.ts +133 -0
  196. package/dist-types/packages/peach-engine/src/engine/native-resources.d.ts +26 -0
  197. package/dist-types/packages/peach-engine/src/engine/nativeReanimatedContract.d.ts +25 -0
  198. package/dist-types/packages/peach-engine/src/engine/nativeReplayContract.d.ts +64 -0
  199. package/dist-types/packages/peach-engine/src/engine/node.d.ts +589 -0
  200. package/dist-types/packages/peach-engine/src/engine/paint-boundary-types.d.ts +112 -0
  201. package/dist-types/packages/peach-engine/src/engine/paint-boundary.d.ts +57 -0
  202. package/dist-types/packages/peach-engine/src/engine/portalContract.d.ts +21 -0
  203. package/dist-types/packages/peach-engine/src/engine/portals.d.ts +20 -0
  204. package/dist-types/packages/peach-engine/src/engine/render-damage.d.ts +107 -0
  205. package/dist-types/packages/peach-engine/src/engine/riveContract.d.ts +420 -0
  206. package/dist-types/packages/peach-engine/src/engine/rn-spring.d.ts +51 -0
  207. package/dist-types/packages/peach-engine/src/engine/scene-table.d.ts +379 -0
  208. package/dist-types/packages/peach-engine/src/engine/scroll-momentum-math.d.ts +152 -0
  209. package/dist-types/packages/peach-engine/src/engine/scroll-pan-contacts.d.ts +10 -0
  210. package/dist-types/packages/peach-engine/src/engine/scroll-platform.d.ts +75 -0
  211. package/dist-types/packages/peach-engine/src/engine/scroll-range.d.ts +14 -0
  212. package/dist-types/packages/peach-engine/src/engine/scroll-velocity.d.ts +14 -0
  213. package/dist-types/packages/peach-engine/src/engine/scroll.d.ts +320 -0
  214. package/dist-types/packages/peach-engine/src/engine/signal.d.ts +7 -0
  215. package/dist-types/packages/peach-engine/src/engine/snapshot-cache-policy.d.ts +6 -0
  216. package/dist-types/packages/peach-engine/src/engine/svg-geometry.d.ts +41 -0
  217. package/dist-types/packages/peach-engine/src/engine/text-attachment-paragraphs.d.ts +10 -0
  218. package/dist-types/packages/peach-engine/src/engine/text-decoration.d.ts +11 -0
  219. package/dist-types/packages/peach-engine/src/engine/text-line-break.d.ts +22 -0
  220. package/dist-types/packages/peach-engine/src/engine/text-paint-receipt.d.ts +98 -0
  221. package/dist-types/packages/peach-engine/src/engine/text-paragraph.d.ts +11 -0
  222. package/dist-types/packages/peach-engine/src/engine/text-paragraphContract.d.ts +34 -0
  223. package/dist-types/packages/peach-engine/src/engine/text-transform.d.ts +1 -0
  224. package/dist-types/packages/peach-engine/src/engine/types.d.ts +657 -0
  225. package/dist-types/packages/peach-engine/src/engine/visible-frame.d.ts +54 -0
  226. package/dist-types/packages/peach-engine/src/engine/webrtcContract.d.ts +74 -0
  227. package/dist-types/packages/peach-engine/src/graphite-stats-fields.d.ts +184 -0
  228. package/dist-types/packages/peach-engine/src/guest-import-meta.d.ts +12 -0
  229. package/dist-types/packages/peach-engine/src/guest-module-overrides.d.ts +7 -0
  230. package/dist-types/packages/peach-engine/src/ios/app-card-types.d.ts +7 -0
  231. package/dist-types/packages/peach-engine/src/ios/apps/canvas-map-data.d.ts +177 -0
  232. package/dist-types/packages/peach-engine/src/ios/aux-home-scene.d.ts +54 -0
  233. package/dist-types/packages/peach-engine/src/ios/chrome-metrics.d.ts +47 -0
  234. package/dist-types/packages/peach-engine/src/ios/constants.d.ts +21 -0
  235. package/dist-types/packages/peach-engine/src/ios/duo-housing.d.ts +37 -0
  236. package/dist-types/packages/peach-engine/src/ios/home/types.d.ts +29 -0
  237. package/dist-types/packages/peach-engine/src/ios/home-app-catalog.d.ts +43 -0
  238. package/dist-types/packages/peach-engine/src/ios/photo-store.d.ts +73 -0
  239. package/dist-types/packages/peach-engine/src/ios/photoLibraryContract.d.ts +166 -0
  240. package/dist-types/packages/peach-engine/src/ios/shell-controller-types.d.ts +21 -0
  241. package/dist-types/packages/peach-engine/src/ios/shell-transition-debug.d.ts +18 -0
  242. package/dist-types/packages/peach-engine/src/metro-asset-path.d.ts +21 -0
  243. package/dist-types/packages/peach-engine/src/metro-fingerprint-registry-client.d.ts +11 -0
  244. package/dist-types/packages/peach-engine/src/metro-fingerprint.d.ts +38 -0
  245. package/dist-types/packages/peach-engine/src/native-preview-bundle.d.ts +44 -0
  246. package/dist-types/packages/peach-engine/src/observability/types.d.ts +74 -0
  247. package/dist-types/packages/peach-engine/src/peach-warm-manifest.d.ts +32 -0
  248. package/dist-types/packages/peach-engine/src/permissions/app-settings-client.d.ts +25 -0
  249. package/dist-types/packages/peach-engine/src/permissions/system-permission-types.d.ts +20 -0
  250. package/dist-types/packages/peach-engine/src/platform/android-back-panel.d.ts +131 -0
  251. package/dist-types/packages/peach-engine/src/platform/android-gesture-exclusion.d.ts +28 -0
  252. package/dist-types/packages/peach-engine/src/platform/android-predictive-back.d.ts +33 -0
  253. package/dist-types/packages/peach-engine/src/platform/system-bars-state.d.ts +14 -0
  254. package/dist-types/packages/peach-engine/src/playwright-sim-host.d.ts +1 -0
  255. package/dist-types/packages/peach-engine/src/preview/bundle-layout.d.ts +8 -0
  256. package/dist-types/packages/peach-engine/src/preview/bundle-variantContract.d.ts +24 -0
  257. package/dist-types/packages/peach-engine/src/preview/capture-bundle.d.ts +26 -0
  258. package/dist-types/packages/peach-engine/src/preview/compress-node.d.ts +2 -0
  259. package/dist-types/packages/peach-engine/src/preview/compress.d.ts +2 -0
  260. package/dist-types/packages/peach-engine/src/preview/presigned-upload.d.ts +60 -0
  261. package/dist-types/packages/peach-engine/src/preview/trace.d.ts +144 -0
  262. package/dist-types/packages/peach-engine/src/preview/upload-protocol.d.ts +152 -0
  263. package/dist-types/packages/peach-engine/src/profiler/animation-recording-loader.d.ts +1 -0
  264. package/dist-types/packages/peach-engine/src/profiler/profile-trace.d.ts +4 -0
  265. package/dist-types/packages/peach-engine/src/react-bridge.d.ts +3 -0
  266. package/dist-types/packages/peach-engine/src/react-native/AppState.d.ts +45 -0
  267. package/dist-types/packages/peach-engine/src/react-native/Appearance.d.ts +34 -0
  268. package/dist-types/packages/peach-engine/src/react-native/framework-colors-data.d.ts +2 -0
  269. package/dist-types/packages/peach-engine/src/react-native/host-services.d.ts +42 -0
  270. package/dist-types/packages/peach-engine/src/react-native/layout-animation.d.ts +22 -0
  271. package/dist-types/packages/peach-engine/src/react-native/platform-colors.d.ts +17 -0
  272. package/dist-types/packages/peach-engine/src/remote-stream/client-config.d.ts +10 -0
  273. package/dist-types/packages/peach-engine/src/remote-stream/cloud-display.d.ts +58 -0
  274. package/dist-types/packages/peach-engine/src/remote-stream/scene-recording.d.ts +45 -0
  275. package/dist-types/packages/peach-engine/src/render-worker/animated-drive-output.d.ts +35 -0
  276. package/dist-types/packages/peach-engine/src/render-worker/app-load.d.ts +16 -0
  277. package/dist-types/packages/peach-engine/src/render-worker/aux-surface-types.d.ts +2 -0
  278. package/dist-types/packages/peach-engine/src/render-worker/canvaskit-shared.d.ts +42 -0
  279. package/dist-types/packages/peach-engine/src/render-worker/canvaskit-webgpu.d.ts +434 -0
  280. package/dist-types/packages/peach-engine/src/render-worker/canvaskit-worker-init.d.ts +12 -0
  281. package/dist-types/packages/peach-engine/src/render-worker/compositor-backend.d.ts +31 -0
  282. package/dist-types/packages/peach-engine/src/render-worker/compositor-gpu.d.ts +202 -0
  283. package/dist-types/packages/peach-engine/src/render-worker/compositor-protocol.d.ts +1945 -0
  284. package/dist-types/packages/peach-engine/src/render-worker/compositor-runtime/scroll-drag-resample.d.ts +44 -0
  285. package/dist-types/packages/peach-engine/src/render-worker/css-keyframes-drive.d.ts +36 -0
  286. package/dist-types/packages/peach-engine/src/render-worker/edit-menu-geometry.d.ts +8 -0
  287. package/dist-types/packages/peach-engine/src/render-worker/engine-resource-relay.d.ts +21 -0
  288. package/dist-types/packages/peach-engine/src/render-worker/expo-widgetContract.d.ts +16 -0
  289. package/dist-types/packages/peach-engine/src/render-worker/gesture-seam-protocol.d.ts +152 -0
  290. package/dist-types/packages/peach-engine/src/render-worker/graph-linked-value.d.ts +29 -0
  291. package/dist-types/packages/peach-engine/src/render-worker/graphite-pipeline-compiler-contract.d.ts +49 -0
  292. package/dist-types/packages/peach-engine/src/render-worker/graphite-pipeline-compiler.d.ts +12 -0
  293. package/dist-types/packages/peach-engine/src/render-worker/host-service-protocol.d.ts +756 -0
  294. package/dist-types/packages/peach-engine/src/render-worker/image-lifecycle-event.d.ts +22 -0
  295. package/dist-types/packages/peach-engine/src/render-worker/image-pixel-contract.d.ts +48 -0
  296. package/dist-types/packages/peach-engine/src/render-worker/live-frame-mirror.d.ts +34 -0
  297. package/dist-types/packages/peach-engine/src/render-worker/map-command-channel.d.ts +189 -0
  298. package/dist-types/packages/peach-engine/src/render-worker/mapNativeContract.d.ts +101 -0
  299. package/dist-types/packages/peach-engine/src/render-worker/native-dynamic-synchronizable.d.ts +22 -0
  300. package/dist-types/packages/peach-engine/src/render-worker/native-menu-gesture.d.ts +9 -0
  301. package/dist-types/packages/peach-engine/src/render-worker/native-ui-commandContract.d.ts +23 -0
  302. package/dist-types/packages/peach-engine/src/render-worker/native-ui-protocol.d.ts +1087 -0
  303. package/dist-types/packages/peach-engine/src/render-worker/native-widgetContract.d.ts +100 -0
  304. package/dist-types/packages/peach-engine/src/render-worker/nativeAnimMirrorContract.d.ts +174 -0
  305. package/dist-types/packages/peach-engine/src/render-worker/nativeSyncReplyContract.d.ts +11 -0
  306. package/dist-types/packages/peach-engine/src/render-worker/one-native-contentContract.d.ts +54 -0
  307. package/dist-types/packages/peach-engine/src/render-worker/pointerSampleContract.d.ts +14 -0
  308. package/dist-types/packages/peach-engine/src/render-worker/protocol.d.ts +880 -0
  309. package/dist-types/packages/peach-engine/src/render-worker/reanimated-css-contract.d.ts +63 -0
  310. package/dist-types/packages/peach-engine/src/render-worker/reanimated-readiness.d.ts +29 -0
  311. package/dist-types/packages/peach-engine/src/render-worker/resilient-frame-clock.d.ts +22 -0
  312. package/dist-types/packages/peach-engine/src/render-worker/retained-app-load.d.ts +20 -0
  313. package/dist-types/packages/peach-engine/src/render-worker/screen-edge-swipe-commit-protocol.d.ts +1 -0
  314. package/dist-types/packages/peach-engine/src/render-worker/screen-form-sheet-commit-protocol.d.ts +26 -0
  315. package/dist-types/packages/peach-engine/src/render-worker/scroll-mirror-tenant.d.ts +37 -0
  316. package/dist-types/packages/peach-engine/src/render-worker/scroll-mirror.d.ts +164 -0
  317. package/dist-types/packages/peach-engine/src/render-worker/shell-event-registry.d.ts +119 -0
  318. package/dist-types/packages/peach-engine/src/render-worker/shell-gesture-regions.d.ts +41 -0
  319. package/dist-types/packages/peach-engine/src/render-worker/shell-protocol.d.ts +603 -0
  320. package/dist-types/packages/peach-engine/src/render-worker/shell-scene-schema.d.ts +101 -0
  321. package/dist-types/packages/peach-engine/src/render-worker/shell-tree-inline-sources.d.ts +13 -0
  322. package/dist-types/packages/peach-engine/src/render-worker/shell-tree-wire.d.ts +87 -0
  323. package/dist-types/packages/peach-engine/src/render-worker/test-bridge-protocol.d.ts +47 -0
  324. package/dist-types/packages/peach-engine/src/render-worker/text-inputContract.d.ts +93 -0
  325. package/dist-types/packages/peach-engine/src/render-worker/tree-sync-port.d.ts +102 -0
  326. package/dist-types/packages/peach-engine/src/render-worker/webgpu-frame-transaction.d.ts +292 -0
  327. package/dist-types/packages/peach-engine/src/render-worker/webgpu-readback-scheduler.d.ts +107 -0
  328. package/dist-types/packages/peach-engine/src/render-worker/webview-capture-protocol.d.ts +16 -0
  329. package/dist-types/packages/peach-engine/src/render-worker/worker-input-runtime.d.ts +211 -0
  330. package/dist-types/packages/peach-engine/src/render-worker/worker-storage.d.ts +33 -0
  331. package/dist-types/packages/peach-engine/src/render-worker/worklet-runtime.d.ts +987 -0
  332. package/dist-types/packages/peach-engine/src/render-worker/worklet-sab.d.ts +24 -0
  333. package/dist-types/packages/peach-engine/src/rolldown-bundle-inventory.d.ts +84 -0
  334. package/dist-types/packages/peach-engine/src/rolldown-production-fingerprint.d.ts +31 -0
  335. package/dist-types/packages/peach-engine/src/screenshots/timeline-assets.d.ts +10 -0
  336. package/dist-types/packages/peach-engine/src/screenshots/tokens.d.ts +9 -0
  337. package/dist-types/packages/peach-engine/src/settings/devices.d.ts +70 -0
  338. package/dist-types/packages/peach-engine/src/settings/duo-fold-bus.d.ts +87 -0
  339. package/dist-types/packages/peach-engine/src/settings/interface-rotation.d.ts +30 -0
  340. package/dist-types/packages/peach-engine/src/settings/react-native-configuration.d.ts +12 -0
  341. package/dist-types/packages/peach-engine/src/settings/scene-geometryContract.d.ts +40 -0
  342. package/dist-types/packages/peach-engine/src/settings/store.d.ts +37 -0
  343. package/dist-types/packages/peach-engine/src/shell-events.d.ts +203 -0
  344. package/dist-types/packages/peach-engine/src/shell-intent.d.ts +68 -0
  345. package/dist-types/packages/peach-engine/src/sootsim-event.d.ts +35 -0
  346. package/dist-types/packages/peach-engine/src/top-overlay-state.d.ts +5 -0
  347. package/dist-types/packages/peach-engine/src/web-authentication-automation-host.d.ts +2 -0
  348. package/dist-types/packages/peach-engine/src/webAuthenticationContract.d.ts +34 -0
  349. package/dist-types/packages/peach-engine/src/webview-automation-host.d.ts +180 -0
  350. package/dist-types/packages/peach-engine/src/wireframe-mode.d.ts +16 -0
  351. package/dist-types/packages/peach-globals/src/frameBreakdownContract.d.ts +16 -0
  352. package/dist-types/packages/peach-globals/src/index.d.ts +3311 -0
  353. package/dist-types/packages/peach-globals/src/nativeSurfaceContract.d.ts +76 -0
  354. package/dist-types/packages/peach-globals/src/pointerSourceEventContract.d.ts +8 -0
  355. package/dist-types/packages/peach-globals/src/profileTrace.d.ts +11 -0
  356. package/dist-types/packages/peach-globals/src/profilerContract.d.ts +223 -0
  357. package/dist-types/packages/peach-kit/src/capabilities.d.ts +721 -0
  358. package/dist-types/packages/peach-kit/src/internal.d.ts +4 -0
  359. package/dist-types/packages/peach-kit/src/materials/types.d.ts +27 -0
  360. package/dist-types/packages/peach-kit/src/materials/uikit-blur-material.d.ts +14 -0
  361. package/dist-types/packages/peach-kit/src/navigation-types.d.ts +11 -0
  362. package/dist-types/packages/peach-kit/src/react-bridge.d.ts +53 -0
  363. package/dist-types/packages/peach-kit/src/runtime.d.ts +26 -0
  364. package/dist-types/packages/peach-kit/src/ui/hosting-safe-area.d.ts +24 -0
  365. package/dist-types/packages/peach-kit/src/ui/popover-placement.d.ts +53 -0
  366. package/dist-types/packages/peach-kit/src/ui/presentationContract.d.ts +17 -0
  367. package/kotlin/ComposeSources/PeachComposeHost.kt +1 -1
  368. package/kotlin/JniSources/com/facebook/jni/HybridData.kt +0 -2
  369. package/kotlin/JniSources/dev/peach/jni/NativeBindings.kt +0 -2
  370. package/kotlin/JniTransportSources/dev/peach/jni/integration/JniTransport.kt +0 -2
  371. package/kotlin/README.md +6 -0
  372. package/package.json +22 -2
  373. package/runtime-companion.json +1 -0
  374. package/skills/contrast/SKILL.md +1 -0
  375. package/src/assetCatalogContract.ts +21 -0
  376. package/src/bridge-contract-input.ts +84 -0
  377. package/src/bridge-contract.ts +35 -3
  378. package/src/browser-launch-policy.ts +1 -0
  379. package/src/bundle-channel.mjs +4 -2
  380. package/src/cli-runtime.ts +55 -0
  381. package/src/crash-fingerprint.ts +26 -0
  382. package/src/dev-bundle-resolution.ts +50 -23
  383. package/src/device-catalog.ts +1159 -0
  384. package/src/host/bridge-host.ts +3 -26
  385. package/src/host/browser-pointer.ts +71 -0
  386. package/src/host/dev-server-package-versions.ts +23 -0
  387. package/src/host/fetch-proxy-handler.ts +17 -4
  388. package/src/installed-package-versions.ts +142 -38
  389. package/src/kotlin-host.ts +1 -1
  390. package/src/metro-plugin.ts +4 -4
  391. package/src/metro-project-root.ts +68 -0
  392. package/src/nitro-adapter.lock.json +26 -0
  393. package/src/nitro-adapter.ts +103 -0
  394. package/src/nitro-bundle.ts +24 -10
  395. package/src/nitro-compile.ts +33 -51
  396. package/src/nitro-source.ts +177 -96
  397. package/src/nitroAdapterContract.ts +217 -0
  398. package/src/nitroContract.ts +24 -11
  399. package/src/process-group.ts +41 -34
  400. package/src/react-bridge-importers.ts +28 -0
  401. package/src/reactNativeConfigurationContract.ts +36 -0
  402. package/src/runtime-assets.ts +7 -2
  403. package/src/runtime-delivery.ts +2 -0
  404. package/src/runtimePlatformContract.ts +70 -0
  405. package/src/screenshots/frame-compose.ts +42 -43
  406. package/src/screenshots/org-deck.ts +9 -4
  407. package/src/screenshots/preset-names.ts +29 -0
  408. package/src/screenshots/registry.ts +5 -5
  409. package/src/screenshots/schema.ts +1 -1
  410. package/src/screenshots/screenshotContract.ts +971 -0
  411. package/src/settings-flags.ts +107 -0
  412. package/src/settingsContract.ts +609 -0
  413. package/src/storageSnapshotContract.ts +344 -0
  414. package/src/stub-pattern-matcher.ts +550 -0
  415. package/src/swift-compile.ts +908 -40
  416. package/src/swift-compiler-digest.ts +13 -1
  417. package/src/swift-distribution.lock.json +49 -22
  418. package/src/swift-host.ts +167 -52
  419. package/src/swift-objc-compile.ts +54 -24
  420. package/src/swift-objc-export.ts +532 -0
  421. package/src/swift-objc-import.ts +769 -0
  422. package/src/swift-objc-metadata.ts +285 -10
  423. package/src/swift-objc-sdk.ts +13970 -158
  424. package/src/swift-objc-standin.ts +137 -1
  425. package/src/swift-package.ts +94 -0
  426. package/src/swift-packages.ts +5 -5
  427. package/src/swift-submit.ts +6 -0
  428. package/src/swiftContract.ts +99 -0
  429. package/src/target-matcher.ts +6 -1
  430. package/src/vite-plugin.ts +14 -40
  431. package/src/worker-system-chunks.ts +1 -1
  432. package/src/workerChunkContract.ts +5 -0
  433. package/src/worklets-babel.ts +24 -5
  434. package/src/xcode-project.ts +36 -7
  435. package/src/xcode-target-members.ts +10 -3
  436. package/cli/drivers/playwright-sim-host.ts +0 -825
  437. package/kotlin/fixtures/counter/Counter.d.kt.ts +0 -17
  438. package/kotlin/fixtures/counter/Counter.kt +0 -51
  439. package/kotlin/fixtures/counter/CounterApp.native.tsx +0 -61
  440. package/kotlin/fixtures/counter/CounterApp.tsx +0 -3
  441. package/kotlin/fixtures/counter/CounterScreen.d.kt.ts +0 -8
  442. package/kotlin/fixtures/counter/CounterScreen.kt +0 -56
  443. package/kotlin/fixtures/counter/app/_layout.tsx +0 -4
  444. package/kotlin/fixtures/counter/app/index+spa.tsx +0 -1
  445. package/kotlin/fixtures/counter/app/routes.d.ts +0 -18
  446. package/kotlin/fixtures/counter/package.json +0 -20
  447. package/kotlin/fixtures/counter/tsconfig.json +0 -19
  448. package/kotlin/fixtures/counter/vite.config.ts +0 -20
  449. package/kotlin/fixtures/headless-counter/Headless.kt +0 -234
  450. package/kotlin/fixtures/import-animation/Animation.d.kt.ts +0 -7
  451. package/kotlin/fixtures/import-animation/Animation.kt +0 -80
  452. package/kotlin/fixtures/import-animation/ImportAnimation.native.tsx +0 -13
  453. package/kotlin/fixtures/import-animation/README.md +0 -24
  454. package/kotlin/fixtures/import-animation/app/_layout.tsx +0 -4
  455. package/kotlin/fixtures/import-animation/app/index+spa.tsx +0 -1
  456. package/kotlin/fixtures/import-animation/app/routes.d.ts +0 -18
  457. package/kotlin/fixtures/import-animation/package.json +0 -23
  458. package/kotlin/fixtures/import-animation/tsconfig.json +0 -20
  459. package/kotlin/fixtures/import-animation/vite.config.ts +0 -20
  460. package/kotlin/fixtures/import-drawing/Drawing.d.kt.ts +0 -7
  461. package/kotlin/fixtures/import-drawing/Drawing.kt +0 -101
  462. package/kotlin/fixtures/import-drawing/ImportDrawing.native.tsx +0 -18
  463. package/kotlin/fixtures/import-drawing/README.md +0 -34
  464. package/kotlin/fixtures/import-drawing/app/_layout.tsx +0 -4
  465. package/kotlin/fixtures/import-drawing/app/index+spa.tsx +0 -1
  466. package/kotlin/fixtures/import-drawing/package.json +0 -23
  467. package/kotlin/fixtures/import-drawing/tsconfig.json +0 -20
  468. package/kotlin/fixtures/import-drawing/vite.config.ts +0 -20
  469. package/kotlin/fixtures/import-editor/Editor.d.kt.ts +0 -7
  470. package/kotlin/fixtures/import-editor/Editor.kt +0 -59
  471. package/kotlin/fixtures/import-editor/ImportEditor.native.tsx +0 -23
  472. package/kotlin/fixtures/import-editor/README.md +0 -27
  473. package/kotlin/fixtures/import-editor/app/_layout.tsx +0 -4
  474. package/kotlin/fixtures/import-editor/app/index+spa.tsx +0 -1
  475. package/kotlin/fixtures/import-editor/package.json +0 -23
  476. package/kotlin/fixtures/import-editor/tsconfig.json +0 -20
  477. package/kotlin/fixtures/import-editor/vite.config.ts +0 -20
  478. package/kotlin/fixtures/import-effects/Effects.d.kt.ts +0 -7
  479. package/kotlin/fixtures/import-effects/Effects.kt +0 -87
  480. package/kotlin/fixtures/import-effects/ImportEffects.native.tsx +0 -13
  481. package/kotlin/fixtures/import-effects/README.md +0 -19
  482. package/kotlin/fixtures/import-effects/app/_layout.tsx +0 -4
  483. package/kotlin/fixtures/import-effects/app/index+spa.tsx +0 -1
  484. package/kotlin/fixtures/import-effects/package.json +0 -23
  485. package/kotlin/fixtures/import-effects/tsconfig.json +0 -20
  486. package/kotlin/fixtures/import-effects/vite.config.ts +0 -20
  487. package/kotlin/fixtures/import-layout/ImportLayout.native.tsx +0 -13
  488. package/kotlin/fixtures/import-layout/Layout.d.kt.ts +0 -7
  489. package/kotlin/fixtures/import-layout/Layout.kt +0 -72
  490. package/kotlin/fixtures/import-layout/README.md +0 -24
  491. package/kotlin/fixtures/import-layout/app/_layout.tsx +0 -4
  492. package/kotlin/fixtures/import-layout/app/index+spa.tsx +0 -1
  493. package/kotlin/fixtures/import-layout/package.json +0 -23
  494. package/kotlin/fixtures/import-layout/tsconfig.json +0 -20
  495. package/kotlin/fixtures/import-layout/vite.config.ts +0 -20
  496. package/kotlin/fixtures/import-navigation/ImportNavigation.native.tsx +0 -18
  497. package/kotlin/fixtures/import-navigation/Navigation.d.kt.ts +0 -7
  498. package/kotlin/fixtures/import-navigation/Navigation.kt +0 -104
  499. package/kotlin/fixtures/import-navigation/README.md +0 -31
  500. package/kotlin/fixtures/import-navigation/app/_layout.tsx +0 -4
  501. package/kotlin/fixtures/import-navigation/app/index+spa.tsx +0 -1
  502. package/kotlin/fixtures/import-navigation/package.json +0 -23
  503. package/kotlin/fixtures/import-navigation/tsconfig.json +0 -20
  504. package/kotlin/fixtures/import-navigation/vite.config.ts +0 -20
  505. package/kotlin/fixtures/import-overlays/ImportOverlays.native.tsx +0 -29
  506. package/kotlin/fixtures/import-overlays/Overlays.d.kt.ts +0 -7
  507. package/kotlin/fixtures/import-overlays/Overlays.kt +0 -93
  508. package/kotlin/fixtures/import-overlays/README.md +0 -34
  509. package/kotlin/fixtures/import-overlays/app/_layout.tsx +0 -4
  510. package/kotlin/fixtures/import-overlays/app/index+spa.tsx +0 -1
  511. package/kotlin/fixtures/import-overlays/package.json +0 -23
  512. package/kotlin/fixtures/import-overlays/tsconfig.json +0 -20
  513. package/kotlin/fixtures/import-overlays/vite.config.ts +0 -20
  514. package/kotlin/fixtures/import-resources/ImportResources.native.tsx +0 -18
  515. package/kotlin/fixtures/import-resources/README.md +0 -26
  516. package/kotlin/fixtures/import-resources/Resources.d.kt.ts +0 -6
  517. package/kotlin/fixtures/import-resources/Resources.kt +0 -72
  518. package/kotlin/fixtures/import-resources/app/_layout.tsx +0 -4
  519. package/kotlin/fixtures/import-resources/app/index+spa.tsx +0 -1
  520. package/kotlin/fixtures/import-resources/package.json +0 -23
  521. package/kotlin/fixtures/import-resources/tsconfig.json +0 -20
  522. package/kotlin/fixtures/import-resources/vite.config.ts +0 -20
  523. package/kotlin/fixtures/import-scroll/ImportNested.native.tsx +0 -10
  524. package/kotlin/fixtures/import-scroll/ImportScroll.native.tsx +0 -13
  525. package/kotlin/fixtures/import-scroll/Nested.d.kt.ts +0 -4
  526. package/kotlin/fixtures/import-scroll/Nested.kt +0 -64
  527. package/kotlin/fixtures/import-scroll/README.md +0 -38
  528. package/kotlin/fixtures/import-scroll/Scroll.d.kt.ts +0 -7
  529. package/kotlin/fixtures/import-scroll/Scroll.kt +0 -91
  530. package/kotlin/fixtures/import-scroll/app/_layout.tsx +0 -4
  531. package/kotlin/fixtures/import-scroll/app/index+spa.tsx +0 -1
  532. package/kotlin/fixtures/import-scroll/app/nested+spa.tsx +0 -1
  533. package/kotlin/fixtures/import-scroll/package.json +0 -23
  534. package/kotlin/fixtures/import-scroll/tsconfig.json +0 -20
  535. package/kotlin/fixtures/import-scroll/vite.config.ts +0 -20
  536. package/kotlin/fixtures/import-selection/ImportSelection.native.tsx +0 -44
  537. package/kotlin/fixtures/import-selection/README.md +0 -32
  538. package/kotlin/fixtures/import-selection/Selection.d.kt.ts +0 -8
  539. package/kotlin/fixtures/import-selection/Selection.kt +0 -78
  540. package/kotlin/fixtures/import-selection/app/_layout.tsx +0 -4
  541. package/kotlin/fixtures/import-selection/app/index+spa.tsx +0 -1
  542. package/kotlin/fixtures/import-selection/package.json +0 -23
  543. package/kotlin/fixtures/import-selection/tsconfig.json +0 -20
  544. package/kotlin/fixtures/import-selection/vite.config.ts +0 -20
  545. package/kotlin/fixtures/import-surfaces/ImportSurfaces.native.tsx +0 -13
  546. package/kotlin/fixtures/import-surfaces/README.md +0 -22
  547. package/kotlin/fixtures/import-surfaces/Surfaces.d.kt.ts +0 -7
  548. package/kotlin/fixtures/import-surfaces/Surfaces.kt +0 -64
  549. package/kotlin/fixtures/import-surfaces/app/_layout.tsx +0 -4
  550. package/kotlin/fixtures/import-surfaces/app/index+spa.tsx +0 -1
  551. package/kotlin/fixtures/import-surfaces/package.json +0 -23
  552. package/kotlin/fixtures/import-surfaces/tsconfig.json +0 -20
  553. package/kotlin/fixtures/import-surfaces/vite.config.ts +0 -20
  554. package/kotlin/fixtures/import-values/ImportValues.native.tsx +0 -61
  555. package/kotlin/fixtures/import-values/README.md +0 -28
  556. package/kotlin/fixtures/import-values/Values.d.kt.ts +0 -15
  557. package/kotlin/fixtures/import-values/Values.kt +0 -84
  558. package/kotlin/fixtures/import-values/app/_layout.tsx +0 -4
  559. package/kotlin/fixtures/import-values/app/index+spa.tsx +0 -1
  560. package/kotlin/fixtures/import-values/package.json +0 -23
  561. package/kotlin/fixtures/import-values/tsconfig.json +0 -20
  562. package/kotlin/fixtures/import-values/vite.config.ts +0 -20
  563. package/kotlin/fixtures/kotlin-app/app/build.gradle.kts +0 -30
  564. package/kotlin/fixtures/kotlin-app/app/src/main/AndroidManifest.xml +0 -13
  565. package/kotlin/fixtures/kotlin-app/app/src/main/java/dev/contrast/kotlinapp/MainActivity.kt +0 -60
  566. package/kotlin/fixtures/kotlin-app/app/src/main/java/dev/contrast/kotlinapp/ProbeApplication.kt +0 -18
  567. package/kotlin/fixtures/kotlin-app/build.gradle.kts +0 -5
  568. package/kotlin/fixtures/kotlin-app/gradle.properties +0 -4
  569. package/kotlin/fixtures/kotlin-app/settings.gradle.kts +0 -4
  570. package/kotlin/fixtures/kotlin-app-variants/Anim.kt +0 -62
  571. package/kotlin/fixtures/kotlin-app-variants/BarBehavior.kt +0 -38
  572. package/kotlin/fixtures/kotlin-app-variants/BarVisibility.kt +0 -36
  573. package/kotlin/fixtures/kotlin-app-variants/Bitmaps.kt +0 -50
  574. package/kotlin/fixtures/kotlin-app-variants/Browse.kt +0 -73
  575. package/kotlin/fixtures/kotlin-app-variants/Colors.kt +0 -41
  576. package/kotlin/fixtures/kotlin-app-variants/Controls.kt +0 -62
  577. package/kotlin/fixtures/kotlin-app-variants/Drag.kt +0 -56
  578. package/kotlin/fixtures/kotlin-app-variants/Draw.kt +0 -74
  579. package/kotlin/fixtures/kotlin-app-variants/Drawables.kt +0 -53
  580. package/kotlin/fixtures/kotlin-app-variants/Focus.kt +0 -62
  581. package/kotlin/fixtures/kotlin-app-variants/Form.kt +0 -47
  582. package/kotlin/fixtures/kotlin-app-variants/Icons.kt +0 -59
  583. package/kotlin/fixtures/kotlin-app-variants/Ime.kt +0 -53
  584. package/kotlin/fixtures/kotlin-app-variants/Lists.kt +0 -57
  585. package/kotlin/fixtures/kotlin-app-variants/Nav.kt +0 -47
  586. package/kotlin/fixtures/kotlin-app-variants/Note.kt +0 -40
  587. package/kotlin/fixtures/kotlin-app-variants/Overlays.kt +0 -56
  588. package/kotlin/fixtures/kotlin-app-variants/Pan.kt +0 -38
  589. package/kotlin/fixtures/kotlin-app-variants/Pickers.kt +0 -44
  590. package/kotlin/fixtures/kotlin-app-variants/Press.kt +0 -43
  591. package/kotlin/fixtures/kotlin-app-variants/Scroll.kt +0 -63
  592. package/kotlin/fixtures/kotlin-app-variants/Sheet.kt +0 -43
  593. package/kotlin/fixtures/kotlin-app-variants/Strings.kt +0 -49
  594. package/kotlin/fixtures/kotlin-app-variants/Tabs.kt +0 -47
  595. package/kotlin/fixtures/kotlin-app-variants/TextWidth.kt +0 -45
  596. package/kotlin/fixtures/kotlin-app-variants/TransientInsets.kt +0 -50
  597. package/kotlin/fixtures/kotlin-app-variants/Transition.kt +0 -69
  598. package/kotlin/fixtures/kotlin-app-variants/ViewConfig.kt +0 -22
  599. package/kotlin/fixtures/kotlin-app-variants/Widgets.kt +0 -67
  600. package/kotlin/fixtures/runtime-state/RuntimeState.kt +0 -200
  601. package/kotlin/fork/README.md +0 -97
  602. package/kotlin/fork/build.sh +0 -176
  603. package/kotlin/fork/compose-worker-globals.patch +0 -1247
  604. package/kotlin/fork/fork.json +0 -46
  605. package/kotlin/fork/publish.ts +0 -99
  606. package/kotlin/fork/skia-android-shaping.patch +0 -189
  607. package/kotlin/fork/skiko-local.init.gradle +0 -10
  608. package/kotlin/fork/skiko-worker-clock.patch +0 -122
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1644 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1653 | (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.1644 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1653 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/react-native-host-modules.ts
4
4
  var REACT_NATIVE_PASSTHROUGH_SPECIFIERS = [
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1644 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1653 | (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;
@@ -7,9 +7,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
7
  var __getOwnPropNames = Object.getOwnPropertyNames;
8
8
  var __getProtoOf = Object.getPrototypeOf;
9
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __commonJS = (cb, mod) => function __require() {
11
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
12
- };
13
10
  var __export = (target, all) => {
14
11
  for (var name in all)
15
12
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -32,245 +29,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
32
29
  ));
33
30
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
34
31
 
35
- // ../../node_modules/plist/lib/parse.js
36
- var require_parse = __commonJS({
37
- "../../node_modules/plist/lib/parse.js"(exports2) {
38
- var { DOMParser } = require("@xmldom/xmldom");
39
- exports2.parse = parse;
40
- var TEXT_NODE = 3;
41
- var CDATA_NODE = 4;
42
- var COMMENT_NODE = 8;
43
- function shouldIgnoreNode(node) {
44
- return node.nodeType === TEXT_NODE || node.nodeType === COMMENT_NODE || node.nodeType === CDATA_NODE;
45
- }
46
- function isEmptyNode(node) {
47
- if (!node.childNodes || node.childNodes.length === 0) {
48
- return true;
49
- } else {
50
- return false;
51
- }
52
- }
53
- function invariant(test, message) {
54
- if (!test) {
55
- throw new Error(message);
56
- }
57
- }
58
- function parse(xml) {
59
- var doc = new DOMParser().parseFromString(xml, "text/xml");
60
- invariant(
61
- doc.documentElement.nodeName === "plist",
62
- "malformed document. First element should be <plist>"
63
- );
64
- var plist2 = parsePlistXML(doc.documentElement);
65
- if (plist2.length == 1) plist2 = plist2[0];
66
- return plist2;
67
- }
68
- function parsePlistXML(node) {
69
- var i, new_obj, key, val, new_arr, res, counter, type;
70
- if (!node) return null;
71
- if (node.nodeName === "plist") {
72
- new_arr = [];
73
- if (isEmptyNode(node)) {
74
- return new_arr;
75
- }
76
- for (i = 0; i < node.childNodes.length; i++) {
77
- if (!shouldIgnoreNode(node.childNodes[i])) {
78
- new_arr.push(parsePlistXML(node.childNodes[i]));
79
- }
80
- }
81
- return new_arr;
82
- } else if (node.nodeName === "dict") {
83
- new_obj = {};
84
- key = null;
85
- counter = 0;
86
- if (isEmptyNode(node)) {
87
- return new_obj;
88
- }
89
- for (i = 0; i < node.childNodes.length; i++) {
90
- if (shouldIgnoreNode(node.childNodes[i])) continue;
91
- if (counter % 2 === 0) {
92
- invariant(
93
- node.childNodes[i].nodeName === "key",
94
- "Missing key while parsing <dict/>."
95
- );
96
- key = parsePlistXML(node.childNodes[i]);
97
- } else {
98
- invariant(
99
- node.childNodes[i].nodeName !== "key",
100
- 'Unexpected key "' + parsePlistXML(node.childNodes[i]) + '" while parsing <dict/>.'
101
- );
102
- new_obj[key] = parsePlistXML(node.childNodes[i]);
103
- }
104
- counter += 1;
105
- }
106
- if (counter % 2 === 1) {
107
- new_obj[key] = "";
108
- }
109
- return new_obj;
110
- } else if (node.nodeName === "array") {
111
- new_arr = [];
112
- if (isEmptyNode(node)) {
113
- return new_arr;
114
- }
115
- for (i = 0; i < node.childNodes.length; i++) {
116
- if (!shouldIgnoreNode(node.childNodes[i])) {
117
- res = parsePlistXML(node.childNodes[i]);
118
- if (null != res) new_arr.push(res);
119
- }
120
- }
121
- return new_arr;
122
- } else if (node.nodeName === "#text") {
123
- } else if (node.nodeName === "key") {
124
- if (isEmptyNode(node)) {
125
- return "";
126
- }
127
- invariant(
128
- node.childNodes[0].nodeValue !== "__proto__",
129
- "__proto__ keys can lead to prototype pollution. More details on CVE-2022-22912"
130
- );
131
- return node.childNodes[0].nodeValue;
132
- } else if (node.nodeName === "string") {
133
- res = "";
134
- if (isEmptyNode(node)) {
135
- return res;
136
- }
137
- for (i = 0; i < node.childNodes.length; i++) {
138
- var type = node.childNodes[i].nodeType;
139
- if (type === TEXT_NODE || type === CDATA_NODE) {
140
- res += node.childNodes[i].nodeValue;
141
- }
142
- }
143
- return res;
144
- } else if (node.nodeName === "integer") {
145
- invariant(!isEmptyNode(node), 'Cannot parse "" as integer.');
146
- return parseInt(node.childNodes[0].nodeValue, 10);
147
- } else if (node.nodeName === "real") {
148
- invariant(!isEmptyNode(node), 'Cannot parse "" as real.');
149
- res = "";
150
- for (i = 0; i < node.childNodes.length; i++) {
151
- if (node.childNodes[i].nodeType === TEXT_NODE) {
152
- res += node.childNodes[i].nodeValue;
153
- }
154
- }
155
- return parseFloat(res);
156
- } else if (node.nodeName === "data") {
157
- res = "";
158
- if (isEmptyNode(node)) {
159
- return Buffer.from(res, "base64");
160
- }
161
- for (i = 0; i < node.childNodes.length; i++) {
162
- if (node.childNodes[i].nodeType === TEXT_NODE) {
163
- res += node.childNodes[i].nodeValue.replace(/\s+/g, "");
164
- }
165
- }
166
- return Buffer.from(res, "base64");
167
- } else if (node.nodeName === "date") {
168
- invariant(!isEmptyNode(node), 'Cannot parse "" as Date.');
169
- return new Date(node.childNodes[0].nodeValue);
170
- } else if (node.nodeName === "null") {
171
- return null;
172
- } else if (node.nodeName === "true") {
173
- return true;
174
- } else if (node.nodeName === "false") {
175
- return false;
176
- } else {
177
- throw new Error("Invalid PLIST tag " + node.nodeName);
178
- }
179
- }
180
- }
181
- });
182
-
183
- // ../../node_modules/plist/lib/build.js
184
- var require_build = __commonJS({
185
- "../../node_modules/plist/lib/build.js"(exports2) {
186
- var base64 = require("base64-js");
187
- var xmlbuilder = require("xmlbuilder");
188
- exports2.build = build;
189
- function ISODateString(d) {
190
- function pad(n) {
191
- return n < 10 ? "0" + n : n;
192
- }
193
- return d.getUTCFullYear() + "-" + pad(d.getUTCMonth() + 1) + "-" + pad(d.getUTCDate()) + "T" + pad(d.getUTCHours()) + ":" + pad(d.getUTCMinutes()) + ":" + pad(d.getUTCSeconds()) + "Z";
194
- }
195
- var toString = Object.prototype.toString;
196
- function type(obj) {
197
- var m = toString.call(obj).match(/\[object (.*)\]/);
198
- return m ? m[1] : m;
199
- }
200
- function build(obj, opts) {
201
- var XMLHDR = {
202
- version: "1.0",
203
- encoding: "UTF-8"
204
- };
205
- var XMLDTD = {
206
- pubid: "-//Apple//DTD PLIST 1.0//EN",
207
- sysid: "http://www.apple.com/DTDs/PropertyList-1.0.dtd"
208
- };
209
- var doc = xmlbuilder.create("plist");
210
- doc.dec(XMLHDR.version, XMLHDR.encoding, XMLHDR.standalone);
211
- doc.dtd(XMLDTD.pubid, XMLDTD.sysid);
212
- doc.att("version", "1.0");
213
- walk_obj(obj, doc);
214
- if (!opts) opts = {};
215
- opts.pretty = opts.pretty !== false;
216
- return doc.end(opts);
217
- }
218
- function walk_obj(next, next_child) {
219
- var tag_type, i, prop;
220
- var name = type(next);
221
- if ("Undefined" == name) {
222
- return;
223
- } else if (Array.isArray(next)) {
224
- next_child = next_child.ele("array");
225
- for (i = 0; i < next.length; i++) {
226
- walk_obj(next[i], next_child);
227
- }
228
- } else if (Buffer.isBuffer(next)) {
229
- next_child.ele("data").raw(next.toString("base64"));
230
- } else if ("Object" == name) {
231
- next_child = next_child.ele("dict");
232
- for (prop in next) {
233
- if (next.hasOwnProperty(prop)) {
234
- next_child.ele("key").txt(prop);
235
- walk_obj(next[prop], next_child);
236
- }
237
- }
238
- } else if ("Number" == name) {
239
- tag_type = next % 1 === 0 ? "integer" : "real";
240
- next_child.ele(tag_type).txt(next.toString());
241
- } else if ("BigInt" == name) {
242
- next_child.ele("integer").txt(next);
243
- } else if ("Date" == name) {
244
- next_child.ele("date").txt(ISODateString(new Date(next)));
245
- } else if ("Boolean" == name) {
246
- next_child.ele(next ? "true" : "false");
247
- } else if ("String" == name) {
248
- next_child.ele("string").txt(next);
249
- } else if ("ArrayBuffer" == name) {
250
- next_child.ele("data").raw(base64.fromByteArray(next));
251
- } else if (next && next.buffer && "ArrayBuffer" == type(next.buffer)) {
252
- next_child.ele("data").raw(base64.fromByteArray(new Uint8Array(next.buffer), next_child));
253
- } else if ("Null" === name) {
254
- next_child.ele("null").txt("");
255
- }
256
- }
257
- }
258
- });
259
-
260
- // ../../node_modules/plist/index.js
261
- var require_plist = __commonJS({
262
- "../../node_modules/plist/index.js"(exports2) {
263
- var parserFunctions = require_parse();
264
- Object.keys(parserFunctions).forEach(function(k) {
265
- exports2[k] = parserFunctions[k];
266
- });
267
- var builderFunctions = require_build();
268
- Object.keys(builderFunctions).forEach(function(k) {
269
- exports2[k] = builderFunctions[k];
270
- });
271
- }
272
- });
273
-
274
32
  // scripts/dev-server-scanner.ts
275
33
  var dev_server_scanner_exports = {};
276
34
  __export(dev_server_scanner_exports, {
@@ -393,32 +151,35 @@ function normalizeNativeDevBundleUrl(bundleUrl) {
393
151
  }
394
152
 
395
153
  // src/dev-bundle-resolution.ts
396
- function shouldProxyLoopbackProbe(targetUrl) {
397
- if (typeof window === "undefined") return false;
154
+ function shouldProxyLoopbackProbe(targetUrl, pageOrigin) {
398
155
  try {
399
- const parsed = new URL(targetUrl);
400
- return isLoopbackHost(parsed.hostname) && isLoopbackHost(window.location.hostname) && parsed.origin !== window.location.origin;
156
+ const target = new URL(targetUrl);
157
+ const page = new URL(pageOrigin);
158
+ return isLoopbackHost(target.hostname) && isLoopbackHost(page.hostname) && target.origin !== page.origin;
401
159
  } catch {
402
160
  return false;
403
161
  }
404
162
  }
405
- async function fetchDevProbe(targetUrl, init) {
163
+ async function fetchDevProbe(targetUrl, pageOrigin, init) {
406
164
  const requestInit = {
407
165
  ...init,
408
166
  cache: init?.cache ?? "no-store"
409
167
  };
410
- if (!shouldProxyLoopbackProbe(targetUrl)) {
168
+ if (!pageOrigin || !shouldProxyLoopbackProbe(targetUrl, pageOrigin)) {
411
169
  return fetch(targetUrl, requestInit);
412
170
  }
413
- return fetch(`/__fetch-proxy?url=${encodeURIComponent(targetUrl)}`, requestInit);
171
+ return fetch(
172
+ `${pageOrigin}/__fetch-proxy?url=${encodeURIComponent(targetUrl)}`,
173
+ requestInit
174
+ );
414
175
  }
415
176
  var MANIFEST_PROBE_TIMEOUT_MS = 3e4;
416
177
  var manifestRequests = /* @__PURE__ */ new Map();
417
- async function fetchDevManifest(baseUrl) {
178
+ async function fetchDevManifest(baseUrl, pageOrigin) {
418
179
  const normalizedBaseUrl = baseUrl.replace(/\/+$/, "");
419
180
  const existing = manifestRequests.get(normalizedBaseUrl);
420
181
  if (existing) return (await existing)?.clone();
421
- const pending = fetchDevProbe(`${normalizedBaseUrl}/`, {
182
+ const pending = fetchDevProbe(`${normalizedBaseUrl}/`, pageOrigin, {
422
183
  headers: { "expo-platform": "ios" }
423
184
  }).then(async (res) => {
424
185
  const body = await res.arrayBuffer();
@@ -549,7 +310,7 @@ var import_promises = require("node:fs/promises");
549
310
  var import_node_path = require("node:path");
550
311
 
551
312
  // src/plist.ts
552
- var import_plist = __toESM(require_plist(), 1);
313
+ var import_plist = __toESM(require("plist"), 1);
553
314
  function parsePlistSource(source) {
554
315
  return import_plist.default.parse(source);
555
316
  }
package/dist-lib/sdk.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1644 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1653 | (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;
@@ -22,7 +22,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
22
22
  // src/sdk.ts
23
23
  var sdk_exports = {};
24
24
  __export(sdk_exports, {
25
- DEBUG_CHANNELS: () => DEBUG_CHANNELS,
26
25
  IdleObservationError: () => IdleObservationError,
27
26
  LAYOUT_GET_NATIVE_EVAL: () => LAYOUT_GET_NATIVE_EVAL,
28
27
  MERGED_CONSOLE_COUNT_EVAL: () => MERGED_CONSOLE_COUNT_EVAL,
@@ -53,6 +52,7 @@ __export(sdk_exports, {
53
52
  getShellState: () => getShellState,
54
53
  inspectAccessibilityTree: () => inspectAccessibilityTree,
55
54
  inspectCaptureReady: () => inspectCaptureReady,
55
+ inspectDebugChannels: () => inspectDebugChannels,
56
56
  inspectDebugFind: () => inspectDebugFind,
57
57
  inspectDebugFlags: () => inspectDebugFlags,
58
58
  inspectDebugRecent: () => inspectDebugRecent,
@@ -102,6 +102,7 @@ __export(sdk_exports, {
102
102
  tapCoordinates: () => tapCoordinates,
103
103
  tapResolvedTarget: () => tapResolvedTarget,
104
104
  tapTargetFromPayload: () => tapTargetFromPayload,
105
+ toggleDebugChannel: () => toggleDebugChannel,
105
106
  waitForSootsimIdle: () => waitForSootsimIdle,
106
107
  waitReadyAndSettle: () => waitReadyAndSettle,
107
108
  waitReadyReason: () => waitReadyReason
@@ -127,8 +128,37 @@ function readyProbeIsReady(probe) {
127
128
  return readyProbeContentBasis(probe) !== "" && probe.externalReady !== false && !probe.externalError && !probe.loadingText;
128
129
  }
129
130
 
131
+ // src/is-record.ts
132
+ function isRecord(value) {
133
+ return typeof value === "object" && value !== null && !Array.isArray(value);
134
+ }
135
+
130
136
  // src/bridge-contract-input.ts
137
+ var BridgeInputError = class extends Error {
138
+ constructor(message) {
139
+ super(message);
140
+ this.name = "BridgeInputError";
141
+ }
142
+ };
131
143
  var SEMANTIC_WAIT_MAX_TIMEOUT_MS = 3e4;
144
+ function validationFailure(path, expectation) {
145
+ throw new BridgeInputError(`${path} ${expectation}`);
146
+ }
147
+ function parseDiagnosticsResult(value) {
148
+ if (!isRecord(value) || !Array.isArray(value.channels) || !value.channels.every((channel) => typeof channel === "string") || !Array.isArray(value.availableChannels) || !value.availableChannels.every((channel) => typeof channel === "string") || !Array.isArray(value.events)) {
149
+ validationFailure(
150
+ "remote diagnostics",
151
+ "returned an incompatible native host response"
152
+ );
153
+ }
154
+ return {
155
+ channels: value.channels,
156
+ availableChannels: value.availableChannels,
157
+ runtime: value.runtime,
158
+ found: value.found,
159
+ events: value.events
160
+ };
161
+ }
132
162
 
133
163
  // cli/commands/inspect/core.ts
134
164
  function resolveMaxMsFlag(args, fallbackMs) {
@@ -1304,23 +1334,34 @@ async function inspectScreens(bridge) {
1304
1334
  keyboard: payload?.keyboard ?? null
1305
1335
  };
1306
1336
  }
1307
- var DEBUG_CHANNELS = [
1308
- "portals",
1309
- "sheets",
1310
- "layout",
1311
- "onlayout",
1312
- "animated",
1313
- "render",
1314
- "touch",
1315
- "yoga"
1316
- ];
1317
- async function inspectDebugStatus(bridge) {
1337
+ async function inspectCloudDiagnostics(bridge, diagnostics = {}) {
1338
+ return parseDiagnosticsResult(await bridge.send({ type: "diagnostics", diagnostics }));
1339
+ }
1340
+ async function inspectDebugStatus(bridge, host = false) {
1341
+ if (bridge.plane === "cloud" && !host) {
1342
+ return (await inspectCloudDiagnostics(bridge)).channels;
1343
+ }
1318
1344
  return bridge.send({ type: "evaluate", code: "window.__sootsimDebug.status()" });
1319
1345
  }
1320
- async function inspectDebugFlags(bridge) {
1346
+ async function inspectDebugFlags(bridge, host = false) {
1347
+ if (bridge.plane === "cloud" && !host) {
1348
+ const { channels, availableChannels } = await inspectCloudDiagnostics(bridge);
1349
+ return Object.fromEntries(
1350
+ availableChannels.map((channel) => [channel, channels.includes(channel)])
1351
+ );
1352
+ }
1321
1353
  return bridge.send({ type: "evaluate", code: "window.__sootsimDebug.flags()" });
1322
1354
  }
1323
- async function inspectDebugFind(bridge, target) {
1355
+ async function inspectDebugChannels(bridge, host = false) {
1356
+ if (bridge.plane === "cloud" && !host) {
1357
+ return (await inspectCloudDiagnostics(bridge)).availableChannels;
1358
+ }
1359
+ return bridge.send({ type: "evaluate", code: "window.__sootsimDebug.channels()" });
1360
+ }
1361
+ async function inspectDebugFind(bridge, target, host = false) {
1362
+ if (bridge.plane === "cloud" && !host) {
1363
+ return (await inspectCloudDiagnostics(bridge, { find: target })).found;
1364
+ }
1324
1365
  return bridge.send({
1325
1366
  type: "evaluate",
1326
1367
  code: `window.__sootsimTest.debugFind(${JSON.stringify(target)})`
@@ -1340,6 +1381,12 @@ async function callDebugBridge(bridge, expression, host = false, project) {
1340
1381
  });
1341
1382
  }
1342
1383
  async function inspectDebugRecent(bridge, channel, limit = 50, host = false) {
1384
+ if (bridge.plane === "cloud" && !host) {
1385
+ return (await inspectCloudDiagnostics(bridge, {
1386
+ ...channel && channel !== "all" ? { recentChannel: channel } : {},
1387
+ recentLimit: limit
1388
+ })).events;
1389
+ }
1343
1390
  return callDebugBridge(
1344
1391
  bridge,
1345
1392
  `recent(${channel && channel !== "all" ? JSON.stringify(channel) : "undefined"}, ${limit})`,
@@ -1347,12 +1394,31 @@ async function inspectDebugRecent(bridge, channel, limit = 50, host = false) {
1347
1394
  );
1348
1395
  }
1349
1396
  async function setDebugChannels(bridge, action, channels, host = false) {
1397
+ if (bridge.plane === "cloud" && !host) {
1398
+ return (await inspectCloudDiagnostics(bridge, { channelControl: { action, channels } })).channels;
1399
+ }
1350
1400
  const args = channels.length > 0 ? channels.map((c) => JSON.stringify(c)).join(", ") : action === "disable" ? "'all'" : "";
1351
1401
  const expression = `${action}(${args})`;
1352
1402
  const active = await callDebugBridge(bridge, expression, true);
1353
1403
  if (host) return active;
1354
1404
  return callDebugBridge(bridge, expression);
1355
1405
  }
1406
+ async function toggleDebugChannel(bridge, channel, host = false) {
1407
+ if (bridge.plane === "cloud" && !host) {
1408
+ const { channels } = await inspectCloudDiagnostics(bridge, {
1409
+ channelControl: { action: "toggle", channels: [channel] }
1410
+ });
1411
+ return channels.includes(channel);
1412
+ }
1413
+ const result = await callDebugBridge(bridge, `toggle(${JSON.stringify(channel)})`, true);
1414
+ if (!host) {
1415
+ await callDebugBridge(
1416
+ bridge,
1417
+ `${result ? "enable" : "disable"}(${JSON.stringify(channel)})`
1418
+ );
1419
+ }
1420
+ return result;
1421
+ }
1356
1422
  async function inspectMemory(bridge) {
1357
1423
  if (bridge.plane === "cloud") {
1358
1424
  const value = await bridge.send({ type: "memory" });
@@ -3163,7 +3229,6 @@ var SimClient = class {
3163
3229
  };
3164
3230
  // Annotate the CommonJS export names for ESM import in node:
3165
3231
  0 && (module.exports = {
3166
- DEBUG_CHANNELS,
3167
3232
  IdleObservationError,
3168
3233
  LAYOUT_GET_NATIVE_EVAL,
3169
3234
  MERGED_CONSOLE_COUNT_EVAL,
@@ -3194,6 +3259,7 @@ var SimClient = class {
3194
3259
  getShellState,
3195
3260
  inspectAccessibilityTree,
3196
3261
  inspectCaptureReady,
3262
+ inspectDebugChannels,
3197
3263
  inspectDebugFind,
3198
3264
  inspectDebugFlags,
3199
3265
  inspectDebugRecent,
@@ -3243,6 +3309,7 @@ var SimClient = class {
3243
3309
  tapCoordinates,
3244
3310
  tapResolvedTarget,
3245
3311
  tapTargetFromPayload,
3312
+ toggleDebugChannel,
3246
3313
  waitForSootsimIdle,
3247
3314
  waitReadyAndSettle,
3248
3315
  waitReadyReason
package/dist-lib/sdk.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.1644 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.1653 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -22,8 +22,37 @@ function readyProbeIsReady(probe) {
22
22
  return readyProbeContentBasis(probe) !== "" && probe.externalReady !== false && !probe.externalError && !probe.loadingText;
23
23
  }
24
24
 
25
+ // src/is-record.ts
26
+ function isRecord(value) {
27
+ return typeof value === "object" && value !== null && !Array.isArray(value);
28
+ }
29
+
25
30
  // src/bridge-contract-input.ts
31
+ var BridgeInputError = class extends Error {
32
+ constructor(message) {
33
+ super(message);
34
+ this.name = "BridgeInputError";
35
+ }
36
+ };
26
37
  var SEMANTIC_WAIT_MAX_TIMEOUT_MS = 3e4;
38
+ function validationFailure(path, expectation) {
39
+ throw new BridgeInputError(`${path} ${expectation}`);
40
+ }
41
+ function parseDiagnosticsResult(value) {
42
+ if (!isRecord(value) || !Array.isArray(value.channels) || !value.channels.every((channel) => typeof channel === "string") || !Array.isArray(value.availableChannels) || !value.availableChannels.every((channel) => typeof channel === "string") || !Array.isArray(value.events)) {
43
+ validationFailure(
44
+ "remote diagnostics",
45
+ "returned an incompatible native host response"
46
+ );
47
+ }
48
+ return {
49
+ channels: value.channels,
50
+ availableChannels: value.availableChannels,
51
+ runtime: value.runtime,
52
+ found: value.found,
53
+ events: value.events
54
+ };
55
+ }
27
56
 
28
57
  // cli/commands/inspect/core.ts
29
58
  function resolveMaxMsFlag(args, fallbackMs) {
@@ -1199,23 +1228,34 @@ async function inspectScreens(bridge) {
1199
1228
  keyboard: payload?.keyboard ?? null
1200
1229
  };
1201
1230
  }
1202
- var DEBUG_CHANNELS = [
1203
- "portals",
1204
- "sheets",
1205
- "layout",
1206
- "onlayout",
1207
- "animated",
1208
- "render",
1209
- "touch",
1210
- "yoga"
1211
- ];
1212
- async function inspectDebugStatus(bridge) {
1231
+ async function inspectCloudDiagnostics(bridge, diagnostics = {}) {
1232
+ return parseDiagnosticsResult(await bridge.send({ type: "diagnostics", diagnostics }));
1233
+ }
1234
+ async function inspectDebugStatus(bridge, host = false) {
1235
+ if (bridge.plane === "cloud" && !host) {
1236
+ return (await inspectCloudDiagnostics(bridge)).channels;
1237
+ }
1213
1238
  return bridge.send({ type: "evaluate", code: "window.__sootsimDebug.status()" });
1214
1239
  }
1215
- async function inspectDebugFlags(bridge) {
1240
+ async function inspectDebugFlags(bridge, host = false) {
1241
+ if (bridge.plane === "cloud" && !host) {
1242
+ const { channels, availableChannels } = await inspectCloudDiagnostics(bridge);
1243
+ return Object.fromEntries(
1244
+ availableChannels.map((channel) => [channel, channels.includes(channel)])
1245
+ );
1246
+ }
1216
1247
  return bridge.send({ type: "evaluate", code: "window.__sootsimDebug.flags()" });
1217
1248
  }
1218
- async function inspectDebugFind(bridge, target) {
1249
+ async function inspectDebugChannels(bridge, host = false) {
1250
+ if (bridge.plane === "cloud" && !host) {
1251
+ return (await inspectCloudDiagnostics(bridge)).availableChannels;
1252
+ }
1253
+ return bridge.send({ type: "evaluate", code: "window.__sootsimDebug.channels()" });
1254
+ }
1255
+ async function inspectDebugFind(bridge, target, host = false) {
1256
+ if (bridge.plane === "cloud" && !host) {
1257
+ return (await inspectCloudDiagnostics(bridge, { find: target })).found;
1258
+ }
1219
1259
  return bridge.send({
1220
1260
  type: "evaluate",
1221
1261
  code: `window.__sootsimTest.debugFind(${JSON.stringify(target)})`
@@ -1235,6 +1275,12 @@ async function callDebugBridge(bridge, expression, host = false, project) {
1235
1275
  });
1236
1276
  }
1237
1277
  async function inspectDebugRecent(bridge, channel, limit = 50, host = false) {
1278
+ if (bridge.plane === "cloud" && !host) {
1279
+ return (await inspectCloudDiagnostics(bridge, {
1280
+ ...channel && channel !== "all" ? { recentChannel: channel } : {},
1281
+ recentLimit: limit
1282
+ })).events;
1283
+ }
1238
1284
  return callDebugBridge(
1239
1285
  bridge,
1240
1286
  `recent(${channel && channel !== "all" ? JSON.stringify(channel) : "undefined"}, ${limit})`,
@@ -1242,12 +1288,31 @@ async function inspectDebugRecent(bridge, channel, limit = 50, host = false) {
1242
1288
  );
1243
1289
  }
1244
1290
  async function setDebugChannels(bridge, action, channels, host = false) {
1291
+ if (bridge.plane === "cloud" && !host) {
1292
+ return (await inspectCloudDiagnostics(bridge, { channelControl: { action, channels } })).channels;
1293
+ }
1245
1294
  const args = channels.length > 0 ? channels.map((c) => JSON.stringify(c)).join(", ") : action === "disable" ? "'all'" : "";
1246
1295
  const expression = `${action}(${args})`;
1247
1296
  const active = await callDebugBridge(bridge, expression, true);
1248
1297
  if (host) return active;
1249
1298
  return callDebugBridge(bridge, expression);
1250
1299
  }
1300
+ async function toggleDebugChannel(bridge, channel, host = false) {
1301
+ if (bridge.plane === "cloud" && !host) {
1302
+ const { channels } = await inspectCloudDiagnostics(bridge, {
1303
+ channelControl: { action: "toggle", channels: [channel] }
1304
+ });
1305
+ return channels.includes(channel);
1306
+ }
1307
+ const result = await callDebugBridge(bridge, `toggle(${JSON.stringify(channel)})`, true);
1308
+ if (!host) {
1309
+ await callDebugBridge(
1310
+ bridge,
1311
+ `${result ? "enable" : "disable"}(${JSON.stringify(channel)})`
1312
+ );
1313
+ }
1314
+ return result;
1315
+ }
1251
1316
  async function inspectMemory(bridge) {
1252
1317
  if (bridge.plane === "cloud") {
1253
1318
  const value = await bridge.send({ type: "memory" });
@@ -3057,7 +3122,6 @@ var SimClient = class {
3057
3122
  }
3058
3123
  };
3059
3124
  export {
3060
- DEBUG_CHANNELS,
3061
3125
  IdleObservationError,
3062
3126
  LAYOUT_GET_NATIVE_EVAL,
3063
3127
  MERGED_CONSOLE_COUNT_EVAL,
@@ -3088,6 +3152,7 @@ export {
3088
3152
  getShellState,
3089
3153
  inspectAccessibilityTree,
3090
3154
  inspectCaptureReady,
3155
+ inspectDebugChannels,
3091
3156
  inspectDebugFind,
3092
3157
  inspectDebugFlags,
3093
3158
  inspectDebugRecent,
@@ -3137,6 +3202,7 @@ export {
3137
3202
  tapCoordinates,
3138
3203
  tapResolvedTarget,
3139
3204
  tapTargetFromPayload,
3205
+ toggleDebugChannel,
3140
3206
  waitForSootsimIdle,
3141
3207
  waitReadyAndSettle,
3142
3208
  waitReadyReason