react-native-ai-debugger 1.0.7 → 1.0.8

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/build/core/ios.js CHANGED
@@ -980,4 +980,217 @@ export async function iosTapElement(options) {
980
980
  };
981
981
  }
982
982
  }
983
+ /**
984
+ * Parse IDB accessibility output into simplified element array
985
+ */
986
+ function parseIdbAccessibilityForFindElement(output) {
987
+ const elements = [];
988
+ try {
989
+ const data = JSON.parse(output);
990
+ const extractElements = (node) => {
991
+ const frame = node.frame;
992
+ if (frame) {
993
+ const element = {
994
+ label: node.AXLabel || node.label || "",
995
+ value: node.AXValue || node.value || "",
996
+ type: node.type || node.AXType || "",
997
+ frame: {
998
+ x: frame.x || 0,
999
+ y: frame.y || 0,
1000
+ width: frame.width || 0,
1001
+ height: frame.height || 0
1002
+ },
1003
+ center: {
1004
+ x: Math.round((frame.x || 0) + (frame.width || 0) / 2),
1005
+ y: Math.round((frame.y || 0) + (frame.height || 0) / 2)
1006
+ },
1007
+ enabled: node.enabled !== false,
1008
+ traits: node.traits || []
1009
+ };
1010
+ if (element.label || element.value || element.type) {
1011
+ elements.push(element);
1012
+ }
1013
+ }
1014
+ const children = node.children;
1015
+ if (children && Array.isArray(children)) {
1016
+ for (const child of children) {
1017
+ extractElements(child);
1018
+ }
1019
+ }
1020
+ };
1021
+ if (Array.isArray(data)) {
1022
+ for (const item of data) {
1023
+ extractElements(item);
1024
+ }
1025
+ }
1026
+ else {
1027
+ extractElements(data);
1028
+ }
1029
+ }
1030
+ catch {
1031
+ // If JSON parsing fails, return empty array
1032
+ }
1033
+ return elements;
1034
+ }
1035
+ /**
1036
+ * Match iOS element against find options
1037
+ */
1038
+ function matchesIOSFindElement(element, options) {
1039
+ if (options.label !== undefined) {
1040
+ if (element.label !== options.label)
1041
+ return false;
1042
+ }
1043
+ if (options.labelContains !== undefined) {
1044
+ if (!element.label.toLowerCase().includes(options.labelContains.toLowerCase()))
1045
+ return false;
1046
+ }
1047
+ if (options.value !== undefined) {
1048
+ if (element.value !== options.value)
1049
+ return false;
1050
+ }
1051
+ if (options.valueContains !== undefined) {
1052
+ if (!element.value.toLowerCase().includes(options.valueContains.toLowerCase()))
1053
+ return false;
1054
+ }
1055
+ if (options.type !== undefined) {
1056
+ if (!element.type.toLowerCase().includes(options.type.toLowerCase()))
1057
+ return false;
1058
+ }
1059
+ return true;
1060
+ }
1061
+ /**
1062
+ * Get UI accessibility tree from iOS simulator using IDB (for find_element)
1063
+ */
1064
+ export async function iosGetUITree(udid) {
1065
+ try {
1066
+ const idbAvailable = await isIdbAvailable();
1067
+ if (!idbAvailable) {
1068
+ return {
1069
+ success: false,
1070
+ error: "IDB is not installed. Install with: brew install idb-companion"
1071
+ };
1072
+ }
1073
+ const targetUdid = udid || (await getBootedSimulatorUdid());
1074
+ if (!targetUdid) {
1075
+ return {
1076
+ success: false,
1077
+ error: "No iOS simulator is currently running. Start a simulator first."
1078
+ };
1079
+ }
1080
+ const connectResult = await ensureIdbConnected(targetUdid);
1081
+ if (!connectResult.success) {
1082
+ return { success: false, error: connectResult.error };
1083
+ }
1084
+ const { stdout } = await runIdb("ui", "describe-all", "--udid", targetUdid);
1085
+ const elements = parseIdbAccessibilityForFindElement(stdout);
1086
+ return {
1087
+ success: true,
1088
+ elements,
1089
+ rawOutput: stdout
1090
+ };
1091
+ }
1092
+ catch (error) {
1093
+ return {
1094
+ success: false,
1095
+ error: `Failed to get UI tree: ${error instanceof Error ? error.message : String(error)}`
1096
+ };
1097
+ }
1098
+ }
1099
+ /**
1100
+ * Find element(s) in the iOS UI tree matching the given criteria
1101
+ */
1102
+ export async function iosFindElement(options, udid) {
1103
+ try {
1104
+ if (!options.label && !options.labelContains && !options.value &&
1105
+ !options.valueContains && !options.type) {
1106
+ return {
1107
+ success: false,
1108
+ found: false,
1109
+ error: "At least one search criteria (label, labelContains, value, valueContains, or type) must be provided"
1110
+ };
1111
+ }
1112
+ const treeResult = await iosGetUITree(udid);
1113
+ if (!treeResult.success || !treeResult.elements) {
1114
+ return {
1115
+ success: false,
1116
+ found: false,
1117
+ error: treeResult.error
1118
+ };
1119
+ }
1120
+ const matches = treeResult.elements.filter(el => matchesIOSFindElement(el, options));
1121
+ if (matches.length === 0) {
1122
+ return {
1123
+ success: true,
1124
+ found: false,
1125
+ matchCount: 0
1126
+ };
1127
+ }
1128
+ const index = options.index ?? 0;
1129
+ const selectedElement = matches[index];
1130
+ if (!selectedElement) {
1131
+ return {
1132
+ success: true,
1133
+ found: false,
1134
+ matchCount: matches.length,
1135
+ error: `Index ${index} out of bounds. Found ${matches.length} matching element(s).`
1136
+ };
1137
+ }
1138
+ return {
1139
+ success: true,
1140
+ found: true,
1141
+ element: selectedElement,
1142
+ allMatches: matches,
1143
+ matchCount: matches.length
1144
+ };
1145
+ }
1146
+ catch (error) {
1147
+ return {
1148
+ success: false,
1149
+ found: false,
1150
+ error: `Failed to find element: ${error instanceof Error ? error.message : String(error)}`
1151
+ };
1152
+ }
1153
+ }
1154
+ /**
1155
+ * Wait for element to appear on iOS screen with polling
1156
+ */
1157
+ export async function iosWaitForElement(options, udid) {
1158
+ const timeoutMs = options.timeoutMs ?? 10000;
1159
+ const pollIntervalMs = options.pollIntervalMs ?? 500;
1160
+ const startTime = Date.now();
1161
+ if (!options.label && !options.labelContains && !options.value &&
1162
+ !options.valueContains && !options.type) {
1163
+ return {
1164
+ success: false,
1165
+ found: false,
1166
+ timedOut: false,
1167
+ error: "At least one search criteria (label, labelContains, value, valueContains, or type) must be provided"
1168
+ };
1169
+ }
1170
+ while (Date.now() - startTime < timeoutMs) {
1171
+ const result = await iosFindElement(options, udid);
1172
+ if (result.found && result.element) {
1173
+ return {
1174
+ ...result,
1175
+ elapsedMs: Date.now() - startTime,
1176
+ timedOut: false
1177
+ };
1178
+ }
1179
+ if (!result.success) {
1180
+ return {
1181
+ ...result,
1182
+ elapsedMs: Date.now() - startTime,
1183
+ timedOut: false
1184
+ };
1185
+ }
1186
+ await new Promise(resolve => setTimeout(resolve, pollIntervalMs));
1187
+ }
1188
+ return {
1189
+ success: true,
1190
+ found: false,
1191
+ elapsedMs: Date.now() - startTime,
1192
+ timedOut: true,
1193
+ error: `Timed out after ${timeoutMs}ms waiting for element`
1194
+ };
1195
+ }
983
1196
  //# sourceMappingURL=ios.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ios.js","sourceRoot":"","sources":["../../src/core/ios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ios.js","sourceRoot":"","sources":["../../src/core/ios.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -11,10 +11,14 @@ listAndroidDevices, androidScreenshot, androidInstallApp, androidLaunchApp, andr
11
11
  ANDROID_KEY_EVENTS, androidTap, androidLongPress, androidSwipe, androidInputText, androidKeyEvent, androidGetScreenSize,
12
12
  // Android Accessibility (UI Hierarchy)
13
13
  androidDescribeAll, androidDescribePoint, androidTapElement,
14
+ // Android Element Finding (no screenshots)
15
+ androidFindElement, androidWaitForElement,
14
16
  // iOS
15
17
  listIOSSimulators, iosScreenshot, iosInstallApp, iosLaunchApp, iosOpenUrl, iosTerminateApp, iosBootSimulator,
16
18
  // iOS IDB-based UI tools
17
19
  iosTap, iosTapElement, iosSwipe, iosInputText, iosButton, iosKeyEvent, iosKeySequence, iosDescribeAll, iosDescribePoint, IOS_BUTTON_TYPES,
20
+ // iOS Element Finding (no screenshots)
21
+ iosFindElement, iosWaitForElement,
18
22
  // Debug HTTP Server
19
23
  startDebugHttpServer, getDebugServerPort } from "./core/index.js";
20
24
  // Create MCP server
@@ -928,6 +932,145 @@ server.registerTool("android_tap_element", {
928
932
  isError: !result.success
929
933
  };
930
934
  });
935
+ // Tool: Android find element (no screenshot needed)
936
+ server.registerTool("android_find_element", {
937
+ description: "Find a UI element on Android screen by text, content description, or resource ID. Returns element details including tap coordinates. Use this to check if an element exists without tapping it. Workflow: 1) wait_for_element, 2) find_element, 3) tap with returned coordinates. Prefer this over screenshots for button taps.",
938
+ inputSchema: {
939
+ text: z.string().optional().describe("Exact text match for the element"),
940
+ textContains: z
941
+ .string()
942
+ .optional()
943
+ .describe("Partial text match (case-insensitive)"),
944
+ contentDesc: z.string().optional().describe("Exact content-description match"),
945
+ contentDescContains: z
946
+ .string()
947
+ .optional()
948
+ .describe("Partial content-description match (case-insensitive)"),
949
+ resourceId: z
950
+ .string()
951
+ .optional()
952
+ .describe("Resource ID match (e.g., 'com.app:id/button' or just 'button')"),
953
+ index: z
954
+ .number()
955
+ .optional()
956
+ .describe("If multiple elements match, select the nth one (0-indexed, default: 0)"),
957
+ deviceId: z
958
+ .string()
959
+ .optional()
960
+ .describe("Optional device ID. Uses first available device if not specified.")
961
+ }
962
+ }, async ({ text, textContains, contentDesc, contentDescContains, resourceId, index, deviceId }) => {
963
+ const result = await androidFindElement({ text, textContains, contentDesc, contentDescContains, resourceId, index }, deviceId);
964
+ if (!result.success) {
965
+ return {
966
+ content: [{ type: "text", text: `Error: ${result.error}` }],
967
+ isError: true
968
+ };
969
+ }
970
+ if (!result.found) {
971
+ return {
972
+ content: [
973
+ {
974
+ type: "text",
975
+ text: result.error || "Element not found"
976
+ }
977
+ ]
978
+ };
979
+ }
980
+ const el = result.element;
981
+ const info = [
982
+ `Found element (${result.matchCount} match${result.matchCount > 1 ? "es" : ""})`,
983
+ ` Text: "${el.text}"`,
984
+ ` Content-desc: "${el.contentDesc}"`,
985
+ ` Resource ID: "${el.resourceId}"`,
986
+ ` Class: ${el.className}`,
987
+ ` Bounds: [${el.bounds.left},${el.bounds.top}][${el.bounds.right},${el.bounds.bottom}]`,
988
+ ` Center (tap coords): (${el.center.x}, ${el.center.y})`,
989
+ ` Clickable: ${el.clickable}, Enabled: ${el.enabled}`
990
+ ].join("\n");
991
+ return {
992
+ content: [{ type: "text", text: info }]
993
+ };
994
+ });
995
+ // Tool: Android wait for element
996
+ server.registerTool("android_wait_for_element", {
997
+ description: "Wait for a UI element to appear on Android screen. Polls the accessibility tree until the element is found or timeout is reached. Use this FIRST after navigation to ensure screen is ready, then use find_element + tap.",
998
+ inputSchema: {
999
+ text: z.string().optional().describe("Exact text match for the element"),
1000
+ textContains: z
1001
+ .string()
1002
+ .optional()
1003
+ .describe("Partial text match (case-insensitive)"),
1004
+ contentDesc: z.string().optional().describe("Exact content-description match"),
1005
+ contentDescContains: z
1006
+ .string()
1007
+ .optional()
1008
+ .describe("Partial content-description match (case-insensitive)"),
1009
+ resourceId: z
1010
+ .string()
1011
+ .optional()
1012
+ .describe("Resource ID match (e.g., 'com.app:id/button' or just 'button')"),
1013
+ index: z
1014
+ .number()
1015
+ .optional()
1016
+ .describe("If multiple elements match, select the nth one (0-indexed, default: 0)"),
1017
+ timeoutMs: z
1018
+ .number()
1019
+ .optional()
1020
+ .default(10000)
1021
+ .describe("Maximum time to wait in milliseconds (default: 10000)"),
1022
+ pollIntervalMs: z
1023
+ .number()
1024
+ .optional()
1025
+ .default(500)
1026
+ .describe("Time between polls in milliseconds (default: 500)"),
1027
+ deviceId: z
1028
+ .string()
1029
+ .optional()
1030
+ .describe("Optional device ID. Uses first available device if not specified.")
1031
+ }
1032
+ }, async ({ text, textContains, contentDesc, contentDescContains, resourceId, index, timeoutMs, pollIntervalMs, deviceId }) => {
1033
+ const result = await androidWaitForElement({
1034
+ text,
1035
+ textContains,
1036
+ contentDesc,
1037
+ contentDescContains,
1038
+ resourceId,
1039
+ index,
1040
+ timeoutMs,
1041
+ pollIntervalMs
1042
+ }, deviceId);
1043
+ if (!result.success) {
1044
+ return {
1045
+ content: [{ type: "text", text: `Error: ${result.error}` }],
1046
+ isError: true
1047
+ };
1048
+ }
1049
+ if (!result.found) {
1050
+ return {
1051
+ content: [
1052
+ {
1053
+ type: "text",
1054
+ text: result.timedOut
1055
+ ? `Timed out after ${result.elapsedMs}ms - element not found`
1056
+ : result.error || "Element not found"
1057
+ }
1058
+ ]
1059
+ };
1060
+ }
1061
+ const el = result.element;
1062
+ const info = [
1063
+ `Element found after ${result.elapsedMs}ms`,
1064
+ ` Text: "${el.text}"`,
1065
+ ` Content-desc: "${el.contentDesc}"`,
1066
+ ` Resource ID: "${el.resourceId}"`,
1067
+ ` Center (tap coords): (${el.center.x}, ${el.center.y})`,
1068
+ ` Clickable: ${el.clickable}, Enabled: ${el.enabled}`
1069
+ ].join("\n");
1070
+ return {
1071
+ content: [{ type: "text", text: info }]
1072
+ };
1073
+ });
931
1074
  // ============================================================================
932
1075
  // iOS Simulator Tools
933
1076
  // ============================================================================
@@ -1355,6 +1498,144 @@ server.registerTool("ios_describe_point", {
1355
1498
  isError: !result.success
1356
1499
  };
1357
1500
  });
1501
+ // Tool: iOS find element (no screenshot needed)
1502
+ server.registerTool("ios_find_element", {
1503
+ description: "Find a UI element on iOS simulator by accessibility label or value. Returns element details including tap coordinates. Requires IDB (brew install idb-companion). Workflow: 1) wait_for_element, 2) find_element, 3) tap with returned coordinates. Prefer this over screenshots for button taps.",
1504
+ inputSchema: {
1505
+ label: z.string().optional().describe("Exact accessibility label match"),
1506
+ labelContains: z
1507
+ .string()
1508
+ .optional()
1509
+ .describe("Partial label match (case-insensitive)"),
1510
+ value: z.string().optional().describe("Exact accessibility value match"),
1511
+ valueContains: z
1512
+ .string()
1513
+ .optional()
1514
+ .describe("Partial value match (case-insensitive)"),
1515
+ type: z
1516
+ .string()
1517
+ .optional()
1518
+ .describe("Element type to match (e.g., 'Button', 'TextField')"),
1519
+ index: z
1520
+ .number()
1521
+ .optional()
1522
+ .describe("If multiple elements match, select the nth one (0-indexed, default: 0)"),
1523
+ udid: z
1524
+ .string()
1525
+ .optional()
1526
+ .describe("Optional simulator UDID. Uses booted simulator if not specified.")
1527
+ }
1528
+ }, async ({ label, labelContains, value, valueContains, type, index, udid }) => {
1529
+ const result = await iosFindElement({ label, labelContains, value, valueContains, type, index }, udid);
1530
+ if (!result.success) {
1531
+ return {
1532
+ content: [{ type: "text", text: `Error: ${result.error}` }],
1533
+ isError: true
1534
+ };
1535
+ }
1536
+ if (!result.found) {
1537
+ return {
1538
+ content: [
1539
+ {
1540
+ type: "text",
1541
+ text: result.error || "Element not found"
1542
+ }
1543
+ ]
1544
+ };
1545
+ }
1546
+ const el = result.element;
1547
+ const info = [
1548
+ `Found element (${result.matchCount} match${result.matchCount > 1 ? "es" : ""})`,
1549
+ ` Label: "${el.label}"`,
1550
+ ` Value: "${el.value}"`,
1551
+ ` Type: ${el.type}`,
1552
+ ` Frame: {x: ${el.frame.x}, y: ${el.frame.y}, w: ${el.frame.width}, h: ${el.frame.height}}`,
1553
+ ` Center (tap coords): (${el.center.x}, ${el.center.y})`,
1554
+ ` Enabled: ${el.enabled}`
1555
+ ].join("\n");
1556
+ return {
1557
+ content: [{ type: "text", text: info }]
1558
+ };
1559
+ });
1560
+ // Tool: iOS wait for element
1561
+ server.registerTool("ios_wait_for_element", {
1562
+ description: "Wait for a UI element to appear on iOS simulator. Polls until found or timeout. Requires IDB (brew install idb-companion). Use this FIRST after navigation to ensure screen is ready, then use find_element + tap.",
1563
+ inputSchema: {
1564
+ label: z.string().optional().describe("Exact accessibility label match"),
1565
+ labelContains: z
1566
+ .string()
1567
+ .optional()
1568
+ .describe("Partial label match (case-insensitive)"),
1569
+ value: z.string().optional().describe("Exact accessibility value match"),
1570
+ valueContains: z
1571
+ .string()
1572
+ .optional()
1573
+ .describe("Partial value match (case-insensitive)"),
1574
+ type: z
1575
+ .string()
1576
+ .optional()
1577
+ .describe("Element type to match (e.g., 'Button', 'TextField')"),
1578
+ index: z
1579
+ .number()
1580
+ .optional()
1581
+ .describe("If multiple elements match, select the nth one (0-indexed, default: 0)"),
1582
+ timeoutMs: z
1583
+ .number()
1584
+ .optional()
1585
+ .default(10000)
1586
+ .describe("Maximum time to wait in milliseconds (default: 10000)"),
1587
+ pollIntervalMs: z
1588
+ .number()
1589
+ .optional()
1590
+ .default(500)
1591
+ .describe("Time between polls in milliseconds (default: 500)"),
1592
+ udid: z
1593
+ .string()
1594
+ .optional()
1595
+ .describe("Optional simulator UDID. Uses booted simulator if not specified.")
1596
+ }
1597
+ }, async ({ label, labelContains, value, valueContains, type, index, timeoutMs, pollIntervalMs, udid }) => {
1598
+ const result = await iosWaitForElement({
1599
+ label,
1600
+ labelContains,
1601
+ value,
1602
+ valueContains,
1603
+ type,
1604
+ index,
1605
+ timeoutMs,
1606
+ pollIntervalMs
1607
+ }, udid);
1608
+ if (!result.success) {
1609
+ return {
1610
+ content: [{ type: "text", text: `Error: ${result.error}` }],
1611
+ isError: true
1612
+ };
1613
+ }
1614
+ if (!result.found) {
1615
+ return {
1616
+ content: [
1617
+ {
1618
+ type: "text",
1619
+ text: result.timedOut
1620
+ ? `Timed out after ${result.elapsedMs}ms - element not found`
1621
+ : result.error || "Element not found"
1622
+ }
1623
+ ]
1624
+ };
1625
+ }
1626
+ const el = result.element;
1627
+ const info = [
1628
+ `Element found after ${result.elapsedMs}ms`,
1629
+ ` Label: "${el.label}"`,
1630
+ ` Value: "${el.value}"`,
1631
+ ` Type: ${el.type}`,
1632
+ ` Center (tap coords): (${el.center.x}, ${el.center.y})`,
1633
+ ` Enabled: ${el.enabled}`
1634
+ ].join("\n");
1635
+ return {
1636
+ content: [{ type: "text", text: info }]
1637
+ };
1638
+ });
1358
1639
  // Tool: Get debug server info
1359
1640
  server.registerTool("get_debug_server", {
1360
1641
  description: "Get the debug HTTP server URL. Use this to find where you can access logs, network requests, and other debug data via HTTP.",