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
@@ -0,0 +1,186 @@
1
+ import { executeInApp } from "./jsExecute.js";
2
+ import { buildNavHandlesSource } from "./navigation.js";
3
+ import { getEpoch } from "./state.js";
4
+ const DEFAULT_ROUTE_HISTORY_SIZE = 50;
5
+ export function routeHistorySize() {
6
+ const raw = process.env.EXECBRO_ROUTE_HISTORY_SIZE;
7
+ if (!raw)
8
+ return DEFAULT_ROUTE_HISTORY_SIZE;
9
+ const parsed = Number.parseInt(raw, 10);
10
+ if (!Number.isFinite(parsed) || parsed <= 0)
11
+ return DEFAULT_ROUTE_HISTORY_SIZE;
12
+ return parsed;
13
+ }
14
+ export function formatDwell(ms) {
15
+ const total = Math.max(0, Math.floor(ms / 1000));
16
+ if (total < 60)
17
+ return `${total}s`;
18
+ const minutes = Math.floor(total / 60);
19
+ if (minutes < 60)
20
+ return `${minutes}m${String(total % 60).padStart(2, "0")}s`;
21
+ return `${Math.floor(minutes / 60)}h${String(minutes % 60).padStart(2, "0")}m`;
22
+ }
23
+ function dwellOf(v, now) {
24
+ return (v.leftAt ?? now) - v.enteredAt;
25
+ }
26
+ export function formatRouteTrail(result, now) {
27
+ if (result.visits.length === 0) {
28
+ return "🕒 Route trail: no route changes recorded yet.";
29
+ }
30
+ const ordered = [...result.visits].sort((a, b) => b.enteredAt - a.enteredAt);
31
+ const width = Math.max(...ordered.map((v) => v.route.length));
32
+ const lines = ["🕒 Route trail (most recent first):"];
33
+ ordered.forEach((v, i) => {
34
+ const prev = ordered[i - 1];
35
+ if (prev && prev.epoch !== v.epoch) {
36
+ lines.push(` ── app restarted (epoch ${prev.epoch}) ──`);
37
+ }
38
+ const dwell = formatDwell(dwellOf(v, now));
39
+ const origin = v.from ? ` ← from ${v.from}` : "";
40
+ lines.push(` ${v.route.padEnd(width)} ${dwell.padStart(7)}${origin}`);
41
+ });
42
+ if (result.mode === "sampled") {
43
+ lines.push("");
44
+ lines.push("⚠ sampled — no navigation listener found; transitions between calls may be missing");
45
+ }
46
+ return lines.join("\n");
47
+ }
48
+ export function buildRouteHistoryInstallSource(cap) {
49
+ return `(function () {
50
+ try {
51
+ var g = globalThis;
52
+ if (g.__ebRouteHistory && g.__ebRouteHistory.installed) {
53
+ return { ok: true, mode: g.__ebRouteHistory.mode, reused: true };
54
+ }
55
+ var store = { installed: true, mode: 'sampled', entries: [] };
56
+ g.__ebRouteHistory = store;
57
+
58
+ var ref = (typeof __eb_nav !== 'undefined' && __eb_nav) ? __eb_nav.stateReader : null;
59
+ if (!ref || typeof ref.addListener !== 'function' || typeof ref.getCurrentRoute !== 'function') {
60
+ return { ok: true, mode: 'sampled', reused: false, reason: 'no navigation ref with addListener' };
61
+ }
62
+
63
+ var record = function () {
64
+ var name = null;
65
+ try {
66
+ var cur = ref.getCurrentRoute();
67
+ name = cur && cur.name ? cur.name : null;
68
+ } catch (e) { return; }
69
+ if (!name) return;
70
+
71
+ var last = store.entries[store.entries.length - 1];
72
+ if (last && last.leftAt === null) {
73
+ if (last.route === name) return;
74
+ last.leftAt = Date.now();
75
+ store.entries.push({ route: name, from: last.route, enteredAt: Date.now(), leftAt: null });
76
+ } else {
77
+ store.entries.push({ route: name, from: null, enteredAt: Date.now(), leftAt: null });
78
+ }
79
+ if (store.entries.length > ${cap}) {
80
+ store.entries.splice(0, store.entries.length - ${cap});
81
+ }
82
+ };
83
+
84
+ ref.addListener('state', record);
85
+ store.mode = 'listener';
86
+ record();
87
+ return { ok: true, mode: 'listener', reused: false };
88
+ } catch (e) {
89
+ return { ok: false, error: String(e && e.message ? e.message : e) };
90
+ }
91
+ })()`;
92
+ }
93
+ export function buildRouteHistoryReadSource() {
94
+ return `(function () {
95
+ var s = globalThis.__ebRouteHistory;
96
+ if (!s || !s.installed) return null;
97
+ return { mode: s.mode, entries: s.entries };
98
+ })()`;
99
+ }
100
+ export async function installRouteHistory(device) {
101
+ try {
102
+ const expr = `(function(){ ${buildNavHandlesSource()}
103
+ return JSON.stringify(${buildRouteHistoryInstallSource(routeHistorySize())});
104
+ })()`;
105
+ const res = await executeInApp(expr, false, { originatingToolName: "route_history" }, device);
106
+ if (!res.success || typeof res.result !== "string")
107
+ return "sampled";
108
+ const parsed = JSON.parse(res.result);
109
+ return parsed.mode === "listener" ? "listener" : "sampled";
110
+ }
111
+ catch {
112
+ return "sampled";
113
+ }
114
+ }
115
+ export async function readRouteHistory(device) {
116
+ const deviceKey = device ?? "default";
117
+ const epoch = getEpoch(deviceKey);
118
+ try {
119
+ const read = await executeInApp(`JSON.stringify(${buildRouteHistoryReadSource()})`, false, { originatingToolName: "route_history" }, device);
120
+ let payload = null;
121
+ if (read.success && typeof read.result === "string" && read.result !== "null") {
122
+ payload = JSON.parse(read.result);
123
+ }
124
+ if (!payload) {
125
+ const mode = await installRouteHistory(device);
126
+ if (mode === "listener") {
127
+ const again = await executeInApp(`JSON.stringify(${buildRouteHistoryReadSource()})`, false, { originatingToolName: "route_history" }, device);
128
+ if (again.success && typeof again.result === "string" && again.result !== "null") {
129
+ payload = JSON.parse(again.result);
130
+ }
131
+ }
132
+ }
133
+ if (payload && payload.mode === "listener" && Array.isArray(payload.entries)) {
134
+ mergeListenerEntries(deviceKey, payload.entries, epoch);
135
+ return { mode: "listener", visits: sampledVisits(deviceKey) };
136
+ }
137
+ }
138
+ catch {
139
+ }
140
+ return { mode: "sampled", visits: sampledVisits(deviceKey) };
141
+ }
142
+ const sampled = new Map();
143
+ export function resetSampledRoutes() {
144
+ sampled.clear();
145
+ }
146
+ export function sampledVisits(deviceKey) {
147
+ return sampled.get(deviceKey) ?? [];
148
+ }
149
+ export function mergeListenerEntries(deviceKey, entries, epoch) {
150
+ const previousRuns = (sampled.get(deviceKey) ?? []).filter((v) => v.epoch !== epoch);
151
+ const thisRun = entries.map((e) => ({ ...e, epoch }));
152
+ const lastPrevious = previousRuns[previousRuns.length - 1];
153
+ const firstOfRun = thisRun[0];
154
+ if (lastPrevious && lastPrevious.leftAt === null && firstOfRun) {
155
+ lastPrevious.leftAt = firstOfRun.enteredAt;
156
+ }
157
+ const merged = [...previousRuns, ...thisRun];
158
+ const cap = routeHistorySize();
159
+ sampled.set(deviceKey, merged.length > cap ? merged.slice(merged.length - cap) : merged);
160
+ }
161
+ export function recordSampledRoute(deviceKey, route, epoch, now) {
162
+ if (!route)
163
+ return;
164
+ const visits = sampled.get(deviceKey) ?? [];
165
+ const open = visits[visits.length - 1];
166
+ if (open && open.leftAt === null) {
167
+ if (open.route === route && open.epoch === epoch)
168
+ return;
169
+ open.leftAt = now;
170
+ visits.push({
171
+ route,
172
+ from: open.epoch === epoch ? open.route : null,
173
+ enteredAt: now,
174
+ leftAt: null,
175
+ epoch
176
+ });
177
+ }
178
+ else {
179
+ visits.push({ route, from: null, enteredAt: now, leftAt: null, epoch });
180
+ }
181
+ const cap = routeHistorySize();
182
+ if (visits.length > cap)
183
+ visits.splice(0, visits.length - cap);
184
+ sampled.set(deviceKey, visits);
185
+ }
186
+ //# sourceMappingURL=routeHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routeHistory.js","sourceRoot":"","sources":["../../src/core/routeHistory.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,6 @@ export declare function getScreenLayout(options?: {
31
31
  device?: string;
32
32
  raw?: boolean;
33
33
  timeoutMs?: number;
34
- /** Top inset for screen-space normalisation. Omit for raw fiber coordinates. */
35
34
  screenSpace?: ScreenSpaceMetrics;
36
35
  }): Promise<ExecutionResult & {
37
36
  parsedElements?: ScreenElement[];
@@ -42,15 +41,5 @@ export declare function getScreenLayout(options?: {
42
41
  offScreenBelow?: string[];
43
42
  offScreenAbove?: string[];
44
43
  }>;
45
- /**
46
- * Enrich screen layout data with tap-ready pixel coordinates for bundling with screenshots.
47
- * Converts points/dp frame coordinates to pixels using the device pixel ratio,
48
- * computes center-point tapX/tapY for each element.
49
- *
50
- * @param pixelRatio - device pixel ratio (e.g., 3 for @3x iPhone)
51
- * @param screenshotScaleFactor - if the screenshot image was scaled down, this factor adjusts coordinates
52
- * @param device - optional target device name
53
- * @returns formatted tree string with pixel coordinates, or null if unavailable
54
- */
55
44
  export declare function enrichScreenshotWithLayout(pixelRatio: number, screenshotScaleFactor: number, device?: string, safeAreaTopPoints?: number): Promise<string | null>;
56
45
  //# sourceMappingURL=screenLayout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screenLayout.d.ts","sourceRoot":"","sources":["../../src/core/screenLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM1F;AAMD,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAyND,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,aAAa,EAAE,EACzB,QAAQ,GAAE,OAAe,EACzB,SAAS,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACrE,MAAM,CAuCR;AAYD,wBAAsB,eAAe,CACjC,OAAO,GAAE;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC/B,GACP,OAAO,CAAC,eAAe,GAAG;IACzB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC,CAglBD;AA0CD;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC5C,UAAU,EAAE,MAAM,EAClB,qBAAqB,EAAE,MAAM,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,GAAE,MAAU,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmDxB"}
1
+ {"version":3,"file":"screenLayout.d.ts","sourceRoot":"","sources":["../../src/core/screenLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM1F;AAMD,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAyND,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,aAAa,EAAE,EACzB,QAAQ,GAAE,OAAe,EACzB,SAAS,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACrE,MAAM,CAuCR;AAYD,wBAAsB,eAAe,CACjC,OAAO,GAAE;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC/B,GACP,OAAO,CAAC,eAAe,GAAG;IACzB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC,CAglBD;AAoDD,wBAAsB,0BAA0B,CAC5C,UAAU,EAAE,MAAM,EAClB,qBAAqB,EAAE,MAAM,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,GAAE,MAAU,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmDxB"}
@@ -8,16 +8,8 @@ export function formatSummaryCompact(components, total) {
8
8
  }
9
9
  return lines.join("\n");
10
10
  }
11
- /**
12
- * Classify each root as "screen" or "overlay".
13
- *
14
- * A root is a **screen** if its subtree contains a navigation screen marker
15
- * (Route(...), *Screen, *Page). Falls back to the largest root by area
16
- * if no navigation markers are found. Everything else is an overlay.
17
- */
18
11
  function classifyRoots(roots, elements, childrenMap) {
19
12
  const labels = [];
20
- // Navigation screen markers: Route(...) wrapper or user-defined *Screen/*Page
21
13
  const screenMarker = /^(Route\(|.*Screen\(|.*Page\(|.*Screen$|.*Page$)/;
22
14
  function subtreeHasScreen(idx, depth) {
23
15
  if (depth > 30)
@@ -33,7 +25,6 @@ function classifyRoots(roots, elements, childrenMap) {
33
25
  }
34
26
  return false;
35
27
  }
36
- // First pass: check which roots contain a navigation screen
37
28
  const hasScreen = roots.map(ri => subtreeHasScreen(ri, 0));
38
29
  const anyScreenFound = hasScreen.some(Boolean);
39
30
  if (anyScreenFound) {
@@ -42,7 +33,6 @@ function classifyRoots(roots, elements, childrenMap) {
42
33
  }
43
34
  }
44
35
  else {
45
- // Fallback: largest root by area is the screen
46
36
  let maxArea = 0;
47
37
  let maxIdx = 0;
48
38
  for (let i = 0; i < roots.length; i++) {
@@ -58,25 +48,13 @@ function classifyRoots(roots, elements, childrenMap) {
58
48
  }
59
49
  return { labels, hasOverlays: labels.some(l => l === "overlay") };
60
50
  }
61
- /**
62
- * Build, collapse, classify, and render a layout tree.
63
- *
64
- * Shared by both get_screen_layout (points, no tap coords) and
65
- * the screenshot layout enrichment (pixels, with tap coords).
66
- *
67
- * @param elements - flat list of layout nodes with parentIndex linkage
68
- * @param renderLine - callback that produces the output line for a node,
69
- * given (element, indent level, whether it's a leaf)
70
- */
71
51
  function formatLayoutTree(elements, renderLine) {
72
- // Build index: originalIndex -> element index in the filtered array
73
52
  const indexMap = new Map();
74
53
  for (let i = 0; i < elements.length; i++) {
75
54
  if (elements[i].originalIndex !== undefined) {
76
55
  indexMap.set(elements[i].originalIndex, i);
77
56
  }
78
57
  }
79
- // Build children lists
80
58
  const children = new Map();
81
59
  const roots = [];
82
60
  for (let i = 0; i < elements.length; i++) {
@@ -92,8 +70,6 @@ function formatLayoutTree(elements, renderLine) {
92
70
  children.get(parentIdx).push(i);
93
71
  }
94
72
  }
95
- // Collapse wrapper chains: if a child has the same frame as its parent,
96
- // it's just a wrapper — promote its children and text to the parent
97
73
  function sameFrame(a, b) {
98
74
  if (!a.frame || !b.frame)
99
75
  return false;
@@ -137,7 +113,6 @@ function formatLayoutTree(elements, renderLine) {
137
113
  for (const root of roots) {
138
114
  collapseNode(root);
139
115
  }
140
- // Render tree
141
116
  const lines = [];
142
117
  function printNode(idx, indent, parent) {
143
118
  const isLeaf = !children.has(idx);
@@ -149,7 +124,6 @@ function formatLayoutTree(elements, renderLine) {
149
124
  }
150
125
  }
151
126
  }
152
- // Classify roots and emit layer headers
153
127
  const { labels, hasOverlays } = classifyRoots(roots, elements, children);
154
128
  if (hasOverlays) {
155
129
  let prevLabel = "";
@@ -171,10 +145,6 @@ function formatLayoutTree(elements, renderLine) {
171
145
  }
172
146
  return lines.join("\n");
173
147
  }
174
- /**
175
- * Compute per-side overflow of a child frame relative to its parent.
176
- * Returns null if neither has a frame, or overflow is within 1pt of rounding noise.
177
- */
178
148
  function computeOverflow(child, parent) {
179
149
  if (!child.frame || !parent.frame)
180
150
  return null;
@@ -259,7 +229,6 @@ export async function getScreenLayout(options = {}) {
259
229
  const maxDepth = 5000;
260
230
  const componentsOnly = true;
261
231
  const shortPath = true;
262
- // --- Step 1: walk fiber tree + dispatch measureInWindow calls ---
263
232
  const dispatchExpression = `
264
233
  (function() {
265
234
  var hook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -491,11 +460,7 @@ export async function getScreenLayout(options = {}) {
491
460
  dispatchError = parsed.error;
492
461
  }
493
462
  catch {
494
- /* ignore */
495
463
  }
496
- // Retry once on the early-startup race where the React DevTools hook
497
- // isn't registered yet. Production / non-__DEV__ builds will still fail
498
- // after the retry — surface an actionable error pointing at OCR/screenshot.
499
464
  if (dispatchError && /React DevTools hook not found/.test(dispatchError)) {
500
465
  await delay(400);
501
466
  dispatchResult = await executeInApp(dispatchExpression, false, { timeoutMs: timeoutMs ?? 30000, originatingToolName: "get_screen_layout" }, device);
@@ -508,7 +473,6 @@ export async function getScreenLayout(options = {}) {
508
473
  dispatchError = parsed.error;
509
474
  }
510
475
  catch {
511
- /* ignore */
512
476
  }
513
477
  if (dispatchError && /React DevTools hook not found/.test(dispatchError)) {
514
478
  return {
@@ -521,9 +485,7 @@ export async function getScreenLayout(options = {}) {
521
485
  }
522
486
  if (dispatchError)
523
487
  return { success: false, error: dispatchError };
524
- // Wait for measureInWindow callbacks
525
488
  await delay(300);
526
- // --- Step 2: read measurements, filter visible, build results ---
527
489
  const resolveExpression = `
528
490
  (function() {
529
491
  var fibers = globalThis.__layoutFibers;
@@ -811,12 +773,10 @@ export async function getScreenLayout(options = {}) {
811
773
  })()
812
774
  `;
813
775
  const result = await executeInApp(resolveExpression, false, { timeoutMs: timeoutMs ?? 30000, originatingToolName: "get_screen_layout" }, device);
814
- // Format output as tree
815
776
  if (result.success && result.result) {
816
777
  try {
817
778
  const parsed = JSON.parse(result.result);
818
779
  if (parsed.components) {
819
- // Summary mode
820
780
  const compact = formatSummaryCompact(parsed.components, parsed.totalElements);
821
781
  return { success: true, result: compact };
822
782
  }
@@ -839,15 +799,10 @@ export async function getScreenLayout(options = {}) {
839
799
  }
840
800
  }
841
801
  catch {
842
- // If parsing fails, return original result
843
802
  }
844
803
  }
845
804
  return result;
846
805
  }
847
- /**
848
- * Format enriched elements as an indented tree with tap coordinates in pixels.
849
- * Same tree structure as get_screen_layout but with tap:(x,y) per node.
850
- */
851
806
  function formatEnrichedLayoutTree(elements, offScreen) {
852
807
  const tree = formatLayoutTree(elements, (el, indent, isLeaf, _parent) => {
853
808
  const prefix = " ".repeat(indent);
@@ -867,16 +822,6 @@ function formatEnrichedLayoutTree(elements, offScreen) {
867
822
  }
868
823
  return suffix.length > 0 ? `${tree}\n\n${suffix.join("\n")}` : tree;
869
824
  }
870
- /**
871
- * Enrich screen layout data with tap-ready pixel coordinates for bundling with screenshots.
872
- * Converts points/dp frame coordinates to pixels using the device pixel ratio,
873
- * computes center-point tapX/tapY for each element.
874
- *
875
- * @param pixelRatio - device pixel ratio (e.g., 3 for @3x iPhone)
876
- * @param screenshotScaleFactor - if the screenshot image was scaled down, this factor adjusts coordinates
877
- * @param device - optional target device name
878
- * @returns formatted tree string with pixel coordinates, or null if unavailable
879
- */
880
825
  export async function enrichScreenshotWithLayout(pixelRatio, screenshotScaleFactor, device, safeAreaTopPoints = 0) {
881
826
  try {
882
827
  const result = await getScreenLayout({ extended: false, summary: false, device, raw: true });
@@ -884,10 +829,6 @@ export async function enrichScreenshotWithLayout(pixelRatio, screenshotScaleFact
884
829
  return null;
885
830
  const elements = result.parsedElements.map((el) => {
886
831
  const frame = el.frame || { x: 0, y: 0, width: 0, height: 0 };
887
- // React-native-screens modal/sheet presentations on iOS cause measureInWindow to return y
888
- // relative to the screen's content origin (below safe-area inset), not the window origin.
889
- // An element whose center y sits inside the safe-area band is physically impossible for a
890
- // visible interactive target — treat that as a sign of the shifted space and add the inset.
891
832
  const centerXPoints = frame.x + frame.width / 2;
892
833
  let centerYPoints = frame.y + frame.height / 2;
893
834
  let yPoints = frame.y;
@@ -922,7 +863,7 @@ export async function enrichScreenshotWithLayout(pixelRatio, screenshotScaleFact
922
863
  });
923
864
  }
924
865
  catch {
925
- return null; // Non-fatal: screenshot works without layout
866
+ return null;
926
867
  }
927
868
  }
928
869
  //# sourceMappingURL=screenLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"screenLayout.js","sourceRoot":"","sources":["../../src/core/screenLayout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenLayout.js","sourceRoot":"","sources":["../../src/core/screenLayout.ts"],"names":[],"mappings":"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"}
@@ -1,103 +1,19 @@
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
1
  export interface ScreenSpaceMetrics {
23
2
  platform: "ios" | "android";
24
- /** iOS: safe-area top in points. Android: status bar height in dp. 0 disables shifting. */
25
3
  topInset: number;
26
- /**
27
- * Points (iOS) / dp (Android) -> delivered-screenshot pixels, the canonical unit
28
- * every tool reads and writes. Omitted or 1 means "unknown" and leaves coordinates
29
- * in point space — the pre-unification behaviour, and the safe degradation when a
30
- * device cannot be measured.
31
- */
32
4
  pixelScale?: number;
33
5
  }
34
- /**
35
- * API image cap. A capture wider or taller than this is downscaled before delivery, so
36
- * it is part of the coordinate contract, not just a transport detail: the pixels an
37
- * agent reads off the returned image are post-downscale.
38
- */
39
6
  export declare const SCREENSHOT_MAX_DIMENSION = 2000;
40
- /**
41
- * Downscale a capture of these *device-pixel* dimensions will receive on delivery.
42
- * Mirrors the resize in `iosScreenshot`/`androidScreenshot`; both derive their own
43
- * factor the same way, and this is the copy the layout tools predict it with.
44
- */
45
7
  export declare function computeDeliveredDownscale(pixelWidth: number, pixelHeight: number): number;
46
- /**
47
- * points/dp -> delivered-screenshot pixels, given the device's scale (iOS DPR, Android
48
- * density/160) and its point/dp screen size.
49
- *
50
- * Note this collapses to `SCREENSHOT_MAX_DIMENSION / longestPointDimension` whenever the
51
- * raw capture overflows the cap — the device scale cancels out — which is why the factor
52
- * is stable per device rather than per capture.
53
- */
54
8
  export declare function computePixelScale(deviceScale: number, pointWidth: number, pointHeight: number): number;
55
- /**
56
- * Fiber-space y -> screen-space y.
57
- *
58
- * The iOS rule is a heuristic: nothing in the fiber tree says "I am inside a modal
59
- * presentation", and the inset is only knowable natively. An element measuring *above*
60
- * the safe-area top is the signal — on a normal screen that band is occupied by the
61
- * status bar and holds no app content. This is the same rule the screenshot formatters
62
- * already shipped; it is centralised here rather than made more clever, so the pixel
63
- * output that users have been reading stays byte-identical.
64
- */
65
9
  export declare function toScreenSpaceY(y: number, m: ScreenSpaceMetrics): number;
66
- /** Screen-space y -> fiber-space y. Inverse of {@link toScreenSpaceY}. */
67
10
  export declare function fromScreenSpaceY(y: number, m: ScreenSpaceMetrics): number;
68
- /**
69
- * Source for the injected walkers, which run inside Hermes and cannot import.
70
- * Emitted as a plain function so the in-app hit-test normalises measurements the same
71
- * way the Node side does — a second copy of this rule is exactly what caused the drift.
72
- */
73
11
  export declare const SCREEN_SPACE_HELPER_JS: string;
74
- /**
75
- * A warning line when the device scale could not be resolved, or "" when it could.
76
- *
77
- * Without this the degradation is silent and dangerous in one specific way: the tools
78
- * emit point-space coordinates while tap() still expects delivered pixels, which is the
79
- * original defect wearing a different hat. Saying so lets the caller fall back to
80
- * screenshot coordinates instead of tapping the wrong place.
81
- */
82
12
  export declare function unresolvedScaleNote(m: ScreenSpaceMetrics): string;
83
- /**
84
- * Fiber-space y (points/dp) -> canonical delivered-screenshot pixels.
85
- *
86
- * Order matters: `topInset` is a point-space quantity, so the inset shift has to happen
87
- * before the scale, not after.
88
- */
89
13
  export declare function toDeliveredPxY(y: number, m: ScreenSpaceMetrics): number;
90
- /** Fiber-space x -> delivered pixels. No horizontal inset exists on either platform. */
91
14
  export declare function toDeliveredPxX(x: number, m: ScreenSpaceMetrics): number;
92
- /** A length (width/height) in points/dp -> delivered pixels. Unaffected by the inset. */
93
15
  export declare function toDeliveredPxLength(v: number, m: ScreenSpaceMetrics): number;
94
- /**
95
- * Delivered pixels -> fiber space. Inverse of {@link toDeliveredPxY}, for tools that
96
- * take a caller-supplied coordinate (inspect_at_point) and must hit-test against raw
97
- * `measureInWindow` output.
98
- */
99
16
  export declare function fromDeliveredPxY(y: number, m: ScreenSpaceMetrics): number;
100
- /** Delivered pixels -> fiber-space x. */
101
17
  export declare function fromDeliveredPxX(x: number, m: ScreenSpaceMetrics): number;
102
18
  interface Box {
103
19
  center: {
@@ -111,13 +27,6 @@ interface Box {
111
27
  height: number;
112
28
  };
113
29
  }
114
- /**
115
- * Return a copy of a **screen-space** state with every box in delivered pixels.
116
- *
117
- * For consumers that hit-test a caller-supplied coordinate against the state itself
118
- * rather than just formatting it — the coordinate arrives in delivered pixels, so the
119
- * geometry has to meet it there. Compose after {@link screenStateToScreenSpace}.
120
- */
121
30
  export declare function screenStateToDeliveredPx<T extends {
122
31
  pressables: Box[];
123
32
  texts: Box[];
@@ -128,16 +37,6 @@ export declare function screenStateToDeliveredPx<T extends {
128
37
  images?: Box[];
129
38
  }[];
130
39
  }>(ss: T, m: ScreenSpaceMetrics): T;
131
- /**
132
- * Converter mapping an item **already in screen space** into canonical delivered pixels.
133
- *
134
- * Deliberately pure scale, with no inset term: every caller runs its state through
135
- * {@link screenStateToScreenSpace} first, so re-applying the shift here would move each
136
- * coordinate by a second `topInset`. This converter is the single argument that used to
137
- * differ between the screenshot tools (which passed a real one) and get_screen_state
138
- * (which passed none and so emitted raw points). Structurally an `ItemCoordConverter`;
139
- * typed locally to keep this module import-free.
140
- */
141
40
  export declare function pxScaleConverter(m: ScreenSpaceMetrics): (item: Box) => {
142
41
  center: {
143
42
  x: number;
@@ -150,12 +49,6 @@ export declare function pxScaleConverter(m: ScreenSpaceMetrics): (item: Box) =>
150
49
  height: number;
151
50
  };
152
51
  };
153
- /**
154
- * Return a copy of a screen state with every y in screen space.
155
- *
156
- * Only y moves — no horizontal inset exists on either platform — and height is untouched,
157
- * because the shift translates a box rather than resizing it.
158
- */
159
52
  export declare function screenStateToScreenSpace<T extends {
160
53
  pressables: Box[];
161
54
  texts: Box[];