react-native-ai-devtools 2.18.1 → 2.20.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 +1 -0
- package/build/__tests__/unit/actionLog.test.d.ts +2 -0
- package/build/__tests__/unit/actionLog.test.d.ts.map +1 -0
- package/build/__tests__/unit/actionLog.test.js +116 -0
- package/build/__tests__/unit/actionLog.test.js.map +1 -0
- package/build/__tests__/unit/actionOutcome.test.d.ts +2 -0
- package/build/__tests__/unit/actionOutcome.test.d.ts.map +1 -0
- package/build/__tests__/unit/actionOutcome.test.js +166 -0
- package/build/__tests__/unit/actionOutcome.test.js.map +1 -0
- package/build/__tests__/unit/actionOutcomeCollect.test.d.ts +2 -0
- package/build/__tests__/unit/actionOutcomeCollect.test.d.ts.map +1 -0
- package/build/__tests__/unit/actionOutcomeCollect.test.js +110 -0
- package/build/__tests__/unit/actionOutcomeCollect.test.js.map +1 -0
- package/build/__tests__/unit/actionRender.test.d.ts +2 -0
- package/build/__tests__/unit/actionRender.test.d.ts.map +1 -0
- package/build/__tests__/unit/actionRender.test.js +163 -0
- package/build/__tests__/unit/actionRender.test.js.map +1 -0
- package/build/__tests__/unit/blankFrame.test.d.ts +2 -0
- package/build/__tests__/unit/blankFrame.test.d.ts.map +1 -0
- package/build/__tests__/unit/blankFrame.test.js +23 -0
- package/build/__tests__/unit/blankFrame.test.js.map +1 -0
- package/build/__tests__/unit/chromiumNavigation.test.d.ts +2 -0
- package/build/__tests__/unit/chromiumNavigation.test.d.ts.map +1 -0
- package/build/__tests__/unit/chromiumNavigation.test.js +36 -0
- package/build/__tests__/unit/chromiumNavigation.test.js.map +1 -0
- package/build/__tests__/unit/commitRecorder.test.d.ts +2 -0
- package/build/__tests__/unit/commitRecorder.test.d.ts.map +1 -0
- package/build/__tests__/unit/commitRecorder.test.js +141 -0
- package/build/__tests__/unit/commitRecorder.test.js.map +1 -0
- package/build/__tests__/unit/commitRecorderInjected.test.d.ts +2 -0
- package/build/__tests__/unit/commitRecorderInjected.test.d.ts.map +1 -0
- package/build/__tests__/unit/commitRecorderInjected.test.js +195 -0
- package/build/__tests__/unit/commitRecorderInjected.test.js.map +1 -0
- package/build/__tests__/unit/compactImageSrc.test.d.ts +2 -0
- package/build/__tests__/unit/compactImageSrc.test.d.ts.map +1 -0
- package/build/__tests__/unit/compactImageSrc.test.js +11 -0
- package/build/__tests__/unit/compactImageSrc.test.js.map +1 -0
- package/build/__tests__/unit/epochStarts.test.d.ts +2 -0
- package/build/__tests__/unit/epochStarts.test.d.ts.map +1 -0
- package/build/__tests__/unit/epochStarts.test.js +35 -0
- package/build/__tests__/unit/epochStarts.test.js.map +1 -0
- package/build/__tests__/unit/launchRecordsDevice.test.d.ts +2 -0
- package/build/__tests__/unit/launchRecordsDevice.test.d.ts.map +1 -0
- package/build/__tests__/unit/launchRecordsDevice.test.js +37 -0
- package/build/__tests__/unit/launchRecordsDevice.test.js.map +1 -0
- package/build/__tests__/unit/logOwnership.test.js +6 -6
- package/build/__tests__/unit/logOwnership.test.js.map +1 -1
- package/build/__tests__/unit/logSourceIos.test.js +2 -2
- package/build/__tests__/unit/logSourceIos.test.js.map +1 -1
- package/build/__tests__/unit/nativeLogs.test.js +10 -10
- package/build/__tests__/unit/nativeLogs.test.js.map +1 -1
- package/build/__tests__/unit/networkIdle.test.d.ts +2 -0
- package/build/__tests__/unit/networkIdle.test.d.ts.map +1 -0
- package/build/__tests__/unit/networkIdle.test.js +65 -0
- package/build/__tests__/unit/networkIdle.test.js.map +1 -0
- package/build/__tests__/unit/networkNotable.test.d.ts +2 -0
- package/build/__tests__/unit/networkNotable.test.d.ts.map +1 -0
- package/build/__tests__/unit/networkNotable.test.js +56 -0
- package/build/__tests__/unit/networkNotable.test.js.map +1 -0
- package/build/__tests__/unit/pressabilityAudit.test.js +16 -1
- package/build/__tests__/unit/pressabilityAudit.test.js.map +1 -1
- package/build/__tests__/unit/redact.test.js +2 -2
- package/build/__tests__/unit/redact.test.js.map +1 -1
- package/build/__tests__/unit/scrollClip.test.d.ts +2 -0
- package/build/__tests__/unit/scrollClip.test.d.ts.map +1 -0
- package/build/__tests__/unit/scrollClip.test.js +45 -0
- package/build/__tests__/unit/scrollClip.test.js.map +1 -0
- package/build/__tests__/unit/secureValue.test.d.ts +2 -0
- package/build/__tests__/unit/secureValue.test.d.ts.map +1 -0
- package/build/__tests__/unit/secureValue.test.js +51 -0
- package/build/__tests__/unit/secureValue.test.js.map +1 -0
- package/build/__tests__/unit/sessionOnce.test.d.ts +2 -0
- package/build/__tests__/unit/sessionOnce.test.d.ts.map +1 -0
- package/build/__tests__/unit/sessionOnce.test.js +17 -0
- package/build/__tests__/unit/sessionOnce.test.js.map +1 -0
- package/build/__tests__/unit/swipeProbeWithoutRn.test.js +28 -1
- package/build/__tests__/unit/swipeProbeWithoutRn.test.js.map +1 -1
- package/build/__tests__/unit/tap.test.js +1 -1
- package/build/__tests__/unit/tap.test.js.map +1 -1
- package/build/__tests__/unit/tapNativeScreenshot.test.d.ts +2 -0
- package/build/__tests__/unit/tapNativeScreenshot.test.d.ts.map +1 -0
- package/build/__tests__/unit/tapNativeScreenshot.test.js +99 -0
- package/build/__tests__/unit/tapNativeScreenshot.test.js.map +1 -0
- package/build/__tests__/unit/textSnapshot.test.d.ts +2 -0
- package/build/__tests__/unit/textSnapshot.test.d.ts.map +1 -0
- package/build/__tests__/unit/textSnapshot.test.js +49 -0
- package/build/__tests__/unit/textSnapshot.test.js.map +1 -0
- package/build/__tests__/unit/timeline.test.d.ts +2 -0
- package/build/__tests__/unit/timeline.test.d.ts.map +1 -0
- package/build/__tests__/unit/timeline.test.js +157 -0
- package/build/__tests__/unit/timeline.test.js.map +1 -0
- package/build/__tests__/unit/timelineReadBounds.test.d.ts +2 -0
- package/build/__tests__/unit/timelineReadBounds.test.d.ts.map +1 -0
- package/build/__tests__/unit/timelineReadBounds.test.js +21 -0
- package/build/__tests__/unit/timelineReadBounds.test.js.map +1 -0
- package/build/__tests__/unit/timelineSources.test.d.ts +2 -0
- package/build/__tests__/unit/timelineSources.test.d.ts.map +1 -0
- package/build/__tests__/unit/timelineSources.test.js +139 -0
- package/build/__tests__/unit/timelineSources.test.js.map +1 -0
- package/build/__tests__/unit/timelineTool.test.d.ts +2 -0
- package/build/__tests__/unit/timelineTool.test.d.ts.map +1 -0
- package/build/__tests__/unit/timelineTool.test.js +65 -0
- package/build/__tests__/unit/timelineTool.test.js.map +1 -0
- package/build/__tests__/unit/vaultTools.test.js +20 -6
- package/build/__tests__/unit/vaultTools.test.js.map +1 -1
- package/build/core/actionLog.d.ts +27 -0
- package/build/core/actionLog.d.ts.map +1 -0
- package/build/core/actionLog.js +144 -0
- package/build/core/actionLog.js.map +1 -0
- package/build/core/actionOutcome.d.ts +35 -0
- package/build/core/actionOutcome.d.ts.map +1 -0
- package/build/core/actionOutcome.js +184 -0
- package/build/core/actionOutcome.js.map +1 -0
- package/build/core/actionOutcomeCollect.d.ts +27 -0
- package/build/core/actionOutcomeCollect.d.ts.map +1 -0
- package/build/core/actionOutcomeCollect.js +102 -0
- package/build/core/actionOutcomeCollect.js.map +1 -0
- package/build/core/blankFrame.d.ts +3 -0
- package/build/core/blankFrame.d.ts.map +1 -0
- package/build/core/blankFrame.js +18 -0
- package/build/core/blankFrame.js.map +1 -0
- package/build/core/chromiumCapabilities.js +1 -1
- package/build/core/chromiumCapabilities.js.map +1 -1
- package/build/core/chromiumNavigation.d.ts +10 -0
- package/build/core/chromiumNavigation.d.ts.map +1 -0
- package/build/core/chromiumNavigation.js +31 -0
- package/build/core/chromiumNavigation.js.map +1 -0
- package/build/core/chromiumScreen.d.ts.map +1 -1
- package/build/core/chromiumScreen.js +6 -8
- package/build/core/chromiumScreen.js.map +1 -1
- package/build/core/commitRecorder.d.ts +35 -0
- package/build/core/commitRecorder.d.ts.map +1 -0
- package/build/core/commitRecorder.js +115 -0
- package/build/core/commitRecorder.js.map +1 -0
- package/build/core/componentSearch.d.ts.map +1 -1
- package/build/core/componentSearch.js +6 -1
- package/build/core/componentSearch.js.map +1 -1
- package/build/core/connection.d.ts.map +1 -1
- package/build/core/connection.js +13 -0
- package/build/core/connection.js.map +1 -1
- package/build/core/guides.d.ts.map +1 -1
- package/build/core/guides.js +14 -5
- package/build/core/guides.js.map +1 -1
- package/build/core/injected/commitRecorder.d.ts +2 -0
- package/build/core/injected/commitRecorder.d.ts.map +1 -0
- package/build/core/injected/commitRecorder.js +93 -0
- package/build/core/injected/commitRecorder.js.map +1 -0
- package/build/core/injected/scrollClip.d.ts +12 -0
- package/build/core/injected/scrollClip.d.ts.map +1 -0
- package/build/core/injected/scrollClip.js +46 -0
- package/build/core/injected/scrollClip.js.map +1 -0
- package/build/core/injected/secureValue.d.ts +3 -0
- package/build/core/injected/secureValue.d.ts.map +1 -0
- package/build/core/injected/secureValue.js +22 -0
- package/build/core/injected/secureValue.js.map +1 -0
- package/build/core/inputTarget.d.ts.map +1 -1
- package/build/core/inputTarget.js +3 -1
- package/build/core/inputTarget.js.map +1 -1
- package/build/core/inspector.d.ts.map +1 -1
- package/build/core/inspector.js +7 -2
- package/build/core/inspector.js.map +1 -1
- package/build/core/network.d.ts +1 -0
- package/build/core/network.d.ts.map +1 -1
- package/build/core/network.js +4 -1
- package/build/core/network.js.map +1 -1
- package/build/core/networkIdle.d.ts +21 -0
- package/build/core/networkIdle.d.ts.map +1 -0
- package/build/core/networkIdle.js +41 -0
- package/build/core/networkIdle.js.map +1 -0
- package/build/core/networkNotable.d.ts +3 -0
- package/build/core/networkNotable.d.ts.map +1 -0
- package/build/core/networkNotable.js +111 -0
- package/build/core/networkNotable.js.map +1 -0
- package/build/core/pressables.d.ts.map +1 -1
- package/build/core/pressables.js +7 -5
- package/build/core/pressables.js.map +1 -1
- package/build/core/register.d.ts.map +1 -1
- package/build/core/register.js +2 -0
- package/build/core/register.js.map +1 -1
- package/build/core/routeHistory.d.ts +3 -2
- package/build/core/routeHistory.d.ts.map +1 -1
- package/build/core/routeHistory.js +6 -6
- package/build/core/routeHistory.js.map +1 -1
- package/build/core/screenState.d.ts +5 -1
- package/build/core/screenState.d.ts.map +1 -1
- package/build/core/screenState.js +98 -19
- package/build/core/screenState.js.map +1 -1
- package/build/core/sessionOnce.d.ts +3 -0
- package/build/core/sessionOnce.d.ts.map +1 -0
- package/build/core/sessionOnce.js +11 -0
- package/build/core/sessionOnce.js.map +1 -0
- package/build/core/state.d.ts +4 -0
- package/build/core/state.d.ts.map +1 -1
- package/build/core/state.js +11 -0
- package/build/core/state.js.map +1 -1
- package/build/core/swipeDiagnosis.d.ts.map +1 -1
- package/build/core/swipeDiagnosis.js +25 -11
- package/build/core/swipeDiagnosis.js.map +1 -1
- package/build/core/textSnapshot.d.ts +6 -0
- package/build/core/textSnapshot.d.ts.map +1 -0
- package/build/core/textSnapshot.js +85 -0
- package/build/core/textSnapshot.js.map +1 -0
- package/build/core/timeline.d.ts +71 -0
- package/build/core/timeline.d.ts.map +1 -0
- package/build/core/timeline.js +156 -0
- package/build/core/timeline.js.map +1 -0
- package/build/core/timelineSources.d.ts +30 -0
- package/build/core/timelineSources.d.ts.map +1 -0
- package/build/core/timelineSources.js +179 -0
- package/build/core/timelineSources.js.map +1 -0
- package/build/core/toolHelpers.d.ts +1 -0
- package/build/core/toolHelpers.d.ts.map +1 -1
- package/build/core/toolHelpers.js +1 -1
- package/build/core/toolHelpers.js.map +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/pro/actionRender.d.ts +40 -0
- package/build/pro/actionRender.d.ts.map +1 -0
- package/build/pro/actionRender.js +139 -0
- package/build/pro/actionRender.js.map +1 -0
- package/build/pro/tap.d.ts.map +1 -1
- package/build/pro/tap.js +2 -0
- package/build/pro/tap.js.map +1 -1
- package/build/tools/componentTools.d.ts.map +1 -1
- package/build/tools/componentTools.js +4 -3
- package/build/tools/componentTools.js.map +1 -1
- package/build/tools/deviceTools.d.ts +1 -0
- package/build/tools/deviceTools.d.ts.map +1 -1
- package/build/tools/deviceTools.js +18 -3
- package/build/tools/deviceTools.js.map +1 -1
- package/build/tools/interactionTools.d.ts.map +1 -1
- package/build/tools/interactionTools.js +53 -20
- package/build/tools/interactionTools.js.map +1 -1
- package/build/tools/metaTools.d.ts.map +1 -1
- package/build/tools/metaTools.js +15 -1
- package/build/tools/metaTools.js.map +1 -1
- package/build/tools/networkTools.d.ts.map +1 -1
- package/build/tools/networkTools.js +5 -1
- package/build/tools/networkTools.js.map +1 -1
- package/build/tools/screenshotTools.d.ts.map +1 -1
- package/build/tools/screenshotTools.js +58 -32
- package/build/tools/screenshotTools.js.map +1 -1
- package/build/tools/timelineTools.d.ts +3 -0
- package/build/tools/timelineTools.d.ts.map +1 -0
- package/build/tools/timelineTools.js +48 -0
- package/build/tools/timelineTools.js.map +1 -0
- package/package.json +1 -1
- package/tools.json +13 -2
|
@@ -10,6 +10,19 @@ import { chromiumAppFor } from "../core/connection.js";
|
|
|
10
10
|
import { chromiumScreenState } from "../core/chromiumScreen.js";
|
|
11
11
|
import { resolveDeviceTarget, formatResolverError } from "../core/deviceResolver.js";
|
|
12
12
|
import { chromiumCapture } from "../core/chromium.js";
|
|
13
|
+
import { isNearUniform, BLANK_RETRY_MS } from "../core/blankFrame.js";
|
|
14
|
+
import { changedSinceLastShown } from "../core/sessionOnce.js";
|
|
15
|
+
const BLANK_FRAME_NOTE = "\nℹ️ The captured frame is blank (the app may not have painted yet). The element list below comes from the React tree, not from this image.";
|
|
16
|
+
async function retryBlankCapture(first, appConnected, capture) {
|
|
17
|
+
if (!appConnected || !first.success || !first.data || !(await isNearUniform(first.data))) {
|
|
18
|
+
return { result: first, blankNote: "" };
|
|
19
|
+
}
|
|
20
|
+
await new Promise((r) => setTimeout(r, BLANK_RETRY_MS));
|
|
21
|
+
const retry = await capture();
|
|
22
|
+
const result = retry.success && retry.data ? retry : first;
|
|
23
|
+
const stillBlank = !!result.data && (await isNearUniform(result.data));
|
|
24
|
+
return { result, blankNote: stillBlank ? BLANK_FRAME_NOTE : "" };
|
|
25
|
+
}
|
|
13
26
|
async function capturePhysicalDevice(phys, outputPath) {
|
|
14
27
|
const result = await physicalIosScreenshot(phys.udid, outputPath);
|
|
15
28
|
if (!result.success || !result.data) {
|
|
@@ -64,7 +77,7 @@ async function iosScreenshotHandler({ outputPath, udid, device }) {
|
|
|
64
77
|
const screenStatePromise = earlyTargetApp
|
|
65
78
|
? getScreenState({ device: earlyTargetApp.deviceInfo.deviceName }).catch(() => null)
|
|
66
79
|
: Promise.resolve(null);
|
|
67
|
-
const result = await capturePromise;
|
|
80
|
+
const { result, blankNote } = await retryBlankCapture(await capturePromise, !!earlyTargetApp, () => iosScreenshot(outputPath, targetUdid ?? undefined));
|
|
68
81
|
if (!result.success) {
|
|
69
82
|
return {
|
|
70
83
|
content: [
|
|
@@ -167,6 +180,7 @@ async function iosScreenshotHandler({ outputPath, udid, device }) {
|
|
|
167
180
|
else {
|
|
168
181
|
infoText = `Screenshot captured (${pixelWidth}x${pixelHeight} pixels)`;
|
|
169
182
|
}
|
|
183
|
+
infoText += blankNote;
|
|
170
184
|
if (resolved.udid) {
|
|
171
185
|
recordScreenMetrics(resolved.udid, {
|
|
172
186
|
rawWidth: pixelWidth,
|
|
@@ -183,19 +197,24 @@ async function iosScreenshotHandler({ outputPath, udid, device }) {
|
|
|
183
197
|
if (targetUdid) {
|
|
184
198
|
infoText += `\n📸 Captured from: ${targetDeviceName ? `${targetDeviceName} ` : ""}(${targetUdid})`;
|
|
185
199
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
200
|
+
const iosAdvice = `\n📱 iOS screen: ${pointWidth}x${pointHeight} points (${scaleFactor}x scale)` +
|
|
201
|
+
`\n📐 tap() handles pixel-to-point conversion automatically — pass pixel coords from this image directly` +
|
|
202
|
+
`\n⚠️ Status bar + safe area: ${safeAreaTop} points (${safeAreaOffsetPixels} pixels) from top`;
|
|
203
|
+
if (changedSinceLastShown(`shot-preamble:${targetUdid ?? "ios"}`, iosAdvice))
|
|
204
|
+
infoText += iosAdvice;
|
|
205
|
+
const showNextSteps = changedSinceLastShown("shot-next-steps", "1");
|
|
189
206
|
if (pressablesText) {
|
|
190
207
|
infoText += pressablesIsScreenState
|
|
191
208
|
? `\n\n🧭 Screen state (route + tappable elements, coordinates in screenshot pixels):\n`
|
|
192
209
|
: `\n\n🎯 Pressable elements (ready-to-tap, coordinates in screenshot pixels):`;
|
|
193
210
|
infoText += `\n${pressablesText}`;
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
211
|
+
if (showNextSteps) {
|
|
212
|
+
infoText += `\n\n💡 Next steps:`;
|
|
213
|
+
infoText += `\n • tap(text="Button Label") — when text is exact and unique`;
|
|
214
|
+
infoText += `\n • tap(testID="id") or tap(component="Name") — when you know the identifier`;
|
|
215
|
+
infoText += `\n • tap(x=<px>, y=<px>) — use coordinates from the pressable elements list above (reliable for icons and ambiguous elements)`;
|
|
216
|
+
infoText += `\n • get_screen_layout — full component tree when you need more than pressables`;
|
|
217
|
+
}
|
|
199
218
|
}
|
|
200
219
|
else {
|
|
201
220
|
if (!targetApp && connectedApps.size > 0) {
|
|
@@ -205,10 +224,12 @@ async function iosScreenshotHandler({ outputPath, udid, device }) {
|
|
|
205
224
|
else if (connectedApps.size === 0) {
|
|
206
225
|
infoText += `\n\nℹ️ No React Native app is connected, so there is no pressable list. If the app was just launched it may still be loading its bundle: ensure_connection({ waitMs: 60000 }) returns once it attaches.`;
|
|
207
226
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
227
|
+
if (showNextSteps) {
|
|
228
|
+
infoText += `\n\n💡 Next steps:`;
|
|
229
|
+
infoText += `\n • tap(text="Button Label") — tap element by visible text`;
|
|
230
|
+
infoText += `\n • tap(x=<px>, y=<px>) — tap at coordinates from this screenshot`;
|
|
231
|
+
infoText += `\n • get_screen_layout — get full UI tree with real on-screen positions`;
|
|
232
|
+
}
|
|
212
233
|
}
|
|
213
234
|
if (targetApp) {
|
|
214
235
|
try {
|
|
@@ -275,7 +296,7 @@ async function androidScreenshotHandler({ outputPath, deviceId: deviceIdArg, dev
|
|
|
275
296
|
const screenStatePromise = androidTargetApp
|
|
276
297
|
? getScreenState({ device: androidTargetApp.deviceInfo.deviceName }).catch(() => null)
|
|
277
298
|
: Promise.resolve(null);
|
|
278
|
-
const result = await capturePromise;
|
|
299
|
+
const { result, blankNote } = await retryBlankCapture(await capturePromise, !!androidTargetApp, () => androidScreenshot(outputPath, resolved.serial));
|
|
279
300
|
if (!result.success) {
|
|
280
301
|
return {
|
|
281
302
|
content: [
|
|
@@ -308,6 +329,7 @@ async function androidScreenshotHandler({ outputPath, deviceId: deviceIdArg, dev
|
|
|
308
329
|
let infoText = result.scaleFactor && result.scaleFactor > 1
|
|
309
330
|
? `Screenshot: raw ${pixelWidth}x${pixelHeight} px → delivered ${androidDeliveredW}x${androidDeliveredH} px (downscaled ${(1 / result.scaleFactor).toFixed(3)}× to fit API limits). Pressable coordinates below are in delivered-image pixels.`
|
|
310
331
|
: `Screenshot captured (${pixelWidth}x${pixelHeight} pixels)`;
|
|
332
|
+
infoText += blankNote;
|
|
311
333
|
if (resolved.serial) {
|
|
312
334
|
recordScreenMetrics(resolved.serial, {
|
|
313
335
|
rawWidth: pixelWidth,
|
|
@@ -362,25 +384,27 @@ async function androidScreenshotHandler({ outputPath, deviceId: deviceIdArg, dev
|
|
|
362
384
|
catch {
|
|
363
385
|
}
|
|
364
386
|
}
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
|
|
387
|
+
const androidAdvice = `\n📱 Android uses PIXELS for all coordinates` +
|
|
388
|
+
(result.scaleFactor && result.scaleFactor > 1
|
|
389
|
+
? `\n📐 tap() handles coordinate conversion automatically — pass pixel coords from this image directly`
|
|
390
|
+
: `\n📐 Screenshot coords = tap coords (no conversion needed)`) +
|
|
391
|
+
`\n⚠️ Status bar: ${statusBarPixels}px (${statusBarDp}dp) from top - app content starts below this` +
|
|
392
|
+
`\n📊 Display density: ${densityDpi}dpi`;
|
|
393
|
+
if (changedSinceLastShown(`shot-preamble:${resolved.serial ?? "android"}`, androidAdvice))
|
|
394
|
+
infoText += androidAdvice;
|
|
395
|
+
const showNextSteps = changedSinceLastShown("shot-next-steps", "1");
|
|
374
396
|
if (pressablesText) {
|
|
375
397
|
infoText += pressablesIsScreenState
|
|
376
398
|
? `\n\n🧭 Screen state (route + tappable elements, coordinates in screenshot pixels):\n`
|
|
377
399
|
: `\n\n🎯 Pressable elements (ready-to-tap, coordinates in screenshot pixels):`;
|
|
378
400
|
infoText += `\n${pressablesText}`;
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
401
|
+
if (showNextSteps) {
|
|
402
|
+
infoText += `\n\n💡 Next steps:`;
|
|
403
|
+
infoText += `\n • tap(text="Button Label") — when text is exact and unique`;
|
|
404
|
+
infoText += `\n • tap(testID="id") or tap(component="Name") — when you know the identifier`;
|
|
405
|
+
infoText += `\n • tap(x=<px>, y=<px>) — use coordinates from the pressable elements list above (reliable for icons and ambiguous elements)`;
|
|
406
|
+
infoText += `\n • get_screen_layout — full component tree when you need more than pressables`;
|
|
407
|
+
}
|
|
384
408
|
}
|
|
385
409
|
else {
|
|
386
410
|
if (!targetApp && connectedApps.size > 0) {
|
|
@@ -390,10 +414,12 @@ async function androidScreenshotHandler({ outputPath, deviceId: deviceIdArg, dev
|
|
|
390
414
|
else if (connectedApps.size === 0) {
|
|
391
415
|
infoText += `\n\nℹ️ No React Native app is connected, so there is no pressable list. If the app was just launched it may still be loading its bundle: ensure_connection({ waitMs: 60000 }) returns once it attaches.`;
|
|
392
416
|
}
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
417
|
+
if (showNextSteps) {
|
|
418
|
+
infoText += `\n\n💡 Next steps:`;
|
|
419
|
+
infoText += `\n • tap(text="Button Label") — tap element by visible text`;
|
|
420
|
+
infoText += `\n • tap(x=<px>, y=<px>) — tap at coordinates from this screenshot`;
|
|
421
|
+
infoText += `\n • get_screen_layout — get full UI tree with real on-screen positions`;
|
|
422
|
+
}
|
|
397
423
|
}
|
|
398
424
|
if (targetApp) {
|
|
399
425
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshotTools.js","sourceRoot":"","sources":["../../src/tools/screenshotTools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"screenshotTools.js","sourceRoot":"","sources":["../../src/tools/screenshotTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timelineTools.d.ts","sourceRoot":"","sources":["../../src/tools/timelineTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgD7D"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { registerToolWithTelemetry } from "../core/register.js";
|
|
3
|
+
import { lastAction } from "../core/actionLog.js";
|
|
4
|
+
import { resolveWindow, trimEvents, formatTimeline, TIMELINE_SOURCES } from "../core/timeline.js";
|
|
5
|
+
import { collectTimeline } from "../core/timelineSources.js";
|
|
6
|
+
import { DEVICE_ALL_DESC } from "./_deviceArg.js";
|
|
7
|
+
const DEFAULT_LIMIT = 100;
|
|
8
|
+
export function registerTimelineTools(server) {
|
|
9
|
+
registerToolWithTelemetry(server, "get_timeline", {
|
|
10
|
+
description: "What happened, in order: your own actions, screen changes, network requests, console logs, app restarts and Fast Refresh edits in one time-ordered list.\n" +
|
|
11
|
+
"PURPOSE: Answer \"what did that cause?\" in one call instead of lining up get_logs, get_network_requests and get_screen_state by hand.\n" +
|
|
12
|
+
"WHEN TO USE: Right after a tap, navigate, input_text, reload_app or execute_in_app, to see its consequences; or with since=\"-5m\" to reconstruct how the app got into its current state.\n" +
|
|
13
|
+
"WORKFLOW: tap(...) -> get_timeline() -> get_request_details / get_log_details on the ids it prints.\n" +
|
|
14
|
+
"LIMITATIONS: Events are merged by time, not linked by cause. Shows only what the server captured (actions made through these tools, not by hand). Route and refresh times on Android and physical devices are corrected by an estimated clock offset.\n" +
|
|
15
|
+
"GOOD: get_timeline() after a tap; get_timeline({ since: \"-2m\", sources: [\"routes\", \"network\"] })\n" +
|
|
16
|
+
"BAD: get_timeline({ since: \"-1h\", limit: 500 }) as a first look; start from the last action.\n",
|
|
17
|
+
inputSchema: {
|
|
18
|
+
since: z.union([z.number(), z.string()]).optional()
|
|
19
|
+
.describe('Window start: "last_action" (default), a relative time like "-30s" / "-5m" / "-1h", or epoch ms.'),
|
|
20
|
+
until: z.union([z.number(), z.string()]).optional()
|
|
21
|
+
.describe('Window end, same formats as since except "last_action". Default: now.'),
|
|
22
|
+
sources: z.array(z.enum(TIMELINE_SOURCES)).optional()
|
|
23
|
+
.describe("Subset of actions, routes, network, logs, restarts, refresh, perf. Default: all. Restarts are always shown. perf is reserved and returns nothing yet."),
|
|
24
|
+
limit: z.coerce.number().int().min(1).max(500).optional().default(DEFAULT_LIMIT)
|
|
25
|
+
.describe("Maximum events (default 100). Actions, routes, restarts and errors are kept first."),
|
|
26
|
+
device: z.string().optional().describe(DEVICE_ALL_DESC),
|
|
27
|
+
},
|
|
28
|
+
}, async ({ since, until, sources, limit, device }) => {
|
|
29
|
+
const window = resolveWindow({ since, until, now: Date.now(), lastAction: lastAction(device) });
|
|
30
|
+
const wanted = sources?.length ? sources : [...TIMELINE_SOURCES];
|
|
31
|
+
const collected = await collectTimeline({ device, sources: wanted, window });
|
|
32
|
+
if (wanted.every((s) => collected.unavailable.includes(s))) {
|
|
33
|
+
const text = `Timeline unavailable: ${collected.notes.join("; ")}`;
|
|
34
|
+
return { isError: true, content: [{ type: "text", text }], _errorMessage: text };
|
|
35
|
+
}
|
|
36
|
+
const { kept, dropped } = trimEvents(collected.events, limit ?? DEFAULT_LIMIT);
|
|
37
|
+
const notes = window.fallback
|
|
38
|
+
? ["No action recorded yet, so this shows the last 60s. Pass since to choose a window.", ...collected.notes]
|
|
39
|
+
: collected.notes;
|
|
40
|
+
const deviceLabel = collected.devices.length === 1 ? collected.devices[0]
|
|
41
|
+
: collected.devices.length === 0 ? "no devices" : "all devices";
|
|
42
|
+
const text = formatTimeline({
|
|
43
|
+
window, deviceLabel, events: kept, tagDevices: collected.devices.length > 1, dropped, notes, checked: wanted.filter((s) => s !== "perf"),
|
|
44
|
+
});
|
|
45
|
+
return { content: [{ type: "text", text }], _emptyResult: kept.length === 0 };
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=timelineTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timelineTools.js","sourceRoot":"","sources":["../../src/tools/timelineTools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-ai-devtools",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.20.0",
|
|
4
4
|
"mcpName": "com.execbro/execbro",
|
|
5
5
|
"description": "React Native AI devtools: MCP server giving AI agents eyes and hands in your running app (logs, network, state inspection, tap, screenshot). Published as ExecBro.",
|
|
6
6
|
"type": "module",
|
package/tools.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"generatedFrom": "toolRegistry",
|
|
3
|
-
"count":
|
|
3
|
+
"count": 68,
|
|
4
4
|
"tools": [
|
|
5
5
|
"activate_license",
|
|
6
6
|
"android_key_event",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"get_request_details",
|
|
34
34
|
"get_screen_layout",
|
|
35
35
|
"get_screen_state",
|
|
36
|
+
"get_timeline",
|
|
36
37
|
"get_usage_guide",
|
|
37
38
|
"handle_dialog",
|
|
38
39
|
"http_request",
|
|
@@ -245,7 +246,15 @@
|
|
|
245
246
|
"fullParams",
|
|
246
247
|
"fullText",
|
|
247
248
|
"includeHistory",
|
|
248
|
-
"pressablesOnly"
|
|
249
|
+
"pressablesOnly",
|
|
250
|
+
"showPruned"
|
|
251
|
+
],
|
|
252
|
+
"get_timeline": [
|
|
253
|
+
"device",
|
|
254
|
+
"limit",
|
|
255
|
+
"since",
|
|
256
|
+
"sources",
|
|
257
|
+
"until"
|
|
249
258
|
],
|
|
250
259
|
"get_usage_guide": [
|
|
251
260
|
"topic"
|
|
@@ -469,6 +478,7 @@
|
|
|
469
478
|
"screenshot",
|
|
470
479
|
"startX",
|
|
471
480
|
"startY",
|
|
481
|
+
"verbose",
|
|
472
482
|
"verify"
|
|
473
483
|
],
|
|
474
484
|
"tap": [
|
|
@@ -483,6 +493,7 @@
|
|
|
483
493
|
"strategy",
|
|
484
494
|
"testID",
|
|
485
495
|
"text",
|
|
496
|
+
"verbose",
|
|
486
497
|
"verify",
|
|
487
498
|
"x",
|
|
488
499
|
"y"
|