react-native-ai-devtools 1.1.4
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/LICENSE +32 -0
- package/README.md +1250 -0
- package/build/__tests__/helpers/fake-cdp-server.d.ts +56 -0
- package/build/__tests__/helpers/fake-cdp-server.d.ts.map +1 -0
- package/build/__tests__/helpers/fake-cdp-server.js +108 -0
- package/build/__tests__/helpers/fake-cdp-server.js.map +1 -0
- package/build/__tests__/integration/connection-health.test.d.ts +2 -0
- package/build/__tests__/integration/connection-health.test.d.ts.map +1 -0
- package/build/__tests__/integration/connection-health.test.js +151 -0
- package/build/__tests__/integration/connection-health.test.js.map +1 -0
- package/build/__tests__/integration/execute-in-app.test.d.ts +2 -0
- package/build/__tests__/integration/execute-in-app.test.d.ts.map +1 -0
- package/build/__tests__/integration/execute-in-app.test.js +115 -0
- package/build/__tests__/integration/execute-in-app.test.js.map +1 -0
- package/build/__tests__/integration/tools.test.d.ts +2 -0
- package/build/__tests__/integration/tools.test.d.ts.map +1 -0
- package/build/__tests__/integration/tools.test.js +228 -0
- package/build/__tests__/integration/tools.test.js.map +1 -0
- package/build/__tests__/setup.d.ts +2 -0
- package/build/__tests__/setup.d.ts.map +1 -0
- package/build/__tests__/setup.js +11 -0
- package/build/__tests__/setup.js.map +1 -0
- package/build/__tests__/unit/bundle.test.d.ts +2 -0
- package/build/__tests__/unit/bundle.test.d.ts.map +1 -0
- package/build/__tests__/unit/bundle.test.js +53 -0
- package/build/__tests__/unit/bundle.test.js.map +1 -0
- package/build/__tests__/unit/connection-health.test.d.ts +2 -0
- package/build/__tests__/unit/connection-health.test.d.ts.map +1 -0
- package/build/__tests__/unit/connection-health.test.js +28 -0
- package/build/__tests__/unit/connection-health.test.js.map +1 -0
- package/build/__tests__/unit/executor.test.d.ts +2 -0
- package/build/__tests__/unit/executor.test.d.ts.map +1 -0
- package/build/__tests__/unit/executor.test.js +79 -0
- package/build/__tests__/unit/executor.test.js.map +1 -0
- package/build/__tests__/unit/logs.test.d.ts +2 -0
- package/build/__tests__/unit/logs.test.d.ts.map +1 -0
- package/build/__tests__/unit/logs.test.js +81 -0
- package/build/__tests__/unit/logs.test.js.map +1 -0
- package/build/__tests__/unit/metro.test.d.ts +2 -0
- package/build/__tests__/unit/metro.test.d.ts.map +1 -0
- package/build/__tests__/unit/metro.test.js +61 -0
- package/build/__tests__/unit/metro.test.js.map +1 -0
- package/build/__tests__/unit/network.test.d.ts +2 -0
- package/build/__tests__/unit/network.test.d.ts.map +1 -0
- package/build/__tests__/unit/network.test.js +102 -0
- package/build/__tests__/unit/network.test.js.map +1 -0
- package/build/__tests__/unit/tap.test.d.ts +2 -0
- package/build/__tests__/unit/tap.test.d.ts.map +1 -0
- package/build/__tests__/unit/tap.test.js +157 -0
- package/build/__tests__/unit/tap.test.js.map +1 -0
- package/build/core/android.d.ts +265 -0
- package/build/core/android.d.ts.map +1 -0
- package/build/core/android.js +1413 -0
- package/build/core/android.js.map +1 -0
- package/build/core/bundle.d.ts +49 -0
- package/build/core/bundle.d.ts.map +1 -0
- package/build/core/bundle.js +368 -0
- package/build/core/bundle.js.map +1 -0
- package/build/core/connection.d.ts +43 -0
- package/build/core/connection.d.ts.map +1 -0
- package/build/core/connection.js +963 -0
- package/build/core/connection.js.map +1 -0
- package/build/core/connectionState.d.ts +108 -0
- package/build/core/connectionState.d.ts.map +1 -0
- package/build/core/connectionState.js +284 -0
- package/build/core/connectionState.js.map +1 -0
- package/build/core/errorScreenParser.d.ts +30 -0
- package/build/core/errorScreenParser.d.ts.map +1 -0
- package/build/core/errorScreenParser.js +198 -0
- package/build/core/errorScreenParser.js.map +1 -0
- package/build/core/executor.d.ts +113 -0
- package/build/core/executor.d.ts.map +1 -0
- package/build/core/executor.js +1877 -0
- package/build/core/executor.js.map +1 -0
- package/build/core/format.d.ts +8 -0
- package/build/core/format.d.ts.map +1 -0
- package/build/core/format.js +34 -0
- package/build/core/format.js.map +1 -0
- package/build/core/guides.d.ts +14 -0
- package/build/core/guides.d.ts.map +1 -0
- package/build/core/guides.js +261 -0
- package/build/core/guides.js.map +1 -0
- package/build/core/httpServer.d.ts +14 -0
- package/build/core/httpServer.d.ts.map +1 -0
- package/build/core/httpServer.js +2459 -0
- package/build/core/httpServer.js.map +1 -0
- package/build/core/httpServerProcess.d.ts +25 -0
- package/build/core/httpServerProcess.d.ts.map +1 -0
- package/build/core/httpServerProcess.js +153 -0
- package/build/core/httpServerProcess.js.map +1 -0
- package/build/core/index.d.ts +25 -0
- package/build/core/index.d.ts.map +1 -0
- package/build/core/index.js +53 -0
- package/build/core/index.js.map +1 -0
- package/build/core/ios.d.ts +214 -0
- package/build/core/ios.d.ts.map +1 -0
- package/build/core/ios.js +1232 -0
- package/build/core/ios.js.map +1 -0
- package/build/core/logs.d.ts +43 -0
- package/build/core/logs.d.ts.map +1 -0
- package/build/core/logs.js +144 -0
- package/build/core/logs.js.map +1 -0
- package/build/core/metro.d.ts +23 -0
- package/build/core/metro.d.ts.map +1 -0
- package/build/core/metro.js +96 -0
- package/build/core/metro.js.map +1 -0
- package/build/core/network.d.ts +43 -0
- package/build/core/network.d.ts.map +1 -0
- package/build/core/network.js +217 -0
- package/build/core/network.js.map +1 -0
- package/build/core/networkInterceptor.d.ts +3 -0
- package/build/core/networkInterceptor.d.ts.map +1 -0
- package/build/core/networkInterceptor.js +203 -0
- package/build/core/networkInterceptor.js.map +1 -0
- package/build/core/ocr.d.ts +69 -0
- package/build/core/ocr.d.ts.map +1 -0
- package/build/core/ocr.js +212 -0
- package/build/core/ocr.js.map +1 -0
- package/build/core/state.d.ts +17 -0
- package/build/core/state.d.ts.map +1 -0
- package/build/core/state.js +50 -0
- package/build/core/state.js.map +1 -0
- package/build/core/tap.d.ts +91 -0
- package/build/core/tap.d.ts.map +1 -0
- package/build/core/tap.js +542 -0
- package/build/core/tap.js.map +1 -0
- package/build/core/telemetry.d.ts +4 -0
- package/build/core/telemetry.d.ts.map +1 -0
- package/build/core/telemetry.js +289 -0
- package/build/core/telemetry.js.map +1 -0
- package/build/core/types.d.ts +134 -0
- package/build/core/types.d.ts.map +1 -0
- package/build/core/types.js +2 -0
- package/build/core/types.js.map +1 -0
- package/build/httpServerStandalone.d.ts +7 -0
- package/build/httpServerStandalone.d.ts.map +1 -0
- package/build/httpServerStandalone.js +31 -0
- package/build/httpServerStandalone.js.map +1 -0
- package/build/index.d.ts +3 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +3012 -0
- package/build/index.js.map +1 -0
- package/build/pro/tap.d.ts +91 -0
- package/build/pro/tap.d.ts.map +1 -0
- package/build/pro/tap.js +542 -0
- package/build/pro/tap.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/core/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { LogEntry } from "./types.js";
|
|
2
|
+
import { NetworkRequest } from "./types.js";
|
|
3
|
+
export type OutputFormat = "text" | "tonl";
|
|
4
|
+
export declare function formatLogsAsTonl(logs: LogEntry[], options?: {
|
|
5
|
+
maxMessageLength?: number;
|
|
6
|
+
}): string;
|
|
7
|
+
export declare function formatNetworkAsTonl(requests: NetworkRequest[]): string;
|
|
8
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/core/format.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAc3C,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,QAAQ,EAAE,EAChB,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5C,MAAM,CAUR;AAGD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAYtE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { encodeTONL } from "tonl";
|
|
2
|
+
// TONL format hint to include in responses
|
|
3
|
+
const TONL_HINT = "[Format: TONL - compact token-optimized format. Fields in header, values in rows.]\n";
|
|
4
|
+
// Truncate message helper
|
|
5
|
+
function truncateMessage(message, maxLength) {
|
|
6
|
+
if (maxLength <= 0 || message.length <= maxLength) {
|
|
7
|
+
return message;
|
|
8
|
+
}
|
|
9
|
+
return message.slice(0, maxLength) + `...[${message.length}ch]`;
|
|
10
|
+
}
|
|
11
|
+
// Format logs as TONL
|
|
12
|
+
export function formatLogsAsTonl(logs, options = {}) {
|
|
13
|
+
const { maxMessageLength = 500 } = options;
|
|
14
|
+
const data = logs.map((log) => ({
|
|
15
|
+
time: log.timestamp.toLocaleTimeString(),
|
|
16
|
+
level: log.level.toUpperCase(),
|
|
17
|
+
msg: truncateMessage(log.message, maxMessageLength)
|
|
18
|
+
}));
|
|
19
|
+
return TONL_HINT + encodeTONL({ logs: data });
|
|
20
|
+
}
|
|
21
|
+
// Format network requests as TONL (compact list view)
|
|
22
|
+
export function formatNetworkAsTonl(requests) {
|
|
23
|
+
const data = requests.map((req) => ({
|
|
24
|
+
id: req.requestId,
|
|
25
|
+
time: req.timestamp.toLocaleTimeString(),
|
|
26
|
+
method: req.method,
|
|
27
|
+
status: req.status ?? "pending",
|
|
28
|
+
duration: req.timing?.duration ? `${req.timing.duration}ms` : "-",
|
|
29
|
+
url: req.url,
|
|
30
|
+
error: req.error || undefined
|
|
31
|
+
}));
|
|
32
|
+
return TONL_HINT + encodeTONL({ requests: data });
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/core/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAOlC,2CAA2C;AAC3C,MAAM,SAAS,GAAG,sFAAsF,CAAC;AAEzG,0BAA0B;AAC1B,SAAS,eAAe,CAAC,OAAe,EAAE,SAAiB;IACvD,IAAI,SAAS,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAChD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC;AACpE,CAAC;AAED,sBAAsB;AACtB,MAAM,UAAU,gBAAgB,CAC5B,IAAgB,EAChB,UAAyC,EAAE;IAE3C,MAAM,EAAE,gBAAgB,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IAE3C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5B,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE;QACxC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE;QAC9B,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC;KACtD,CAAC,CAAC,CAAC;IAEJ,OAAO,SAAS,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,mBAAmB,CAAC,QAA0B;IAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChC,EAAE,EAAE,GAAG,CAAC,SAAS;QACjB,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE;QACxC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS;QAC/B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG;QACjE,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS;KAChC,CAAC,CAAC,CAAC;IAEJ,OAAO,SAAS,GAAG,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Usage guides for MCP tools.
|
|
3
|
+
* Returned by the get_usage_guide tool to help agents understand recommended workflows.
|
|
4
|
+
*/
|
|
5
|
+
export interface Guide {
|
|
6
|
+
id: string;
|
|
7
|
+
title: string;
|
|
8
|
+
summary: string;
|
|
9
|
+
content: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function getGuideOverview(): string;
|
|
12
|
+
export declare function getGuideByTopic(topic: string): string | null;
|
|
13
|
+
export declare function getAvailableTopics(): string[];
|
|
14
|
+
//# sourceMappingURL=guides.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guides.d.ts","sourceRoot":"","sources":["../../src/core/guides.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,KAAK;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AAiPD,wBAAgB,gBAAgB,IAAI,MAAM,CAUzC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Usage guides for MCP tools.
|
|
3
|
+
* Returned by the get_usage_guide tool to help agents understand recommended workflows.
|
|
4
|
+
*/
|
|
5
|
+
const guides = [
|
|
6
|
+
{
|
|
7
|
+
id: "setup",
|
|
8
|
+
title: "Session Setup",
|
|
9
|
+
summary: "Connect to a running React Native app via Metro bundler",
|
|
10
|
+
content: `# Session Setup
|
|
11
|
+
|
|
12
|
+
## Quick Start
|
|
13
|
+
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.
|
|
14
|
+
2. get_apps — verify the app appears in connected list
|
|
15
|
+
3. get_connection_status — check connection health
|
|
16
|
+
|
|
17
|
+
## If No App Running
|
|
18
|
+
- list_ios_simulators / list_android_devices — find available devices
|
|
19
|
+
- ios_boot_simulator — boot an iOS simulator if needed
|
|
20
|
+
- ios_launch_app / android_launch_app — launch the app
|
|
21
|
+
- Wait 2-3 seconds, then scan_metro
|
|
22
|
+
|
|
23
|
+
## Switch to Native Debugger
|
|
24
|
+
- disconnect_metro — closes all CDP connections and stops auto-reconnect
|
|
25
|
+
- The built-in React Native debugger can now connect
|
|
26
|
+
- Use scan_metro to reconnect when done with native debugger
|
|
27
|
+
|
|
28
|
+
## Key Tools
|
|
29
|
+
- scan_metro: auto-discover and connect (preferred)
|
|
30
|
+
- connect_metro: connect to specific port (when you know it)
|
|
31
|
+
- disconnect_metro: close all connections (free CDP slot for native debugger)
|
|
32
|
+
- ensure_connection: health check with healthCheck=true
|
|
33
|
+
- get_connection_status: check uptime and gaps`
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: "inspect",
|
|
37
|
+
title: "Component Inspection",
|
|
38
|
+
summary: "Identify which React component renders a UI element, get hierarchy and file paths",
|
|
39
|
+
content: `# Component Inspection
|
|
40
|
+
|
|
41
|
+
## Recommended Workflow: Identify a Component on Screen
|
|
42
|
+
1. Take a screenshot (ios_screenshot / android_screenshot) or use ocr_screenshot
|
|
43
|
+
2. Identify the target element visually, estimate its coordinates
|
|
44
|
+
3. Convert screenshot pixels to points: divide by device pixel ratio (e.g. pixel_x / 3 for @3x iPhones)
|
|
45
|
+
4. Call get_inspector_selection(x, y) — returns clean component hierarchy with file paths
|
|
46
|
+
Example output: HomeScreen(./(tabs)/index.tsx) > SneakerCard > PulseActionButton
|
|
47
|
+
5. If you also need layout details, call inspect_at_point(x, y) on the same coordinates
|
|
48
|
+
|
|
49
|
+
## When to Use Which Tool
|
|
50
|
+
- get_inspector_selection(x, y) — finding component NAMES and screen structure. Returns hierarchy with source file paths. Auto-enables the Element Inspector, taps at coordinates, reads the result.
|
|
51
|
+
- inspect_at_point(x, y) — layout debugging. Returns component props, measured frame (position/size in dp), and path. Skips RN primitives and common library wrappers (Expo, SVG, gesture handlers).
|
|
52
|
+
- find_components(pattern) — search for components by name regex across the entire fiber tree.
|
|
53
|
+
- get_component_tree — full tree overview. Use focusedOnly=true and structureOnly=true for a compact view.
|
|
54
|
+
- inspect_component(name) — deep dive into a specific component's props, state, and hooks.
|
|
55
|
+
|
|
56
|
+
## Tips
|
|
57
|
+
- Both inspect_at_point and get_inspector_selection work on Paper and Fabric (New Architecture)
|
|
58
|
+
- get_inspector_selection returns the most complete hierarchy — prefer it for finding component names
|
|
59
|
+
- toggle_element_inspector is rarely needed — get_inspector_selection auto-enables the inspector`
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: "layout",
|
|
63
|
+
title: "Layout Debugging",
|
|
64
|
+
summary: "Capture screenshots, verify UI changes, inspect layout frames and styles",
|
|
65
|
+
content: `# Layout Debugging
|
|
66
|
+
|
|
67
|
+
## Verify UI Changes
|
|
68
|
+
1. ios_screenshot / android_screenshot — capture current screen
|
|
69
|
+
2. Compare visually against expected result or Figma design
|
|
70
|
+
3. If an issue is spotted, drill down with inspection tools
|
|
71
|
+
|
|
72
|
+
## Inspect Layout at a Point
|
|
73
|
+
1. inspect_at_point(x, y) — returns component frame (position, size in dp), props, and styles
|
|
74
|
+
2. Use includeProps=true (default) to see style objects, colors, flex properties
|
|
75
|
+
3. Use includeFrame=true (default) to see exact position and dimensions
|
|
76
|
+
|
|
77
|
+
## Identify Component to Fix
|
|
78
|
+
1. get_inspector_selection(x, y) — returns hierarchy with file paths
|
|
79
|
+
Example: HomeScreen(./(tabs)/index.tsx) > SneakerCard > PulseActionButton
|
|
80
|
+
2. Use the file path to find and edit the source code
|
|
81
|
+
|
|
82
|
+
## Full Screen Layout
|
|
83
|
+
- get_screen_layout — full layout data for all components
|
|
84
|
+
- Use componentsOnly=true to hide host components (View, Text) and see only custom components
|
|
85
|
+
- find_components with includeLayout=true for targeted layout info
|
|
86
|
+
|
|
87
|
+
## Key Tools
|
|
88
|
+
- ios_screenshot / android_screenshot: visual capture
|
|
89
|
+
- ocr_screenshot: screenshot with text recognition and tap coordinates
|
|
90
|
+
- inspect_at_point: frame measurements, props, styles
|
|
91
|
+
- get_inspector_selection: component names and source files`
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: "interact",
|
|
95
|
+
title: "Device Interaction",
|
|
96
|
+
summary: "Tap buttons, swipe, type text, and navigate the app UI",
|
|
97
|
+
content: `# Device Interaction
|
|
98
|
+
|
|
99
|
+
## Tapping Elements
|
|
100
|
+
Use tap — it tries multiple strategies automatically:
|
|
101
|
+
1. tap(testID="login-btn") — most reliable, works via fiber tree (both platforms) and accessibility (Android)
|
|
102
|
+
2. tap(text="Login") — text match via fiber tree, then accessibility, then OCR
|
|
103
|
+
3. tap(component="IconName") — component name match with parent traversal (for icon-only buttons; use find_components to discover names first)
|
|
104
|
+
4. tap(x=..., y=...) — coordinate-based tap from screenshot (last resort)
|
|
105
|
+
|
|
106
|
+
## Best Practice: Use testID
|
|
107
|
+
Set testID on all interactive elements (buttons, inputs, links) for reliable tapping:
|
|
108
|
+
- More stable than text matching — doesn't break with translations or UI text changes
|
|
109
|
+
- Exact match — no ambiguity when multiple elements share similar text
|
|
110
|
+
- Works across fiber (iOS + Android) and accessibility (Android via resource-id)
|
|
111
|
+
- Also enables TextInput focusing: tap(testID="email-input") finds inputs via fiber
|
|
112
|
+
|
|
113
|
+
## TextInput Fields
|
|
114
|
+
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.
|
|
115
|
+
|
|
116
|
+
## Icon-Only Buttons
|
|
117
|
+
For buttons that contain only an icon (no text):
|
|
118
|
+
- tap(component="CartIcon") — finds the icon and walks up the fiber tree to press the nearest pressable parent
|
|
119
|
+
- Use maxTraversalDepth to increase parent search depth (default: 15) for deeply wrapped components
|
|
120
|
+
|
|
121
|
+
## Non-ASCII Text (Cyrillic, CJK, Arabic)
|
|
122
|
+
tap(text=...) skips fiber for non-ASCII (Hermes limitation) and uses accessibility/OCR instead. For best results, use testID or coordinates.
|
|
123
|
+
|
|
124
|
+
## Other Interactions
|
|
125
|
+
- ios_swipe / android_swipe: swipe/scroll with start/end coordinates
|
|
126
|
+
- ios_input_text / android_input_text: type text (tap input field first)
|
|
127
|
+
- ios_button / android_key_event: hardware buttons (HOME, BACK, etc.)
|
|
128
|
+
- ios_open_url: deep links and universal links
|
|
129
|
+
|
|
130
|
+
## After Interactions
|
|
131
|
+
- ios_wait_for_element / android_wait_for_element: wait for UI to update
|
|
132
|
+
- Take a screenshot to verify the result`
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: "logs",
|
|
136
|
+
title: "Debug Logs",
|
|
137
|
+
summary: "Read console logs, errors, and warnings from the running app",
|
|
138
|
+
content: `# Debug Logs
|
|
139
|
+
|
|
140
|
+
## Workflow
|
|
141
|
+
1. get_logs with summary=true — get counts by level and last 5 messages (overview first)
|
|
142
|
+
2. Based on what you see:
|
|
143
|
+
- get_logs with level="error" — errors only
|
|
144
|
+
- search_logs with text="..." — find specific messages
|
|
145
|
+
- get_logs with verbose=true and maxLogs=10 — full details for recent entries
|
|
146
|
+
3. clear_logs — reset buffer, then re-capture after a specific action
|
|
147
|
+
|
|
148
|
+
## Key Tools
|
|
149
|
+
- get_logs: retrieve logs with filtering (level, maxLogs, summary, verbose, startFromText)
|
|
150
|
+
- search_logs: text search across all captured logs
|
|
151
|
+
- clear_logs: reset the log buffer
|
|
152
|
+
|
|
153
|
+
## Tips
|
|
154
|
+
- Always start with summary=true to avoid token overload
|
|
155
|
+
- Use verbose=true with low maxLogs for full error details
|
|
156
|
+
- Use startFromText to begin reading from a specific point`
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
id: "network",
|
|
160
|
+
title: "Network Inspection",
|
|
161
|
+
summary: "Debug API calls, check request/response data, find failed requests",
|
|
162
|
+
content: `# Network Inspection
|
|
163
|
+
|
|
164
|
+
## Workflow
|
|
165
|
+
1. get_network_stats or get_network_requests with summary=true — overview of all requests
|
|
166
|
+
2. Filter by what you need:
|
|
167
|
+
- get_network_requests with urlPattern, method, or status filters
|
|
168
|
+
- search_network with urlPattern for text search
|
|
169
|
+
3. get_request_details with requestId — full headers, body, timing for a specific request
|
|
170
|
+
4. clear_network — reset buffer, then re-capture
|
|
171
|
+
|
|
172
|
+
## Key Tools
|
|
173
|
+
- get_network_requests: list requests with filters (urlPattern, method, status, summary)
|
|
174
|
+
- get_network_stats: quick stats overview
|
|
175
|
+
- search_network: search by URL pattern
|
|
176
|
+
- get_request_details: full request/response details (use verbose=true for large payloads)
|
|
177
|
+
- clear_network: reset the request buffer
|
|
178
|
+
|
|
179
|
+
## Tips
|
|
180
|
+
- Start with summary=true to see the request landscape
|
|
181
|
+
- Use get_request_details with verbose=true for full JSON payloads
|
|
182
|
+
- Increase maxBodyLength for large request/response bodies`
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
id: "state",
|
|
186
|
+
title: "App State",
|
|
187
|
+
summary: "Inspect Redux store, global variables, and execute JavaScript in the app",
|
|
188
|
+
content: `# App State
|
|
189
|
+
|
|
190
|
+
## Workflow
|
|
191
|
+
1. list_debug_globals — discover what's exposed (Redux store, navigation refs, action creators)
|
|
192
|
+
2. inspect_global with objectName — see properties and methods before calling them
|
|
193
|
+
3. execute_in_app — run JavaScript expressions in the app context
|
|
194
|
+
|
|
195
|
+
## Common Patterns
|
|
196
|
+
- Read Redux: execute_in_app("globalThis.__REDUX_STORE__.getState().sliceName")
|
|
197
|
+
- Dispatch action: execute_in_app("globalThis.__dispatch__(globalThis.__REDUX_ACTIONS__.slice.action(args))")
|
|
198
|
+
- Navigate: execute_in_app("globalThis.__navigate__('ScreenName')")
|
|
199
|
+
- Current route: execute_in_app("globalThis.__getCurrentRoute__()")
|
|
200
|
+
|
|
201
|
+
## Hermes Limitations
|
|
202
|
+
- NO require() or import — only pre-existing globals
|
|
203
|
+
- NO async/await — use simple expressions or .then() chains
|
|
204
|
+
- NO emoji or non-ASCII in string literals
|
|
205
|
+
- Use globalThis instead of global
|
|
206
|
+
|
|
207
|
+
## Tips
|
|
208
|
+
- Always inspect_global before calling methods on unfamiliar objects
|
|
209
|
+
- Use verbose=true with caution — Redux stores can return 10KB+
|
|
210
|
+
- Set higher maxResultLength when default 2000 chars isn't enough`
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
id: "bundle",
|
|
214
|
+
title: "Bundle Health",
|
|
215
|
+
summary: "Check Metro bundler status, fix compilation errors, reload the app",
|
|
216
|
+
content: `# Bundle Health
|
|
217
|
+
|
|
218
|
+
## Workflow
|
|
219
|
+
1. get_bundle_status — check if Metro is running and its build state
|
|
220
|
+
2. get_bundle_errors — check for compilation/bundling errors
|
|
221
|
+
3. Fix errors in code
|
|
222
|
+
4. clear_bundle_errors — clear the error buffer
|
|
223
|
+
5. reload_app — trigger full JS bundle reload (only if needed)
|
|
224
|
+
|
|
225
|
+
## When to Reload
|
|
226
|
+
React Native has Fast Refresh by default. Only reload_app when:
|
|
227
|
+
- Changes aren't appearing after a few seconds
|
|
228
|
+
- App is in a broken/error state
|
|
229
|
+
- Need to reset full app state (navigation, context)
|
|
230
|
+
- Made changes to native code or config files
|
|
231
|
+
|
|
232
|
+
## Red Screen Errors
|
|
233
|
+
If no errors captured via CDP, use get_bundle_errors with platform="ios" or "android" — this triggers screenshot+OCR fallback to read errors from the device screen.
|
|
234
|
+
|
|
235
|
+
## Key Tools
|
|
236
|
+
- get_bundle_status: Metro health check
|
|
237
|
+
- get_bundle_errors: compilation errors
|
|
238
|
+
- clear_bundle_errors: clear error buffer
|
|
239
|
+
- reload_app: full JS bundle reload
|
|
240
|
+
- ensure_connection: verify connection with healthCheck=true`
|
|
241
|
+
}
|
|
242
|
+
];
|
|
243
|
+
export function getGuideOverview() {
|
|
244
|
+
const lines = ["Available usage guides:\n"];
|
|
245
|
+
for (const guide of guides) {
|
|
246
|
+
lines.push(` ${guide.id} — ${guide.summary}`);
|
|
247
|
+
}
|
|
248
|
+
lines.push("\nCall get_usage_guide with a topic parameter for the full guide.");
|
|
249
|
+
lines.push("\nQuick start: scan_metro → get_logs / search_logs (console debugging) → ios_screenshot → get_inspector_selection(x, y) (identify components)");
|
|
250
|
+
return lines.join("\n");
|
|
251
|
+
}
|
|
252
|
+
export function getGuideByTopic(topic) {
|
|
253
|
+
const guide = guides.find((g) => g.id === topic.toLowerCase());
|
|
254
|
+
if (!guide)
|
|
255
|
+
return null;
|
|
256
|
+
return guide.content;
|
|
257
|
+
}
|
|
258
|
+
export function getAvailableTopics() {
|
|
259
|
+
return guides.map((g) => g.id);
|
|
260
|
+
}
|
|
261
|
+
//# sourceMappingURL=guides.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guides.js","sourceRoot":"","sources":["../../src/core/guides.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,MAAM,GAAY;IACpB;QACI,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,yDAAyD;QAClE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;+CAuB8B;KAC1C;IACD;QACI,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,mFAAmF;QAC5F,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;iGAoBgF;KAC5F;IACD;QACI,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE,0EAA0E;QACnF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;4DA0B2C;KACvD;IACD;QACI,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,wDAAwD;QACjE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAmCwB;KACpC;IACD;QACI,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,8DAA8D;QACvE,OAAO,EAAE;;;;;;;;;;;;;;;;;;2DAkB0C;KACtD;IACD;QACI,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,oEAAoE;QAC7E,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;2DAoB0C;KACtD;IACD;QACI,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,0EAA0E;QACnF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;kEAsBiD;KAC7D;IACD;QACI,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,oEAAoE;QAC7E,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;6DAwB4C;KACxD;CACJ,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC5B,MAAM,KAAK,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAChF,KAAK,CAAC,IAAI,CACN,+IAA+I,CAClJ,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,KAAK,CAAC,OAAO,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface DebugServerOptions {
|
|
2
|
+
port?: number;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Get the port the debug HTTP server is running on (if started)
|
|
6
|
+
*/
|
|
7
|
+
export declare function getDebugServerPort(): number | null;
|
|
8
|
+
/**
|
|
9
|
+
* Start a debug HTTP server to expose buffer contents.
|
|
10
|
+
* Automatically finds an available port starting from the default.
|
|
11
|
+
*/
|
|
12
|
+
export declare function startDebugHttpServer(options?: DebugServerOptions): Promise<number | null>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=httpServer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpServer.d.ts","sourceRoot":"","sources":["../../src/core/httpServer.ts"],"names":[],"mappings":"AAyCA,UAAU,kBAAkB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAElD;AAy4ED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkBnG"}
|