execbro 1.11.1 → 2.0.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 (250) 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/epochRender.test.d.ts +2 -0
  15. package/build/__tests__/unit/epochRender.test.d.ts.map +1 -0
  16. package/build/__tests__/unit/epochRender.test.js +60 -0
  17. package/build/__tests__/unit/epochRender.test.js.map +1 -0
  18. package/build/__tests__/unit/executeBudget.test.d.ts +2 -0
  19. package/build/__tests__/unit/executeBudget.test.d.ts.map +1 -0
  20. package/build/__tests__/unit/executeBudget.test.js +27 -0
  21. package/build/__tests__/unit/executeBudget.test.js.map +1 -0
  22. package/build/__tests__/unit/executor.test.js +48 -6
  23. package/build/__tests__/unit/executor.test.js.map +1 -1
  24. package/build/__tests__/unit/getLogsEmptyContract.test.js +4 -3
  25. package/build/__tests__/unit/getLogsEmptyContract.test.js.map +1 -1
  26. package/build/__tests__/unit/getLogsNativeSource.test.js +7 -8
  27. package/build/__tests__/unit/getLogsNativeSource.test.js.map +1 -1
  28. package/build/__tests__/unit/inspectorHarvest.test.js +1 -21
  29. package/build/__tests__/unit/inspectorHarvest.test.js.map +1 -1
  30. package/build/__tests__/unit/inspectorSource.test.js +1 -38
  31. package/build/__tests__/unit/inspectorSource.test.js.map +1 -1
  32. package/build/__tests__/unit/jsLogEvents.test.js +1 -0
  33. package/build/__tests__/unit/jsLogEvents.test.js.map +1 -1
  34. package/build/__tests__/unit/logBufferEpoch.test.d.ts +2 -0
  35. package/build/__tests__/unit/logBufferEpoch.test.d.ts.map +1 -0
  36. package/build/__tests__/unit/logBufferEpoch.test.js +63 -0
  37. package/build/__tests__/unit/logBufferEpoch.test.js.map +1 -0
  38. package/build/__tests__/unit/metro.test.js +18 -1
  39. package/build/__tests__/unit/metro.test.js.map +1 -1
  40. package/build/__tests__/unit/moduleRegistry.test.d.ts +2 -0
  41. package/build/__tests__/unit/moduleRegistry.test.d.ts.map +1 -0
  42. package/build/__tests__/unit/moduleRegistry.test.js +62 -0
  43. package/build/__tests__/unit/moduleRegistry.test.js.map +1 -0
  44. package/build/__tests__/unit/navigateVerify.test.d.ts +2 -0
  45. package/build/__tests__/unit/navigateVerify.test.d.ts.map +1 -0
  46. package/build/__tests__/unit/navigateVerify.test.js +30 -0
  47. package/build/__tests__/unit/navigateVerify.test.js.map +1 -0
  48. package/build/__tests__/unit/navigation.test.d.ts +2 -0
  49. package/build/__tests__/unit/navigation.test.d.ts.map +1 -0
  50. package/build/__tests__/unit/navigation.test.js +254 -0
  51. package/build/__tests__/unit/navigation.test.js.map +1 -0
  52. package/build/__tests__/unit/network.test.js +1 -0
  53. package/build/__tests__/unit/network.test.js.map +1 -1
  54. package/build/__tests__/unit/networkBufferEpoch.test.d.ts +2 -0
  55. package/build/__tests__/unit/networkBufferEpoch.test.d.ts.map +1 -0
  56. package/build/__tests__/unit/networkBufferEpoch.test.js +52 -0
  57. package/build/__tests__/unit/networkBufferEpoch.test.js.map +1 -0
  58. package/build/__tests__/unit/networkInterceptor.test.js +7 -7
  59. package/build/__tests__/unit/networkInterceptor.test.js.map +1 -1
  60. package/build/__tests__/unit/promiseHandles.test.d.ts +2 -0
  61. package/build/__tests__/unit/promiseHandles.test.d.ts.map +1 -0
  62. package/build/__tests__/unit/promiseHandles.test.js +61 -0
  63. package/build/__tests__/unit/promiseHandles.test.js.map +1 -0
  64. package/build/__tests__/unit/resolveBufferOffline.test.d.ts +2 -0
  65. package/build/__tests__/unit/resolveBufferOffline.test.d.ts.map +1 -0
  66. package/build/__tests__/unit/resolveBufferOffline.test.js +25 -0
  67. package/build/__tests__/unit/resolveBufferOffline.test.js.map +1 -0
  68. package/build/__tests__/unit/sdkMirrorPoller.test.d.ts +2 -0
  69. package/build/__tests__/unit/sdkMirrorPoller.test.d.ts.map +1 -0
  70. package/build/__tests__/unit/sdkMirrorPoller.test.js +118 -0
  71. package/build/__tests__/unit/sdkMirrorPoller.test.js.map +1 -0
  72. package/build/__tests__/unit/sessionEpoch.test.d.ts +2 -0
  73. package/build/__tests__/unit/sessionEpoch.test.d.ts.map +1 -0
  74. package/build/__tests__/unit/sessionEpoch.test.js +41 -0
  75. package/build/__tests__/unit/sessionEpoch.test.js.map +1 -0
  76. package/build/__tests__/unit/truncate.test.d.ts +2 -0
  77. package/build/__tests__/unit/truncate.test.d.ts.map +1 -0
  78. package/build/__tests__/unit/truncate.test.js +58 -0
  79. package/build/__tests__/unit/truncate.test.js.map +1 -0
  80. package/build/core/appContext.d.ts +53 -0
  81. package/build/core/appContext.d.ts.map +1 -0
  82. package/build/core/appContext.js +172 -0
  83. package/build/core/appContext.js.map +1 -0
  84. package/build/core/appRequest.d.ts +21 -0
  85. package/build/core/appRequest.d.ts.map +1 -0
  86. package/build/core/appRequest.js +95 -0
  87. package/build/core/appRequest.js.map +1 -0
  88. package/build/core/bufferConfig.d.ts +5 -0
  89. package/build/core/bufferConfig.d.ts.map +1 -0
  90. package/build/core/bufferConfig.js +20 -0
  91. package/build/core/bufferConfig.js.map +1 -0
  92. package/build/core/connection.d.ts.map +1 -1
  93. package/build/core/connection.js +29 -9
  94. package/build/core/connection.js.map +1 -1
  95. package/build/core/debugGlobals.d.ts.map +1 -1
  96. package/build/core/debugGlobals.js +13 -0
  97. package/build/core/debugGlobals.js.map +1 -1
  98. package/build/core/epochRender.d.ts +19 -0
  99. package/build/core/epochRender.d.ts.map +1 -0
  100. package/build/core/epochRender.js +38 -0
  101. package/build/core/epochRender.js.map +1 -0
  102. package/build/core/guides.d.ts.map +1 -1
  103. package/build/core/guides.js +36 -91
  104. package/build/core/guides.js.map +1 -1
  105. package/build/core/index.d.ts +2 -3
  106. package/build/core/index.d.ts.map +1 -1
  107. package/build/core/index.js +4 -4
  108. package/build/core/index.js.map +1 -1
  109. package/build/core/inspector.d.ts +0 -39
  110. package/build/core/inspector.d.ts.map +1 -1
  111. package/build/core/inspector.js +1 -358
  112. package/build/core/inspector.js.map +1 -1
  113. package/build/core/ios.js +2 -2
  114. package/build/core/ios.js.map +1 -1
  115. package/build/core/jsExecute.d.ts +15 -0
  116. package/build/core/jsExecute.d.ts.map +1 -1
  117. package/build/core/jsExecute.js +136 -29
  118. package/build/core/jsExecute.js.map +1 -1
  119. package/build/core/logs.d.ts +12 -3
  120. package/build/core/logs.d.ts.map +1 -1
  121. package/build/core/logs.js +28 -5
  122. package/build/core/logs.js.map +1 -1
  123. package/build/core/metro.d.ts +2 -0
  124. package/build/core/metro.d.ts.map +1 -1
  125. package/build/core/metro.js +16 -8
  126. package/build/core/metro.js.map +1 -1
  127. package/build/core/moduleRegistry.d.ts +19 -0
  128. package/build/core/moduleRegistry.d.ts.map +1 -0
  129. package/build/core/moduleRegistry.js +67 -0
  130. package/build/core/moduleRegistry.js.map +1 -0
  131. package/build/core/nativeOnlyHints.d.ts.map +1 -1
  132. package/build/core/nativeOnlyHints.js +0 -2
  133. package/build/core/nativeOnlyHints.js.map +1 -1
  134. package/build/core/navigate.d.ts +46 -0
  135. package/build/core/navigate.d.ts.map +1 -0
  136. package/build/core/navigate.js +119 -0
  137. package/build/core/navigate.js.map +1 -0
  138. package/build/core/navigation.d.ts +66 -0
  139. package/build/core/navigation.d.ts.map +1 -0
  140. package/build/core/navigation.js +269 -0
  141. package/build/core/navigation.js.map +1 -0
  142. package/build/core/network.d.ts +12 -2
  143. package/build/core/network.d.ts.map +1 -1
  144. package/build/core/network.js +52 -12
  145. package/build/core/network.js.map +1 -1
  146. package/build/core/networkInterceptor.d.ts +1 -1
  147. package/build/core/networkInterceptor.d.ts.map +1 -1
  148. package/build/core/networkInterceptor.js +3 -2
  149. package/build/core/networkInterceptor.js.map +1 -1
  150. package/build/core/promiseHandles.d.ts +19 -0
  151. package/build/core/promiseHandles.d.ts.map +1 -0
  152. package/build/core/promiseHandles.js +58 -0
  153. package/build/core/promiseHandles.js.map +1 -0
  154. package/build/core/register.d.ts.map +1 -1
  155. package/build/core/register.js +1 -4
  156. package/build/core/register.js.map +1 -1
  157. package/build/core/sdkMirrorPoller.d.ts +31 -0
  158. package/build/core/sdkMirrorPoller.d.ts.map +1 -0
  159. package/build/core/sdkMirrorPoller.js +210 -0
  160. package/build/core/sdkMirrorPoller.js.map +1 -0
  161. package/build/core/state.d.ts +14 -0
  162. package/build/core/state.d.ts.map +1 -1
  163. package/build/core/state.js +48 -2
  164. package/build/core/state.js.map +1 -1
  165. package/build/core/toolHelpers.d.ts.map +1 -1
  166. package/build/core/toolHelpers.js +42 -10
  167. package/build/core/toolHelpers.js.map +1 -1
  168. package/build/core/truncate.d.ts +42 -0
  169. package/build/core/truncate.d.ts.map +1 -0
  170. package/build/core/truncate.js +169 -0
  171. package/build/core/truncate.js.map +1 -0
  172. package/build/core/types.d.ts +3 -0
  173. package/build/core/types.d.ts.map +1 -1
  174. package/build/index.d.ts.map +1 -1
  175. package/build/index.js +4 -2
  176. package/build/index.js.map +1 -1
  177. package/build/tools/_deviceArg.d.ts +17 -1
  178. package/build/tools/_deviceArg.d.ts.map +1 -1
  179. package/build/tools/_deviceArg.js +17 -1
  180. package/build/tools/_deviceArg.js.map +1 -1
  181. package/build/tools/bundleTools.d.ts.map +1 -1
  182. package/build/tools/bundleTools.js +20 -33
  183. package/build/tools/bundleTools.js.map +1 -1
  184. package/build/tools/componentTools.d.ts.map +1 -1
  185. package/build/tools/componentTools.js +41 -219
  186. package/build/tools/componentTools.js.map +1 -1
  187. package/build/tools/connectionTools.d.ts.map +1 -1
  188. package/build/tools/connectionTools.js +17 -22
  189. package/build/tools/connectionTools.js.map +1 -1
  190. package/build/tools/deviceTools.d.ts.map +1 -1
  191. package/build/tools/deviceTools.js +13 -167
  192. package/build/tools/deviceTools.js.map +1 -1
  193. package/build/tools/executionTools.d.ts.map +1 -1
  194. package/build/tools/executionTools.js +63 -18
  195. package/build/tools/executionTools.js.map +1 -1
  196. package/build/tools/interactionTools.d.ts.map +1 -1
  197. package/build/tools/interactionTools.js +13 -45
  198. package/build/tools/interactionTools.js.map +1 -1
  199. package/build/tools/logTools.d.ts.map +1 -1
  200. package/build/tools/logTools.js +61 -80
  201. package/build/tools/logTools.js.map +1 -1
  202. package/build/tools/metaTools.js +1 -1
  203. package/build/tools/metaTools.js.map +1 -1
  204. package/build/tools/navigationTools.d.ts +3 -0
  205. package/build/tools/navigationTools.d.ts.map +1 -0
  206. package/build/tools/navigationTools.js +60 -0
  207. package/build/tools/navigationTools.js.map +1 -0
  208. package/build/tools/networkTools.d.ts.map +1 -1
  209. package/build/tools/networkTools.js +44 -202
  210. package/build/tools/networkTools.js.map +1 -1
  211. package/build/tools/reduxTools.d.ts.map +1 -1
  212. package/build/tools/reduxTools.js +3 -2
  213. package/build/tools/reduxTools.js.map +1 -1
  214. package/build/tools/requestTools.d.ts +3 -0
  215. package/build/tools/requestTools.d.ts.map +1 -0
  216. package/build/tools/requestTools.js +79 -0
  217. package/build/tools/requestTools.js.map +1 -0
  218. package/build/tools/screenshotTools.d.ts.map +1 -1
  219. package/build/tools/screenshotTools.js +9 -13
  220. package/build/tools/screenshotTools.js.map +1 -1
  221. package/package.json +1 -1
  222. package/tools.json +22 -78
  223. package/build/__tests__/unit/flowpoints.test.d.ts +0 -2
  224. package/build/__tests__/unit/flowpoints.test.d.ts.map +0 -1
  225. package/build/__tests__/unit/flowpoints.test.js +0 -126
  226. package/build/__tests__/unit/flowpoints.test.js.map +0 -1
  227. package/build/__tests__/unit/flowpointsQuery.test.d.ts +0 -2
  228. package/build/__tests__/unit/flowpointsQuery.test.d.ts.map +0 -1
  229. package/build/__tests__/unit/flowpointsQuery.test.js +0 -91
  230. package/build/__tests__/unit/flowpointsQuery.test.js.map +0 -1
  231. package/build/__tests__/unit/selectionPoller.test.d.ts +0 -2
  232. package/build/__tests__/unit/selectionPoller.test.d.ts.map +0 -1
  233. package/build/__tests__/unit/selectionPoller.test.js +0 -109
  234. package/build/__tests__/unit/selectionPoller.test.js.map +0 -1
  235. package/build/__tests__/unit/verifyFlow.test.d.ts +0 -2
  236. package/build/__tests__/unit/verifyFlow.test.d.ts.map +0 -1
  237. package/build/__tests__/unit/verifyFlow.test.js +0 -45
  238. package/build/__tests__/unit/verifyFlow.test.js.map +0 -1
  239. package/build/core/selectionPoller.d.ts +0 -13
  240. package/build/core/selectionPoller.d.ts.map +0 -1
  241. package/build/core/selectionPoller.js +0 -102
  242. package/build/core/selectionPoller.js.map +0 -1
  243. package/build/pro/flowpointTools.d.ts +0 -4
  244. package/build/pro/flowpointTools.d.ts.map +0 -1
  245. package/build/pro/flowpointTools.js +0 -266
  246. package/build/pro/flowpointTools.js.map +0 -1
  247. package/build/pro/flowpoints.d.ts +0 -86
  248. package/build/pro/flowpoints.d.ts.map +0 -1
  249. package/build/pro/flowpoints.js +0 -283
  250. package/build/pro/flowpoints.js.map +0 -1
@@ -17,12 +17,12 @@ const guides = [
17
17
  - **Android:** ADB must be in PATH (comes with Android SDK Platform Tools)
18
18
 
19
19
  ## Quick Start
20
- 1. scan_metro — auto-discovers Metro on common ports (8081, 8082, 19000-19002) and connects. Note: this occupies the CDP slot, which prevents the built-in React Native debugger from connecting. See "Switch to Native Debugger" below.
20
+ 1. scan_metro — auto-discovers Metro on ports 8081-8090 and connects. Note: this occupies the CDP slot, which prevents the built-in React Native debugger from connecting. See "Switch to Native Debugger" below.
21
21
  2. get_apps — verify the app appears in connected list
22
22
  3. get_connection_status — check connection health
23
23
 
24
24
  ## If No App Running
25
- - list_ios_simulators / list_android_devices — find available devices
25
+ - list_devices — iOS simulators, Android emulators, and physical devices in one call
26
26
  - ios_boot_simulator — boot an iOS simulator if needed
27
27
  - ios_launch_app / android_launch_app — launch the app
28
28
  - Wait 2-3 seconds, then scan_metro
@@ -51,37 +51,35 @@ const guides = [
51
51
  3. Convert screenshot pixels to points: divide by device pixel ratio (e.g. pixel_x / 3 for @3x iPhones)
52
52
  4. Pick the right tool (see decision below) and call it with (x, y)
53
53
 
54
- ## get_inspector_selection vs inspect_at_point — DECISION GUIDE
54
+ ### inspect_at_point(x, y)
55
+ The tool for "what is at (x, y)?". Pure fiber-tree hit test via measureInWindow —
56
+ NO overlay, zero visual side effect, safe to call rapidly or across a transition.
55
57
 
56
- Both answer "what is at (x, y)?" but surface different supplementary data. Pick by what you need next.
58
+ Returns:
59
+ - element name and full owner-tree path
60
+ - FRAME PER ANCESTOR (position/size in dp for every ancestor that hit-tested the point)
61
+ - PROPS of the innermost component (handlers as [Function], refs, testID, custom props)
62
+ - the node's own style object
63
+ - source {file, line, column} plus the owner chain as "Source ancestors" (set source=false to skip in tight loops)
57
64
 
58
- | Question you're asking | Use |
65
+ | Question you're asking | How it answers |
59
66
  |---|---|
60
- | "Why is the borderRadius wrong?" / "What's the padding here?" | get_inspector_selection — RICH STYLE per ancestor |
61
- | "Why is this hit area so small?" / "Where exactly is each ancestor?" | inspect_at_point — FRAME PER ANCESTOR |
62
- | "What handler is wired to this Pressable?" / "What testID does it have?" | inspect_at_point — full PROPS (including [Function] handlers) |
63
- | "Which file owns this component?" | get_inspector_selection — returns source {file, line, column} plus ancestors |
64
- | "I need to call this multiple times rapidly" or "before/after a transition" | inspect_at_point — pure JS, no overlay flicker |
65
-
66
- ### get_inspector_selection(x, y)
67
- - Invokes RN's Element Inspector programmatically (auto toggles overlay on, captures, toggles back off — ~600ms total, brief flicker).
68
- - Returns: element name, full owner-tree path, frame of the inspected element, merged style of the inspected element, AND a hierarchy where each entry has its own resolved style (paddingHorizontal, borderRadius, fontFamily, etc.).
69
- - Best for visual/style debugging where you want to see exactly what RN's on-device overlay shows.
67
+ | "Why is this hit area so small?" / "Where exactly is each ancestor?" | FRAME PER ANCESTOR |
68
+ | "What handler is wired to this Pressable?" / "What testID does it have?" | full PROPS |
69
+ | "Which file owns this component?" | source + Source ancestors |
70
+ | "What padding/borderRadius is set here?" | the node's own style object |
70
71
 
71
- ### inspect_at_point(x, y)
72
- - Pure fiber-tree hit test via measureInWindow. NO overlay, zero visual side effect.
73
- - Returns: element name, path, hit-tested ancestors with FRAME PER ANCESTOR, and PROPS (handlers, refs, testID, custom props, style as a flat reference).
74
- - Best for layout measurements, props inspection, and any rapid/repeated calls.
72
+ Note: style is the node's own style object, not RN's merged cascade. When a value
73
+ looks wrong and isn't on the node itself, walk the ancestors it returns.
75
74
 
76
75
  ### Other inspection tools
77
76
  - find_components(pattern) — regex search by component name across the fiber tree.
78
- - get_component_tree — full tree overview. Use focusedOnly=true and structureOnly=true for compact output.
77
+ - get_component_tree — compact names-only structure by default; pass structureOnly=false only when you genuinely need props/styles for the whole tree.
79
78
  - inspect_component(name) — deep dive into a specific component's props, state, and hooks.
80
79
 
81
80
  ## Tips
82
- - Both tools work on Paper, Fabric, and Bridgeless / new arch.
83
- - toggle_element_inspector is rarely needed — get_inspector_selection auto-toggles the overlay around its capture and hides it afterward.
84
- - Coordinates: get_inspector_selection accepts points/dp; inspect_at_point accepts dp (divide screenshot pixels by pixel ratio).`
81
+ - Works on Paper, Fabric, and Bridgeless / new arch.
82
+ - Coordinates are dp — divide screenshot pixels by the device pixel ratio.`
85
83
  },
86
84
  {
87
85
  id: "layout",
@@ -94,16 +92,11 @@ Both answer "what is at (x, y)?" but surface different supplementary data. Pick
94
92
  2. Compare visually against expected result or Figma design
95
93
  3. If an issue is spotted, drill down with inspection tools
96
94
 
97
- ## Inspect at a Point — Pick the Right Tool
98
- - Style/identity ("what is this and how is it styled?") → get_inspector_selection(x, y)
99
- - Returns RN's curated hierarchy with merged style PER ANCESTOR (padding, margin, border, layout).
100
- - Briefly toggles the on-device overlay (auto-hidden after capture).
101
- - Layout/props ("frames per ancestor, handler functions, refs") → inspect_at_point(x, y)
102
- - Returns frame for each hit ancestor + full props (handlers as [Function], testID, refs).
103
- - Pure JS hit test, no overlay flicker — preferred for rapid calls or before/after comparisons.
104
-
105
- Most layout-debugging questions ("why is this clipped?", "what's the actual size?") fit inspect_at_point.
106
- Most styling questions ("why does this border look wrong?") fit get_inspector_selection.
95
+ ## Inspect at a Point
96
+ - inspect_at_point(x, y) — identity, frame per ancestor, props, style, and source file:line.
97
+ - Pure JS hit test, no overlay flicker — safe for rapid calls or before/after comparisons.
98
+ - Answers both "why is this clipped / what's the actual size?" and "what padding is set here?".
99
+ - Style is the node's own style object, not a merged cascade — walk the returned ancestors when a value isn't on the node itself.
107
100
 
108
101
  ## Full Screen Layout
109
102
  - get_screen_layout — full layout data for all components
@@ -114,8 +107,7 @@ Most styling questions ("why does this border look wrong?") fit get_inspector_se
114
107
  - ios_screenshot / android_screenshot: visual capture
115
108
  - tap: also returns a post-tap screenshot by default (no separate screenshot call needed after tapping)
116
109
  - ocr_screenshot: screenshot with text recognition and tap coordinates
117
- - inspect_at_point: frames per ancestor + props (no overlay, fast)
118
- - get_inspector_selection: rich style per ancestor (briefly toggles RN inspector overlay)`
110
+ - inspect_at_point: frames per ancestor + props + source file:line (no overlay, fast)`
119
111
  },
120
112
  {
121
113
  id: "interact",
@@ -151,13 +143,12 @@ Set testID on all interactive elements (buttons, inputs, links) for reliable tap
151
143
  tap detects TextInput elements (onChangeText/onFocus) in the fiber tree and falls through to native tap (accessibility or coordinates) for actual focus. This means tap(testID="email-input") works even though inputs don't have onPress.
152
144
 
153
145
  ### Replacing pre-filled values (Bridgeless/Fabric only)
154
- Inputs that already contain text are the most common verification-blocker. The typing tools APPEND by default — typing "https://app.example.com" into a field that already holds "https://demo.example.com" produces "https://demo.example.comhttps://app.example.com", not the intended replacement. Three dedicated tools handle this on Bridgeless/Fabric apps:
146
+ Inputs that already contain text are the most common verification-blocker. The typing tools APPEND by default — typing "https://app.example.com" into a field that already holds "https://demo.example.com" produces "https://demo.example.comhttps://app.example.com", not the intended replacement. Two tools handle this on Bridgeless/Fabric apps:
155
147
 
156
- - **clear_focused_input** — empty the currently focused TextInput, with the React state owner notified via onChangeText. Use BEFORE typing into a pre-filled field. Returns "no focused TextInput" (not a silent no-op) if nothing has focus.
157
- - **ios_input_text / android_input_text with replace:true** — one-shot: clear the focused field, then type. Equivalent to clear_focused_input + input_text but in a single call.
148
+ - **ios_input_text / android_input_text with replace:true** — clear the focused field, then type, in a single call. This is the way to set a pre-filled field to an exact value.
158
149
  - **dismiss_keyboard** — blur the currently focused TextInput, closing the on-screen keyboard. Useful before tapping buttons hidden behind the keyboard, or to verify "tap outside dismisses" behavior.
159
150
 
160
- All three target whatever has focus (no testID needed). They update React state via onChangeText("") — controlled components (Formik, react-hook-form, useState) stay consistent. Calling publicInstance.clear() directly does NOT do this; it only updates the native side and leaves form state stale.
151
+ Both target whatever has focus (no testID needed). replace:true updates React state via onChangeText("") — controlled components (Formik, react-hook-form, useState) stay consistent. Calling publicInstance.clear() directly does NOT do this; it only updates the native side and leaves form state stale.
161
152
 
162
153
  Multi-device sessions: pass device="<rn-device-name>" (substring match) to disambiguate when replace:true is used. Single-device sessions can omit.
163
154
 
@@ -172,7 +163,6 @@ tap(text=...) skips fiber for non-ASCII (Hermes limitation) and uses accessibili
172
163
  ## Other Interactions
173
164
  - swipe: cross-platform swipe/scroll. Easiest form: swipe({ direction: "up" }) scrolls to reveal more content (content-scroll semantics; "down"/"left"/"right" supported, bare swipe() defaults to "up"). Optional distance is in screenshot pixels (default 33% of the axis). For pixel-precise gestures pass all four startX/startY/endX/endY coordinates — they take precedence over direction. Use for FlatList/SectionList scrolling where off-screen items aren't mounted. Returns verification.meaningful — if false the gesture had no visual effect (end-of-list, non-scrollable surface, or coordinates missed the scroll surface). Set burst:true to surface overscroll/bounce feedback even when the final state is unchanged. Set verify:false, screenshot:false for the fastest path. Pass delta on iOS to control touch step size.
174
165
  - android_input_text / ios_input_text: type text (tap input field first to focus). Pass replace:true to clear pre-filled values before typing (Bridgeless/Fabric only).
175
- - clear_focused_input: clear the focused TextInput via onChangeText (controlled-state safe). Pair with input_text for replace flows, or use input_text({replace:true}) for one-shot.
176
166
  - dismiss_keyboard: blur the focused input, closing the keyboard.
177
167
  - ios_button / android_key_event: hardware buttons (HOME, BACK, etc.)
178
168
  - ios_open_url: deep links and universal links
@@ -228,7 +218,7 @@ runs — if get_log_details reports an unknown id, call get_logs again to refres
228
218
  - Always start with summary=true to avoid token overload
229
219
  - Use verbose=true with low maxLogs for full error details
230
220
  - Use startFromText to begin reading from a specific point
231
- - Instrumenting a flow to verify behavior? Prefer flowpoint() over console.log — see get_usage_guide(topic="flowpoints")`
221
+ `
232
222
  },
233
223
  {
234
224
  id: "network",
@@ -255,7 +245,7 @@ Network capture works differently depending on your React Native architecture:
255
245
  If network tools return no data or you need startup requests, recommend the SDK to the user.
256
246
 
257
247
  ## Workflow
258
- 1. get_network_stats or get_network_requests with summary=true — overview of all requests
248
+ 1. get_network_requests with summary=true — overview of all requests
259
249
  2. Filter by what you need:
260
250
  - get_network_requests with urlPattern, method, or status filters
261
251
  - search_network with urlPattern for text search
@@ -264,7 +254,6 @@ If network tools return no data or you need startup requests, recommend the SDK
264
254
 
265
255
  ## Key Tools
266
256
  - get_network_requests: list requests with filters (urlPattern, method, status, summary)
267
- - get_network_stats: quick stats overview
268
257
  - search_network: search by URL pattern
269
258
  - get_request_details: full request/response details (use verbose=true for large payloads). With SDK installed, includes full request/response bodies.
270
259
  - clear_network: reset the request buffer
@@ -320,7 +309,7 @@ If the app called \`init({ stores, navigation, custom })\`, prefer the SDK paths
320
309
  1. get_bundle_status — check if Metro is running and its build state
321
310
  2. get_bundle_errors — check for compilation/bundling errors
322
311
  3. Fix errors in code
323
- 4. clear_bundle_errors — clear the error buffer
312
+ 4. get_bundle_errors({ clear: true }) — read, then reset the error buffer
324
313
  5. reload_app — trigger full JS bundle reload (only if needed)
325
314
 
326
315
  ## When to Reload
@@ -336,7 +325,6 @@ If no errors captured via CDP, use get_bundle_errors with platform="ios" or "and
336
325
  ## Key Tools
337
326
  - get_bundle_status: Metro health check
338
327
  - get_bundle_errors: compilation errors
339
- - clear_bundle_errors: clear error buffer
340
328
  - reload_app: full JS bundle reload
341
329
  - ensure_connection: verify connection with healthCheck=true`
342
330
  },
@@ -377,48 +365,6 @@ Suggested prompt the user can paste to trigger this:
377
365
  - The user can review and edit the issue body before submitting
378
366
  - No GitHub account setup or CLI tools needed — just a browser`
379
367
  },
380
- {
381
- id: "flowpoints",
382
- title: "Flowpoints — Flow Tracing & Verification",
383
- summary: "Instrument app flows with flowpoint() breadcrumbs, then query, wait on, and assert them",
384
- content: `# Flowpoints — Flow Tracing & Verification
385
-
386
- Flowpoints are structured, timestamped breadcrumbs emitted by flowpoint() calls in app
387
- code (execbro-sdk). They replace console.log spraying when you need to VERIFY what a
388
- flow actually did — steps, order, timing, failures — with factual assertions.
389
-
390
- ## Workflow (verify a flow)
391
- 1. Instrument the flow (edit app code; execbro-sdk must be installed and init()-ed):
392
- import { flowpoint } from 'execbro-sdk'
393
- flowpoint({ name: 'add-to-cart', step: 'start', begin: true }) // flow entry
394
- flowpoint({ name: 'add-to-cart', step: 'cleared', meta: { removed: 3 } })
395
- flowpoint({ name: 'add-to-cart', step: 'done' })
396
- flowpoint({ name: 'add-to-cart', step: 'failed', level: 'error' }) // error paths
397
- 2. Reload the app so the instrumented code is live.
398
- 3. Drive the flow (tap, swipe, input).
399
- 4. wait_for_flowpoint({ name: 'add-to-cart', step: 'done' }) — blocks until the flow
400
- finishes instead of sleeping and re-polling.
401
- 5. verify_flow({ name: 'add-to-cart', expect: ['start', 'cleared', 'done'] }) —
402
- factual PASS/FAIL diff against the expected sequence.
403
- 6. get_flowpoints({ name: 'add-to-cart', run: 'last' }) — full trail with timing
404
- deltas when diagnosing a failure.
405
-
406
- ## Key Tools
407
- - get_flowpoints: query the trail (filters: name, step, run, level, metaIncludes, since)
408
- - wait_for_flowpoint: block until a matching point arrives (or timeout with partial trail)
409
- - verify_flow: assert an expected step sequence against one run (any unexpected error-level point fails it unless allowErrors: true)
410
- - clear_flowpoints: reset stored points (name-scoped clears touch only the server store; rarely needed — prefer run filters)
411
-
412
- ## Tips
413
- - Prefer flowpoint() over console.log when instrumenting a flow to verify behavior.
414
- - Keep name and step low-cardinality and stable; dynamic payload goes in meta.
415
- - begin: true on the flow's entry point separates retries into runs; run: 'last'
416
- queries only the newest attempt.
417
- - get_flowpoints({ level: 'error' }) answers "did anything fail?" across every flow.
418
- - flowpoint() is a production no-op — instrumentation can stay in the code.
419
- - Runtime TDD: write the verify_flow expectation FIRST, then implement until it passes.
420
- - verify_flow FAILS on any unexpected error-level point in the run — pass allowErrors: true to tolerate them, or include the error step in expect.`
421
- }
422
368
  ];
423
369
  /**
424
370
  * Shared quick decision tree body — embedded into the MCP server-level
@@ -428,16 +374,15 @@ flow actually did — steps, order, timing, failures — with factual assertions
428
374
  */
429
375
  export const DECISION_TREE = [
430
376
  "Primary tools: scan_metro, get_logs / search_logs, ios_screenshot / android_screenshot, tap, get_pressable_elements, get_screen_layout.",
431
- "Platform-specific ios_* / android_* tools (ios_button, android_input_text, android_key_event, android_long_press, ios_open_url, etc.) are FALLBACKS for non-React or native-only flows — prefer the cross-platform primary tools above whenever possible.",
377
+ "Platform-specific ios_* / android_* tools (ios_button, android_input_text, android_key_event, ios_open_url, etc.) are FALLBACKS for non-React or native-only flows — prefer the cross-platform primary tools above whenever possible.",
432
378
  "",
433
379
  "Call get_usage_guide(topic=...) for end-to-end workflows. Available topics:",
434
380
  " setup — session setup (scan_metro, connect_metro, ensure_connection)",
435
381
  " logs — console debugging (get_logs, search_logs)",
436
- " interact — device interaction (tap, swipe, screenshots, android_input_text, clear_focused_input, dismiss_keyboard)",
382
+ " interact — device interaction (tap, swipe, screenshots, android_input_text, dismiss_keyboard)",
437
383
  " layout — on-screen layout check (get_screen_layout, get_pressable_elements)",
438
- " inspect — component inspection (find_components, inspect_component, get_inspector_selection)",
384
+ " inspect — component inspection (find_components, inspect_component, inspect_at_point)",
439
385
  " network — network request inspection (get_network_requests, search_network)",
440
- " flowpoints — verify a flow's behavior (flowpoint() breadcrumbs, wait_for_flowpoint, verify_flow)",
441
386
  " state — app state & JS execution (execute_in_app, list_debug_globals)",
442
387
  " bundle — bundle / Metro error checks (get_bundle_status, get_bundle_errors)",
443
388
  " feedback — share feedback, feature requests, or bug reports (send_feedback)"
@@ -1 +1 @@
1
- {"version":3,"file":"guides.js","sourceRoot":"","sources":["../../src/core/guides.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guides.js","sourceRoot":"","sources":["../../src/core/guides.ts"],"names":[],"mappings":"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"}
@@ -12,14 +12,13 @@ export type { PassiveConnectionStatus, LogPipelineResult, } from "./connection.j
12
12
  export { awaitAppDetection } from "./appDetection.js";
13
13
  export { hasMetro, detectNativeDevices, buildMetroMissingHint, metroMissingHintIfAbsent, } from "./nativeOnlyHints.js";
14
14
  export type { NativeDeviceAvailability, MetroMissingHintOptions } from "./nativeOnlyHints.js";
15
- export { executeInApp, listDebugGlobals, inspectGlobal, reloadApp, getComponentTree, getScreenLayout, formatScreenLayoutTree, getPressableElements, getScreenState, enrichScreenshotWithLayout, inspectComponent, findComponents, pressElement, inspectAtPoint, toggleElementInspector, isInspectorActive, getInspectorSelection, getInspectorSelectionAtPoint, getSelectionHistory, harvestStacksAtPoint, harvestStacksAtFrame, enrichWithSource, } from "./executor.js";
15
+ export { executeInApp, listDebugGlobals, inspectGlobal, reloadApp, getComponentTree, getScreenLayout, formatScreenLayoutTree, getPressableElements, getScreenState, enrichScreenshotWithLayout, inspectComponent, findComponents, pressElement, inspectAtPoint, isInspectorActive, harvestStacksAtPoint, enrichWithSource, } from "./executor.js";
16
16
  export { isAdbAvailable, listAndroidDevices, getDefaultAndroidDevice, androidScreenshot, androidInstallApp, androidLaunchApp, androidListPackages, ANDROID_KEY_EVENTS, androidTap, androidLongPress, androidSwipe, androidInputText, androidKeyEvent, androidGetScreenSize, androidGetDensity, androidGetStatusBarHeight, androidDescribeAll, androidDescribePoint, androidTapElement, androidGetUITree, androidFindElement, androidWaitForElement, } from "./android.js";
17
17
  export type { AndroidAccessibilityElement, AndroidDescribeResult, AndroidUIElement, FindElementResult, WaitForElementResult, FindElementOptions, } from "./android.js";
18
18
  export { isSimctlAvailable, listIOSSimulators, getBootedSimulatorUdid, findSimulatorByName, getActiveOrBootedSimulatorUdid, iosScreenshot, iosInstallApp, iosLaunchApp, iosOpenUrl, iosTerminateApp, iosBootSimulator, isIdbAvailable, isAxeAvailable, isUiDriverAvailable, getUiDriverInstallHint, iosTap, iosTapElement, iosSwipe, iosInputText, iosButton, iosKeyEvent, iosKeySequence, iosDescribeAll, iosDescribePoint, detectIOSSystemOverlay, formatIOSSystemOverlayWarning, IOS_BUTTON_TYPES, iosGetUITree, iosFindElement, iosWaitForElement, getDevicePixelRatio, getIOSSafeAreaTop, } from "./ios.js";
19
19
  export type { iOSButtonType, iOSAccessibilityElement, iOSDescribeResult, IOSUIElement, IOSFindElementResult, IOSWaitForElementResult, IOSFindElementOptions, } from "./ios.js";
20
20
  export { BundleErrorBuffer, parseMetroError, formatBundleError, formatBundleErrors, connectMetroBuildEvents, disconnectMetroBuildEvents, isConnectedToMetroBuildEvents, fetchBundleStatus, getBundleErrors, getBundleStatusWithErrors, } from "./bundle.js";
21
- export { startSelectionPoller, stopSelectionPoller, stopAllSelectionPollers, isSelectionPollerRunning, } from "./selectionPoller.js";
22
- export { SelectionBuffer, selectionBuffer } from "./selectionBuffer.js";
21
+ export { mirrorOnce, startSdkMirrorPoller, stopSdkMirrorPoller, stopAllSdkMirrorPollers, isSdkMirrorPollerRunning, } from "./sdkMirrorPoller.js";
23
22
  export type { SelectionEntry, SelectionFrame, ComponentStack } from "./selectionBuffer.js";
24
23
  export { ensureLicense, getLicenseStatus, getUsageInfo, getPricingInfo, formatPlanPrice, incrementLocalUsage, } from "./license.js";
25
24
  export type { LicenseTier, LicenseStatus, UsageInfo, PricingInfo, PlanPricing } from "./license.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export { executeInApp, listDebugGlobals, inspectGlobal, reloadApp,
26
26
  // React Component Inspection
27
27
  getComponentTree, getScreenLayout, formatScreenLayoutTree, getPressableElements, getScreenState, enrichScreenshotWithLayout, inspectComponent, findComponents, pressElement,
28
28
  // Coordinate-based inspection
29
- inspectAtPoint, toggleElementInspector, isInspectorActive, getInspectorSelection, getInspectorSelectionAtPoint, getSelectionHistory, harvestStacksAtPoint, harvestStacksAtFrame, enrichWithSource, } from "./executor.js";
29
+ inspectAtPoint, isInspectorActive, harvestStacksAtPoint, enrichWithSource, } from "./executor.js";
30
30
  // Android (ADB)
31
31
  export { isAdbAvailable, listAndroidDevices, getDefaultAndroidDevice, androidScreenshot, androidInstallApp, androidLaunchApp, androidListPackages,
32
32
  // UI Input (Phase 2)
@@ -45,9 +45,9 @@ isIdbAvailable, isAxeAvailable, isUiDriverAvailable, getUiDriverInstallHint, ios
45
45
  iosGetUITree, iosFindElement, iosWaitForElement, getDevicePixelRatio, getIOSSafeAreaTop, } from "./ios.js";
46
46
  // Bundle (Metro build errors)
47
47
  export { BundleErrorBuffer, parseMetroError, formatBundleError, formatBundleErrors, connectMetroBuildEvents, disconnectMetroBuildEvents, isConnectedToMetroBuildEvents, fetchBundleStatus, getBundleErrors, getBundleStatusWithErrors, } from "./bundle.js";
48
- // Element Inspector selection capture
49
- export { startSelectionPoller, stopSelectionPoller, stopAllSelectionPollers, isSelectionPollerRunning, } from "./selectionPoller.js";
50
- export { SelectionBuffer, selectionBuffer } from "./selectionBuffer.js";
48
+ // SDK buffer mirroring — keeps a server-side copy so an app restart does not
49
+ // destroy the only copy of the in-app SDK buffers.
50
+ export { mirrorOnce, startSdkMirrorPoller, stopSdkMirrorPoller, stopAllSdkMirrorPollers, isSdkMirrorPollerRunning, } from "./sdkMirrorPoller.js";
51
51
  // License & Usage
52
52
  export { ensureLicense, getLicenseStatus, getUsageInfo, getPricingInfo, formatPlanPrice, incrementLocalUsage, } from "./license.js";
53
53
  // Telemetry
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,8BAA8B;AAC9B,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,cAAc;AACd,0BAA0B;AAC1B,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB;AACnB,+CAA+C;AAC/C,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,QAAQ;AACR,OAAO,EACL,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO;AACP,OAAO,EACL,SAAS,EACT,cAAc,EACd,UAAU,EACV,OAAO,EACP,UAAU,EACV,aAAa,GACd,MAAM,WAAW,CAAC;AAEnB,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,UAAU;AACV,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EACL,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,GAChB,MAAM,YAAY,CAAC;AAIpB,aAAa;AACb,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,EAC9B,gCAAgC,EAChC,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,kGAAkG;AAClG,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAG9B,WAAW;AACX,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,SAAS;AACT,6BAA6B;AAC7B,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,0BAA0B,EAC1B,gBAAgB,EAChB,cAAc,EACd,YAAY;AACZ,8BAA8B;AAC9B,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,gBAAgB;AAChB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB;AACnB,qBAAqB;AACrB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB;AACzB,+BAA+B;AAC/B,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB;AACjB,qCAAqC;AACrC,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAYtB,qBAAqB;AACrB,OAAO;AACL,qBAAqB;AACrB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,8BAA8B,EAC9B,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB;AAChB,+BAA+B;AAC/B,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,MAAM,EACN,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,gBAAgB;AAChB,oDAAoD;AACpD,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAalB,8BAA8B;AAC9B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,iBAAiB,EACjB,eAAe,EACf,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,sCAAsC;AACtC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGxE,kBAAkB;AAClB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,YAAY;AACZ,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,MAAM;AACN,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAGlB,wDAAwD;AACxD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAGhC,+BAA+B;AAC/B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAOrB,WAAW;AACX,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,yCAAyC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,eAAe;AACf,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC"}
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"}