react-native-ai-debugger 1.0.47 → 1.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.
package/README.md CHANGED
@@ -18,9 +18,9 @@ An MCP (Model Context Protocol) server for AI-powered React Native debugging. En
18
18
 
19
19
  - **iOS Simulator** - Screenshots, app management, URL handling, boot/terminate (via simctl)
20
20
  - **Android Devices** - Screenshots, app install/launch, package management (via ADB)
21
- - **UI Automation** - Tap, swipe, long press, text input, and key events on both platforms
21
+ - **Unified Tap** - Single `tap` tool with automatic fallback chain: fiber tree accessibility → OCR → coordinates. Auto-detects platform, accepts pixels from screenshots
22
+ - **UI Automation** - Swipe, long press, text input, and key events on both platforms
22
23
  - **Accessibility Inspection** - Query UI hierarchy to find elements by text, label, or resource ID
23
- - **Element-Based Interaction** - Tap/wait for elements by text without screenshots (faster, cheaper)
24
24
  - **OCR Text Extraction** - Extract visible text with tap-ready coordinates (works on any screen content)
25
25
 
26
26
  ### Under the Hood
@@ -248,8 +248,8 @@ Style: { borderRadius: 15, overflow: "hidden" }
248
248
  # 1. Enable the inspector overlay
249
249
  toggle_element_inspector()
250
250
 
251
- # 2. Tap to select element (iOS)
252
- ios_tap(x=210, y=400)
251
+ # 2. Tap to select element
252
+ tap with x=630 y=1200 # pixel coordinates from screenshot
253
253
 
254
254
  # 3. Read the selection
255
255
  get_inspector_selection()
@@ -260,6 +260,22 @@ toggle_element_inspector()
260
260
 
261
261
  **Token Efficiency**: Returns ~0.2-0.5KB vs 15-25KB for full component tree. Works on all React Native versions including Fabric/New Architecture.
262
262
 
263
+ ### UI Interaction (Cross-Platform)
264
+
265
+ | Tool | Description |
266
+ | ---------------- | ------------------------------------------------------------------------ |
267
+ | `tap` | **Unified tap** — auto-detects platform, tries fiber tree → accessibility → OCR → coordinates. Accepts text, testID, component name, or pixel coordinates from screenshots |
268
+ | `ocr_screenshot` | Extract all visible text with tap-ready coordinates (works on iOS/Android) |
269
+
270
+ **Examples:**
271
+ ```
272
+ tap with text="Submit" # Finds and taps by visible text
273
+ tap with testID="login-btn" # Finds by testID prop
274
+ tap with component="HamburgerIcon" # Finds by React component name
275
+ tap with x=300 y=600 # Taps at pixel coordinates (auto-converts)
276
+ tap with text="Menu" strategy="ocr" # Forces OCR strategy only
277
+ ```
278
+
263
279
  ### Android (ADB)
264
280
 
265
281
  | Tool | Description |
@@ -269,7 +285,6 @@ toggle_element_inspector()
269
285
  | `android_install_app` | Install an APK on an Android device/emulator |
270
286
  | `android_launch_app` | Launch an app by package name |
271
287
  | `android_list_packages` | List installed packages (with optional filter) |
272
- | `android_tap` | Tap at specific coordinates on screen |
273
288
  | `android_long_press` | Long press at specific coordinates |
274
289
  | `android_swipe` | Swipe from one point to another |
275
290
  | `android_input_text` | Type text at current focus point |
@@ -277,7 +292,6 @@ toggle_element_inspector()
277
292
  | `android_get_screen_size` | Get device screen resolution |
278
293
  | `android_describe_all` | Get full UI accessibility tree via uiautomator |
279
294
  | `android_describe_point` | Get UI element info at specific coordinates |
280
- | `android_tap_element` | Tap element by text/contentDesc/resourceId |
281
295
  | `android_find_element` | Find element by text/contentDesc/resourceId (no screenshot) |
282
296
  | `android_wait_for_element` | Wait for element to appear (useful for screen transitions) |
283
297
 
@@ -292,8 +306,6 @@ toggle_element_inspector()
292
306
  | `ios_open_url` | Open a URL (deep links or web URLs) |
293
307
  | `ios_terminate_app` | Terminate a running app |
294
308
  | `ios_boot_simulator` | Boot a simulator by UDID |
295
- | `ios_tap` | Tap at coordinates (requires IDB) |
296
- | `ios_tap_element` | Tap element by accessibility label (requires IDB) |
297
309
  | `ios_swipe` | Swipe gesture (requires IDB) |
298
310
  | `ios_input_text` | Type text into active field (requires IDB) |
299
311
  | `ios_button` | Press hardware button: HOME, LOCK, SIRI (requires IDB) |
@@ -304,12 +316,6 @@ toggle_element_inspector()
304
316
  | `ios_find_element` | Find element by label/value (requires IDB, no screenshot) |
305
317
  | `ios_wait_for_element` | Wait for element to appear (requires IDB) |
306
318
 
307
- ### OCR (Cross-Platform)
308
-
309
- | Tool | Description |
310
- | ---------------- | ------------------------------------------------------------------------ |
311
- | `ocr_screenshot` | Extract all visible text with tap-ready coordinates (works on iOS/Android) |
312
-
313
319
  ## Usage
314
320
 
315
321
  1. Start your React Native app:
@@ -913,10 +919,10 @@ Take a screenshot:
913
919
  android_screenshot
914
920
  ```
915
921
 
916
- Tap on screen (coordinates in pixels):
922
+ Tap on screen:
917
923
 
918
924
  ```
919
- android_tap with x=540 y=960
925
+ tap with x=540 y=960
920
926
  ```
921
927
 
922
928
  Swipe gesture:
@@ -928,7 +934,7 @@ android_swipe with startX=540 startY=1500 endX=540 endY=500
928
934
  Type text (tap input field first):
929
935
 
930
936
  ```
931
- android_tap with x=540 y=400
937
+ tap with x=540 y=400
932
938
  android_input_text with text="hello@example.com"
933
939
  ```
934
940
 
@@ -972,92 +978,58 @@ Open a deep link:
972
978
  ios_open_url with url="myapp://settings"
973
979
  ```
974
980
 
975
- ## Efficient UI Automation (No Screenshots)
976
-
977
- For action triggering without layout debugging, use element-based tools instead of screenshots. This is **2-3x faster** and uses fewer tokens.
978
-
979
- ### Android - Find and Tap by Text
981
+ ## UI Interaction
980
982
 
981
- ```
982
- # Wait for screen to load
983
- android_wait_for_element with text="Login"
983
+ ### Unified `tap` Tool (Recommended)
984
984
 
985
- # Find element (returns tap coordinates)
986
- android_find_element with textContains="submit"
985
+ The `tap` tool is the simplest way to interact with UI elements. It automatically tries multiple strategies and handles platform detection and coordinate conversion:
987
986
 
988
- # Tap the element (use coordinates from find_element)
989
- android_tap with x=540 y=960
990
987
  ```
988
+ # By visible text — tries fiber tree, accessibility, then OCR
989
+ tap with text="Submit"
991
990
 
992
- Search options:
993
- - `text` - exact text match
994
- - `textContains` - partial text (case-insensitive)
995
- - `contentDesc` - accessibility content description
996
- - `contentDescContains` - partial content description
997
- - `resourceId` - resource ID (e.g., "button" or "com.app:id/button")
991
+ # By testID prop
992
+ tap with testID="login-btn"
998
993
 
999
- ### iOS - Find and Tap by Label (requires IDB)
994
+ # By React component name (fiber tree only)
995
+ tap with component="HamburgerIcon"
1000
996
 
1001
- ```bash
1002
- # Install IDB first
1003
- brew install idb-companion
1004
- ```
997
+ # By pixel coordinates from screenshot (auto-converts to points on iOS)
998
+ tap with x=300 y=600
1005
999
 
1000
+ # Force a specific strategy
1001
+ tap with text="Menu" strategy="ocr"
1006
1002
  ```
1007
- # Wait for element
1008
- ios_wait_for_element with label="Sign In"
1009
1003
 
1010
- # Find element by partial label
1011
- ios_find_element with labelContains="welcome"
1012
- ```
1004
+ **Fallback chain:** fiber tree (direct `onPress`) → accessibility tree → OCR → error with suggestion.
1013
1005
 
1014
- Search options:
1015
- - `label` - exact accessibility label
1016
- - `labelContains` - partial label (case-insensitive)
1017
- - `value` - accessibility value
1018
- - `valueContains` - partial value
1019
- - `type` - element type (e.g., "Button", "TextField")
1006
+ On failure, the response includes an actionable `suggestion` telling the agent exactly what to try next.
1020
1007
 
1021
- ### Wait for Screen Transitions
1008
+ ### Platform-Specific Tools
1022
1009
 
1023
- Both platforms support waiting with timeout:
1010
+ For gestures beyond tapping, use platform-specific tools:
1024
1011
 
1025
1012
  ```
1026
- android_wait_for_element with text="Dashboard" timeoutMs=15000 pollIntervalMs=500
1027
- ios_wait_for_element with label="Home" timeoutMs=10000
1028
- ```
1013
+ # Swipe
1014
+ ios_swipe with startX=200 startY=400 endX=200 endY=100
1015
+ android_swipe with startX=540 startY=1500 endX=540 endY=500
1029
1016
 
1030
- ### Recommended Workflow (Priority Order)
1017
+ # Text input (tap input field first)
1018
+ tap with text="Email"
1019
+ ios_input_text with text="hello@example.com"
1031
1020
 
1032
- **Always try accessibility tools first, fall back to screenshots only when needed:**
1021
+ # Key events
1022
+ android_key_event with key="BACK"
1023
+ ios_button with button="HOME"
1024
+ ```
1033
1025
 
1034
- 1. **Wait for screen** → Use `wait_for_element` with expected text/label
1035
- 2. **Find target** → Use `find_element` to get tap coordinates
1036
- 3. **Tap** → Use `tap` with coordinates from step 2
1037
- 4. **Fallback** → If element not in accessibility tree, use `screenshot`
1026
+ ### Wait for Screen Transitions
1038
1027
 
1039
1028
  ```
1040
- # Example: Tap "Submit" button after screen loads
1041
- android_wait_for_element with text="Submit" # Step 1: Wait
1042
- android_find_element with text="Submit" # Step 2: Find (returns center coordinates)
1043
- android_tap with x=540 y=1200 # Step 3: Tap (use returned coordinates)
1029
+ android_wait_for_element with text="Dashboard" timeoutMs=15000
1030
+ ios_wait_for_element with label="Home" timeoutMs=10000
1044
1031
  ```
1045
1032
 
1046
- **Why this order?**
1047
- - `find_element`: ~100-200 tokens, <100ms
1048
- - `screenshot`: ~400-500 tokens, 200-500ms
1049
-
1050
- ### When to Use Screenshots vs Element Tools
1051
-
1052
- | Use Case | Recommended Tool |
1053
- |----------|------------------|
1054
- | Trigger button taps | `find_element` + `tap` |
1055
- | Wait for screen load | `wait_for_element` |
1056
- | Navigate through flow | `wait_for_element` + `tap` |
1057
- | Debug layout issues | `screenshot` |
1058
- | Verify visual appearance | `screenshot` |
1059
- | Find elements without labels | `screenshot` |
1060
-
1061
1033
  ## OCR Text Extraction
1062
1034
 
1063
1035
  The `ocr_screenshot` tool extracts all visible text from a screenshot with tap-ready coordinates. This is useful when accessibility labels are missing or when you need to find text that isn't exposed in the accessibility tree.
@@ -1094,7 +1066,7 @@ Returns all visible text with tap-ready coordinates:
1094
1066
  Then tap the element:
1095
1067
 
1096
1068
  ```
1097
- ios_tap with x=187 y=420
1069
+ tap with x=187 y=420
1098
1070
  ```
1099
1071
 
1100
1072
  ### OCR Engine
@@ -1147,19 +1119,19 @@ See [EasyOCR supported languages](https://www.jaided.ai/easyocr/) for the full l
1147
1119
 
1148
1120
  ### Recommended Workflow
1149
1121
 
1150
- 1. **Try accessibility first** - Use `find_element` / `wait_for_element` (faster, cheaper)
1151
- 2. **Fall back to OCR** - When element isn't in accessibility tree
1122
+ 1. **Use unified `tap`** - Handles fallback chain automatically
1123
+ 2. **Fall back to OCR** - When `tap` suggests using coordinates
1152
1124
  3. **Use screenshot** - For visual debugging or layout verification
1153
1125
 
1154
1126
  ```
1155
- # Step 1: Try accessibility-based approach
1156
- android_find_element with text="Submit"
1127
+ # Simplest approach tap handles everything
1128
+ tap with text="Submit"
1157
1129
 
1158
- # Step 2: If not found, use OCR
1130
+ # If tap fails, use OCR to find coordinates
1159
1131
  ocr_screenshot with platform="android"
1160
1132
 
1161
- # Step 3: Tap using coordinates from OCR result
1162
- android_tap with x=540 y=1200
1133
+ # Then tap using coordinates from OCR result
1134
+ tap with x=540 y=1200
1163
1135
  ```
1164
1136
 
1165
1137
  ## Supported React Native Versions
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tap.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tap.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/tap.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,155 @@
1
+ // src/__tests__/unit/tap.test.ts
2
+ import { describe, it, expect } from "@jest/globals";
3
+ import { buildQuery, getAvailableStrategies, isNonAscii, convertPixelsToPoints, formatTapSuccess, formatTapFailure, } from "../../core/tap.js";
4
+ describe("ConnectedApp type", () => {
5
+ it("accepts platform and lastScreenshot fields", () => {
6
+ const app = {
7
+ ws: {},
8
+ deviceInfo: {
9
+ id: "test",
10
+ title: "Hermes React Native",
11
+ description: "",
12
+ appId: "com.test",
13
+ type: "node",
14
+ webSocketDebuggerUrl: "ws://localhost:8081",
15
+ deviceName: "iPhone 16",
16
+ },
17
+ port: 8081,
18
+ platform: "ios",
19
+ lastScreenshot: {
20
+ originalWidth: 1179,
21
+ originalHeight: 2556,
22
+ scaleFactor: 1,
23
+ },
24
+ };
25
+ expect(app.platform).toBe("ios");
26
+ expect(app.lastScreenshot?.originalWidth).toBe(1179);
27
+ });
28
+ it("allows lastScreenshot to be undefined", () => {
29
+ const app = {
30
+ ws: {},
31
+ deviceInfo: {
32
+ id: "test",
33
+ title: "Hermes React Native",
34
+ description: "",
35
+ appId: "com.test",
36
+ type: "node",
37
+ webSocketDebuggerUrl: "ws://localhost:8081",
38
+ deviceName: "iPhone 16",
39
+ },
40
+ port: 8081,
41
+ platform: "ios",
42
+ };
43
+ expect(app.lastScreenshot).toBeUndefined();
44
+ });
45
+ });
46
+ describe("buildQuery", () => {
47
+ it("builds query from text param", () => {
48
+ const q = buildQuery({ text: "Submit" });
49
+ expect(q).toEqual({ text: "Submit" });
50
+ });
51
+ it("builds query from coordinates", () => {
52
+ const q = buildQuery({ x: 300, y: 600 });
53
+ expect(q).toEqual({ x: 300, y: 600 });
54
+ });
55
+ it("builds query from multiple params", () => {
56
+ const q = buildQuery({ text: "Submit", testID: "btn" });
57
+ expect(q).toEqual({ text: "Submit", testID: "btn" });
58
+ });
59
+ });
60
+ describe("isNonAscii", () => {
61
+ it("returns false for ASCII text", () => {
62
+ expect(isNonAscii("Submit")).toBe(false);
63
+ });
64
+ it("returns true for Cyrillic", () => {
65
+ expect(isNonAscii("Отправить")).toBe(true);
66
+ });
67
+ it("returns true for emoji", () => {
68
+ expect(isNonAscii("🔥")).toBe(true);
69
+ });
70
+ });
71
+ describe("getAvailableStrategies", () => {
72
+ it("returns all strategies for text query", () => {
73
+ expect(getAvailableStrategies({ text: "Submit" }, "auto")).toEqual(["fiber", "accessibility", "ocr"]);
74
+ });
75
+ it("skips fiber for non-ASCII text", () => {
76
+ expect(getAvailableStrategies({ text: "Отправить" }, "auto")).toEqual(["accessibility", "ocr"]);
77
+ });
78
+ it("returns fiber+accessibility for testID", () => {
79
+ expect(getAvailableStrategies({ testID: "btn" }, "auto")).toEqual(["fiber", "accessibility"]);
80
+ });
81
+ it("returns only fiber for component", () => {
82
+ expect(getAvailableStrategies({ component: "Button" }, "auto")).toEqual(["fiber"]);
83
+ });
84
+ it("returns coordinate for x,y", () => {
85
+ expect(getAvailableStrategies({ x: 100, y: 200 }, "auto")).toEqual(["coordinate"]);
86
+ });
87
+ it("returns single strategy when explicitly set", () => {
88
+ expect(getAvailableStrategies({ text: "Submit" }, "ocr")).toEqual(["ocr"]);
89
+ });
90
+ });
91
+ describe("convertPixelsToPoints", () => {
92
+ it("divides by pixel ratio for iOS", () => {
93
+ expect(convertPixelsToPoints(300, 600, "ios", 3)).toEqual({ x: 100, y: 200 });
94
+ });
95
+ it("passes through for Android", () => {
96
+ expect(convertPixelsToPoints(300, 600, "android", 3)).toEqual({ x: 300, y: 600 });
97
+ });
98
+ it("applies scaleFactor before conversion", () => {
99
+ expect(convertPixelsToPoints(150, 300, "ios", 3, 2)).toEqual({ x: 100, y: 200 });
100
+ });
101
+ it("rounds to integers", () => {
102
+ expect(convertPixelsToPoints(301, 599, "ios", 3)).toEqual({ x: 100, y: 200 });
103
+ });
104
+ });
105
+ describe("formatTapSuccess", () => {
106
+ it("returns minimal success response", () => {
107
+ const result = formatTapSuccess({
108
+ method: "fiber",
109
+ query: { text: "Submit" },
110
+ pressed: "PrimaryButton",
111
+ text: "Submit",
112
+ screen: "LoginScreen",
113
+ path: "LoginScreen > Form > PrimaryButton",
114
+ });
115
+ expect(result.success).toBe(true);
116
+ expect(result.method).toBe("fiber");
117
+ expect(result.query).toEqual({ text: "Submit" });
118
+ });
119
+ });
120
+ describe("formatTapFailure", () => {
121
+ it("includes attempted strategies and suggestion", () => {
122
+ const result = formatTapFailure({
123
+ query: { text: "hamburger" },
124
+ screen: "HomeScreen",
125
+ attempted: [{ strategy: "fiber", reason: "No match" }],
126
+ suggestion: "Use screenshot",
127
+ });
128
+ expect(result.success).toBe(false);
129
+ expect(result.attempted).toHaveLength(1);
130
+ expect(result.suggestion).toBe("Use screenshot");
131
+ });
132
+ });
133
+ describe("tap orchestrator", () => {
134
+ it("returns error when no app is connected", async () => {
135
+ const { tap } = await import("../../core/tap.js");
136
+ const { connectedApps } = await import("../../core/state.js");
137
+ connectedApps.clear();
138
+ const result = await tap({ text: "Submit" });
139
+ expect(result.success).toBe(false);
140
+ expect(result.error).toContain("No connected app");
141
+ });
142
+ it("validates that at least one search param is provided", async () => {
143
+ const { tap } = await import("../../core/tap.js");
144
+ const result = await tap({});
145
+ expect(result.success).toBe(false);
146
+ expect(result.error).toContain("Must provide");
147
+ });
148
+ it("validates x and y are both provided for coordinate tap", async () => {
149
+ const { tap } = await import("../../core/tap.js");
150
+ const result = await tap({ x: 100 });
151
+ expect(result.success).toBe(false);
152
+ expect(result.error).toContain("Both x and y");
153
+ });
154
+ });
155
+ //# sourceMappingURL=tap.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tap.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/tap.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAoB,YAAY,EAAkB,cAAc,EAAsB,sBAAsB,EAAmB,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAsD1M,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA4B/D;AAiRD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,IAAI,CAgP5G;AAGD,wBAAsB,eAAe,CACjC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,MAAM,CAAC,CA2LjB;AAyED,wBAAgB,gBAAgB,IAAI,KAAK,CAAC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,YAAY,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC,CAMD;AAGD,wBAAgB,oBAAoB,IAAI,YAAY,GAAG,IAAI,CAW1D;AAGD,wBAAgB,eAAe,IAAI,OAAO,CAOzC;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CA4C7E;AAUD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA6IvC;AAED,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,IAAI,GAAG,eAAe,GAAG,eAAe,GAAG,aAAa,GAAG,gBAAgB,CAAC;CACvF;AAED,wBAAgB,0BAA0B,IAAI,uBAAuB,CAyBpE;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAiC/E"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAoB,YAAY,EAAkB,cAAc,EAAsB,sBAAsB,EAAmB,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAsD1M,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA4B/D;AAiRD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,IAAI,CAgP5G;AAGD,wBAAsB,eAAe,CACjC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAgMjB;AAyED,wBAAgB,gBAAgB,IAAI,KAAK,CAAC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,YAAY,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC,CAMD;AAGD,wBAAgB,oBAAoB,IAAI,YAAY,GAAG,IAAI,CAW1D;AAGD,wBAAgB,eAAe,IAAI,OAAO,CAOzC;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CA4C7E;AAUD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA6IvC;AAED,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,IAAI,GAAG,eAAe,GAAG,eAAe,GAAG,aAAa,GAAG,gBAAgB,CAAC;CACvF;AAED,wBAAgB,0BAA0B,IAAI,uBAAuB,CAyBpE;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAiC/E"}
@@ -485,7 +485,7 @@ export async function connectToDevice(device, port, options = {}) {
485
485
  ws.on("open", async () => {
486
486
  // Release connection lock
487
487
  connectionLocks.delete(appKey);
488
- connectedApps.set(appKey, { ws, deviceInfo: device, port });
488
+ connectedApps.set(appKey, { ws, deviceInfo: device, port, platform: "android" });
489
489
  // Initialize or update connection state
490
490
  // Note: We do NOT reset reconnectionAttempts here - that happens
491
491
  // only when connection has been stable for MIN_STABLE_CONNECTION_MS
@@ -526,6 +526,11 @@ export async function connectToDevice(device, port, options = {}) {
526
526
  const simulatorUdid = await findSimulatorByName(device.deviceName);
527
527
  if (simulatorUdid) {
528
528
  setActiveSimulatorUdid(simulatorUdid, appKey);
529
+ // Update platform to ios now that simulator is confirmed
530
+ const connectedApp = connectedApps.get(appKey);
531
+ if (connectedApp) {
532
+ connectedApp.platform = "ios";
533
+ }
529
534
  console.error(`[rn-ai-debugger] Linked to iOS simulator: ${simulatorUdid}`);
530
535
  }
531
536
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"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"}
@@ -91,14 +91,14 @@ const guides = [
91
91
  content: `# Device Interaction
92
92
 
93
93
  ## Pressing Buttons (Fallback Chain)
94
- 1. press_element(text="Login")try text match first (preferred, works via JS fiber tree)
95
- 2. If text fails (icon-only buttons): use find_components to discover names, then press_element(component="ButtonName", index=N)
96
- 3. If press_element fails + has visible text: ocr_screenshot -> ios_tap/android_tap with coordinates
97
- 4. If press_element fails + no visible text: ios_tap_element/android_tap_element (accessibility tree)
98
- 5. Coordinate-based ios_tap/android_tap as last resort
94
+ Use tapit handles fallbacks automatically in this order:
95
+ 1. tap(text="Login") text match via JS fiber tree (preferred)
96
+ 2. tap(component="ButtonName", index=N) component name match (for icon-only buttons; use find_components to discover names first)
97
+ 3. tap(testID="login-btn") accessibility testID match
98
+ 4. tap(x=..., y=...) — coordinate-based tap (last resort)
99
99
 
100
100
  ## Non-ASCII Text (Cyrillic, CJK, Arabic)
101
- press_element(text=...) only supports ASCII (Hermes limitation). Use testID or component params instead, or fall back to ocr_screenshot -> coordinate tap.
101
+ tap(text=...) only supports ASCII (Hermes limitation). Use testID or component params instead, or fall back to ocr_screenshot -> tap(x=..., y=...).
102
102
 
103
103
  ## Other Interactions
104
104
  - ios_swipe / android_swipe: swipe/scroll with start/end coordinates