react-native-ai-debugger 2.4.0 → 2.5.0

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 (547) hide show
  1. package/build/__tests__/helpers/fake-cdp-server.d.ts +0 -12
  2. package/build/__tests__/helpers/fake-cdp-server.d.ts.map +1 -1
  3. package/build/__tests__/helpers/fake-cdp-server.js +0 -22
  4. package/build/__tests__/helpers/fake-cdp-server.js.map +1 -1
  5. package/build/__tests__/helpers/tap-test-helpers.d.ts +0 -23
  6. package/build/__tests__/helpers/tap-test-helpers.d.ts.map +1 -1
  7. package/build/__tests__/helpers/tap-test-helpers.js +2 -29
  8. package/build/__tests__/helpers/tap-test-helpers.js.map +1 -1
  9. package/build/__tests__/integration/auto-reconnect.test.js +4 -14
  10. package/build/__tests__/integration/auto-reconnect.test.js.map +1 -1
  11. package/build/__tests__/integration/connection-health.test.js +1 -10
  12. package/build/__tests__/integration/connection-health.test.js.map +1 -1
  13. package/build/__tests__/integration/execute-in-app.test.js +1 -11
  14. package/build/__tests__/integration/execute-in-app.test.js.map +1 -1
  15. package/build/__tests__/integration/native-logs.test.js +0 -5
  16. package/build/__tests__/integration/native-logs.test.js.map +1 -1
  17. package/build/__tests__/integration/per-call-timeout.test.js +1 -5
  18. package/build/__tests__/integration/per-call-timeout.test.js.map +1 -1
  19. package/build/__tests__/integration/socket-close-midflight.test.js +2 -12
  20. package/build/__tests__/integration/socket-close-midflight.test.js.map +1 -1
  21. package/build/__tests__/integration/stale-target-probe.test.js +2 -17
  22. package/build/__tests__/integration/stale-target-probe.test.js.map +1 -1
  23. package/build/__tests__/integration/tap-strategies.test.js +2 -36
  24. package/build/__tests__/integration/tap-strategies.test.js.map +1 -1
  25. package/build/__tests__/integration/text-input.test.js +0 -39
  26. package/build/__tests__/integration/text-input.test.js.map +1 -1
  27. package/build/__tests__/integration/tools.test.js +1 -7
  28. package/build/__tests__/integration/tools.test.js.map +1 -1
  29. package/build/__tests__/setup.js +0 -2
  30. package/build/__tests__/setup.js.map +1 -1
  31. package/build/__tests__/unit/androidEmulatorAvds.test.js +0 -10
  32. package/build/__tests__/unit/androidEmulatorAvds.test.js.map +1 -1
  33. package/build/__tests__/unit/appContext.test.js +0 -2
  34. package/build/__tests__/unit/appContext.test.js.map +1 -1
  35. package/build/__tests__/unit/appRequest.test.js +0 -3
  36. package/build/__tests__/unit/appRequest.test.js.map +1 -1
  37. package/build/__tests__/unit/buildToken.test.js +0 -6
  38. package/build/__tests__/unit/buildToken.test.js.map +1 -1
  39. package/build/__tests__/unit/burst.test.js +0 -1
  40. package/build/__tests__/unit/burst.test.js.map +1 -1
  41. package/build/__tests__/unit/clearLogsNative.test.js +0 -8
  42. package/build/__tests__/unit/clearLogsNative.test.js.map +1 -1
  43. package/build/__tests__/unit/componentFormatNaming.test.js +0 -13
  44. package/build/__tests__/unit/componentFormatNaming.test.js.map +1 -1
  45. package/build/__tests__/unit/componentSource.test.js +0 -4
  46. package/build/__tests__/unit/componentSource.test.js.map +1 -1
  47. package/build/__tests__/unit/componentSourceResolve.test.js +0 -1
  48. package/build/__tests__/unit/componentSourceResolve.test.js.map +1 -1
  49. package/build/__tests__/unit/contextWiring.test.js +0 -3
  50. package/build/__tests__/unit/contextWiring.test.js.map +1 -1
  51. package/build/__tests__/unit/coordinateMiss.test.js +0 -16
  52. package/build/__tests__/unit/coordinateMiss.test.js.map +1 -1
  53. package/build/__tests__/unit/deviceDiscovery.test.js +0 -4
  54. package/build/__tests__/unit/deviceDiscovery.test.js.map +1 -1
  55. package/build/__tests__/unit/deviceResolution.test.js +0 -2
  56. package/build/__tests__/unit/deviceResolution.test.js.map +1 -1
  57. package/build/__tests__/unit/deviceResolver.test.js +0 -1
  58. package/build/__tests__/unit/deviceResolver.test.js.map +1 -1
  59. package/build/__tests__/unit/deviceResolverStaleRetry.test.js +0 -8
  60. package/build/__tests__/unit/deviceResolverStaleRetry.test.js.map +1 -1
  61. package/build/__tests__/unit/epochRender.test.js +0 -3
  62. package/build/__tests__/unit/epochRender.test.js.map +1 -1
  63. package/build/__tests__/unit/errorCategorization.test.js +0 -18
  64. package/build/__tests__/unit/errorCategorization.test.js.map +1 -1
  65. package/build/__tests__/unit/exec.test.js +0 -1
  66. package/build/__tests__/unit/exec.test.js.map +1 -1
  67. package/build/__tests__/unit/executor.test.js +0 -15
  68. package/build/__tests__/unit/executor.test.js.map +1 -1
  69. package/build/__tests__/unit/findElementTreeReuse.test.js +0 -12
  70. package/build/__tests__/unit/findElementTreeReuse.test.js.map +1 -1
  71. package/build/__tests__/unit/fingerprint.test.js +0 -4
  72. package/build/__tests__/unit/fingerprint.test.js.map +1 -1
  73. package/build/__tests__/unit/focusedInputTools.test.js +0 -4
  74. package/build/__tests__/unit/focusedInputTools.test.js.map +1 -1
  75. package/build/__tests__/unit/getLogsEmptyContract.test.js +0 -30
  76. package/build/__tests__/unit/getLogsEmptyContract.test.js.map +1 -1
  77. package/build/__tests__/unit/getLogsNativeSource.test.js +0 -22
  78. package/build/__tests__/unit/getLogsNativeSource.test.js.map +1 -1
  79. package/build/__tests__/unit/graphqlOperation.test.d.ts +2 -0
  80. package/build/__tests__/unit/graphqlOperation.test.d.ts.map +1 -0
  81. package/build/__tests__/unit/graphqlOperation.test.js +107 -0
  82. package/build/__tests__/unit/graphqlOperation.test.js.map +1 -0
  83. package/build/__tests__/unit/inputTarget.test.js +0 -16
  84. package/build/__tests__/unit/inputTarget.test.js.map +1 -1
  85. package/build/__tests__/unit/inputTextTool.test.js +0 -3
  86. package/build/__tests__/unit/inputTextTool.test.js.map +1 -1
  87. package/build/__tests__/unit/jsLogEvents.test.js +0 -3
  88. package/build/__tests__/unit/jsLogEvents.test.js.map +1 -1
  89. package/build/__tests__/unit/keyboardMetrics.test.js +0 -2
  90. package/build/__tests__/unit/keyboardMetrics.test.js.map +1 -1
  91. package/build/__tests__/unit/keyboardRaise.test.js +0 -2
  92. package/build/__tests__/unit/keyboardRaise.test.js.map +1 -1
  93. package/build/__tests__/unit/licenseGrace.test.js +1 -4
  94. package/build/__tests__/unit/licenseGrace.test.js.map +1 -1
  95. package/build/__tests__/unit/logEventFormat.test.js +0 -27
  96. package/build/__tests__/unit/logEventFormat.test.js.map +1 -1
  97. package/build/__tests__/unit/logEvents.test.js +1 -5
  98. package/build/__tests__/unit/logEvents.test.js.map +1 -1
  99. package/build/__tests__/unit/logGrouping.test.js +0 -2
  100. package/build/__tests__/unit/logGrouping.test.js.map +1 -1
  101. package/build/__tests__/unit/logOwnership.test.js +0 -11
  102. package/build/__tests__/unit/logOwnership.test.js.map +1 -1
  103. package/build/__tests__/unit/logRelevance.test.js +0 -6
  104. package/build/__tests__/unit/logRelevance.test.js.map +1 -1
  105. package/build/__tests__/unit/logSourceAndroid.test.js +0 -4
  106. package/build/__tests__/unit/logSourceAndroid.test.js.map +1 -1
  107. package/build/__tests__/unit/logSourceIos.test.js +0 -5
  108. package/build/__tests__/unit/logSourceIos.test.js.map +1 -1
  109. package/build/__tests__/unit/logs.test.js +0 -1
  110. package/build/__tests__/unit/logs.test.js.map +1 -1
  111. package/build/__tests__/unit/measureComponentTools.test.js +0 -1
  112. package/build/__tests__/unit/measureComponentTools.test.js.map +1 -1
  113. package/build/__tests__/unit/metro.test.js +0 -2
  114. package/build/__tests__/unit/metro.test.js.map +1 -1
  115. package/build/__tests__/unit/nativeInputValue.test.js +0 -4
  116. package/build/__tests__/unit/nativeInputValue.test.js.map +1 -1
  117. package/build/__tests__/unit/nativeLogs.test.js +1 -23
  118. package/build/__tests__/unit/nativeLogs.test.js.map +1 -1
  119. package/build/__tests__/unit/navigateVerify.test.js +0 -6
  120. package/build/__tests__/unit/navigateVerify.test.js.map +1 -1
  121. package/build/__tests__/unit/navigation.test.js +0 -5
  122. package/build/__tests__/unit/navigation.test.js.map +1 -1
  123. package/build/__tests__/unit/networkInterceptor.test.js +0 -2
  124. package/build/__tests__/unit/networkInterceptor.test.js.map +1 -1
  125. package/build/__tests__/unit/overlayGuard.test.js +0 -17
  126. package/build/__tests__/unit/overlayGuard.test.js.map +1 -1
  127. package/build/__tests__/unit/pendingExecutions.test.js +0 -6
  128. package/build/__tests__/unit/pendingExecutions.test.js.map +1 -1
  129. package/build/__tests__/unit/probe.test.js +0 -1
  130. package/build/__tests__/unit/probe.test.js.map +1 -1
  131. package/build/__tests__/unit/projectMemory.test.js +6 -7
  132. package/build/__tests__/unit/projectMemory.test.js.map +1 -1
  133. package/build/__tests__/unit/projectStore.test.js +2 -2
  134. package/build/__tests__/unit/projectStore.test.js.map +1 -1
  135. package/build/__tests__/unit/reloadAppAutoConnect.test.js +0 -9
  136. package/build/__tests__/unit/reloadAppAutoConnect.test.js.map +1 -1
  137. package/build/__tests__/unit/rnGlobalsBootstrap.test.js +3 -3
  138. package/build/__tests__/unit/rnGlobalsBootstrap.test.js.map +1 -1
  139. package/build/__tests__/unit/routeHistory.test.d.ts +2 -0
  140. package/build/__tests__/unit/routeHistory.test.d.ts.map +1 -0
  141. package/build/__tests__/unit/routeHistory.test.js +136 -0
  142. package/build/__tests__/unit/routeHistory.test.js.map +1 -0
  143. package/build/__tests__/unit/screenSpace.test.js +0 -16
  144. package/build/__tests__/unit/screenSpace.test.js.map +1 -1
  145. package/build/__tests__/unit/screenState.test.js +3 -6
  146. package/build/__tests__/unit/screenState.test.js.map +1 -1
  147. package/build/__tests__/unit/screenStateInputValue.test.js +0 -7
  148. package/build/__tests__/unit/screenStateInputValue.test.js.map +1 -1
  149. package/build/__tests__/unit/screenStateKeyboard.test.js +0 -1
  150. package/build/__tests__/unit/screenStateKeyboard.test.js.map +1 -1
  151. package/build/__tests__/unit/screenshot-diff.test.js +0 -6
  152. package/build/__tests__/unit/screenshot-diff.test.js.map +1 -1
  153. package/build/__tests__/unit/sdkMirrorPoller.test.js +0 -8
  154. package/build/__tests__/unit/sdkMirrorPoller.test.js.map +1 -1
  155. package/build/__tests__/unit/settleAndDiff.test.js +0 -11
  156. package/build/__tests__/unit/settleAndDiff.test.js.map +1 -1
  157. package/build/__tests__/unit/signedVerdict.test.js +0 -5
  158. package/build/__tests__/unit/signedVerdict.test.js.map +1 -1
  159. package/build/__tests__/unit/swipeDirection.test.js +6 -9
  160. package/build/__tests__/unit/swipeDirection.test.js.map +1 -1
  161. package/build/__tests__/unit/symbolicate.test.js +0 -1
  162. package/build/__tests__/unit/symbolicate.test.js.map +1 -1
  163. package/build/__tests__/unit/tap.test.js +0 -38
  164. package/build/__tests__/unit/tap.test.js.map +1 -1
  165. package/build/__tests__/unit/textEntry.test.js +0 -27
  166. package/build/__tests__/unit/textEntry.test.js.map +1 -1
  167. package/build/__tests__/unit/toolDescriptions.test.js +0 -40
  168. package/build/__tests__/unit/toolDescriptions.test.js.map +1 -1
  169. package/build/__tests__/unit/toolsJson.test.js +0 -10
  170. package/build/__tests__/unit/toolsJson.test.js.map +1 -1
  171. package/build/__tests__/unit/transportClassify.test.js +0 -20
  172. package/build/__tests__/unit/transportClassify.test.js.map +1 -1
  173. package/build/__tests__/unit/truncate.test.js +0 -5
  174. package/build/__tests__/unit/truncate.test.js.map +1 -1
  175. package/build/__tests__/unit/usageCache.test.js +0 -3
  176. package/build/__tests__/unit/usageCache.test.js.map +1 -1
  177. package/build/__tests__/unit/usageGate.test.js +1 -1
  178. package/build/__tests__/unit/usageGate.test.js.map +1 -1
  179. package/build/__tests__/unit/visibility.test.js +0 -8
  180. package/build/__tests__/unit/visibility.test.js.map +1 -1
  181. package/build/__tests__/unit/waitForMeasurements.test.js +2 -7
  182. package/build/__tests__/unit/waitForMeasurements.test.js.map +1 -1
  183. package/build/bin.js +0 -18
  184. package/build/bin.js.map +1 -1
  185. package/build/core/android.d.ts +0 -120
  186. package/build/core/android.d.ts.map +1 -1
  187. package/build/core/android.js +4 -259
  188. package/build/core/android.js.map +1 -1
  189. package/build/core/appContext.d.ts +0 -50
  190. package/build/core/appContext.d.ts.map +1 -1
  191. package/build/core/appContext.js +0 -50
  192. package/build/core/appContext.js.map +1 -1
  193. package/build/core/appDetection.d.ts +0 -16
  194. package/build/core/appDetection.d.ts.map +1 -1
  195. package/build/core/appDetection.js +0 -36
  196. package/build/core/appDetection.js.map +1 -1
  197. package/build/core/appRequest.d.ts +0 -12
  198. package/build/core/appRequest.d.ts.map +1 -1
  199. package/build/core/appRequest.js +0 -15
  200. package/build/core/appRequest.js.map +1 -1
  201. package/build/core/bufferConfig.d.ts +0 -2
  202. package/build/core/bufferConfig.d.ts.map +1 -1
  203. package/build/core/bufferConfig.js +0 -2
  204. package/build/core/bufferConfig.js.map +1 -1
  205. package/build/core/bundle.js +0 -40
  206. package/build/core/bundle.js.map +1 -1
  207. package/build/core/componentSearch.d.ts +0 -19
  208. package/build/core/componentSearch.d.ts.map +1 -1
  209. package/build/core/componentSearch.js +1 -22
  210. package/build/core/componentSearch.js.map +1 -1
  211. package/build/core/componentSource.d.ts +0 -21
  212. package/build/core/componentSource.d.ts.map +1 -1
  213. package/build/core/componentSource.js +0 -27
  214. package/build/core/componentSource.js.map +1 -1
  215. package/build/core/componentTree.js +0 -12
  216. package/build/core/componentTree.js.map +1 -1
  217. package/build/core/config.d.ts +0 -8
  218. package/build/core/config.d.ts.map +1 -1
  219. package/build/core/config.js +0 -10
  220. package/build/core/config.js.map +1 -1
  221. package/build/core/connection.d.ts +0 -76
  222. package/build/core/connection.d.ts.map +1 -1
  223. package/build/core/connection.js +15 -340
  224. package/build/core/connection.js.map +1 -1
  225. package/build/core/connectionState.d.ts +0 -78
  226. package/build/core/connectionState.d.ts.map +1 -1
  227. package/build/core/connectionState.js +4 -92
  228. package/build/core/connectionState.js.map +1 -1
  229. package/build/core/debugGlobals.js +0 -68
  230. package/build/core/debugGlobals.js.map +1 -1
  231. package/build/core/deviceDiscovery.d.ts +0 -5
  232. package/build/core/deviceDiscovery.d.ts.map +1 -1
  233. package/build/core/deviceDiscovery.js +0 -12
  234. package/build/core/deviceDiscovery.js.map +1 -1
  235. package/build/core/deviceResolver.d.ts +0 -10
  236. package/build/core/deviceResolver.d.ts.map +1 -1
  237. package/build/core/deviceResolver.js +0 -54
  238. package/build/core/deviceResolver.js.map +1 -1
  239. package/build/core/epochRender.d.ts +0 -12
  240. package/build/core/epochRender.d.ts.map +1 -1
  241. package/build/core/epochRender.js +0 -12
  242. package/build/core/epochRender.js.map +1 -1
  243. package/build/core/errorScreenParser.d.ts +0 -21
  244. package/build/core/errorScreenParser.d.ts.map +1 -1
  245. package/build/core/errorScreenParser.js +0 -50
  246. package/build/core/errorScreenParser.js.map +1 -1
  247. package/build/core/errors.d.ts +0 -15
  248. package/build/core/errors.d.ts.map +1 -1
  249. package/build/core/errors.js +0 -15
  250. package/build/core/errors.js.map +1 -1
  251. package/build/core/escapeNonAscii.d.ts +0 -9
  252. package/build/core/escapeNonAscii.d.ts.map +1 -1
  253. package/build/core/escapeNonAscii.js +1 -43
  254. package/build/core/escapeNonAscii.js.map +1 -1
  255. package/build/core/exec.d.ts +0 -12
  256. package/build/core/exec.d.ts.map +1 -1
  257. package/build/core/exec.js +2 -14
  258. package/build/core/exec.js.map +1 -1
  259. package/build/core/executor.js +0 -3
  260. package/build/core/executor.js.map +1 -1
  261. package/build/core/fastRefreshRecorder.js +0 -4
  262. package/build/core/fastRefreshRecorder.js.map +1 -1
  263. package/build/core/fastRefreshTools.js +0 -3
  264. package/build/core/fastRefreshTools.js.map +1 -1
  265. package/build/core/feedback.js +0 -4
  266. package/build/core/feedback.js.map +1 -1
  267. package/build/core/graphqlOperation.d.ts +13 -0
  268. package/build/core/graphqlOperation.d.ts.map +1 -0
  269. package/build/core/graphqlOperation.js +80 -0
  270. package/build/core/graphqlOperation.js.map +1 -0
  271. package/build/core/guides.d.ts +0 -10
  272. package/build/core/guides.d.ts.map +1 -1
  273. package/build/core/guides.js +0 -10
  274. package/build/core/guides.js.map +1 -1
  275. package/build/core/iconSemantics.d.ts +0 -15
  276. package/build/core/iconSemantics.d.ts.map +1 -1
  277. package/build/core/iconSemantics.js +0 -31
  278. package/build/core/iconSemantics.js.map +1 -1
  279. package/build/core/index.js +4 -47
  280. package/build/core/index.js.map +1 -1
  281. package/build/core/injected/visibility.d.ts +0 -30
  282. package/build/core/injected/visibility.d.ts.map +1 -1
  283. package/build/core/injected/visibility.js +0 -33
  284. package/build/core/injected/visibility.js.map +1 -1
  285. package/build/core/injectedFilters.d.ts +0 -28
  286. package/build/core/injectedFilters.d.ts.map +1 -1
  287. package/build/core/injectedFilters.js +0 -28
  288. package/build/core/injectedFilters.js.map +1 -1
  289. package/build/core/inputTarget.d.ts +1 -34
  290. package/build/core/inputTarget.d.ts.map +1 -1
  291. package/build/core/inputTarget.js +0 -26
  292. package/build/core/inputTarget.js.map +1 -1
  293. package/build/core/inputTargetTools.d.ts +0 -7
  294. package/build/core/inputTargetTools.d.ts.map +1 -1
  295. package/build/core/inputTargetTools.js +0 -7
  296. package/build/core/inputTargetTools.js.map +1 -1
  297. package/build/core/inspector.d.ts +0 -33
  298. package/build/core/inspector.d.ts.map +1 -1
  299. package/build/core/inspector.js +0 -36
  300. package/build/core/inspector.js.map +1 -1
  301. package/build/core/ios.d.ts +0 -127
  302. package/build/core/ios.d.ts.map +1 -1
  303. package/build/core/ios.js +2 -313
  304. package/build/core/ios.js.map +1 -1
  305. package/build/core/jsExecute.d.ts +0 -100
  306. package/build/core/jsExecute.d.ts.map +1 -1
  307. package/build/core/jsExecute.js +0 -261
  308. package/build/core/jsExecute.js.map +1 -1
  309. package/build/core/jsLogEvents.d.ts +0 -8
  310. package/build/core/jsLogEvents.d.ts.map +1 -1
  311. package/build/core/jsLogEvents.js +0 -8
  312. package/build/core/jsLogEvents.js.map +1 -1
  313. package/build/core/keyboardMetrics.js +0 -8
  314. package/build/core/keyboardMetrics.js.map +1 -1
  315. package/build/core/keyboardRaise.d.ts +0 -8
  316. package/build/core/keyboardRaise.d.ts.map +1 -1
  317. package/build/core/keyboardRaise.js +0 -23
  318. package/build/core/keyboardRaise.js.map +1 -1
  319. package/build/core/license.d.ts +0 -4
  320. package/build/core/license.d.ts.map +1 -1
  321. package/build/core/license.js +2 -55
  322. package/build/core/license.js.map +1 -1
  323. package/build/core/logDiagnosis.d.ts +0 -34
  324. package/build/core/logDiagnosis.d.ts.map +1 -1
  325. package/build/core/logDiagnosis.js +0 -15
  326. package/build/core/logDiagnosis.js.map +1 -1
  327. package/build/core/logEventFormat.d.ts +0 -1
  328. package/build/core/logEventFormat.d.ts.map +1 -1
  329. package/build/core/logEventFormat.js +0 -30
  330. package/build/core/logEventFormat.js.map +1 -1
  331. package/build/core/logEvents.d.ts +0 -54
  332. package/build/core/logEvents.d.ts.map +1 -1
  333. package/build/core/logEvents.js +0 -37
  334. package/build/core/logEvents.js.map +1 -1
  335. package/build/core/logGrouping.d.ts +0 -9
  336. package/build/core/logGrouping.d.ts.map +1 -1
  337. package/build/core/logGrouping.js +0 -17
  338. package/build/core/logGrouping.js.map +1 -1
  339. package/build/core/logOwnership.d.ts +0 -17
  340. package/build/core/logOwnership.d.ts.map +1 -1
  341. package/build/core/logOwnership.js +0 -34
  342. package/build/core/logOwnership.js.map +1 -1
  343. package/build/core/logRelevance.d.ts +0 -8
  344. package/build/core/logRelevance.d.ts.map +1 -1
  345. package/build/core/logRelevance.js +0 -15
  346. package/build/core/logRelevance.js.map +1 -1
  347. package/build/core/logSourceAndroid.d.ts +0 -8
  348. package/build/core/logSourceAndroid.d.ts.map +1 -1
  349. package/build/core/logSourceAndroid.js +0 -11
  350. package/build/core/logSourceAndroid.js.map +1 -1
  351. package/build/core/logSourceIos.d.ts +0 -8
  352. package/build/core/logSourceIos.d.ts.map +1 -1
  353. package/build/core/logSourceIos.js +1 -24
  354. package/build/core/logSourceIos.js.map +1 -1
  355. package/build/core/logbox.d.ts +0 -30
  356. package/build/core/logbox.d.ts.map +1 -1
  357. package/build/core/logbox.js +0 -43
  358. package/build/core/logbox.js.map +1 -1
  359. package/build/core/logs.d.ts +0 -6
  360. package/build/core/logs.d.ts.map +1 -1
  361. package/build/core/logs.js +0 -19
  362. package/build/core/logs.js.map +1 -1
  363. package/build/core/metro.d.ts +0 -14
  364. package/build/core/metro.d.ts.map +1 -1
  365. package/build/core/metro.js +1 -32
  366. package/build/core/metro.js.map +1 -1
  367. package/build/core/moduleRegistry.d.ts +0 -17
  368. package/build/core/moduleRegistry.d.ts.map +1 -1
  369. package/build/core/moduleRegistry.js +0 -17
  370. package/build/core/moduleRegistry.js.map +1 -1
  371. package/build/core/nativeInputValue.d.ts +0 -29
  372. package/build/core/nativeInputValue.d.ts.map +1 -1
  373. package/build/core/nativeInputValue.js +0 -18
  374. package/build/core/nativeInputValue.js.map +1 -1
  375. package/build/core/nativeLogs.d.ts +0 -47
  376. package/build/core/nativeLogs.d.ts.map +1 -1
  377. package/build/core/nativeLogs.js +0 -82
  378. package/build/core/nativeLogs.js.map +1 -1
  379. package/build/core/nativeOnlyHints.js +0 -4
  380. package/build/core/nativeOnlyHints.js.map +1 -1
  381. package/build/core/navigate.d.ts +0 -15
  382. package/build/core/navigate.d.ts.map +1 -1
  383. package/build/core/navigate.js +0 -22
  384. package/build/core/navigate.js.map +1 -1
  385. package/build/core/navigation.d.ts +0 -60
  386. package/build/core/navigation.d.ts.map +1 -1
  387. package/build/core/navigation.js +0 -60
  388. package/build/core/navigation.js.map +1 -1
  389. package/build/core/network.d.ts +0 -5
  390. package/build/core/network.d.ts.map +1 -1
  391. package/build/core/network.js +10 -31
  392. package/build/core/network.js.map +1 -1
  393. package/build/core/networkInterceptor.d.ts +0 -19
  394. package/build/core/networkInterceptor.d.ts.map +1 -1
  395. package/build/core/networkInterceptor.js +3 -27
  396. package/build/core/networkInterceptor.js.map +1 -1
  397. package/build/core/ocr.d.ts +0 -31
  398. package/build/core/ocr.d.ts.map +1 -1
  399. package/build/core/ocr.js +1 -71
  400. package/build/core/ocr.js.map +1 -1
  401. package/build/core/paths.js +0 -1
  402. package/build/core/paths.js.map +1 -1
  403. package/build/core/posthog.js +0 -7
  404. package/build/core/posthog.js.map +1 -1
  405. package/build/core/pressables.d.ts +0 -25
  406. package/build/core/pressables.d.ts.map +1 -1
  407. package/build/core/pressables.js +0 -37
  408. package/build/core/pressables.js.map +1 -1
  409. package/build/core/probe.d.ts +0 -9
  410. package/build/core/probe.d.ts.map +1 -1
  411. package/build/core/probe.js +0 -9
  412. package/build/core/probe.js.map +1 -1
  413. package/build/core/projectMemory.d.ts +0 -2
  414. package/build/core/projectMemory.d.ts.map +1 -1
  415. package/build/core/projectMemory.js +2 -7
  416. package/build/core/projectMemory.js.map +1 -1
  417. package/build/core/projectStore.d.ts +0 -18
  418. package/build/core/projectStore.d.ts.map +1 -1
  419. package/build/core/projectStore.js +0 -19
  420. package/build/core/projectStore.js.map +1 -1
  421. package/build/core/promiseHandles.d.ts +0 -13
  422. package/build/core/promiseHandles.d.ts.map +1 -1
  423. package/build/core/promiseHandles.js +0 -25
  424. package/build/core/promiseHandles.js.map +1 -1
  425. package/build/core/register.js +0 -44
  426. package/build/core/register.js.map +1 -1
  427. package/build/core/rnGlobalsBootstrap.d.ts +0 -13
  428. package/build/core/rnGlobalsBootstrap.d.ts.map +1 -1
  429. package/build/core/rnGlobalsBootstrap.js +0 -22
  430. package/build/core/rnGlobalsBootstrap.js.map +1 -1
  431. package/build/core/routeHistory.d.ts +24 -0
  432. package/build/core/routeHistory.d.ts.map +1 -0
  433. package/build/core/routeHistory.js +186 -0
  434. package/build/core/routeHistory.js.map +1 -0
  435. package/build/core/screenLayout.d.ts +0 -11
  436. package/build/core/screenLayout.d.ts.map +1 -1
  437. package/build/core/screenLayout.js +1 -60
  438. package/build/core/screenLayout.js.map +1 -1
  439. package/build/core/screenSpace.d.ts +0 -107
  440. package/build/core/screenSpace.d.ts.map +1 -1
  441. package/build/core/screenSpace.js +0 -103
  442. package/build/core/screenSpace.js.map +1 -1
  443. package/build/core/screenSpaceDevice.d.ts +0 -8
  444. package/build/core/screenSpaceDevice.d.ts.map +1 -1
  445. package/build/core/screenSpaceDevice.js +0 -23
  446. package/build/core/screenSpaceDevice.js.map +1 -1
  447. package/build/core/screenState.d.ts +0 -73
  448. package/build/core/screenState.d.ts.map +1 -1
  449. package/build/core/screenState.js +6 -115
  450. package/build/core/screenState.js.map +1 -1
  451. package/build/core/sdkBridge.js +0 -8
  452. package/build/core/sdkBridge.js.map +1 -1
  453. package/build/core/sdkMirrorPoller.d.ts +0 -18
  454. package/build/core/sdkMirrorPoller.d.ts.map +1 -1
  455. package/build/core/sdkMirrorPoller.js +0 -47
  456. package/build/core/sdkMirrorPoller.js.map +1 -1
  457. package/build/core/selectionBuffer.d.ts +0 -6
  458. package/build/core/selectionBuffer.d.ts.map +1 -1
  459. package/build/core/selectionBuffer.js +0 -5
  460. package/build/core/selectionBuffer.js.map +1 -1
  461. package/build/core/signedVerdict.js +0 -6
  462. package/build/core/signedVerdict.js.map +1 -1
  463. package/build/core/state.d.ts +0 -31
  464. package/build/core/state.d.ts.map +1 -1
  465. package/build/core/state.js +0 -57
  466. package/build/core/state.js.map +1 -1
  467. package/build/core/symbolicate.js +0 -11
  468. package/build/core/symbolicate.js.map +1 -1
  469. package/build/core/telemetry.d.ts +0 -47
  470. package/build/core/telemetry.d.ts.map +1 -1
  471. package/build/core/telemetry.js +1 -173
  472. package/build/core/telemetry.js.map +1 -1
  473. package/build/core/textEntry.d.ts +0 -34
  474. package/build/core/textEntry.d.ts.map +1 -1
  475. package/build/core/textEntry.js +0 -73
  476. package/build/core/textEntry.js.map +1 -1
  477. package/build/core/toolHelpers.d.ts +0 -12
  478. package/build/core/toolHelpers.d.ts.map +1 -1
  479. package/build/core/toolHelpers.js +2 -47
  480. package/build/core/toolHelpers.js.map +1 -1
  481. package/build/core/truncate.d.ts +0 -17
  482. package/build/core/truncate.d.ts.map +1 -1
  483. package/build/core/truncate.js +0 -32
  484. package/build/core/truncate.js.map +1 -1
  485. package/build/core/types.d.ts +0 -6
  486. package/build/core/types.d.ts.map +1 -1
  487. package/build/core/usageCache.js +0 -12
  488. package/build/core/usageCache.js.map +1 -1
  489. package/build/index.js +0 -18
  490. package/build/index.js.map +1 -1
  491. package/build/pro/coordinateMiss.d.ts +0 -30
  492. package/build/pro/coordinateMiss.d.ts.map +1 -1
  493. package/build/pro/coordinateMiss.js +0 -17
  494. package/build/pro/coordinateMiss.js.map +1 -1
  495. package/build/pro/overlayGuard.d.ts +2 -40
  496. package/build/pro/overlayGuard.d.ts.map +1 -1
  497. package/build/pro/overlayGuard.js +0 -63
  498. package/build/pro/overlayGuard.js.map +1 -1
  499. package/build/pro/screenshot-diff.js +4 -6
  500. package/build/pro/screenshot-diff.js.map +1 -1
  501. package/build/pro/tap.d.ts +0 -55
  502. package/build/pro/tap.d.ts.map +1 -1
  503. package/build/pro/tap.js +7 -330
  504. package/build/pro/tap.js.map +1 -1
  505. package/build/pro/usageGate.js +0 -9
  506. package/build/pro/usageGate.js.map +1 -1
  507. package/build/pro/usageNotifications.js +1 -13
  508. package/build/pro/usageNotifications.js.map +1 -1
  509. package/build/pro/verifyAction.d.ts +0 -13
  510. package/build/pro/verifyAction.d.ts.map +1 -1
  511. package/build/pro/verifyAction.js +0 -45
  512. package/build/pro/verifyAction.js.map +1 -1
  513. package/build/tools/_deviceArg.d.ts +0 -35
  514. package/build/tools/_deviceArg.d.ts.map +1 -1
  515. package/build/tools/_deviceArg.js +0 -35
  516. package/build/tools/_deviceArg.js.map +1 -1
  517. package/build/tools/accountTools.js +2 -2
  518. package/build/tools/accountTools.js.map +1 -1
  519. package/build/tools/bundleTools.js +0 -16
  520. package/build/tools/bundleTools.js.map +1 -1
  521. package/build/tools/componentTools.d.ts.map +1 -1
  522. package/build/tools/componentTools.js +17 -45
  523. package/build/tools/componentTools.js.map +1 -1
  524. package/build/tools/connectionTools.js +1 -59
  525. package/build/tools/connectionTools.js.map +1 -1
  526. package/build/tools/deviceTools.js +0 -11
  527. package/build/tools/deviceTools.js.map +1 -1
  528. package/build/tools/executionTools.js +1 -18
  529. package/build/tools/executionTools.js.map +1 -1
  530. package/build/tools/interactionTools.d.ts +0 -10
  531. package/build/tools/interactionTools.d.ts.map +1 -1
  532. package/build/tools/interactionTools.js +0 -57
  533. package/build/tools/interactionTools.js.map +1 -1
  534. package/build/tools/logTools.d.ts +0 -13
  535. package/build/tools/logTools.d.ts.map +1 -1
  536. package/build/tools/logTools.js +2 -126
  537. package/build/tools/logTools.js.map +1 -1
  538. package/build/tools/metaTools.js +0 -10
  539. package/build/tools/metaTools.js.map +1 -1
  540. package/build/tools/networkTools.js +4 -43
  541. package/build/tools/networkTools.js.map +1 -1
  542. package/build/tools/requestTools.js +0 -5
  543. package/build/tools/requestTools.js.map +1 -1
  544. package/build/tools/screenshotTools.js +5 -111
  545. package/build/tools/screenshotTools.js.map +1 -1
  546. package/package.json +2 -2
  547. package/tools.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"screenSpace.d.ts","sourceRoot":"","sources":["../../src/core/screenSpace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenSpace.d.ts","sourceRoot":"","sources":["../../src/core/screenSpace.ts"],"names":[],"mappings":"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"}
@@ -1,65 +1,16 @@
1
- /**
2
- * One coordinate space for every layout tool: **screen space**.
3
- *
4
- * `measureInWindow` does not report screen coordinates uniformly:
5
- *
6
- * - **Android** returns coordinates relative to the app window, which starts *below*
7
- * the status bar. A header button measured at y=7dp sits at y=61dp on screen.
8
- * - **iOS** returns coordinates that already include the status bar — except for
9
- * react-native-screens modal-presented screens, which measure from the modal's own
10
- * presentation container. A modal header button measured at y=29pt sits at y=88pt on
11
- * screen, exactly one safe-area inset lower.
12
- *
13
- * The screenshot formatters already compensated for both, which is why screenshot pixel
14
- * coordinates were correct. The point-space outputs (`get_screen_state`,
15
- * `inspect_at_point`) did not, so the two families disagreed whenever a modal was open:
16
- * converting a screenshot pixel coordinate to points by dividing by the pixel ratio — the
17
- * documented procedure — landed an inset off and resolved to the screen underneath.
18
- *
19
- * Everything now normalises through here, so a coordinate read from any tool can be
20
- * passed to any other tool.
21
- */
22
- /**
23
- * API image cap. A capture wider or taller than this is downscaled before delivery, so
24
- * it is part of the coordinate contract, not just a transport detail: the pixels an
25
- * agent reads off the returned image are post-downscale.
26
- */
27
1
  export const SCREENSHOT_MAX_DIMENSION = 2000;
28
- /**
29
- * Downscale a capture of these *device-pixel* dimensions will receive on delivery.
30
- * Mirrors the resize in `iosScreenshot`/`androidScreenshot`; both derive their own
31
- * factor the same way, and this is the copy the layout tools predict it with.
32
- */
33
2
  export function computeDeliveredDownscale(pixelWidth, pixelHeight) {
34
3
  const longest = Math.max(pixelWidth, pixelHeight);
35
4
  if (!(longest > SCREENSHOT_MAX_DIMENSION))
36
5
  return 1;
37
6
  return longest / SCREENSHOT_MAX_DIMENSION;
38
7
  }
39
- /**
40
- * points/dp -> delivered-screenshot pixels, given the device's scale (iOS DPR, Android
41
- * density/160) and its point/dp screen size.
42
- *
43
- * Note this collapses to `SCREENSHOT_MAX_DIMENSION / longestPointDimension` whenever the
44
- * raw capture overflows the cap — the device scale cancels out — which is why the factor
45
- * is stable per device rather than per capture.
46
- */
47
8
  export function computePixelScale(deviceScale, pointWidth, pointHeight) {
48
9
  if (!(deviceScale > 0) || !(pointWidth > 0) || !(pointHeight > 0))
49
10
  return 1;
50
11
  const downscale = computeDeliveredDownscale(pointWidth * deviceScale, pointHeight * deviceScale);
51
12
  return deviceScale / downscale;
52
13
  }
53
- /**
54
- * Fiber-space y -> screen-space y.
55
- *
56
- * The iOS rule is a heuristic: nothing in the fiber tree says "I am inside a modal
57
- * presentation", and the inset is only knowable natively. An element measuring *above*
58
- * the safe-area top is the signal — on a normal screen that band is occupied by the
59
- * status bar and holds no app content. This is the same rule the screenshot formatters
60
- * already shipped; it is centralised here rather than made more clever, so the pixel
61
- * output that users have been reading stays byte-identical.
62
- */
63
14
  export function toScreenSpaceY(y, m) {
64
15
  if (!m.topInset || m.topInset <= 0)
65
16
  return y;
@@ -67,21 +18,13 @@ export function toScreenSpaceY(y, m) {
67
18
  return y + m.topInset;
68
19
  return y < m.topInset ? y + m.topInset : y;
69
20
  }
70
- /** Screen-space y -> fiber-space y. Inverse of {@link toScreenSpaceY}. */
71
21
  export function fromScreenSpaceY(y, m) {
72
22
  if (!m.topInset || m.topInset <= 0)
73
23
  return y;
74
24
  if (m.platform === "android")
75
25
  return y - m.topInset;
76
- // Mirror of the forward rule: only values that could have been shifted are unshifted.
77
- // A y in [topInset, 2*topInset) is the image of [0, topInset) under the forward map.
78
26
  return y >= m.topInset && y < m.topInset * 2 ? y - m.topInset : y;
79
27
  }
80
- /**
81
- * Source for the injected walkers, which run inside Hermes and cannot import.
82
- * Emitted as a plain function so the in-app hit-test normalises measurements the same
83
- * way the Node side does — a second copy of this rule is exactly what caused the drift.
84
- */
85
28
  export const SCREEN_SPACE_HELPER_JS = [
86
29
  `var toScreenSpaceY = ${toScreenSpaceY.toString()};`,
87
30
  `var scaleOf = ${scaleOf.toString()};`,
@@ -89,18 +32,9 @@ export const SCREEN_SPACE_HELPER_JS = [
89
32
  `var toDeliveredPxX = ${toDeliveredPxX.toString()};`,
90
33
  `var toDeliveredPxLength = ${toDeliveredPxLength.toString()};`
91
34
  ].join("\n");
92
- /** Scale factor to apply, with the "unknown -> stay in points" default made explicit. */
93
35
  function scaleOf(m) {
94
36
  return m.pixelScale && m.pixelScale > 0 ? m.pixelScale : 1;
95
37
  }
96
- /**
97
- * A warning line when the device scale could not be resolved, or "" when it could.
98
- *
99
- * Without this the degradation is silent and dangerous in one specific way: the tools
100
- * emit point-space coordinates while tap() still expects delivered pixels, which is the
101
- * original defect wearing a different hat. Saying so lets the caller fall back to
102
- * screenshot coordinates instead of tapping the wrong place.
103
- */
104
38
  export function unresolvedScaleNote(m) {
105
39
  if (m.pixelScale && m.pixelScale > 0)
106
40
  return "";
@@ -109,42 +43,21 @@ export function unresolvedScaleNote(m) {
109
43
  `device scale could not be read. Do not pass them to tap(); take coordinates from ` +
110
44
  `ios_screenshot / android_screenshot instead, or reconnect the device and retry.`);
111
45
  }
112
- /**
113
- * Fiber-space y (points/dp) -> canonical delivered-screenshot pixels.
114
- *
115
- * Order matters: `topInset` is a point-space quantity, so the inset shift has to happen
116
- * before the scale, not after.
117
- */
118
46
  export function toDeliveredPxY(y, m) {
119
47
  return toScreenSpaceY(y, m) * scaleOf(m);
120
48
  }
121
- /** Fiber-space x -> delivered pixels. No horizontal inset exists on either platform. */
122
49
  export function toDeliveredPxX(x, m) {
123
50
  return x * scaleOf(m);
124
51
  }
125
- /** A length (width/height) in points/dp -> delivered pixels. Unaffected by the inset. */
126
52
  export function toDeliveredPxLength(v, m) {
127
53
  return v * scaleOf(m);
128
54
  }
129
- /**
130
- * Delivered pixels -> fiber space. Inverse of {@link toDeliveredPxY}, for tools that
131
- * take a caller-supplied coordinate (inspect_at_point) and must hit-test against raw
132
- * `measureInWindow` output.
133
- */
134
55
  export function fromDeliveredPxY(y, m) {
135
56
  return fromScreenSpaceY(y / scaleOf(m), m);
136
57
  }
137
- /** Delivered pixels -> fiber-space x. */
138
58
  export function fromDeliveredPxX(x, m) {
139
59
  return x / scaleOf(m);
140
60
  }
141
- /**
142
- * Return a copy of a **screen-space** state with every box in delivered pixels.
143
- *
144
- * For consumers that hit-test a caller-supplied coordinate against the state itself
145
- * rather than just formatting it — the coordinate arrives in delivered pixels, so the
146
- * geometry has to meet it there. Compose after {@link screenStateToScreenSpace}.
147
- */
148
61
  export function screenStateToDeliveredPx(ss, m) {
149
62
  const conv = pxScaleConverter(m);
150
63
  if (scaleOf(m) === 1)
@@ -166,16 +79,6 @@ export function screenStateToDeliveredPx(ss, m) {
166
79
  }))
167
80
  };
168
81
  }
169
- /**
170
- * Converter mapping an item **already in screen space** into canonical delivered pixels.
171
- *
172
- * Deliberately pure scale, with no inset term: every caller runs its state through
173
- * {@link screenStateToScreenSpace} first, so re-applying the shift here would move each
174
- * coordinate by a second `topInset`. This converter is the single argument that used to
175
- * differ between the screenshot tools (which passed a real one) and get_screen_state
176
- * (which passed none and so emitted raw points). Structurally an `ItemCoordConverter`;
177
- * typed locally to keep this module import-free.
178
- */
179
82
  export function pxScaleConverter(m) {
180
83
  const s = scaleOf(m);
181
84
  const r = (v) => Math.round(v * s);
@@ -196,12 +99,6 @@ function shiftBox(el, m) {
196
99
  bounds: { ...el.bounds, y: toScreenSpaceY(el.bounds.y, m) }
197
100
  };
198
101
  }
199
- /**
200
- * Return a copy of a screen state with every y in screen space.
201
- *
202
- * Only y moves — no horizontal inset exists on either platform — and height is untouched,
203
- * because the shift translates a box rather than resizing it.
204
- */
205
102
  export function screenStateToScreenSpace(ss, m) {
206
103
  if (!m.topInset || m.topInset <= 0)
207
104
  return ss;
@@ -1 +1 @@
1
- {"version":3,"file":"screenSpace.js","sourceRoot":"","sources":["../../src/core/screenSpace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenSpace.js","sourceRoot":"","sources":["../../src/core/screenSpace.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,7 @@
1
- /**
2
- * Device-side resolution of the top inset used by {@link ScreenSpaceMetrics}.
3
- *
4
- * Kept out of screenSpace.ts so the coordinate rules there stay pure and unit-testable
5
- * with no simctl/adb dependency.
6
- */
7
1
  import type { ScreenSpaceMetrics } from "./screenSpace.js";
8
2
  export declare function resolveScreenSpaceMetrics(opts: {
9
3
  platform: "ios" | "android";
10
- /** iOS simulator UDID. */
11
4
  udid?: string;
12
- /** Android adb serial. */
13
5
  deviceId?: string;
14
6
  }): Promise<ScreenSpaceMetrics>;
15
7
  //# sourceMappingURL=screenSpaceDevice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screenSpaceDevice.d.ts","sourceRoot":"","sources":["../../src/core/screenSpaceDevice.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAiC3D,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IAClD,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IAC5B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiC9B"}
1
+ {"version":3,"file":"screenSpaceDevice.d.ts","sourceRoot":"","sources":["../../src/core/screenSpaceDevice.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAiC3D,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IAClD,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IAE5B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiC9B"}
@@ -1,27 +1,8 @@
1
- /**
2
- * Device-side resolution of the top inset used by {@link ScreenSpaceMetrics}.
3
- *
4
- * Kept out of screenSpace.ts so the coordinate rules there stay pure and unit-testable
5
- * with no simctl/adb dependency.
6
- */
7
1
  import { computeDeliveredDownscale } from "./screenSpace.js";
8
2
  import { getIOSSafeAreaTop, getDevicePixelRatio, getIOSScreenPixelSize } from "./ios.js";
9
3
  import { androidGetStatusBarHeight, androidGetDensity, androidGetScreenSize } from "./android.js";
10
- /** iPhone notch/Dynamic Island default, matching ios_screenshot's own fallback. */
11
4
  const IOS_DEFAULT_SAFE_AREA_TOP = 59;
12
- /** Common Android status bar height in dp. */
13
5
  const ANDROID_DEFAULT_STATUS_BAR_DP = 24;
14
- /**
15
- * points/dp -> delivered-screenshot pixels for a device whose scale and pixel size are
16
- * known.
17
- *
18
- * Returns **undefined** when either input is missing, which callers treat as a factor of 1
19
- * — i.e. coordinates stay in point space. That is strictly better than guessing, since a
20
- * wrong scale silently moves every coordinate. It is deliberately distinct from a resolved
21
- * scale that happens to equal 1: the tools surface "unknown" to the caller, because
22
- * point-space output handed to tap() (which speaks pixels) is exactly the mismatch this
23
- * whole normalisation exists to remove, and failing silently would recreate it.
24
- */
25
6
  function pixelScaleFrom(deviceScale, pixelSize) {
26
7
  if (!deviceScale || deviceScale <= 0 || !pixelSize)
27
8
  return undefined;
@@ -29,8 +10,6 @@ function pixelScaleFrom(deviceScale, pixelSize) {
29
10
  }
30
11
  export async function resolveScreenSpaceMetrics(opts) {
31
12
  if (opts.platform === "ios") {
32
- // Independent probes, and both are cached — running them concurrently keeps the
33
- // cold-start cost of a layout call at one round trip rather than two.
34
13
  const [inset, dpr, pixelSize] = await Promise.all([
35
14
  getIOSSafeAreaTop(opts.udid).catch(() => 0),
36
15
  getDevicePixelRatio(opts.udid).catch(() => null),
@@ -47,8 +26,6 @@ export async function resolveScreenSpaceMetrics(opts) {
47
26
  androidGetDensity(opts.deviceId).catch(() => null),
48
27
  androidGetScreenSize(opts.deviceId).catch(() => null)
49
28
  ]);
50
- // `wm size` already reports device pixels, so no dp->px step is needed before the
51
- // downscale check — only the dp->px scale itself comes from the density.
52
29
  const densityScale = density && density.success && density.density
53
30
  ? density.density / 160
54
31
  : null;
@@ -1 +1 @@
1
- {"version":3,"file":"screenSpaceDevice.js","sourceRoot":"","sources":["../../src/core/screenSpaceDevice.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,EACH,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACvB,MAAM,cAAc,CAAC;AAEtB,mFAAmF;AACnF,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,8CAA8C;AAC9C,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CACnB,WAA0B,EAC1B,SAAmD;IAEnD,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACrE,OAAO,WAAW,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAM/C;IACG,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC1B,gFAAgF;QAChF,sEAAsE;QACtE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC3C,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAChD,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SACrD,CAAC,CAAC;QACH,OAAO;YACH,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK,IAAI,yBAAyB;YAC5C,UAAU,EAAE,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC;SAC7C,CAAC;IACN,CAAC;IACD,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAC1D,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAClD,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KACxD,CAAC,CAAC;IACH,kFAAkF;IAClF,yEAAyE;IACzE,MAAM,YAAY,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;QAC9D,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG;QACvB,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,SAAS,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM;QAC/D,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QAC5C,CAAC,CAAC,IAAI,CAAC;IACX,OAAO;QACH,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,6BAA6B;QAC5E,UAAU,EAAE,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC;KACtD,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"screenSpaceDevice.js","sourceRoot":"","sources":["../../src/core/screenSpaceDevice.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,EACH,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACvB,MAAM,cAAc,CAAC;AAGtB,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAazC,SAAS,cAAc,CACnB,WAA0B,EAC1B,SAAmD;IAEnD,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACrE,OAAO,WAAW,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAM/C;IACG,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAG1B,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC3C,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAChD,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SACrD,CAAC,CAAC;QACH,OAAO;YACH,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK,IAAI,yBAAyB;YAC5C,UAAU,EAAE,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC;SAC7C,CAAC;IACN,CAAC;IACD,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAC1D,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAClD,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KACxD,CAAC,CAAC;IAGH,MAAM,YAAY,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;QAC9D,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG;QACvB,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,SAAS,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM;QAC/D,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QAC5C,CAAC,CAAC,IAAI,CAAC;IACX,OAAO;QACH,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,6BAA6B;QAC5E,UAAU,EAAE,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC;KACtD,CAAC;AACN,CAAC"}
@@ -2,7 +2,6 @@ import type { ExecutionResult } from "./types.js";
2
2
  import type { KeyboardState } from "./keyboardMetrics.js";
3
3
  export interface ScreenStatePressable {
4
4
  label: string | null;
5
- /** Nearest custom component name (e.g. OrderStepRow, CheckBox) — greppable in the app codebase. */
6
5
  component?: string | null;
7
6
  center: {
8
7
  x: number;
@@ -15,23 +14,12 @@ export interface ScreenStatePressable {
15
14
  height: number;
16
15
  };
17
16
  testID: string | null;
18
- /** Icon child component name (e.g. SvgChevronBack) when the pressable has no text/a11y label. */
19
17
  icon?: string | null;
20
- /** True for TextInput-like elements (onChangeText/onFocus) — tap to focus, then type. */
21
18
  isInput?: boolean;
22
- /**
23
- * The input's current text, from props.value/defaultValue. Null when empty.
24
- * Kept separate from `inputPlaceholder` so a placeholder can never be read
25
- * as content — that misreading made every correct write look like a failure.
26
- */
27
19
  inputValue?: string | null;
28
- /** The input's placeholder. Rendered only when the field is actually empty. */
29
20
  inputPlaceholder?: string | null;
30
- /** Nearest standalone text (row sibling preferred) when the pressable has no label of its own. */
31
21
  nearbyText?: string | null;
32
- /** True when an overlay fully covers this root pressable — taps will not reach it. */
33
22
  blockedByOverlay?: boolean;
34
- /** What pressing triggers: "onPress=handleSubmit()", "onBack=goBack()", or "onPress→onBack" (prop route when the fn is anonymous). Absent when nothing meaningful survives Hermes. */
35
23
  onPressHint?: string | null;
36
24
  }
37
25
  export interface ScreenStateText {
@@ -95,23 +83,7 @@ export declare function markPressablesCoveredByOverlay(pressables: ScreenStatePr
95
83
  width: number;
96
84
  height: number;
97
85
  }): ScreenStatePressable[];
98
- /**
99
- * Replace component-name fallback labels with semantic icon labels when the
100
- * pressable's icon child name carries recognizable semantics:
101
- * { label: "[FloatingHeader]", icon: "SvgChevronBackward" }
102
- * → label "[SvgChevronBackward — possibly back button]"
103
- * An icon button whose only text is a count badge (cart with "1") keeps that
104
- * count as nearby context while the label is upgraded to the icon's meaning:
105
- * { label: "1", icon: "SvgCartNew" } → label "[SvgCartNew — possibly cart button]", nearbyText "1"
106
- * Labels from text/a11y are never touched (icon is null for those).
107
- */
108
86
  export declare function applyIconHintToLabel(p: ScreenStatePressable): ScreenStatePressable;
109
- /**
110
- * Coordinate converter for any positioned item (pressable, text, image) — lets
111
- * screenshot tools map points/dp into screenshot pixels (including conditional
112
- * shifts like the iOS safe-area band). Reads only center/bounds, so it applies
113
- * uniformly across item types.
114
- */
115
87
  export type ItemCoordConverter = (item: {
116
88
  center: {
117
89
  x: number;
@@ -135,42 +107,12 @@ export type ItemCoordConverter = (item: {
135
107
  height: number;
136
108
  };
137
109
  };
138
- /** Alias kept for existing call sites; prefer ItemCoordConverter. */
139
110
  export type PressableCoordConverter = ItemCoordConverter;
140
- /** One merged-list line for a static text node — coordinates match pressable lines. */
141
111
  export declare function formatTextEntry(t: ScreenStateText, convert?: ItemCoordConverter, opts?: {
142
112
  fullText?: boolean;
143
113
  }): string;
144
- /** One merged-list line for an image node — coordinates match pressable lines. */
145
114
  export declare function formatImageEntry(img: ScreenStateImage, convert?: ItemCoordConverter): string;
146
- /**
147
- * Render a ScreenState as the orientation summary used by get_screen_state and the
148
- * screenshot tools. By default it merges pressables, static text (📝), and images
149
- * (🖼) into one spatially-ordered list per reachability group — enough to read and
150
- * navigate the screen without a screenshot:
151
- * 📍 Detail [Detail]
152
- * 🎯 Pressables:
153
- * (210, 175) 🖼 Image 420x350 src="…"
154
- * (146, 394) 📝 "Valya product" frame:(20,382 251x24)
155
- * (210, 838) <Button /> "In cart" frame:(20,810 380x56)
156
- * pressablesOnly restores the lean pressable-only snapshot; fullText disables the
157
- * 80-char text truncation.
158
- */
159
- /**
160
- * One line describing the keyboard, or "" when it is down and known to be.
161
- *
162
- * The point is layout validation: a raised keyboard shrinks the usable area,
163
- * and that is exactly when bottom-anchored UI misbehaves. Reporting the height
164
- * and the remaining content area makes that inspectable without a screenshot.
165
- */
166
115
  export declare function formatKeyboardLine(k: KeyboardState, pixelScale?: number): string;
167
- /**
168
- * Splits elements the keyboard covers from those still reachable.
169
- *
170
- * Mirrors the existing overlay handling rather than inventing a second notion
171
- * of "blocked": an element under the keyboard cannot be tapped, for the same
172
- * reason and with the same consequence as one under a sheet.
173
- */
174
116
  export declare function partitionByKeyboard<T extends {
175
117
  center: {
176
118
  x: number;
@@ -180,10 +122,6 @@ export declare function partitionByKeyboard<T extends {
180
122
  reachable: T[];
181
123
  blocked: T[];
182
124
  };
183
- /**
184
- * Renders an input's state so the value is unmistakably the value and the
185
- * placeholder is unmistakably a placeholder. Returns "" for non-inputs.
186
- */
187
125
  export declare function formatInputState(p: ScreenStatePressable): string;
188
126
  export declare function formatScreenStateSummary(ss: ScreenState, convert?: ItemCoordConverter, opts?: {
189
127
  pressablesOnly?: boolean;
@@ -192,17 +130,6 @@ export declare function formatScreenStateSummary(ss: ScreenState, convert?: Item
192
130
  pixelScale?: number;
193
131
  }): string;
194
132
  export declare function describePressHandler(raw: unknown): string | null;
195
- /**
196
- * Fallback handler context from the custom component's on* props, for when the
197
- * direct onPress is anonymous (Hermes discards source even in dev bundles, and
198
- * names like navigation.goBack are lost to computed assignment):
199
- * - only trust the prop whose value IS the touchable's onPress (pass-through);
200
- * a non-matched candidate is an unverifiable guess that mislabels every button
201
- * in a multi-button container (FloatingHeader exposes only onBack, but its menu
202
- * and cart buttons run internal handlers) — so it yields null
203
- * - named fn → "onBack=goBack()"; nameless → "onPress→onBack" (the prop name
204
- * alone is greppable context); a bare nameless "onPress" prop adds nothing → null
205
- */
206
133
  export declare function describePropHandlers(raw: unknown): string | null;
207
134
  export declare function parseScreenStateResponse(raw: unknown): ScreenState | null;
208
135
  export declare function getScreenState(options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"screenState.d.ts","sourceRoot":"","sources":["../../src/core/screenState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenState.d.ts","sourceRoot":"","sources":["../../src/core/screenState.ts"],"names":[],"mappings":"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"}