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,44 +0,0 @@
1
- import { useState } from 'react'
2
- import { Pressable, Text, View } from 'react-native'
3
- import { Selection } from './Selection.kt'
4
-
5
- type SelectionEvent = [string, boolean, number]
6
-
7
- export default function Index() {
8
- const [title, setTitle] = useState('Imported selection')
9
- const [enabled, setEnabled] = useState(true)
10
- const [events, setEvents] = useState<SelectionEvent[]>([])
11
- return (
12
- <View style={{ flex: 1, paddingTop: 48, backgroundColor: '#fff' }}>
13
- <View style={{ flex: 1 }}>
14
- <Selection
15
- title={title}
16
- enabled={enabled}
17
- onSelection={(source, value, count) =>
18
- setEvents((previous) => [...previous, [source, value, count]])
19
- }
20
- />
21
- </View>
22
- <View style={{ height: 200, padding: 24 }}>
23
- <Text testID="selection-props">{JSON.stringify({ title, enabled })}</Text>
24
- <Text testID="selection-events">{JSON.stringify(events)}</Text>
25
- <Pressable
26
- testID="selection-title"
27
- onPress={() =>
28
- setTitle((value) =>
29
- value === 'Imported selection' ? 'Updated selection' : 'Imported selection',
30
- )
31
- }
32
- >
33
- <Text>Update title</Text>
34
- </Pressable>
35
- <Pressable
36
- testID="selection-enabled"
37
- onPress={() => setEnabled((value) => !value)}
38
- >
39
- <Text>{enabled ? 'Disable controls' : 'Enable controls'}</Text>
40
- </Pressable>
41
- </View>
42
- </View>
43
- )
44
- }
@@ -1,32 +0,0 @@
1
- # Imported Compose selection controls
2
-
3
- This fixture imports a public composable into a React Native app and reports
4
- Switch, Checkbox, and RadioButton callbacks to React. Compose retains its
5
- selection and callback count when React changes the title or enabled prop.
6
-
7
- Run One here with `bunx one dev --port 8081`, then open that port with
8
- `peach open 8081 --device pixel-8`. Generate native Android with
9
- `bunx one prebuild --platform android`; build `android/` with
10
- `./gradlew assembleDebug` on the repository's remote builder.
11
-
12
- Toggle the React title twice before touching a native control. Tap Switch,
13
- update the title, tap Checkbox, then RadioButton. Disable the controls and tap
14
- Switch: neither Compose state nor React events may change. Enable them and
15
- tap Checkbox again. The final state is `Updated selection|false|4|true`, and
16
- `selection-events` contains
17
- `[["switch",true,1],["checkbox",false,2],["radio",true,3],["checkbox",false,4]]`.
18
-
19
- RAN 2026-10-11: Android debug and Kotlin/Wasm builds passed, followed in order
20
- by One Android, Peach, and Contrast's native bundle producer. All eleven
21
- observed states and the callback tuples above matched across the three hosts.
22
- Peach and Contrast reported no preview errors. Contrast compiled `Selection.kt`
23
- through its Kotlin import route and produced a complete bundle graph.
24
-
25
- These runs used One `2.0.0-0.canary.1791724440037`, source
26
- `65f7d27e6e6cbf33e94e41de7b8667c13c6a6077`, whose HMR socket uses the native
27
- bundle server's origin. The earlier canary's connection-error toast intercepted
28
- the React footer tap on Android. A separate direct Android tap now changes the
29
- title, and the full interaction then passes on the unchanged Android native
30
- sources. This establishes import and interaction behavior; it does not grade
31
- pixels or the signed-in editor. Hashes, captures, and receipts are retained in
32
- task `t-mv3qgkej-1kh0`.
@@ -1,8 +0,0 @@
1
- // generated by one typegen; edits will be replaced
2
- import type { ReactElement } from 'react'
3
-
4
- export declare function Selection(props: {
5
- title: string
6
- enabled: boolean
7
- onSelection?: ((value0: string, value1: boolean, value2: number) => void) | null
8
- }): ReactElement
@@ -1,78 +0,0 @@
1
- package dev.contrast.kotlinselection
2
-
3
- import androidx.compose.foundation.layout.Arrangement
4
- import androidx.compose.foundation.layout.Column
5
- import androidx.compose.foundation.layout.Row
6
- import androidx.compose.foundation.layout.fillMaxSize
7
- import androidx.compose.foundation.layout.padding
8
- import androidx.compose.material3.Checkbox
9
- import androidx.compose.material3.MaterialTheme
10
- import androidx.compose.material3.RadioButton
11
- import androidx.compose.material3.Surface
12
- import androidx.compose.material3.Switch
13
- import androidx.compose.material3.Text
14
- import androidx.compose.material3.lightColorScheme
15
- import androidx.compose.runtime.Composable
16
- import androidx.compose.runtime.getValue
17
- import androidx.compose.runtime.mutableStateOf
18
- import androidx.compose.runtime.remember
19
- import androidx.compose.runtime.setValue
20
- import androidx.compose.ui.Alignment
21
- import androidx.compose.ui.Modifier
22
- import androidx.compose.ui.platform.testTag
23
- import androidx.compose.ui.semantics.contentDescription
24
- import androidx.compose.ui.semantics.semantics
25
- import androidx.compose.ui.unit.dp
26
-
27
- @Composable
28
- fun Selection(
29
- title: String,
30
- enabled: Boolean,
31
- onSelection: ((String, Boolean, Int) -> Unit)? = null,
32
- ) {
33
- var selected by remember { mutableStateOf(false) }
34
- var changes by remember { mutableStateOf(0) }
35
- fun change(source: String, value: Boolean) {
36
- selected = value
37
- changes += 1
38
- onSelection?.invoke(source, value, changes)
39
- }
40
- MaterialTheme(colorScheme = lightColorScheme()) {
41
- Surface(Modifier.fillMaxSize()) {
42
- Column(
43
- Modifier.fillMaxSize().padding(24.dp),
44
- verticalArrangement = Arrangement.spacedBy(16.dp),
45
- ) {
46
- Text(title, style = MaterialTheme.typography.headlineSmall)
47
- Text("$title|$selected|$changes|$enabled", Modifier.testTag("selection-state"))
48
- Row(verticalAlignment = Alignment.CenterVertically) {
49
- Switch(
50
- checked = selected,
51
- enabled = enabled,
52
- onCheckedChange = { change("switch", it) },
53
- modifier = Modifier.testTag("selection-switch").semantics { contentDescription = "selection-switch" },
54
- )
55
- Text("Switch")
56
- }
57
- Row(verticalAlignment = Alignment.CenterVertically) {
58
- Checkbox(
59
- checked = selected,
60
- enabled = enabled,
61
- onCheckedChange = { change("checkbox", it) },
62
- modifier = Modifier.testTag("selection-checkbox").semantics { contentDescription = "selection-checkbox" },
63
- )
64
- Text("Checkbox")
65
- }
66
- Row(verticalAlignment = Alignment.CenterVertically) {
67
- RadioButton(
68
- selected = selected,
69
- enabled = enabled,
70
- onClick = { change("radio", !selected) },
71
- modifier = Modifier.testTag("selection-radio").semantics { contentDescription = "selection-radio" },
72
- )
73
- Text("Radio button")
74
- }
75
- }
76
- }
77
- }
78
- }
@@ -1,4 +0,0 @@
1
- import { Slot } from 'one'
2
- export default function Layout() {
3
- return <Slot />
4
- }
@@ -1 +0,0 @@
1
- export { default } from '../ImportSelection.native'
@@ -1,23 +0,0 @@
1
- {
2
- "name": "peach-kotlin-import-selection-fixture",
3
- "private": true,
4
- "type": "module",
5
- "targets": [
6
- "native"
7
- ],
8
- "dependencies": {
9
- "@react-navigation/core": "catalog:",
10
- "@react-navigation/native": "catalog:",
11
- "one": "catalog:",
12
- "react": "catalog:",
13
- "react-native": "catalog:",
14
- "react-native-reanimated": "catalog:",
15
- "react-native-screens": "catalog:",
16
- "react-native-worklets": "catalog:"
17
- },
18
- "devDependencies": {
19
- "@react-native-community/template": "catalog:",
20
- "peachsim": "workspace:*",
21
- "vite": "catalog:"
22
- }
23
- }
@@ -1,20 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "paths": {
4
- "~/*": ["./*"]
5
- },
6
- "strict": true,
7
- "allowArbitraryExtensions": true,
8
- "rootDir": ".",
9
- "module": "Preserve",
10
- // allows react-native style imports without path extensions, for compat with platform-specific files
11
- "moduleResolution": "Bundler",
12
- "preserveSymlinks": true,
13
- "skipLibCheck": true,
14
- "jsx": "react-jsx",
15
- "noImplicitAny": false,
16
- "types": ["node", "react", "vite/client"],
17
- "lib": ["dom", "esnext"]
18
- },
19
- "exclude": ["node_modules", "**/test", "**/dist", "**/types", "**/__tests__"]
20
- }
@@ -1,20 +0,0 @@
1
- import { one } from 'one/vite'
2
- import { peachPlugin } from 'peachsim/vite'
3
- export default {
4
- root: import.meta.dirname,
5
- plugins: [
6
- one({
7
- web: { defaultRenderMode: 'spa' },
8
- native: {
9
- bundler: 'vite',
10
- app: {
11
- name: 'KotlinSelection',
12
- scheme: 'kotlinselection',
13
- android: { applicationId: 'dev.contrast.kotlinselection' },
14
- },
15
- },
16
- }),
17
- peachPlugin(),
18
- ],
19
- server: { host: '0.0.0.0' },
20
- }
@@ -1,13 +0,0 @@
1
- import { useState } from 'react'
2
- import { Text, View } from 'react-native'
3
- import { Surfaces } from './Surfaces.kt'
4
-
5
- export default function Index() {
6
- const [step, setStep] = useState(0)
7
- return (
8
- <View style={{ flex: 1, backgroundColor: '#fff' }}>
9
- <Surfaces title={`Surfaces step ${step}`} onStep={setStep} />
10
- <Text testID="surfaces-react-step">React step: {step}</Text>
11
- </View>
12
- )
13
- }
@@ -1,22 +0,0 @@
1
- # Imported Compose surfaces
2
-
3
- Run One in this fixture, then open its Android bundle in Peach on Pixel 8.
4
- Build the native Android target on a remote builder. Import the same files in
5
- Contrast with catalog versions materialized.
6
-
7
- Tap `surfaces-step` to alternate Material light and dark color schemes. The
8
- callback updates React and the imported title while Compose retains count.
9
- Capture the rounded Surface, cut corner Card and horizontal divider in all
10
- four states: light zero, dark one, disabled one and restored light two.
11
- The disabled button must preserve count and every palette value. Read the
12
- actual color scheme ARGB values on native Android and require both imported
13
- hosts to match. These checks prove execution and state, without a pixel grade.
14
-
15
- RAN, 2026-10-11: fresh One Android API 37, Peach and Contrast Android import
16
- runs pass all four states with identical palette readbacks and callback values.
17
- The [functional receipt](https://r2.sootsim.com/kotlin-evidence/import-surfaces/1575299a492a37b497f5e923be69b865c2fae9c81d62b448810bed330596d052/proof.json)
18
- binds Kotlin source, compiler, native APK, captures and executed probes.
19
- All 50 published objects pass SHA256 readback. A wrong surface color and a
20
- disabled callback change reject the saved verdict. Required CI delivery remains
21
- separate from this functional proof. The existing preview shell chrome and
22
- native debug HMR warning remain in captures; their fidelity is unclaimed.
@@ -1,7 +0,0 @@
1
- // generated by one typegen; edits will be replaced
2
- import type { ReactElement } from 'react'
3
-
4
- export declare function Surfaces(props: {
5
- title: string
6
- onStep?: ((value0: number) => void) | null
7
- }): ReactElement
@@ -1,64 +0,0 @@
1
- package dev.contrast.kotlinsurfaces
2
-
3
- import androidx.compose.foundation.layout.Arrangement
4
- import androidx.compose.foundation.layout.Column
5
- import androidx.compose.foundation.layout.fillMaxSize
6
- import androidx.compose.foundation.layout.padding
7
- import androidx.compose.foundation.layout.size
8
- import androidx.compose.foundation.shape.CutCornerShape
9
- import androidx.compose.foundation.shape.RoundedCornerShape
10
- import androidx.compose.material3.Button
11
- import androidx.compose.material3.Card
12
- import androidx.compose.material3.CardDefaults
13
- import androidx.compose.material3.HorizontalDivider
14
- import androidx.compose.material3.MaterialTheme
15
- import androidx.compose.material3.Surface
16
- import androidx.compose.material3.Text
17
- import androidx.compose.material3.darkColorScheme
18
- import androidx.compose.material3.lightColorScheme
19
- import androidx.compose.runtime.Composable
20
- import androidx.compose.runtime.getValue
21
- import androidx.compose.runtime.mutableStateOf
22
- import androidx.compose.runtime.remember
23
- import androidx.compose.runtime.setValue
24
- import androidx.compose.ui.Modifier
25
- import androidx.compose.ui.graphics.toArgb
26
- import androidx.compose.ui.platform.testTag
27
- import androidx.compose.ui.unit.dp
28
-
29
- @Composable
30
- fun Surfaces(title: String, onStep: ((Int) -> Unit)? = null) {
31
- var count by remember { mutableStateOf(0) }
32
- val dark = count % 2 == 1
33
- val scheme = if (dark) darkColorScheme() else lightColorScheme()
34
- MaterialTheme(colorScheme = scheme) {
35
- Surface(Modifier.fillMaxSize()) {
36
- Column(Modifier.fillMaxSize().padding(16.dp), verticalArrangement = Arrangement.spacedBy(8.dp)) {
37
- Text(title, Modifier.testTag("surfaces-title"))
38
- Text("Count: $count", Modifier.testTag("surfaces-count"))
39
- Surface(
40
- modifier = Modifier.size(280.dp, 64.dp).testTag("surfaces-rounded"),
41
- shape = RoundedCornerShape(12.dp),
42
- color = scheme.primary,
43
- contentColor = scheme.onPrimary,
44
- ) { Text("Rounded surface", Modifier.padding(12.dp)) }
45
- Card(
46
- modifier = Modifier.size(280.dp, 64.dp).testTag("surfaces-cut"),
47
- shape = CutCornerShape(8.dp),
48
- colors = CardDefaults.cardColors(containerColor = scheme.secondaryContainer),
49
- ) { Text("Cut corner card", Modifier.padding(12.dp)) }
50
- HorizontalDivider(Modifier.size(280.dp, 2.dp).testTag("surfaces-divider"), thickness = 2.dp)
51
- Button(onClick = { count += 1; onStep?.invoke(count) }, modifier = Modifier.testTag("surfaces-step")) {
52
- Text("Next surfaces step")
53
- }
54
- Button(onClick = { count += 1000; onStep?.invoke(count) }, enabled = false, modifier = Modifier.testTag("surfaces-disabled")) {
55
- Text("Disabled surfaces step")
56
- }
57
- Text(
58
- "dark=${if (dark) 1 else 0};surface=${scheme.surface.toArgb()};onSurface=${scheme.onSurface.toArgb()};primary=${scheme.primary.toArgb()};secondaryContainer=${scheme.secondaryContainer.toArgb()}",
59
- Modifier.testTag("surfaces-palette"),
60
- )
61
- }
62
- }
63
- }
64
- }
@@ -1,4 +0,0 @@
1
- import { Slot } from 'one'
2
- export default function Layout() {
3
- return <Slot />
4
- }
@@ -1 +0,0 @@
1
- export { default } from '../ImportSurfaces.native'
@@ -1,23 +0,0 @@
1
- {
2
- "name": "peach-kotlin-import-surfaces-fixture",
3
- "private": true,
4
- "type": "module",
5
- "targets": [
6
- "native"
7
- ],
8
- "dependencies": {
9
- "@react-navigation/core": "catalog:",
10
- "@react-navigation/native": "catalog:",
11
- "one": "catalog:",
12
- "react": "catalog:",
13
- "react-native": "catalog:",
14
- "react-native-reanimated": "catalog:",
15
- "react-native-screens": "catalog:",
16
- "react-native-worklets": "catalog:"
17
- },
18
- "devDependencies": {
19
- "@react-native-community/template": "catalog:",
20
- "peachsim": "workspace:*",
21
- "vite": "catalog:"
22
- }
23
- }
@@ -1,20 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "paths": {
4
- "~/*": ["./*"]
5
- },
6
- "strict": true,
7
- "allowArbitraryExtensions": true,
8
- "rootDir": ".",
9
- "module": "Preserve",
10
- // allows react-native style imports without path extensions, for compat with platform-specific files
11
- "moduleResolution": "Bundler",
12
- "preserveSymlinks": true,
13
- "skipLibCheck": true,
14
- "jsx": "react-jsx",
15
- "noImplicitAny": false,
16
- "types": ["node", "react", "vite/client"],
17
- "lib": ["dom", "esnext"]
18
- },
19
- "exclude": ["node_modules", "**/test", "**/dist", "**/types", "**/__tests__"]
20
- }
@@ -1,20 +0,0 @@
1
- import { one } from 'one/vite'
2
- import { peachPlugin } from 'peachsim/vite'
3
- export default {
4
- root: import.meta.dirname,
5
- plugins: [
6
- one({
7
- web: { defaultRenderMode: 'spa' },
8
- native: {
9
- bundler: 'vite',
10
- app: {
11
- name: 'KotlinSurfaces',
12
- scheme: 'kotlinsurfaces',
13
- android: { applicationId: 'dev.contrast.kotlinsurfaces' },
14
- },
15
- },
16
- }),
17
- peachPlugin(),
18
- ],
19
- server: { host: '0.0.0.0' },
20
- }
@@ -1,61 +0,0 @@
1
- import { useEffect, useState } from 'react'
2
- import { Text, View } from 'react-native'
3
- import { Values } from './Values.kt'
4
-
5
- const input = JSON.stringify({
6
- items: [{ name: 'Kotlin' }, ['hello', 7, true, null]],
7
- metadata: { source: 'One' },
8
- })
9
-
10
- async function processResults() {
11
- const results = [
12
- await Values.current(),
13
- await Values.delayed('changed'),
14
- await Values.current(),
15
- ]
16
- try {
17
- await Values.throwing()
18
- throw new Error('sync call unexpectedly succeeded')
19
- } catch (reason) {
20
- if (!String(reason).includes('sync failure')) throw reason
21
- results.push('sync rejected')
22
- }
23
- results.push(await Values.current())
24
- try {
25
- await Values.delayedThrow()
26
- throw new Error('suspended call unexpectedly succeeded')
27
- } catch (reason) {
28
- if (!String(reason).includes('suspend failure')) throw reason
29
- results.push('suspend rejected')
30
- }
31
- results.push(await Values.delayed('recovered'), await Values.current())
32
- return results
33
- }
34
-
35
- export default function Index() {
36
- const [result, setResult] = useState('running')
37
- const [error, setError] = useState('')
38
- useEffect(() => {
39
- void Promise.all([
40
- Values.read(input),
41
- Values.failures(),
42
- Values.nested({ first: [1, 2], second: [] }),
43
- Values.nullable(null),
44
- Values.nullable('hello'),
45
- Values.nullableList([null, 'one', '', null]),
46
- Values.nullableList([]),
47
- Values.nullableMap({ first: [1, null, 3], empty: [] }),
48
- Values.nullableMap({}),
49
- processResults(),
50
- ])
51
- .then((values) => setResult(JSON.stringify(values)))
52
- .catch((reason: unknown) => setError(String(reason)))
53
- }, [])
54
- return (
55
- <View style={{ flex: 1, backgroundColor: '#fff', padding: 24, paddingTop: 80 }}>
56
- <Text style={{ fontSize: 24 }}>Kotlin imported values</Text>
57
- <Text testID="import-values-result">{result}</Text>
58
- <Text testID="import-values-error">{error}</Text>
59
- </View>
60
- )
61
- }
@@ -1,28 +0,0 @@
1
- # Imported Kotlin values
2
-
3
- This fixture exercises a real `OneModule` through the same `.kt` import on
4
- Android and in Peach. Its visible result contains nested map/list round trips,
5
- nullable strings and collection elements, 14 JSON reads and 17 expected Android
6
- JSON errors. The ten results include null elements, empty lists, nested nullable
7
- map values and an empty map, so declaration errors cannot hide behind a scalar
8
- call that happens to work.
9
-
10
- Run One from this directory with `bunx one dev --port 8081`. Open that server in Peach with
11
- `peach open <port> --device pixel-8`, or generate Android with `bunx one prebuild --platform android` and build
12
- `android/` with `./gradlew assembleDebug`.
13
- Use the repository's remote builder for Android compilation. The module uses
14
- Android's own `org.json` on device and Peach's Kotlin implementation in Wasm.
15
-
16
- The `import-values-result` node starts as `running`, then contains the complete
17
- JSON result. `import-values-error` must stay empty. Compare parsed results
18
- between hosts, including error messages, nulls and empty collections.
19
-
20
- For Contrast, import these project files with their catalog dependency versions
21
- materialized. Its Android native bundle producer compiles `Values.kt`, publishes
22
- the generated Wasm and registers the module contract before calling methods.
23
- A successful bundle alone does not establish runtime acceptance.
24
-
25
- The final result checks retained module state across coroutine completion, synchronous
26
- and suspended rejection, and recovery. Its eight values are `initial`, `changed`,
27
- `changed`, `sync rejected`, `changed`, `suspend rejected`, `recovered`, `recovered`.
28
- The fixture asserts settled call behavior; it makes no timing or concurrency claim.
@@ -1,15 +0,0 @@
1
- // generated by one typegen; edits will be replaced
2
- export declare const Values: {
3
- current(): Promise<string>
4
- delayed(value: string): Promise<string>
5
- throwing(): Promise<string>
6
- delayedThrow(): Promise<string>
7
- nested(values: Record<string, number[]>): Promise<Record<string, number[]>>
8
- nullable(value: string | null): Promise<string | null>
9
- nullableList(values: (string | null)[]): Promise<(string | null)[]>
10
- nullableMap(
11
- values: Record<string, (number | null)[]>,
12
- ): Promise<Record<string, (number | null)[]>>
13
- read(input: string): Promise<string[]>
14
- failures(): Promise<string[]>
15
- }
@@ -1,84 +0,0 @@
1
- package dev.contrast.kotlinimports
2
-
3
- import dev.onejs.one.source.OneModule
4
- import kotlinx.coroutines.delay
5
- import org.json.JSONArray
6
- import org.json.JSONException
7
- import org.json.JSONObject
8
-
9
- object Values : OneModule {
10
- private var processState = "initial"
11
-
12
- fun current(): String = processState
13
-
14
- suspend fun delayed(value: String): String {
15
- delay(30)
16
- processState = value
17
- return processState
18
- }
19
-
20
- fun throwing(): String = throw IllegalStateException("sync failure")
21
-
22
- suspend fun delayedThrow(): String {
23
- delay(30)
24
- throw IllegalArgumentException("suspend failure")
25
- }
26
-
27
- fun nested(values: Map<String, List<Int>>): Map<String, List<Int>> = values
28
-
29
- fun nullable(value: String?): String? = value
30
-
31
- fun nullableList(values: List<String?>): List<String?> = values
32
-
33
- fun nullableMap(values: Map<String, List<Int?>>): Map<String, List<Int?>> = values
34
-
35
- fun read(input: String): List<String> {
36
- val document = JSONObject(input)
37
- val items = document.getJSONArray("items")
38
- val child = items.getJSONObject(0)
39
- val nested = items.getJSONArray(1)
40
- return listOf(
41
- child.getString("name"),
42
- nested.getString(0),
43
- nested.getString(1),
44
- nested.getString(2),
45
- nested.getString(3),
46
- document.getJSONObject("metadata").getString("source"),
47
- (document.optJSONArray("items") === items).toString(),
48
- (items.optJSONObject(0) === child).toString(),
49
- (items.optJSONArray(1) === nested).toString(),
50
- (document.optJSONObject("metadata") != null).toString(),
51
- (document.optJSONObject("items") == null).toString(),
52
- (document.optJSONArray("missing") == null).toString(),
53
- (items.optJSONObject(-1) == null).toString(),
54
- (items.optJSONArray(20) == null).toString(),
55
- )
56
- }
57
-
58
- fun failures(): List<String> {
59
- val document = JSONObject("""{"text":"hello","number":7,"decimal":1.0,"flag":false,"nothing":null,"items":[],"child":{}}""")
60
- val values = JSONArray("""["hello",7,1.0,false,null,[],{}]""")
61
- val reads: List<() -> Any> = listOf(
62
- { document.getJSONArray("text") },
63
- { document.getJSONObject("number") },
64
- { document.getJSONArray("decimal") },
65
- { document.getJSONObject("flag") },
66
- { document.getJSONArray("nothing") },
67
- { document.getJSONObject("items") },
68
- { document.getJSONArray("child") },
69
- { document.getJSONObject("missing") },
70
- { values.getJSONArray(0) },
71
- { values.getJSONObject(1) },
72
- { values.getJSONArray(2) },
73
- { values.getJSONObject(3) },
74
- { values.getJSONArray(4) },
75
- { values.getJSONObject(5) },
76
- { values.getJSONArray(6) },
77
- { values.getString(20) },
78
- { JSONArray().put(null).getString(0) },
79
- )
80
- return reads.map { read ->
81
- try { read(); "unexpected success" } catch (error: JSONException) { error.message ?: "missing error message" }
82
- }
83
- }
84
- }
@@ -1,4 +0,0 @@
1
- import { Slot } from 'one'
2
- export default function Layout() {
3
- return <Slot />
4
- }
@@ -1 +0,0 @@
1
- export { default } from '../ImportValues.native'
@@ -1,23 +0,0 @@
1
- {
2
- "name": "peach-kotlin-import-values-fixture",
3
- "private": true,
4
- "type": "module",
5
- "targets": [
6
- "native"
7
- ],
8
- "dependencies": {
9
- "@react-navigation/core": "catalog:",
10
- "@react-navigation/native": "catalog:",
11
- "one": "catalog:",
12
- "react": "catalog:",
13
- "react-native": "catalog:",
14
- "react-native-reanimated": "catalog:",
15
- "react-native-screens": "catalog:",
16
- "react-native-worklets": "catalog:"
17
- },
18
- "devDependencies": {
19
- "@react-native-community/template": "catalog:",
20
- "peachsim": "workspace:*",
21
- "vite": "catalog:"
22
- }
23
- }