react-native-ai-debugger 1.1.4 → 1.4.21
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 +12 -1
- package/README.md +198 -1063
- package/build/__tests__/helpers/tap-test-helpers.d.ts +36 -0
- package/build/__tests__/helpers/tap-test-helpers.d.ts.map +1 -0
- package/build/__tests__/helpers/tap-test-helpers.js +130 -0
- package/build/__tests__/helpers/tap-test-helpers.js.map +1 -0
- package/build/__tests__/integration/connection-health.test.js +12 -6
- package/build/__tests__/integration/connection-health.test.js.map +1 -1
- package/build/__tests__/integration/execute-in-app.test.js +2 -1
- package/build/__tests__/integration/execute-in-app.test.js.map +1 -1
- package/build/__tests__/integration/tap-strategies.test.d.ts +2 -0
- package/build/__tests__/integration/tap-strategies.test.d.ts.map +1 -0
- package/build/__tests__/integration/tap-strategies.test.js +329 -0
- package/build/__tests__/integration/tap-strategies.test.js.map +1 -0
- package/build/__tests__/integration/tools.test.js +9 -10
- package/build/__tests__/integration/tools.test.js.map +1 -1
- package/build/__tests__/unit/burst.test.d.ts +2 -0
- package/build/__tests__/unit/burst.test.d.ts.map +1 -0
- package/build/__tests__/unit/burst.test.js +50 -0
- package/build/__tests__/unit/burst.test.js.map +1 -0
- package/build/__tests__/unit/connection-health.test.js +26 -16
- package/build/__tests__/unit/connection-health.test.js.map +1 -1
- package/build/__tests__/unit/fingerprint.test.d.ts +2 -0
- package/build/__tests__/unit/fingerprint.test.d.ts.map +1 -0
- package/build/__tests__/unit/fingerprint.test.js +89 -0
- package/build/__tests__/unit/fingerprint.test.js.map +1 -0
- package/build/__tests__/unit/imageBuffer.test.d.ts +2 -0
- package/build/__tests__/unit/imageBuffer.test.d.ts.map +1 -0
- package/build/__tests__/unit/imageBuffer.test.js +128 -0
- package/build/__tests__/unit/imageBuffer.test.js.map +1 -0
- package/build/__tests__/unit/logs.test.js +9 -0
- package/build/__tests__/unit/logs.test.js.map +1 -1
- package/build/__tests__/unit/networkInterceptor.test.d.ts +2 -0
- package/build/__tests__/unit/networkInterceptor.test.d.ts.map +1 -0
- package/build/__tests__/unit/networkInterceptor.test.js +104 -0
- package/build/__tests__/unit/networkInterceptor.test.js.map +1 -0
- package/build/__tests__/unit/screenshot-diff.test.d.ts +2 -0
- package/build/__tests__/unit/screenshot-diff.test.d.ts.map +1 -0
- package/build/__tests__/unit/screenshot-diff.test.js +97 -0
- package/build/__tests__/unit/screenshot-diff.test.js.map +1 -0
- package/build/__tests__/unit/tap.test.js +433 -28
- package/build/__tests__/unit/tap.test.js.map +1 -1
- package/build/core/android.d.ts.map +1 -1
- package/build/core/android.js +64 -29
- package/build/core/android.js.map +1 -1
- package/build/core/appDetection.d.ts +8 -0
- package/build/core/appDetection.d.ts.map +1 -0
- package/build/core/appDetection.js +91 -0
- package/build/core/appDetection.js.map +1 -0
- package/build/core/bundle.d.ts.map +1 -1
- package/build/core/bundle.js +15 -23
- package/build/core/bundle.js.map +1 -1
- package/build/core/config.d.ts +8 -0
- package/build/core/config.d.ts.map +1 -0
- package/build/core/config.js +27 -0
- package/build/core/config.js.map +1 -0
- package/build/core/connection.d.ts +47 -3
- package/build/core/connection.d.ts.map +1 -1
- package/build/core/connection.js +519 -124
- package/build/core/connection.js.map +1 -1
- package/build/core/executor.d.ts +57 -14
- package/build/core/executor.d.ts.map +1 -1
- package/build/core/executor.js +936 -208
- package/build/core/executor.js.map +1 -1
- package/build/core/fingerprint.d.ts +4 -0
- package/build/core/fingerprint.d.ts.map +1 -0
- package/build/core/fingerprint.js +47 -0
- package/build/core/fingerprint.js.map +1 -0
- package/build/core/guides.d.ts.map +1 -1
- package/build/core/guides.js +48 -9
- package/build/core/guides.js.map +1 -1
- package/build/core/httpServer.js.map +1 -1
- package/build/core/imageBuffer.d.ts +37 -0
- package/build/core/imageBuffer.d.ts.map +1 -0
- package/build/core/imageBuffer.js +58 -0
- package/build/core/imageBuffer.js.map +1 -0
- package/build/core/index.d.ts +21 -17
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +21 -19
- package/build/core/index.js.map +1 -1
- package/build/core/ios.d.ts +36 -7
- package/build/core/ios.d.ts.map +1 -1
- package/build/core/ios.js +553 -323
- package/build/core/ios.js.map +1 -1
- package/build/core/license.d.ts +38 -0
- package/build/core/license.d.ts.map +1 -0
- package/build/core/license.js +265 -0
- package/build/core/license.js.map +1 -0
- package/build/core/logbox.d.ts +51 -0
- package/build/core/logbox.d.ts.map +1 -0
- package/build/core/logbox.js +258 -0
- package/build/core/logbox.js.map +1 -0
- package/build/core/logs.d.ts +1 -0
- package/build/core/logs.d.ts.map +1 -1
- package/build/core/logs.js +5 -0
- package/build/core/logs.js.map +1 -1
- package/build/core/metro.d.ts +8 -0
- package/build/core/metro.d.ts.map +1 -1
- package/build/core/metro.js +28 -0
- package/build/core/metro.js.map +1 -1
- package/build/core/networkInterceptor.d.ts +30 -0
- package/build/core/networkInterceptor.d.ts.map +1 -0
- package/build/core/networkInterceptor.js +207 -0
- package/build/core/networkInterceptor.js.map +1 -0
- package/build/core/ocr.d.ts +8 -3
- package/build/core/ocr.d.ts.map +1 -1
- package/build/core/ocr.js +116 -15
- package/build/core/ocr.js.map +1 -1
- package/build/core/posthog.d.ts +5 -0
- package/build/core/posthog.d.ts.map +1 -0
- package/build/core/posthog.js +46 -0
- package/build/core/posthog.js.map +1 -0
- package/build/core/sdkBridge.d.ts +67 -0
- package/build/core/sdkBridge.d.ts.map +1 -0
- package/build/core/sdkBridge.js +148 -0
- package/build/core/sdkBridge.js.map +1 -0
- package/build/core/state.d.ts +26 -5
- package/build/core/state.d.ts.map +1 -1
- package/build/core/state.js +83 -10
- package/build/core/state.js.map +1 -1
- package/build/core/telemetry.d.ts +19 -1
- package/build/core/telemetry.d.ts.map +1 -1
- package/build/core/telemetry.js +165 -8
- package/build/core/telemetry.js.map +1 -1
- package/build/core/types.d.ts +11 -0
- package/build/core/types.d.ts.map +1 -1
- package/build/index.js +1304 -304
- package/build/index.js.map +1 -1
- package/build/pro/screenshot-diff.d.ts +10 -0
- package/build/pro/screenshot-diff.d.ts.map +1 -0
- package/build/pro/screenshot-diff.js +38 -0
- package/build/pro/screenshot-diff.js.map +1 -0
- package/build/pro/tap.d.ts +160 -0
- package/build/pro/tap.d.ts.map +1 -0
- package/build/pro/tap.js +1215 -0
- package/build/pro/tap.js.map +1 -0
- package/build/tools/accountTools.d.ts +44 -0
- package/build/tools/accountTools.d.ts.map +1 -0
- package/build/tools/accountTools.js +217 -0
- package/build/tools/accountTools.js.map +1 -0
- package/package.json +11 -8
- package/build/core/httpServer.js +0 -2459
- package/build/core/httpServerProcess.js +0 -153
- package/build/httpServerStandalone.js +0 -31
package/build/core/android.js
CHANGED
|
@@ -30,7 +30,7 @@ export async function listAndroidDevices() {
|
|
|
30
30
|
if (!adbAvailable) {
|
|
31
31
|
return {
|
|
32
32
|
success: false,
|
|
33
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
33
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
const { stdout } = await execAsync("adb devices -l", { timeout: ADB_TIMEOUT });
|
|
@@ -120,10 +120,9 @@ export async function androidScreenshot(outputPath, deviceId) {
|
|
|
120
120
|
if (!adbAvailable) {
|
|
121
121
|
return {
|
|
122
122
|
success: false,
|
|
123
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
123
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
124
124
|
};
|
|
125
125
|
}
|
|
126
|
-
const deviceArg = buildDeviceArg(deviceId);
|
|
127
126
|
const device = deviceId || (await getDefaultAndroidDevice());
|
|
128
127
|
if (!device) {
|
|
129
128
|
return {
|
|
@@ -131,6 +130,7 @@ export async function androidScreenshot(outputPath, deviceId) {
|
|
|
131
130
|
error: "No Android device connected. Connect a device or start an emulator."
|
|
132
131
|
};
|
|
133
132
|
}
|
|
133
|
+
const deviceArg = buildDeviceArg(device);
|
|
134
134
|
// Generate output path if not provided
|
|
135
135
|
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
136
136
|
const finalOutputPath = outputPath || path.join(os.tmpdir(), `android-screenshot-${timestamp}.png`);
|
|
@@ -199,7 +199,7 @@ export async function androidInstallApp(apkPath, deviceId, options) {
|
|
|
199
199
|
if (!adbAvailable) {
|
|
200
200
|
return {
|
|
201
201
|
success: false,
|
|
202
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
202
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
203
203
|
};
|
|
204
204
|
}
|
|
205
205
|
// Verify APK exists
|
|
@@ -209,7 +209,6 @@ export async function androidInstallApp(apkPath, deviceId, options) {
|
|
|
209
209
|
error: `APK file not found: ${apkPath}`
|
|
210
210
|
};
|
|
211
211
|
}
|
|
212
|
-
const deviceArg = buildDeviceArg(deviceId);
|
|
213
212
|
const device = deviceId || (await getDefaultAndroidDevice());
|
|
214
213
|
if (!device) {
|
|
215
214
|
return {
|
|
@@ -217,6 +216,7 @@ export async function androidInstallApp(apkPath, deviceId, options) {
|
|
|
217
216
|
error: "No Android device connected. Connect a device or start an emulator."
|
|
218
217
|
};
|
|
219
218
|
}
|
|
219
|
+
const deviceArg = buildDeviceArg(device);
|
|
220
220
|
// Build install flags
|
|
221
221
|
const flags = [];
|
|
222
222
|
if (options?.replace)
|
|
@@ -256,10 +256,9 @@ export async function androidLaunchApp(packageName, activityName, deviceId) {
|
|
|
256
256
|
if (!adbAvailable) {
|
|
257
257
|
return {
|
|
258
258
|
success: false,
|
|
259
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
259
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
260
260
|
};
|
|
261
261
|
}
|
|
262
|
-
const deviceArg = buildDeviceArg(deviceId);
|
|
263
262
|
const device = deviceId || (await getDefaultAndroidDevice());
|
|
264
263
|
if (!device) {
|
|
265
264
|
return {
|
|
@@ -267,6 +266,7 @@ export async function androidLaunchApp(packageName, activityName, deviceId) {
|
|
|
267
266
|
error: "No Android device connected. Connect a device or start an emulator."
|
|
268
267
|
};
|
|
269
268
|
}
|
|
269
|
+
const deviceArg = buildDeviceArg(device);
|
|
270
270
|
let command;
|
|
271
271
|
if (activityName) {
|
|
272
272
|
// Launch specific activity
|
|
@@ -306,10 +306,9 @@ export async function androidListPackages(deviceId, filter) {
|
|
|
306
306
|
if (!adbAvailable) {
|
|
307
307
|
return {
|
|
308
308
|
success: false,
|
|
309
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
309
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
310
310
|
};
|
|
311
311
|
}
|
|
312
|
-
const deviceArg = buildDeviceArg(deviceId);
|
|
313
312
|
const device = deviceId || (await getDefaultAndroidDevice());
|
|
314
313
|
if (!device) {
|
|
315
314
|
return {
|
|
@@ -317,6 +316,7 @@ export async function androidListPackages(deviceId, filter) {
|
|
|
317
316
|
error: "No Android device connected. Connect a device or start an emulator."
|
|
318
317
|
};
|
|
319
318
|
}
|
|
319
|
+
const deviceArg = buildDeviceArg(device);
|
|
320
320
|
const { stdout } = await execAsync(`adb ${deviceArg} shell pm list packages`, {
|
|
321
321
|
timeout: ADB_TIMEOUT
|
|
322
322
|
});
|
|
@@ -386,10 +386,9 @@ export async function androidTap(x, y, deviceId) {
|
|
|
386
386
|
if (!adbAvailable) {
|
|
387
387
|
return {
|
|
388
388
|
success: false,
|
|
389
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
389
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
390
390
|
};
|
|
391
391
|
}
|
|
392
|
-
const deviceArg = buildDeviceArg(deviceId);
|
|
393
392
|
const device = deviceId || (await getDefaultAndroidDevice());
|
|
394
393
|
if (!device) {
|
|
395
394
|
return {
|
|
@@ -397,6 +396,7 @@ export async function androidTap(x, y, deviceId) {
|
|
|
397
396
|
error: "No Android device connected. Connect a device or start an emulator."
|
|
398
397
|
};
|
|
399
398
|
}
|
|
399
|
+
const deviceArg = buildDeviceArg(device);
|
|
400
400
|
await execAsync(`adb ${deviceArg} shell input tap ${Math.round(x)} ${Math.round(y)}`, {
|
|
401
401
|
timeout: ADB_TIMEOUT
|
|
402
402
|
});
|
|
@@ -421,10 +421,9 @@ export async function androidLongPress(x, y, durationMs = 1000, deviceId) {
|
|
|
421
421
|
if (!adbAvailable) {
|
|
422
422
|
return {
|
|
423
423
|
success: false,
|
|
424
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
424
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
425
425
|
};
|
|
426
426
|
}
|
|
427
|
-
const deviceArg = buildDeviceArg(deviceId);
|
|
428
427
|
const device = deviceId || (await getDefaultAndroidDevice());
|
|
429
428
|
if (!device) {
|
|
430
429
|
return {
|
|
@@ -432,6 +431,7 @@ export async function androidLongPress(x, y, durationMs = 1000, deviceId) {
|
|
|
432
431
|
error: "No Android device connected. Connect a device or start an emulator."
|
|
433
432
|
};
|
|
434
433
|
}
|
|
434
|
+
const deviceArg = buildDeviceArg(device);
|
|
435
435
|
// Long press is implemented as a swipe from the same point to the same point
|
|
436
436
|
const xRounded = Math.round(x);
|
|
437
437
|
const yRounded = Math.round(y);
|
|
@@ -457,10 +457,9 @@ export async function androidSwipe(startX, startY, endX, endY, durationMs = 300,
|
|
|
457
457
|
if (!adbAvailable) {
|
|
458
458
|
return {
|
|
459
459
|
success: false,
|
|
460
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
460
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
461
461
|
};
|
|
462
462
|
}
|
|
463
|
-
const deviceArg = buildDeviceArg(deviceId);
|
|
464
463
|
const device = deviceId || (await getDefaultAndroidDevice());
|
|
465
464
|
if (!device) {
|
|
466
465
|
return {
|
|
@@ -468,6 +467,7 @@ export async function androidSwipe(startX, startY, endX, endY, durationMs = 300,
|
|
|
468
467
|
error: "No Android device connected. Connect a device or start an emulator."
|
|
469
468
|
};
|
|
470
469
|
}
|
|
470
|
+
const deviceArg = buildDeviceArg(device);
|
|
471
471
|
const x1 = Math.round(startX);
|
|
472
472
|
const y1 = Math.round(startY);
|
|
473
473
|
const x2 = Math.round(endX);
|
|
@@ -497,10 +497,9 @@ export async function androidInputText(text, deviceId) {
|
|
|
497
497
|
if (!adbAvailable) {
|
|
498
498
|
return {
|
|
499
499
|
success: false,
|
|
500
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
500
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
501
501
|
};
|
|
502
502
|
}
|
|
503
|
-
const deviceArg = buildDeviceArg(deviceId);
|
|
504
503
|
const device = deviceId || (await getDefaultAndroidDevice());
|
|
505
504
|
if (!device) {
|
|
506
505
|
return {
|
|
@@ -508,6 +507,7 @@ export async function androidInputText(text, deviceId) {
|
|
|
508
507
|
error: "No Android device connected. Connect a device or start an emulator."
|
|
509
508
|
};
|
|
510
509
|
}
|
|
510
|
+
const deviceArg = buildDeviceArg(device);
|
|
511
511
|
// For complex strings with special characters, type character by character
|
|
512
512
|
// using key events for reliability
|
|
513
513
|
const hasComplexChars = /[/:?=&#@%+]/.test(text);
|
|
@@ -558,6 +558,11 @@ export async function androidInputText(text, deviceId) {
|
|
|
558
558
|
case "`":
|
|
559
559
|
keyCmd = `adb ${deviceArg} shell input text "\\\`"`;
|
|
560
560
|
break;
|
|
561
|
+
case "#":
|
|
562
|
+
// # is a shell comment character — single quotes don't prevent interpretation
|
|
563
|
+
// on some Android shell versions, so use backslash escaping in double quotes
|
|
564
|
+
keyCmd = `adb ${deviceArg} shell input text "\\#"`;
|
|
565
|
+
break;
|
|
561
566
|
default:
|
|
562
567
|
// For most characters, wrap in single quotes to prevent shell interpretation
|
|
563
568
|
// Single quotes preserve literal meaning of all characters except single quote itself
|
|
@@ -603,10 +608,9 @@ export async function androidKeyEvent(keyCode, deviceId) {
|
|
|
603
608
|
if (!adbAvailable) {
|
|
604
609
|
return {
|
|
605
610
|
success: false,
|
|
606
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
611
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
607
612
|
};
|
|
608
613
|
}
|
|
609
|
-
const deviceArg = buildDeviceArg(deviceId);
|
|
610
614
|
const device = deviceId || (await getDefaultAndroidDevice());
|
|
611
615
|
if (!device) {
|
|
612
616
|
return {
|
|
@@ -614,6 +618,7 @@ export async function androidKeyEvent(keyCode, deviceId) {
|
|
|
614
618
|
error: "No Android device connected. Connect a device or start an emulator."
|
|
615
619
|
};
|
|
616
620
|
}
|
|
621
|
+
const deviceArg = buildDeviceArg(device);
|
|
617
622
|
// Resolve key code from name if needed
|
|
618
623
|
const resolvedKeyCode = typeof keyCode === "string" ? ANDROID_KEY_EVENTS[keyCode] : keyCode;
|
|
619
624
|
if (resolvedKeyCode === undefined) {
|
|
@@ -706,6 +711,26 @@ function parseUIAutomatorXML(xml) {
|
|
|
706
711
|
/**
|
|
707
712
|
* Match element against find options
|
|
708
713
|
*/
|
|
714
|
+
/**
|
|
715
|
+
* Check if an element's center is within the screen viewport.
|
|
716
|
+
* Filters out off-screen elements in scroll views, pagers, etc.
|
|
717
|
+
*/
|
|
718
|
+
function isAndroidElementInViewport(element, screenWidth, screenHeight) {
|
|
719
|
+
const { center } = element;
|
|
720
|
+
return center.x >= 0 && center.x <= screenWidth && center.y >= 0 && center.y <= screenHeight;
|
|
721
|
+
}
|
|
722
|
+
/**
|
|
723
|
+
* Extract screen dimensions from the uiautomator XML.
|
|
724
|
+
* The root hierarchy node's bounds represent the screen size.
|
|
725
|
+
*/
|
|
726
|
+
function extractAndroidScreenSize(rawXml) {
|
|
727
|
+
// Match the first node's bounds (root element = screen)
|
|
728
|
+
const match = rawXml.match(/<(?:hierarchy|node)[^>]*bounds="\[0,0\]\[(\d+),(\d+)\]"/);
|
|
729
|
+
if (match) {
|
|
730
|
+
return { width: parseInt(match[1], 10), height: parseInt(match[2], 10) };
|
|
731
|
+
}
|
|
732
|
+
return null;
|
|
733
|
+
}
|
|
709
734
|
function matchesElement(element, options) {
|
|
710
735
|
if (options.text !== undefined) {
|
|
711
736
|
if (element.text !== options.text)
|
|
@@ -740,10 +765,9 @@ export async function androidGetUITree(deviceId) {
|
|
|
740
765
|
if (!adbAvailable) {
|
|
741
766
|
return {
|
|
742
767
|
success: false,
|
|
743
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
768
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
744
769
|
};
|
|
745
770
|
}
|
|
746
|
-
const deviceArg = buildDeviceArg(deviceId);
|
|
747
771
|
const device = deviceId || (await getDefaultAndroidDevice());
|
|
748
772
|
if (!device) {
|
|
749
773
|
return {
|
|
@@ -751,6 +775,7 @@ export async function androidGetUITree(deviceId) {
|
|
|
751
775
|
error: "No Android device connected. Connect a device or start an emulator."
|
|
752
776
|
};
|
|
753
777
|
}
|
|
778
|
+
const deviceArg = buildDeviceArg(device);
|
|
754
779
|
// Dump UI hierarchy to device
|
|
755
780
|
const remotePath = "/sdcard/ui_dump.xml";
|
|
756
781
|
await execAsync(`adb ${deviceArg} shell uiautomator dump ${remotePath}`, {
|
|
@@ -800,8 +825,18 @@ export async function androidFindElement(options, deviceId) {
|
|
|
800
825
|
error: treeResult.error
|
|
801
826
|
};
|
|
802
827
|
}
|
|
803
|
-
//
|
|
804
|
-
|
|
828
|
+
// Filter to viewport-visible elements first, then match criteria.
|
|
829
|
+
// This prevents selecting off-screen duplicates in scroll views / pagers.
|
|
830
|
+
const screenSize = treeResult.rawXml ? extractAndroidScreenSize(treeResult.rawXml) : null;
|
|
831
|
+
const visibleElements = screenSize
|
|
832
|
+
? treeResult.elements.filter(el => isAndroidElementInViewport(el, screenSize.width, screenSize.height))
|
|
833
|
+
: treeResult.elements;
|
|
834
|
+
let matches = visibleElements.filter(el => matchesElement(el, options));
|
|
835
|
+
// If no visible matches, fall back to all elements (element may be partially visible
|
|
836
|
+
// or the screen size extraction failed)
|
|
837
|
+
if (matches.length === 0) {
|
|
838
|
+
matches = treeResult.elements.filter(el => matchesElement(el, options));
|
|
839
|
+
}
|
|
805
840
|
if (matches.length === 0) {
|
|
806
841
|
return {
|
|
807
842
|
success: true,
|
|
@@ -890,10 +925,9 @@ export async function androidGetScreenSize(deviceId) {
|
|
|
890
925
|
if (!adbAvailable) {
|
|
891
926
|
return {
|
|
892
927
|
success: false,
|
|
893
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
928
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
894
929
|
};
|
|
895
930
|
}
|
|
896
|
-
const deviceArg = buildDeviceArg(deviceId);
|
|
897
931
|
const device = deviceId || (await getDefaultAndroidDevice());
|
|
898
932
|
if (!device) {
|
|
899
933
|
return {
|
|
@@ -901,6 +935,7 @@ export async function androidGetScreenSize(deviceId) {
|
|
|
901
935
|
error: "No Android device connected. Connect a device or start an emulator."
|
|
902
936
|
};
|
|
903
937
|
}
|
|
938
|
+
const deviceArg = buildDeviceArg(device);
|
|
904
939
|
const { stdout } = await execAsync(`adb ${deviceArg} shell wm size`, {
|
|
905
940
|
timeout: ADB_TIMEOUT
|
|
906
941
|
});
|
|
@@ -934,10 +969,9 @@ export async function androidGetDensity(deviceId) {
|
|
|
934
969
|
if (!adbAvailable) {
|
|
935
970
|
return {
|
|
936
971
|
success: false,
|
|
937
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
972
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
938
973
|
};
|
|
939
974
|
}
|
|
940
|
-
const deviceArg = buildDeviceArg(deviceId);
|
|
941
975
|
const device = deviceId || (await getDefaultAndroidDevice());
|
|
942
976
|
if (!device) {
|
|
943
977
|
return {
|
|
@@ -945,6 +979,7 @@ export async function androidGetDensity(deviceId) {
|
|
|
945
979
|
error: "No Android device connected. Connect a device or start an emulator."
|
|
946
980
|
};
|
|
947
981
|
}
|
|
982
|
+
const deviceArg = buildDeviceArg(device);
|
|
948
983
|
const { stdout } = await execAsync(`adb ${deviceArg} shell wm density`, {
|
|
949
984
|
timeout: ADB_TIMEOUT
|
|
950
985
|
});
|
|
@@ -1181,10 +1216,9 @@ export async function androidDescribeAll(deviceId) {
|
|
|
1181
1216
|
if (!adbAvailable) {
|
|
1182
1217
|
return {
|
|
1183
1218
|
success: false,
|
|
1184
|
-
error: "ADB is not installed or not in PATH. Install Android SDK Platform Tools."
|
|
1219
|
+
error: "ADB is not installed or not in PATH. To fix:\n1. Install Android SDK Platform Tools: https://developer.android.com/tools/releases/platform-tools\n2. Add to PATH: export PATH=$PATH:~/Library/Android/sdk/platform-tools\n3. Verify: run 'adb devices' in terminal"
|
|
1185
1220
|
};
|
|
1186
1221
|
}
|
|
1187
|
-
const deviceArg = buildDeviceArg(deviceId);
|
|
1188
1222
|
const device = deviceId || (await getDefaultAndroidDevice());
|
|
1189
1223
|
if (!device) {
|
|
1190
1224
|
return {
|
|
@@ -1192,6 +1226,7 @@ export async function androidDescribeAll(deviceId) {
|
|
|
1192
1226
|
error: "No Android device connected. Connect a device or start an emulator."
|
|
1193
1227
|
};
|
|
1194
1228
|
}
|
|
1229
|
+
const deviceArg = buildDeviceArg(device);
|
|
1195
1230
|
// Use file-based approach (most reliable across devices)
|
|
1196
1231
|
// /dev/tty doesn't work on most emulators/devices
|
|
1197
1232
|
const remotePath = "/sdcard/ui_dump.xml";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android.js","sourceRoot":"","sources":["../../src/core/android.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"android.js","sourceRoot":"","sources":["../../src/core/android.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ConnectedApp } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Detect app characteristics via Runtime.evaluate CDP command.
|
|
4
|
+
* Fire-and-forget — does not block connection flow.
|
|
5
|
+
* Stores result on the ConnectedApp object.
|
|
6
|
+
*/
|
|
7
|
+
export declare function scheduleAppDetection(app: ConnectedApp): void;
|
|
8
|
+
//# sourceMappingURL=appDetection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appDetection.d.ts","sourceRoot":"","sources":["../../src/core/appDetection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAsB,YAAY,EAAE,MAAM,YAAY,CAAC;AAkCnE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAqB5D"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import WebSocket from "ws";
|
|
2
|
+
import { getNextMessageId } from "./state.js";
|
|
3
|
+
import { trackAppDetection } from "./telemetry.js";
|
|
4
|
+
const DETECTION_TIMEOUT_MS = 3000;
|
|
5
|
+
const DETECTION_DELAY_MS = 500;
|
|
6
|
+
const DETECTION_EXPRESSION = `(function(){try{var r={};var p=globalThis.nativeModuleProxy;if(p&&p.PlatformConstants){var c=p.PlatformConstants.getConstants?p.PlatformConstants.getConstants():p.PlatformConstants;if(c){if(c.reactNativeVersion)r.rnVersion=c.reactNativeVersion;if(c.osVersion)r.osVersion=c.osVersion;if(c.systemName)r.systemName=c.systemName}}r.newArch=typeof globalThis.nativeFabricUIManager==='object';r.hermes=typeof globalThis.HermesInternal!=='undefined';if(p&&p.ExpoConstants){try{var ec=p.ExpoConstants.getConstants?p.ExpoConstants.getConstants():p.ExpoConstants;if(ec&&ec.expoConfig&&ec.expoConfig.sdkVersion)r.expoSdk=ec.expoConfig.sdkVersion}catch(e2){}}return r}catch(e){return null}})()`;
|
|
7
|
+
function formatVersion(v) {
|
|
8
|
+
return `${v.major}.${v.minor}.${v.patch}`;
|
|
9
|
+
}
|
|
10
|
+
function parseDetectionResult(raw, platform) {
|
|
11
|
+
if (!raw || !raw.rnVersion)
|
|
12
|
+
return null;
|
|
13
|
+
return {
|
|
14
|
+
reactNativeVersion: formatVersion(raw.rnVersion),
|
|
15
|
+
architecture: raw.newArch ? "new" : "old",
|
|
16
|
+
jsEngine: raw.hermes ? "hermes" : "jsc",
|
|
17
|
+
appPlatform: platform,
|
|
18
|
+
osVersion: raw.osVersion || "unknown",
|
|
19
|
+
...(raw.expoSdk ? { expoSdkVersion: raw.expoSdk } : {}),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Detect app characteristics via Runtime.evaluate CDP command.
|
|
24
|
+
* Fire-and-forget — does not block connection flow.
|
|
25
|
+
* Stores result on the ConnectedApp object.
|
|
26
|
+
*/
|
|
27
|
+
export function scheduleAppDetection(app) {
|
|
28
|
+
// Skip if already detected (e.g., on reconnection)
|
|
29
|
+
if (app.appDetection)
|
|
30
|
+
return;
|
|
31
|
+
setTimeout(async () => {
|
|
32
|
+
try {
|
|
33
|
+
const result = await detectApp(app.ws);
|
|
34
|
+
if (result) {
|
|
35
|
+
const parsed = parseDetectionResult(result, app.platform);
|
|
36
|
+
if (parsed) {
|
|
37
|
+
app.appDetection = parsed;
|
|
38
|
+
trackAppDetection(parsed);
|
|
39
|
+
console.error(`[rn-ai-debugger] App detected: RN ${parsed.reactNativeVersion}, ${parsed.architecture} arch, ${parsed.jsEngine}, ${parsed.appPlatform} ${parsed.osVersion}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
console.error(`[rn-ai-debugger] App detection failed: ${e}`);
|
|
45
|
+
}
|
|
46
|
+
}, DETECTION_DELAY_MS);
|
|
47
|
+
}
|
|
48
|
+
function detectApp(ws) {
|
|
49
|
+
return new Promise((resolve) => {
|
|
50
|
+
if (ws.readyState !== WebSocket.OPEN) {
|
|
51
|
+
resolve(null);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const messageId = getNextMessageId();
|
|
55
|
+
const timeout = setTimeout(() => {
|
|
56
|
+
ws.removeListener("message", handler);
|
|
57
|
+
resolve(null);
|
|
58
|
+
}, DETECTION_TIMEOUT_MS);
|
|
59
|
+
function handler(data) {
|
|
60
|
+
try {
|
|
61
|
+
const message = JSON.parse(data.toString());
|
|
62
|
+
if (message.id !== messageId)
|
|
63
|
+
return;
|
|
64
|
+
ws.removeListener("message", handler);
|
|
65
|
+
clearTimeout(timeout);
|
|
66
|
+
if (message.result?.result?.value) {
|
|
67
|
+
resolve(message.result.result.value);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
resolve(null);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// Ignore non-JSON messages
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
ws.on("message", handler);
|
|
78
|
+
ws.send(JSON.stringify({
|
|
79
|
+
id: messageId,
|
|
80
|
+
method: "Runtime.evaluate",
|
|
81
|
+
params: {
|
|
82
|
+
expression: DETECTION_EXPRESSION,
|
|
83
|
+
returnByValue: true,
|
|
84
|
+
awaitPromise: false,
|
|
85
|
+
userGesture: true,
|
|
86
|
+
generatePreview: false,
|
|
87
|
+
},
|
|
88
|
+
}));
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=appDetection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appDetection.js","sourceRoot":"","sources":["../../src/core/appDetection.ts"],"names":[],"mappings":"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"}
|