execbro 1.11.1 → 2.1.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 (302) hide show
  1. package/README.md +4 -4
  2. package/build/__tests__/unit/appContext.test.d.ts +2 -0
  3. package/build/__tests__/unit/appContext.test.d.ts.map +1 -0
  4. package/build/__tests__/unit/appContext.test.js +70 -0
  5. package/build/__tests__/unit/appContext.test.js.map +1 -0
  6. package/build/__tests__/unit/appRequest.test.d.ts +2 -0
  7. package/build/__tests__/unit/appRequest.test.d.ts.map +1 -0
  8. package/build/__tests__/unit/appRequest.test.js +179 -0
  9. package/build/__tests__/unit/appRequest.test.js.map +1 -0
  10. package/build/__tests__/unit/contextWiring.test.d.ts +2 -0
  11. package/build/__tests__/unit/contextWiring.test.d.ts.map +1 -0
  12. package/build/__tests__/unit/contextWiring.test.js +28 -0
  13. package/build/__tests__/unit/contextWiring.test.js.map +1 -0
  14. package/build/__tests__/unit/coordinateMiss.test.d.ts +2 -0
  15. package/build/__tests__/unit/coordinateMiss.test.d.ts.map +1 -0
  16. package/build/__tests__/unit/coordinateMiss.test.js +111 -0
  17. package/build/__tests__/unit/coordinateMiss.test.js.map +1 -0
  18. package/build/__tests__/unit/deviceResolverStaleRetry.test.d.ts +2 -0
  19. package/build/__tests__/unit/deviceResolverStaleRetry.test.d.ts.map +1 -0
  20. package/build/__tests__/unit/deviceResolverStaleRetry.test.js +69 -0
  21. package/build/__tests__/unit/deviceResolverStaleRetry.test.js.map +1 -0
  22. package/build/__tests__/unit/epochRender.test.d.ts +2 -0
  23. package/build/__tests__/unit/epochRender.test.d.ts.map +1 -0
  24. package/build/__tests__/unit/epochRender.test.js +60 -0
  25. package/build/__tests__/unit/epochRender.test.js.map +1 -0
  26. package/build/__tests__/unit/executeBudget.test.d.ts +2 -0
  27. package/build/__tests__/unit/executeBudget.test.d.ts.map +1 -0
  28. package/build/__tests__/unit/executeBudget.test.js +27 -0
  29. package/build/__tests__/unit/executeBudget.test.js.map +1 -0
  30. package/build/__tests__/unit/executor.test.js +48 -6
  31. package/build/__tests__/unit/executor.test.js.map +1 -1
  32. package/build/__tests__/unit/findElementTreeReuse.test.d.ts +2 -0
  33. package/build/__tests__/unit/findElementTreeReuse.test.d.ts.map +1 -0
  34. package/build/__tests__/unit/findElementTreeReuse.test.js +77 -0
  35. package/build/__tests__/unit/findElementTreeReuse.test.js.map +1 -0
  36. package/build/__tests__/unit/getLogsEmptyContract.test.js +4 -3
  37. package/build/__tests__/unit/getLogsEmptyContract.test.js.map +1 -1
  38. package/build/__tests__/unit/getLogsNativeSource.test.js +7 -8
  39. package/build/__tests__/unit/getLogsNativeSource.test.js.map +1 -1
  40. package/build/__tests__/unit/inspectorHarvest.test.js +1 -21
  41. package/build/__tests__/unit/inspectorHarvest.test.js.map +1 -1
  42. package/build/__tests__/unit/inspectorSource.test.js +1 -38
  43. package/build/__tests__/unit/inspectorSource.test.js.map +1 -1
  44. package/build/__tests__/unit/jsLogEvents.test.js +1 -0
  45. package/build/__tests__/unit/jsLogEvents.test.js.map +1 -1
  46. package/build/__tests__/unit/logBufferEpoch.test.d.ts +2 -0
  47. package/build/__tests__/unit/logBufferEpoch.test.d.ts.map +1 -0
  48. package/build/__tests__/unit/logBufferEpoch.test.js +63 -0
  49. package/build/__tests__/unit/logBufferEpoch.test.js.map +1 -0
  50. package/build/__tests__/unit/metro.test.js +18 -1
  51. package/build/__tests__/unit/metro.test.js.map +1 -1
  52. package/build/__tests__/unit/moduleRegistry.test.d.ts +2 -0
  53. package/build/__tests__/unit/moduleRegistry.test.d.ts.map +1 -0
  54. package/build/__tests__/unit/moduleRegistry.test.js +62 -0
  55. package/build/__tests__/unit/moduleRegistry.test.js.map +1 -0
  56. package/build/__tests__/unit/navigateVerify.test.d.ts +2 -0
  57. package/build/__tests__/unit/navigateVerify.test.d.ts.map +1 -0
  58. package/build/__tests__/unit/navigateVerify.test.js +30 -0
  59. package/build/__tests__/unit/navigateVerify.test.js.map +1 -0
  60. package/build/__tests__/unit/navigation.test.d.ts +2 -0
  61. package/build/__tests__/unit/navigation.test.d.ts.map +1 -0
  62. package/build/__tests__/unit/navigation.test.js +254 -0
  63. package/build/__tests__/unit/navigation.test.js.map +1 -0
  64. package/build/__tests__/unit/network.test.js +1 -0
  65. package/build/__tests__/unit/network.test.js.map +1 -1
  66. package/build/__tests__/unit/networkBufferEpoch.test.d.ts +2 -0
  67. package/build/__tests__/unit/networkBufferEpoch.test.d.ts.map +1 -0
  68. package/build/__tests__/unit/networkBufferEpoch.test.js +52 -0
  69. package/build/__tests__/unit/networkBufferEpoch.test.js.map +1 -0
  70. package/build/__tests__/unit/networkInterceptor.test.js +7 -7
  71. package/build/__tests__/unit/networkInterceptor.test.js.map +1 -1
  72. package/build/__tests__/unit/promiseHandles.test.d.ts +2 -0
  73. package/build/__tests__/unit/promiseHandles.test.d.ts.map +1 -0
  74. package/build/__tests__/unit/promiseHandles.test.js +61 -0
  75. package/build/__tests__/unit/promiseHandles.test.js.map +1 -0
  76. package/build/__tests__/unit/resolveBufferOffline.test.d.ts +2 -0
  77. package/build/__tests__/unit/resolveBufferOffline.test.d.ts.map +1 -0
  78. package/build/__tests__/unit/resolveBufferOffline.test.js +25 -0
  79. package/build/__tests__/unit/resolveBufferOffline.test.js.map +1 -0
  80. package/build/__tests__/unit/sdkMirrorPoller.test.d.ts +2 -0
  81. package/build/__tests__/unit/sdkMirrorPoller.test.d.ts.map +1 -0
  82. package/build/__tests__/unit/sdkMirrorPoller.test.js +118 -0
  83. package/build/__tests__/unit/sdkMirrorPoller.test.js.map +1 -0
  84. package/build/__tests__/unit/sessionEpoch.test.d.ts +2 -0
  85. package/build/__tests__/unit/sessionEpoch.test.d.ts.map +1 -0
  86. package/build/__tests__/unit/sessionEpoch.test.js +41 -0
  87. package/build/__tests__/unit/sessionEpoch.test.js.map +1 -0
  88. package/build/__tests__/unit/settleAndDiff.test.d.ts +2 -0
  89. package/build/__tests__/unit/settleAndDiff.test.d.ts.map +1 -0
  90. package/build/__tests__/unit/settleAndDiff.test.js +110 -0
  91. package/build/__tests__/unit/settleAndDiff.test.js.map +1 -0
  92. package/build/__tests__/unit/truncate.test.d.ts +2 -0
  93. package/build/__tests__/unit/truncate.test.d.ts.map +1 -0
  94. package/build/__tests__/unit/truncate.test.js +58 -0
  95. package/build/__tests__/unit/truncate.test.js.map +1 -0
  96. package/build/__tests__/unit/verifyAction.test.js +2 -1
  97. package/build/__tests__/unit/verifyAction.test.js.map +1 -1
  98. package/build/__tests__/unit/waitForMeasurements.test.d.ts +2 -0
  99. package/build/__tests__/unit/waitForMeasurements.test.d.ts.map +1 -0
  100. package/build/__tests__/unit/waitForMeasurements.test.js +69 -0
  101. package/build/__tests__/unit/waitForMeasurements.test.js.map +1 -0
  102. package/build/core/android.d.ts +3 -1
  103. package/build/core/android.d.ts.map +1 -1
  104. package/build/core/android.js +5 -5
  105. package/build/core/android.js.map +1 -1
  106. package/build/core/appContext.d.ts +53 -0
  107. package/build/core/appContext.d.ts.map +1 -0
  108. package/build/core/appContext.js +172 -0
  109. package/build/core/appContext.js.map +1 -0
  110. package/build/core/appRequest.d.ts +21 -0
  111. package/build/core/appRequest.d.ts.map +1 -0
  112. package/build/core/appRequest.js +95 -0
  113. package/build/core/appRequest.js.map +1 -0
  114. package/build/core/bufferConfig.d.ts +5 -0
  115. package/build/core/bufferConfig.d.ts.map +1 -0
  116. package/build/core/bufferConfig.js +20 -0
  117. package/build/core/bufferConfig.js.map +1 -0
  118. package/build/core/connection.d.ts.map +1 -1
  119. package/build/core/connection.js +29 -9
  120. package/build/core/connection.js.map +1 -1
  121. package/build/core/debugGlobals.d.ts.map +1 -1
  122. package/build/core/debugGlobals.js +13 -0
  123. package/build/core/debugGlobals.js.map +1 -1
  124. package/build/core/deviceDiscovery.d.ts +5 -1
  125. package/build/core/deviceDiscovery.d.ts.map +1 -1
  126. package/build/core/deviceDiscovery.js +13 -2
  127. package/build/core/deviceDiscovery.js.map +1 -1
  128. package/build/core/deviceResolver.d.ts.map +1 -1
  129. package/build/core/deviceResolver.js +17 -2
  130. package/build/core/deviceResolver.js.map +1 -1
  131. package/build/core/epochRender.d.ts +19 -0
  132. package/build/core/epochRender.d.ts.map +1 -0
  133. package/build/core/epochRender.js +38 -0
  134. package/build/core/epochRender.js.map +1 -0
  135. package/build/core/guides.d.ts.map +1 -1
  136. package/build/core/guides.js +36 -91
  137. package/build/core/guides.js.map +1 -1
  138. package/build/core/index.d.ts +2 -3
  139. package/build/core/index.d.ts.map +1 -1
  140. package/build/core/index.js +4 -4
  141. package/build/core/index.js.map +1 -1
  142. package/build/core/inspector.d.ts +0 -39
  143. package/build/core/inspector.d.ts.map +1 -1
  144. package/build/core/inspector.js +1 -358
  145. package/build/core/inspector.js.map +1 -1
  146. package/build/core/ios.d.ts +14 -3
  147. package/build/core/ios.d.ts.map +1 -1
  148. package/build/core/ios.js +41 -17
  149. package/build/core/ios.js.map +1 -1
  150. package/build/core/jsExecute.d.ts +15 -0
  151. package/build/core/jsExecute.d.ts.map +1 -1
  152. package/build/core/jsExecute.js +136 -29
  153. package/build/core/jsExecute.js.map +1 -1
  154. package/build/core/logs.d.ts +12 -3
  155. package/build/core/logs.d.ts.map +1 -1
  156. package/build/core/logs.js +28 -5
  157. package/build/core/logs.js.map +1 -1
  158. package/build/core/metro.d.ts +2 -0
  159. package/build/core/metro.d.ts.map +1 -1
  160. package/build/core/metro.js +16 -8
  161. package/build/core/metro.js.map +1 -1
  162. package/build/core/moduleRegistry.d.ts +19 -0
  163. package/build/core/moduleRegistry.d.ts.map +1 -0
  164. package/build/core/moduleRegistry.js +67 -0
  165. package/build/core/moduleRegistry.js.map +1 -0
  166. package/build/core/nativeOnlyHints.d.ts.map +1 -1
  167. package/build/core/nativeOnlyHints.js +0 -2
  168. package/build/core/nativeOnlyHints.js.map +1 -1
  169. package/build/core/navigate.d.ts +46 -0
  170. package/build/core/navigate.d.ts.map +1 -0
  171. package/build/core/navigate.js +119 -0
  172. package/build/core/navigate.js.map +1 -0
  173. package/build/core/navigation.d.ts +66 -0
  174. package/build/core/navigation.d.ts.map +1 -0
  175. package/build/core/navigation.js +269 -0
  176. package/build/core/navigation.js.map +1 -0
  177. package/build/core/network.d.ts +12 -2
  178. package/build/core/network.d.ts.map +1 -1
  179. package/build/core/network.js +52 -12
  180. package/build/core/network.js.map +1 -1
  181. package/build/core/networkInterceptor.d.ts +1 -1
  182. package/build/core/networkInterceptor.d.ts.map +1 -1
  183. package/build/core/networkInterceptor.js +3 -2
  184. package/build/core/networkInterceptor.js.map +1 -1
  185. package/build/core/pressables.d.ts +33 -0
  186. package/build/core/pressables.d.ts.map +1 -1
  187. package/build/core/pressables.js +73 -4
  188. package/build/core/pressables.js.map +1 -1
  189. package/build/core/promiseHandles.d.ts +19 -0
  190. package/build/core/promiseHandles.d.ts.map +1 -0
  191. package/build/core/promiseHandles.js +58 -0
  192. package/build/core/promiseHandles.js.map +1 -0
  193. package/build/core/register.d.ts.map +1 -1
  194. package/build/core/register.js +1 -4
  195. package/build/core/register.js.map +1 -1
  196. package/build/core/sdkMirrorPoller.d.ts +31 -0
  197. package/build/core/sdkMirrorPoller.d.ts.map +1 -0
  198. package/build/core/sdkMirrorPoller.js +210 -0
  199. package/build/core/sdkMirrorPoller.js.map +1 -0
  200. package/build/core/state.d.ts +14 -0
  201. package/build/core/state.d.ts.map +1 -1
  202. package/build/core/state.js +48 -2
  203. package/build/core/state.js.map +1 -1
  204. package/build/core/toolHelpers.d.ts.map +1 -1
  205. package/build/core/toolHelpers.js +42 -10
  206. package/build/core/toolHelpers.js.map +1 -1
  207. package/build/core/truncate.d.ts +42 -0
  208. package/build/core/truncate.d.ts.map +1 -0
  209. package/build/core/truncate.js +169 -0
  210. package/build/core/truncate.js.map +1 -0
  211. package/build/core/types.d.ts +3 -0
  212. package/build/core/types.d.ts.map +1 -1
  213. package/build/index.d.ts.map +1 -1
  214. package/build/index.js +4 -2
  215. package/build/index.js.map +1 -1
  216. package/build/pro/coordinateMiss.d.ts +55 -0
  217. package/build/pro/coordinateMiss.d.ts.map +1 -0
  218. package/build/pro/coordinateMiss.js +122 -0
  219. package/build/pro/coordinateMiss.js.map +1 -0
  220. package/build/pro/tap.d.ts +8 -0
  221. package/build/pro/tap.d.ts.map +1 -1
  222. package/build/pro/tap.js +99 -11
  223. package/build/pro/tap.js.map +1 -1
  224. package/build/pro/verifyAction.d.ts +43 -2
  225. package/build/pro/verifyAction.d.ts.map +1 -1
  226. package/build/pro/verifyAction.js +95 -36
  227. package/build/pro/verifyAction.js.map +1 -1
  228. package/build/tools/_deviceArg.d.ts +17 -1
  229. package/build/tools/_deviceArg.d.ts.map +1 -1
  230. package/build/tools/_deviceArg.js +17 -1
  231. package/build/tools/_deviceArg.js.map +1 -1
  232. package/build/tools/bundleTools.d.ts.map +1 -1
  233. package/build/tools/bundleTools.js +20 -33
  234. package/build/tools/bundleTools.js.map +1 -1
  235. package/build/tools/componentTools.d.ts.map +1 -1
  236. package/build/tools/componentTools.js +41 -219
  237. package/build/tools/componentTools.js.map +1 -1
  238. package/build/tools/connectionTools.d.ts.map +1 -1
  239. package/build/tools/connectionTools.js +17 -22
  240. package/build/tools/connectionTools.js.map +1 -1
  241. package/build/tools/deviceTools.d.ts.map +1 -1
  242. package/build/tools/deviceTools.js +13 -167
  243. package/build/tools/deviceTools.js.map +1 -1
  244. package/build/tools/executionTools.d.ts.map +1 -1
  245. package/build/tools/executionTools.js +63 -18
  246. package/build/tools/executionTools.js.map +1 -1
  247. package/build/tools/interactionTools.d.ts +6 -0
  248. package/build/tools/interactionTools.d.ts.map +1 -1
  249. package/build/tools/interactionTools.js +41 -56
  250. package/build/tools/interactionTools.js.map +1 -1
  251. package/build/tools/logTools.d.ts.map +1 -1
  252. package/build/tools/logTools.js +61 -80
  253. package/build/tools/logTools.js.map +1 -1
  254. package/build/tools/metaTools.js +1 -1
  255. package/build/tools/metaTools.js.map +1 -1
  256. package/build/tools/navigationTools.d.ts +3 -0
  257. package/build/tools/navigationTools.d.ts.map +1 -0
  258. package/build/tools/navigationTools.js +60 -0
  259. package/build/tools/navigationTools.js.map +1 -0
  260. package/build/tools/networkTools.d.ts.map +1 -1
  261. package/build/tools/networkTools.js +44 -202
  262. package/build/tools/networkTools.js.map +1 -1
  263. package/build/tools/reduxTools.d.ts.map +1 -1
  264. package/build/tools/reduxTools.js +3 -2
  265. package/build/tools/reduxTools.js.map +1 -1
  266. package/build/tools/requestTools.d.ts +3 -0
  267. package/build/tools/requestTools.d.ts.map +1 -0
  268. package/build/tools/requestTools.js +79 -0
  269. package/build/tools/requestTools.js.map +1 -0
  270. package/build/tools/screenshotTools.d.ts.map +1 -1
  271. package/build/tools/screenshotTools.js +42 -25
  272. package/build/tools/screenshotTools.js.map +1 -1
  273. package/package.json +1 -1
  274. package/tools.json +22 -78
  275. package/build/__tests__/unit/flowpoints.test.d.ts +0 -2
  276. package/build/__tests__/unit/flowpoints.test.d.ts.map +0 -1
  277. package/build/__tests__/unit/flowpoints.test.js +0 -126
  278. package/build/__tests__/unit/flowpoints.test.js.map +0 -1
  279. package/build/__tests__/unit/flowpointsQuery.test.d.ts +0 -2
  280. package/build/__tests__/unit/flowpointsQuery.test.d.ts.map +0 -1
  281. package/build/__tests__/unit/flowpointsQuery.test.js +0 -91
  282. package/build/__tests__/unit/flowpointsQuery.test.js.map +0 -1
  283. package/build/__tests__/unit/selectionPoller.test.d.ts +0 -2
  284. package/build/__tests__/unit/selectionPoller.test.d.ts.map +0 -1
  285. package/build/__tests__/unit/selectionPoller.test.js +0 -109
  286. package/build/__tests__/unit/selectionPoller.test.js.map +0 -1
  287. package/build/__tests__/unit/verifyFlow.test.d.ts +0 -2
  288. package/build/__tests__/unit/verifyFlow.test.d.ts.map +0 -1
  289. package/build/__tests__/unit/verifyFlow.test.js +0 -45
  290. package/build/__tests__/unit/verifyFlow.test.js.map +0 -1
  291. package/build/core/selectionPoller.d.ts +0 -13
  292. package/build/core/selectionPoller.d.ts.map +0 -1
  293. package/build/core/selectionPoller.js +0 -102
  294. package/build/core/selectionPoller.js.map +0 -1
  295. package/build/pro/flowpointTools.d.ts +0 -4
  296. package/build/pro/flowpointTools.d.ts.map +0 -1
  297. package/build/pro/flowpointTools.js +0 -266
  298. package/build/pro/flowpointTools.js.map +0 -1
  299. package/build/pro/flowpoints.d.ts +0 -86
  300. package/build/pro/flowpoints.d.ts.map +0 -1
  301. package/build/pro/flowpoints.js +0 -283
  302. package/build/pro/flowpoints.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,9 @@
1
1
  import type { ExecutionResult } from "./types.js";
2
2
  import type { RawComponentStack } from "./componentSource.js";
3
- /**
4
- * Toggle the Element Inspector via DevSettings native module.
5
- * This enables the inspector overlay programmatically.
6
- */
7
- export declare function toggleElementInspector(device?: string): Promise<ExecutionResult>;
8
3
  /**
9
4
  * Check if the Element Inspector overlay is currently active.
10
5
  */
11
6
  export declare function isInspectorActive(device?: string): Promise<boolean>;
12
- /**
13
- * Get the currently selected element from the Element Inspector overlay.
14
- * This reads the InspectorPanel component's props to get the hierarchy, frame, and style.
15
- * Requires the Element Inspector to be enabled and an element to be selected.
16
- */
17
- export declare function getInspectorSelection(device?: string): Promise<ExecutionResult>;
18
- /**
19
- * Resolve the component at (x, y) using RN's built-in Element Inspector.
20
- *
21
- * Strategy: programmatically toggle the inspector overlay on (if needed),
22
- * then call InspectorOverlay.props.onTouchPoint(x, y) directly — bypassing
23
- * the broken adb-tap → PanResponder route on Bridgeless / new-arch RN.
24
- * This populates InspectorPanel with RN's full curated hierarchy, the
25
- * inspected element's frame, and per-component style data (margin, padding,
26
- * border, layout) — exactly what the on-device overlay shows.
27
- *
28
- * Returns the rich hierarchy with style merged from each entry's
29
- * getInspectorData(...).props.style, plus the inspected frame and style.
30
- *
31
- * Auto-hides the overlay after capture so subsequent screenshots stay clean.
32
- */
33
- export declare function getInspectorSelectionAtPoint(x: number, y: number, device?: string): Promise<ExecutionResult>;
34
7
  /**
35
8
  * Inspect the React component at a specific (x, y) coordinate.
36
9
  *
@@ -59,21 +32,9 @@ export declare function inspectAtPoint(x: number, y: number, options?: {
59
32
  * unenriched payload.
60
33
  */
61
34
  export declare function harvestStacksAtPoint(x: number, y: number, device?: string): Promise<RawComponentStack[]>;
62
- /** Same, but derives the point from an inspected element's frame. */
63
- export declare function harvestStacksAtFrame(frame: {
64
- left?: number;
65
- top?: number;
66
- width?: number;
67
- height?: number;
68
- } | null | undefined, device?: string): Promise<RawComponentStack[]>;
69
35
  /**
70
36
  * Attaches source location to an inspector payload. Never throws and never
71
37
  * removes existing fields - a failure adds only a `sourceUnavailable` reason.
72
38
  */
73
39
  export declare function enrichWithSource(payload: Record<string, unknown>, stacks: RawComponentStack[]): Promise<Record<string, unknown>>;
74
- /** Buffered selections, newest first, each with source resolved lazily on read. */
75
- export declare function getSelectionHistory(options: {
76
- device?: string;
77
- limit?: number;
78
- }): Promise<Record<string, unknown>[]>;
79
40
  //# sourceMappingURL=inspector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/core/inspector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAO9D;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAqBtF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAqCzE;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA4ErF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,4BAA4B,CAC9C,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAqN1B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAChC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,GAAE;IACL,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACd,GACP,OAAO,CAAC,eAAe,CAAC,CAiN1B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACtC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAc9B;AAED,qEAAqE;AACrE,wBAAsB,oBAAoB,CACtC,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EAC1F,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAW9B;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUlC;AAED,mFAAmF;AACnF,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAiBrC"}
1
+ {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/core/inspector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAO9D;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAqCzE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAChC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,GAAE;IACL,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACd,GACP,OAAO,CAAC,eAAe,CAAC,CAiN1B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACtC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAc9B;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUlC"}
@@ -1,34 +1,8 @@
1
1
  import { executeInApp } from "./jsExecute.js";
2
2
  import { resolveStacksToSource, buildDebugStackHarvestExpression } from "./componentSource.js";
3
- import { selectionBuffer } from "./selectionBuffer.js";
4
3
  // ============================================================================
5
4
  // Coordinate-Based Element Inspection (via DevTools Inspector API)
6
5
  // ============================================================================
7
- /**
8
- * Toggle the Element Inspector via DevSettings native module.
9
- * This enables the inspector overlay programmatically.
10
- */
11
- export async function toggleElementInspector(device) {
12
- const expression = `
13
- (function() {
14
- const ds = globalThis.nativeModuleProxy?.DevSettings;
15
- if (!ds) return { error: 'DevSettings not available' };
16
-
17
- const proto = Object.getPrototypeOf(ds);
18
- if (!proto || typeof proto.toggleElementInspector !== 'function') {
19
- return { error: 'toggleElementInspector not found' };
20
- }
21
-
22
- try {
23
- proto.toggleElementInspector.call(ds);
24
- return { success: true, message: 'Element Inspector toggled' };
25
- } catch (e) {
26
- return { error: 'Failed to toggle: ' + e.message };
27
- }
28
- })()
29
- `;
30
- return executeInApp(expression, false, { originatingToolName: "toggle_element_inspector" }, device);
31
- }
32
6
  /**
33
7
  * Check if the Element Inspector overlay is currently active.
34
8
  */
@@ -69,314 +43,6 @@ export async function isInspectorActive(device) {
69
43
  }
70
44
  return false;
71
45
  }
72
- /**
73
- * Get the currently selected element from the Element Inspector overlay.
74
- * This reads the InspectorPanel component's props to get the hierarchy, frame, and style.
75
- * Requires the Element Inspector to be enabled and an element to be selected.
76
- */
77
- export async function getInspectorSelection(device) {
78
- const expression = `
79
- (function() {
80
- const hook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
81
- if (!hook) return { error: 'React DevTools hook not available.' };
82
-
83
- // Find fiber roots
84
- let roots = [...(hook.getFiberRoots?.(1) || [])];
85
- if (roots.length === 0) {
86
- for (const [id] of (hook.renderers || [])) {
87
- roots = [...(hook.getFiberRoots?.(id) || [])];
88
- if (roots.length > 0) break;
89
- }
90
- }
91
- if (roots.length === 0) return { error: 'No fiber roots found.' };
92
-
93
- // Find all InspectorPanel instances (apps with modals may have multiple)
94
- function findAllPanels(fiber, targetName, depth, results) {
95
- if (!fiber || depth > 5000) return;
96
- const name = fiber.type?.displayName || fiber.type?.name;
97
- if (name === targetName) results.push(fiber);
98
- let child = fiber.child;
99
- while (child) {
100
- findAllPanels(child, targetName, depth + 1, results);
101
- child = child.sibling;
102
- }
103
- }
104
-
105
- const panels = [];
106
- findAllPanels(roots[0].current, 'InspectorPanel', 0, panels);
107
- if (panels.length === 0) {
108
- return {
109
- error: 'Element Inspector is not active.',
110
- hint: 'Use toggle_element_inspector to enable the inspector, then tap an element to select it.'
111
- };
112
- }
113
-
114
- // Prefer the panel that has an active selection
115
- const panelFiber = panels.find(p => p.memoizedProps.hierarchy?.length > 0) || panels[0];
116
- const props = panelFiber.memoizedProps;
117
- if (!props.hierarchy || props.hierarchy.length === 0) {
118
- return {
119
- error: 'No element selected.',
120
- hint: 'Tap on an element in the app to select it for inspection.'
121
- };
122
- }
123
-
124
- // Build the path from hierarchy
125
- const path = props.hierarchy.map(h => h.name).join(' > ');
126
- const element = props.hierarchy[props.hierarchy.length - 1]?.name || 'Unknown';
127
-
128
- // Extract style info
129
- let style = {};
130
- if (props.inspected?.style) {
131
- const styles = Array.isArray(props.inspected.style)
132
- ? props.inspected.style
133
- : [props.inspected.style];
134
- for (const s of styles) {
135
- if (s && typeof s === 'object') {
136
- Object.assign(style, s);
137
- }
138
- }
139
- }
140
-
141
- return {
142
- element,
143
- path,
144
- frame: props.inspected?.frame || null,
145
- style: Object.keys(style).length > 0 ? style : null,
146
- selection: props.selection,
147
- hierarchyLength: props.hierarchy.length
148
- };
149
- })()
150
- `;
151
- return executeInApp(expression, false, { originatingToolName: "get_inspector_selection" }, device);
152
- }
153
- /**
154
- * Resolve the component at (x, y) using RN's built-in Element Inspector.
155
- *
156
- * Strategy: programmatically toggle the inspector overlay on (if needed),
157
- * then call InspectorOverlay.props.onTouchPoint(x, y) directly — bypassing
158
- * the broken adb-tap → PanResponder route on Bridgeless / new-arch RN.
159
- * This populates InspectorPanel with RN's full curated hierarchy, the
160
- * inspected element's frame, and per-component style data (margin, padding,
161
- * border, layout) — exactly what the on-device overlay shows.
162
- *
163
- * Returns the rich hierarchy with style merged from each entry's
164
- * getInspectorData(...).props.style, plus the inspected frame and style.
165
- *
166
- * Auto-hides the overlay after capture so subsequent screenshots stay clean.
167
- */
168
- export async function getInspectorSelectionAtPoint(x, y, device) {
169
- // Step 1: ensure the inspector overlay is mounted (toggle on if currently off).
170
- const setupExpression = `
171
- (function() {
172
- var ds = globalThis.nativeModuleProxy && globalThis.nativeModuleProxy.DevSettings;
173
- if (!ds) return { error: 'DevSettings native module not available.' };
174
- var hook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
175
- if (!hook) return { error: 'React DevTools hook not available. Make sure you are running a development build.' };
176
-
177
- function findOverlays() {
178
- var roots = [];
179
- if (hook.renderers) {
180
- for (var entry of hook.renderers) {
181
- try { roots = roots.concat(Array.from(hook.getFiberRoots(entry[0]) || [])); } catch(e) {}
182
- }
183
- }
184
- var overlays = [];
185
- function walk(f, d) {
186
- if (!f || d > 800) return;
187
- if (f.type && typeof f.type !== 'string' &&
188
- (f.type.displayName || f.type.name) === 'InspectorOverlay') {
189
- overlays.push(f);
190
- }
191
- var c = f.child;
192
- while (c) { walk(c, d + 1); c = c.sibling; }
193
- }
194
- for (var r of roots) { walk(r.current, 0); }
195
- return overlays;
196
- }
197
-
198
- var overlays = findOverlays();
199
- // Two overlays expected when active: one per fiber root (LogBox + app).
200
- var wasActive = overlays.length >= 2;
201
- if (!wasActive) {
202
- var proto = Object.getPrototypeOf(ds);
203
- if (typeof proto.toggleElementInspector !== 'function') {
204
- return { error: 'toggleElementInspector not found on DevSettings.' };
205
- }
206
- proto.toggleElementInspector.call(ds);
207
- }
208
- return { wasActive: wasActive };
209
- })()
210
- `;
211
- const setup = await executeInApp(setupExpression, false, { originatingToolName: "inspect_at_point" }, device);
212
- if (!setup.success)
213
- return setup;
214
- try {
215
- const parsed = JSON.parse(setup.result || "{}");
216
- if (parsed.error)
217
- return { success: false, error: parsed.error };
218
- }
219
- catch {
220
- /* ignore */
221
- }
222
- // Allow the inspector overlay to mount.
223
- await new Promise((resolve) => setTimeout(resolve, 350));
224
- // Step 2: locate the app InspectorOverlay (skip LogBox at index 0) and dispatch onTouchPoint.
225
- const tapExpression = `
226
- (function() {
227
- var hook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
228
- var roots = [];
229
- for (var entry of hook.renderers) {
230
- try { roots = roots.concat(Array.from(hook.getFiberRoots(entry[0]) || [])); } catch(e) {}
231
- }
232
- var overlays = [];
233
- function walk(f, d) {
234
- if (!f || d > 800) return;
235
- if (f.type && typeof f.type !== 'string' &&
236
- (f.type.displayName || f.type.name) === 'InspectorOverlay') {
237
- overlays.push(f);
238
- }
239
- var c = f.child;
240
- while (c) { walk(c, d + 1); c = c.sibling; }
241
- }
242
- for (var r of roots) { walk(r.current, 0); }
243
-
244
- // The LogBox renderer's overlay is mounted first; the app overlay is the last one.
245
- var overlay = overlays[overlays.length - 1];
246
- if (!overlay || !overlay.memoizedProps || typeof overlay.memoizedProps.onTouchPoint !== 'function') {
247
- return { error: 'InspectorOverlay.onTouchPoint unavailable. Inspector may not be mounted.' };
248
- }
249
- try {
250
- overlay.memoizedProps.onTouchPoint(${x}, ${y});
251
- } catch (e) {
252
- return { error: 'onTouchPoint failed: ' + (e && e.message || String(e)) };
253
- }
254
- return { ok: true };
255
- })()
256
- `;
257
- const tap = await executeInApp(tapExpression, false, { originatingToolName: "inspect_at_point" }, device);
258
- if (!tap.success)
259
- return tap;
260
- try {
261
- const parsed = JSON.parse(tap.result || "{}");
262
- if (parsed.error)
263
- return { success: false, error: parsed.error };
264
- }
265
- catch {
266
- /* ignore */
267
- }
268
- // Allow setState/render to propagate before reading panel props.
269
- await new Promise((resolve) => setTimeout(resolve, 250));
270
- // Step 3: read the populated InspectorPanel and shape the response.
271
- const readExpression = `
272
- (function() {
273
- var hook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
274
- var roots = [];
275
- for (var entry of hook.renderers) {
276
- try { roots = roots.concat(Array.from(hook.getFiberRoots(entry[0]) || [])); } catch(e) {}
277
- }
278
- var panels = [];
279
- function walk(f, d) {
280
- if (!f || d > 800) return;
281
- if (f.type && typeof f.type !== 'string' &&
282
- (f.type.displayName || f.type.name) === 'InspectorPanel') {
283
- panels.push(f);
284
- }
285
- var c = f.child;
286
- while (c) { walk(c, d + 1); c = c.sibling; }
287
- }
288
- for (var r of roots) { walk(r.current, 0); }
289
-
290
- var withSel = panels.filter(function(p) {
291
- return p.memoizedProps && p.memoizedProps.hierarchy && p.memoizedProps.hierarchy.length > 0;
292
- });
293
- if (withSel.length === 0) {
294
- return { error: 'Inspector did not select an element at (${x}, ${y}). Coordinates may be outside the app bounds.' };
295
- }
296
- var props = withSel[withSel.length - 1].memoizedProps;
297
-
298
- function flattenStyle(raw) {
299
- if (!raw) return null;
300
- var arr = Array.isArray(raw) ? raw : [raw];
301
- var merged = {};
302
- for (var i = 0; i < arr.length; i++) {
303
- var v = arr[i];
304
- if (v && typeof v === 'object') {
305
- var keys = Object.keys(v);
306
- for (var k = 0; k < keys.length; k++) merged[keys[k]] = v[keys[k]];
307
- }
308
- }
309
- return Object.keys(merged).length > 0 ? merged : null;
310
- }
311
-
312
- var idFn = function(x) { return x; };
313
- // Build hierarchy with style + source per entry; dedupe consecutive duplicates.
314
- var hierarchy = [];
315
- var prevName = null;
316
- for (var i = 0; i < props.hierarchy.length; i++) {
317
- var h = props.hierarchy[i];
318
- var name = h.name;
319
- if (!name || name === prevName) continue;
320
- prevName = name;
321
- var data = h.getInspectorData ? h.getInspectorData(idFn) : null;
322
- var style = data && data.props ? flattenStyle(data.props.style) : null;
323
- var entry = { name: name };
324
- if (style) entry.style = style;
325
- if (data && data.source && data.source.fileName) {
326
- entry.source = data.source.fileName + (data.source.lineNumber ? (':' + data.source.lineNumber) : '');
327
- }
328
- hierarchy.push(entry);
329
- }
330
-
331
- var element = hierarchy.length > 0 ? hierarchy[hierarchy.length - 1].name : 'Unknown';
332
- var path = hierarchy.map(function(e) { return e.name; }).join(' > ') || element;
333
-
334
- return {
335
- element: element,
336
- path: path,
337
- frame: props.inspected ? props.inspected.frame : null,
338
- style: props.inspected ? flattenStyle(props.inspected.style) : null,
339
- hierarchy: hierarchy,
340
- selection: props.selection
341
- };
342
- })()
343
- `;
344
- const readResult = await executeInApp(readExpression, false, { originatingToolName: "inspect_at_point" }, device);
345
- // Step 4: hide the overlay so it doesn't pollute subsequent screenshots.
346
- // We always hide after a successful capture — agents don't manually toggle.
347
- const teardownExpression = `
348
- (function() {
349
- var ds = globalThis.nativeModuleProxy && globalThis.nativeModuleProxy.DevSettings;
350
- if (!ds) return { skipped: true };
351
- var hook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
352
- if (!hook) return { skipped: true };
353
- var roots = [];
354
- for (var entry of hook.renderers) {
355
- try { roots = roots.concat(Array.from(hook.getFiberRoots(entry[0]) || [])); } catch(e) {}
356
- }
357
- var overlays = 0;
358
- function walk(f, d) {
359
- if (!f || d > 800) return;
360
- if (f.type && typeof f.type !== 'string' &&
361
- (f.type.displayName || f.type.name) === 'InspectorOverlay') overlays++;
362
- var c = f.child;
363
- while (c) { walk(c, d + 1); c = c.sibling; }
364
- }
365
- for (var r of roots) { walk(r.current, 0); }
366
- if (overlays >= 2) {
367
- try { Object.getPrototypeOf(ds).toggleElementInspector.call(ds); } catch(e) {}
368
- }
369
- return { ok: true };
370
- })()
371
- `;
372
- try {
373
- await executeInApp(teardownExpression, false, { originatingToolName: "inspect_at_point" }, device);
374
- }
375
- catch {
376
- /* best-effort hide; don't fail the call */
377
- }
378
- return readResult;
379
- }
380
46
  /**
381
47
  * Inspect the React component at a specific (x, y) coordinate.
382
48
  *
@@ -609,7 +275,7 @@ export async function inspectAtPoint(x, y, options = {}) {
609
275
  */
610
276
  export async function harvestStacksAtPoint(x, y, device) {
611
277
  try {
612
- const res = await executeInApp(buildDebugStackHarvestExpression(x, y), true, { timeoutMs: 5000, originatingToolName: "get_inspector_selection" }, device);
278
+ const res = await executeInApp(buildDebugStackHarvestExpression(x, y), true, { timeoutMs: 5000, originatingToolName: "inspect_at_point" }, device);
613
279
  if (!res.success || !res.result)
614
280
  return [];
615
281
  const parsed = JSON.parse(res.result);
@@ -619,17 +285,6 @@ export async function harvestStacksAtPoint(x, y, device) {
619
285
  return [];
620
286
  }
621
287
  }
622
- /** Same, but derives the point from an inspected element's frame. */
623
- export async function harvestStacksAtFrame(frame, device) {
624
- if (!frame ||
625
- frame.left === undefined ||
626
- frame.top === undefined ||
627
- frame.width === undefined ||
628
- frame.height === undefined) {
629
- return [];
630
- }
631
- return harvestStacksAtPoint(frame.left + frame.width / 2, frame.top + frame.height / 2, device);
632
- }
633
288
  /**
634
289
  * Attaches source location to an inspector payload. Never throws and never
635
290
  * removes existing fields - a failure adds only a `sourceUnavailable` reason.
@@ -646,16 +301,4 @@ export async function enrichWithSource(payload, stacks) {
646
301
  return { ...payload, sourceUnavailable: "resolution-failed" };
647
302
  }
648
303
  }
649
- /** Buffered selections, newest first, each with source resolved lazily on read. */
650
- export async function getSelectionHistory(options) {
651
- const entries = selectionBuffer.list({ device: options.device, limit: options.limit ?? 10 });
652
- return Promise.all(entries.map(async (entry) => enrichWithSource({
653
- element: entry.element,
654
- path: entry.path,
655
- frame: entry.frame,
656
- style: entry.style,
657
- device: entry.device,
658
- timestamp: entry.timestamp,
659
- }, entry.stacks)));
660
- }
661
304
  //# sourceMappingURL=inspector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/core/inspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/core/inspector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAI/F,+EAA+E;AAC/E,mEAAmE;AACnE,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAe;IACnD,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6BlB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7G,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,CAAS,EACT,CAAS,EACT,UAII,EAAE;IAEN,MAAM,EAAE,YAAY,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAErE,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAuFS,CAAC;gCACD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmEf,YAAY;;;;kBAIZ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyCzB,CAAC;IAEF,wEAAwE;IACxE,yEAAyE;IACzE,sEAAsE;IACtE,OAAO,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;AAChH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,CAAS,EACT,CAAS,EACT,MAAe;IAEf,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,YAAY,CAC1B,gCAAgC,CAAC,CAAC,EAAE,CAAC,CAAC,EACtC,IAAI,EACJ,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,EAC5D,MAAM,CACT,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAqC,CAAC;QAC1E,OAAO,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,OAAgC,EAChC,MAA2B;IAE3B,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;QAClF,CAAC;QACD,OAAO,EAAE,GAAG,OAAO,EAAE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,IAAI,SAAS,EAAE,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,GAAG,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;IAClE,CAAC;AACL,CAAC"}
@@ -236,10 +236,18 @@ export declare function iosGetUITree(udid?: string): Promise<{
236
236
  rawOutput?: string;
237
237
  error?: string;
238
238
  }>;
239
+ /** A pre-fetched accessibility tree, as returned by iosGetUITree. */
240
+ export type IOSUITree = Awaited<ReturnType<typeof iosGetUITree>>;
239
241
  /**
240
- * Find element(s) in the iOS UI tree matching the given criteria
242
+ * Find element(s) in the iOS UI tree matching the given criteria.
243
+ *
244
+ * `tree` lets a caller reuse an accessibility dump it already has. Each fetch
245
+ * shells out to `axe describe-ui` (~210ms measured 2026-08-01) and the tap
246
+ * strategy runs two or three passes with different predicates, so re-fetching
247
+ * per pass was costing 400-600ms per accessibility tap for a tree that cannot
248
+ * change between passes.
241
249
  */
242
- export declare function iosFindElement(options: IOSFindElementOptions, udid?: string): Promise<IOSFindElementResult>;
250
+ export declare function iosFindElement(options: IOSFindElementOptions, udid?: string, tree?: IOSUITree): Promise<IOSFindElementResult>;
243
251
  /**
244
252
  * Pure calculation: DPR = screenshotPixelWidth / screenPointWidth.
245
253
  * Exported for unit testing.
@@ -250,7 +258,10 @@ export declare function calculateDPR(screenshotPixelWidth: number, screenPointWi
250
258
  * Uses screenshot pixel width vs accessibility root frame width.
251
259
  * Result is cached per UDID for the session.
252
260
  */
253
- export declare function getDevicePixelRatio(udid?: string): Promise<number>;
261
+ export declare function getDevicePixelRatio(udid?: string, pixelDims?: {
262
+ width: number;
263
+ height: number;
264
+ }): Promise<number>;
254
265
  /** Clear DPR cache (for testing or when devices change) */
255
266
  export declare function clearDPRCache(): void;
256
267
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../src/core/ios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../src/core/ios.ts"],"names":[],"mappings":"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"}