react-native-ai-debugger 1.4.41 → 1.5.1
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/__tests__/integration/tap-strategies.test.js +4 -3
- package/build/__tests__/integration/tap-strategies.test.js.map +1 -1
- package/build/core/connection.d.ts +14 -0
- package/build/core/connection.d.ts.map +1 -1
- package/build/core/connection.js +49 -0
- package/build/core/connection.js.map +1 -1
- package/build/core/executor.d.ts +3 -1
- package/build/core/executor.d.ts.map +1 -1
- package/build/core/executor.js +269 -24
- package/build/core/executor.js.map +1 -1
- package/build/core/index.d.ts +2 -2
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +2 -2
- package/build/core/index.js.map +1 -1
- package/build/core/ios.d.ts +1 -0
- package/build/core/ios.d.ts.map +1 -1
- package/build/core/ios.js +41 -0
- package/build/core/ios.js.map +1 -1
- package/build/core/license.d.ts.map +1 -1
- package/build/core/license.js +5 -7
- package/build/core/license.js.map +1 -1
- package/build/index.js +212 -75
- package/build/index.js.map +1 -1
- package/build/pro/tap.d.ts +8 -0
- package/build/pro/tap.d.ts.map +1 -1
- package/build/pro/tap.js +188 -21
- package/build/pro/tap.js.map +1 -1
- package/package.json +1 -1
package/build/pro/tap.d.ts
CHANGED
|
@@ -89,7 +89,11 @@ export interface TapResult {
|
|
|
89
89
|
index: number;
|
|
90
90
|
component: string;
|
|
91
91
|
text: string;
|
|
92
|
+
testID?: string | null;
|
|
93
|
+
x?: number;
|
|
94
|
+
y?: number;
|
|
92
95
|
}>;
|
|
96
|
+
ambiguous?: boolean;
|
|
93
97
|
suggestion?: string;
|
|
94
98
|
screenshot?: TapScreenshot;
|
|
95
99
|
verification?: TapVerification;
|
|
@@ -161,7 +165,11 @@ export declare function formatTapFailure(data: {
|
|
|
161
165
|
index: number;
|
|
162
166
|
component: string;
|
|
163
167
|
text: string;
|
|
168
|
+
testID?: string | null;
|
|
169
|
+
x?: number;
|
|
170
|
+
y?: number;
|
|
164
171
|
}>;
|
|
172
|
+
ambiguous?: boolean;
|
|
165
173
|
screenshot?: TapScreenshot;
|
|
166
174
|
verification?: TapVerification;
|
|
167
175
|
}): TapResult;
|
package/build/pro/tap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap.d.ts","sourceRoot":"","sources":["../../src/pro/tap.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"tap.d.ts","sourceRoot":"","sources":["../../src/pro/tap.ts"],"names":[],"mappings":"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"}
|
package/build/pro/tap.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { connectedApps, imageBuffer } from "../core/state.js";
|
|
2
2
|
import { executeInApp } from "../core/executor.js";
|
|
3
3
|
import { pressElement } from "../core/executor.js";
|
|
4
|
-
import { iosTap, iosFindElement, iosScreenshot, getActiveOrBootedSimulatorUdid, findSimulatorByName, isUiDriverAvailable, getUiDriverInstallHint } from "../core/ios.js";
|
|
4
|
+
import { iosTap, iosFindElement, iosScreenshot, getActiveOrBootedSimulatorUdid, findSimulatorByName, isUiDriverAvailable, getUiDriverInstallHint, getIOSSafeAreaTop } from "../core/ios.js";
|
|
5
5
|
import { androidTap, androidFindElement, getDefaultAndroidDevice, androidScreenshot } from "../core/android.js";
|
|
6
6
|
import { compareScreenshots } from "./screenshot-diff.js";
|
|
7
7
|
import { scanMetroPorts, fetchDevices, selectMainDevice } from "../core/metro.js";
|
|
@@ -261,6 +261,7 @@ export function formatTapFailure(data) {
|
|
|
261
261
|
attempted: data.attempted,
|
|
262
262
|
suggestion: data.suggestion,
|
|
263
263
|
matches: data.matches,
|
|
264
|
+
...(data.ambiguous && { ambiguous: true }),
|
|
264
265
|
...(data.device && { device: data.device }),
|
|
265
266
|
...(data.verification && { verification: data.verification }),
|
|
266
267
|
...(data.screenshot && { screenshot: data.screenshot }),
|
|
@@ -330,6 +331,17 @@ async function tryFiberAtDepth(query, index, maxTraversalDepth) {
|
|
|
330
331
|
// goes through React's event pipeline, executing any onPress wrappers
|
|
331
332
|
// (analytics, debouncing, state tracking) inside the component.
|
|
332
333
|
if (parsed.needsNativeTap) {
|
|
334
|
+
// Ambiguity guard: if multiple elements match and the caller didn't
|
|
335
|
+
// specify an explicit index, refuse to tap and surface the full list
|
|
336
|
+
// so the agent can pick the right one.
|
|
337
|
+
if ((parsed.totalMatches ?? 1) > 1 && index === undefined) {
|
|
338
|
+
return {
|
|
339
|
+
success: false,
|
|
340
|
+
reason: `Ambiguous: ${parsed.totalMatches} elements match this query — use index= to pick one`,
|
|
341
|
+
matches: parsed.allMatches || [],
|
|
342
|
+
ambiguous: true
|
|
343
|
+
};
|
|
344
|
+
}
|
|
333
345
|
const elementType = parsed.isInput ? "input element" : "pressable element";
|
|
334
346
|
if (parsed.nativeTapTarget && parsed.nativeTapTarget.x && parsed.nativeTapTarget.y) {
|
|
335
347
|
return {
|
|
@@ -401,10 +413,18 @@ async function tryAccessibilityStrategy(query, index, platform, udid) {
|
|
|
401
413
|
}
|
|
402
414
|
else {
|
|
403
415
|
const searchText = query.text;
|
|
416
|
+
// Exact label match first to avoid matching dialog titles like "Clear All"
|
|
417
|
+
// when the query is a single word that happens to be a substring ("Clear").
|
|
404
418
|
result = await iosFindElement({
|
|
405
|
-
|
|
419
|
+
label: searchText,
|
|
406
420
|
index
|
|
407
421
|
}, udid);
|
|
422
|
+
if (!result.success || !result.allMatches || result.allMatches.length === 0) {
|
|
423
|
+
result = await iosFindElement({
|
|
424
|
+
labelContains: searchText,
|
|
425
|
+
index
|
|
426
|
+
}, udid);
|
|
427
|
+
}
|
|
408
428
|
}
|
|
409
429
|
if (!result.success || !result.allMatches || result.allMatches.length === 0) {
|
|
410
430
|
return {
|
|
@@ -658,15 +678,89 @@ async function captureScreenshot(platform, udid) {
|
|
|
658
678
|
function screenshotToBase64(buffer) {
|
|
659
679
|
return buffer.toString("base64");
|
|
660
680
|
}
|
|
661
|
-
|
|
681
|
+
/**
|
|
682
|
+
* Composite a red crosshair marker onto a screenshot at the given pixel coordinates.
|
|
683
|
+
* Uses sharp + SVG so we don't need to inject into the app. Coordinates are in the
|
|
684
|
+
* screenshot's own pixel space (i.e. the space the returned image uses).
|
|
685
|
+
*/
|
|
686
|
+
async function drawTapMarker(input, x, y) {
|
|
687
|
+
try {
|
|
688
|
+
const sharp = (await import("sharp")).default;
|
|
689
|
+
const size = 72;
|
|
690
|
+
const half = size / 2;
|
|
691
|
+
const svg = `<svg width="${size}" height="${size}" xmlns="http://www.w3.org/2000/svg">
|
|
692
|
+
<circle cx="${half}" cy="${half}" r="${half - 8}" fill="none" stroke="white" stroke-width="6" opacity="0.85"/>
|
|
693
|
+
<circle cx="${half}" cy="${half}" r="${half - 8}" fill="none" stroke="#FF2D55" stroke-width="3" opacity="1"/>
|
|
694
|
+
<line x1="${half}" y1="8" x2="${half}" y2="${size - 8}" stroke="white" stroke-width="6" opacity="0.85"/>
|
|
695
|
+
<line x1="8" y1="${half}" x2="${size - 8}" y2="${half}" stroke="white" stroke-width="6" opacity="0.85"/>
|
|
696
|
+
<line x1="${half}" y1="8" x2="${half}" y2="${size - 8}" stroke="#FF2D55" stroke-width="2.5"/>
|
|
697
|
+
<line x1="8" y1="${half}" x2="${size - 8}" y2="${half}" stroke="#FF2D55" stroke-width="2.5"/>
|
|
698
|
+
<circle cx="${half}" cy="${half}" r="3" fill="#FF2D55"/>
|
|
699
|
+
</svg>`;
|
|
700
|
+
const left = Math.round(x - half);
|
|
701
|
+
const top = Math.round(y - half);
|
|
702
|
+
return await sharp(input)
|
|
703
|
+
.composite([{ input: Buffer.from(svg), left, top }])
|
|
704
|
+
.toBuffer();
|
|
705
|
+
}
|
|
706
|
+
catch {
|
|
707
|
+
return input;
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
/**
|
|
711
|
+
* Compute marker coordinates in screenshot-pixel space (what the returned PNG uses).
|
|
712
|
+
* Unit rules by strategy, assuming screenshotScale = downscale factor:
|
|
713
|
+
* coordinate : input is already screenshot pixels → pass through
|
|
714
|
+
* ocr : match.tapCenter is image-pixel (= screenshot-pixel) → pass through
|
|
715
|
+
* iOS points : point * DPR / screenshotScale
|
|
716
|
+
* android dp : dp * densityScale / screenshotScale
|
|
717
|
+
* android devicePx : devicePx / screenshotScale
|
|
718
|
+
*/
|
|
719
|
+
function computeMarkerPx(args) {
|
|
720
|
+
const { strategy, input, convertedTo, platform, screenshotScale, devicePixelRatio, androidDensityScale } = args;
|
|
721
|
+
const scale = screenshotScale || 1;
|
|
722
|
+
if (strategy === "coordinate" || strategy === "native-coordinate") {
|
|
723
|
+
return input ? { x: input.x, y: input.y } : undefined;
|
|
724
|
+
}
|
|
725
|
+
if (!convertedTo)
|
|
726
|
+
return undefined;
|
|
727
|
+
if (strategy === "ocr") {
|
|
728
|
+
return { x: Math.round(convertedTo.x), y: Math.round(convertedTo.y) };
|
|
729
|
+
}
|
|
730
|
+
if (platform === "ios") {
|
|
731
|
+
// fiber/accessibility on iOS return points
|
|
732
|
+
const dpr = devicePixelRatio || 3;
|
|
733
|
+
return {
|
|
734
|
+
x: Math.round((convertedTo.x * dpr) / scale),
|
|
735
|
+
y: Math.round((convertedTo.y * dpr) / scale)
|
|
736
|
+
};
|
|
737
|
+
}
|
|
738
|
+
// Android
|
|
739
|
+
if (strategy === "fiber+native" && androidDensityScale) {
|
|
740
|
+
// Fabric fiber returns dp; fiber+native path scales to device pixels before tap
|
|
741
|
+
return {
|
|
742
|
+
x: Math.round((convertedTo.x * androidDensityScale) / scale),
|
|
743
|
+
y: Math.round((convertedTo.y * androidDensityScale) / scale)
|
|
744
|
+
};
|
|
745
|
+
}
|
|
746
|
+
// accessibility android: convertedTo is device pixels
|
|
747
|
+
return {
|
|
748
|
+
x: Math.round(convertedTo.x / scale),
|
|
749
|
+
y: Math.round(convertedTo.y / scale)
|
|
750
|
+
};
|
|
751
|
+
}
|
|
752
|
+
async function verifyAndCapture(platform, shouldVerify, shouldScreenshot, beforeBuffer, udid, beforeScaleFactor, markerPx) {
|
|
662
753
|
if (!shouldScreenshot)
|
|
663
754
|
return {};
|
|
664
755
|
await new Promise((resolve) => setTimeout(resolve, SETTLE_DELAY_MS));
|
|
665
756
|
const after = await captureScreenshot(platform, udid);
|
|
666
757
|
if (!after)
|
|
667
758
|
return {};
|
|
759
|
+
const afterWithMarker = markerPx
|
|
760
|
+
? await drawTapMarker(after.buffer, markerPx.x, markerPx.y)
|
|
761
|
+
: after.buffer;
|
|
668
762
|
const screenshot = {
|
|
669
|
-
image: screenshotToBase64(
|
|
763
|
+
image: screenshotToBase64(afterWithMarker),
|
|
670
764
|
width: after.width,
|
|
671
765
|
height: after.height,
|
|
672
766
|
scaleFactor: after.scaleFactor
|
|
@@ -710,7 +804,7 @@ async function verifyAndCapture(platform, shouldVerify, shouldScreenshot, before
|
|
|
710
804
|
}
|
|
711
805
|
imageBuffer.add({
|
|
712
806
|
id: `${verifyGroupId}-after`,
|
|
713
|
-
image:
|
|
807
|
+
image: afterWithMarker,
|
|
714
808
|
timestamp: Date.now(),
|
|
715
809
|
source: "tap-verify",
|
|
716
810
|
groupId: verifyGroupId,
|
|
@@ -721,7 +815,7 @@ async function verifyAndCapture(platform, shouldVerify, shouldScreenshot, before
|
|
|
721
815
|
// --- Burst Capture ---
|
|
722
816
|
const BURST_FRAME_COUNT = 4;
|
|
723
817
|
const BURST_FRAME_INTERVAL_MS = 150;
|
|
724
|
-
async function burstCaptureAndVerify(platform, beforeBuffer, udid, beforeScaleFactor) {
|
|
818
|
+
async function burstCaptureAndVerify(platform, beforeBuffer, udid, beforeScaleFactor, markerPx) {
|
|
725
819
|
if (!beforeBuffer)
|
|
726
820
|
return {};
|
|
727
821
|
const frames = [beforeBuffer];
|
|
@@ -739,12 +833,23 @@ async function burstCaptureAndVerify(platform, beforeBuffer, udid, beforeScaleFa
|
|
|
739
833
|
return {};
|
|
740
834
|
const rawStatusBar = platform === "ios" ? 177 : 142; // pixels in original screenshot space
|
|
741
835
|
const statusBarHeight = Math.round(rawStatusBar / capturedScaleFactor);
|
|
836
|
+
// Run the diff on clean frames (no marker) so the cross doesn't register as change.
|
|
742
837
|
const analysis = await analyzeBurstFrames(frames, { statusBarHeight });
|
|
743
|
-
|
|
838
|
+
// Apply marker to post-tap frames only (frames[0] is the before state).
|
|
839
|
+
const markedFrames = [];
|
|
744
840
|
for (let i = 0; i < frames.length; i++) {
|
|
841
|
+
if (markerPx && i > 0) {
|
|
842
|
+
markedFrames.push(await drawTapMarker(frames[i], markerPx.x, markerPx.y));
|
|
843
|
+
}
|
|
844
|
+
else {
|
|
845
|
+
markedFrames.push(frames[i]);
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
const groupId = `burst-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
849
|
+
for (let i = 0; i < markedFrames.length; i++) {
|
|
745
850
|
imageBuffer.add({
|
|
746
851
|
id: `${groupId}-f${i}`,
|
|
747
|
-
image:
|
|
852
|
+
image: markedFrames[i],
|
|
748
853
|
timestamp: Date.now(),
|
|
749
854
|
source: "tap-burst",
|
|
750
855
|
groupId,
|
|
@@ -771,9 +876,9 @@ async function burstCaptureAndVerify(platform, beforeBuffer, udid, beforeScaleFa
|
|
|
771
876
|
});
|
|
772
877
|
// Get dimensions from the last frame using sharp
|
|
773
878
|
const sharp = (await import("sharp")).default;
|
|
774
|
-
const meta = await sharp(
|
|
879
|
+
const meta = await sharp(markedFrames[markedFrames.length - 1]).metadata();
|
|
775
880
|
const screenshot = {
|
|
776
|
-
image: screenshotToBase64(
|
|
881
|
+
image: screenshotToBase64(markedFrames[markedFrames.length - 1]),
|
|
777
882
|
width: meta.width || 0,
|
|
778
883
|
height: meta.height || 0,
|
|
779
884
|
scaleFactor: 1
|
|
@@ -908,11 +1013,17 @@ export async function tap(options) {
|
|
|
908
1013
|
if (result.success) {
|
|
909
1014
|
let screenshot;
|
|
910
1015
|
let verification;
|
|
1016
|
+
const nativeMarker = computeMarkerPx({
|
|
1017
|
+
strategy: "native-coordinate",
|
|
1018
|
+
input: { x: query.x, y: query.y },
|
|
1019
|
+
platform,
|
|
1020
|
+
screenshotScale: nativeScreenshotMeta?.scaleFactor || 1
|
|
1021
|
+
});
|
|
911
1022
|
if (options.burst && nativeShouldVerify && nativeBeforeBuffer) {
|
|
912
|
-
({ screenshot, verification } = await burstCaptureAndVerify(platform, nativeBeforeBuffer, nativeUdid, nativeScreenshotMeta?.scaleFactor));
|
|
1023
|
+
({ screenshot, verification } = await burstCaptureAndVerify(platform, nativeBeforeBuffer, nativeUdid, nativeScreenshotMeta?.scaleFactor, nativeMarker));
|
|
913
1024
|
}
|
|
914
1025
|
else {
|
|
915
|
-
({ screenshot, verification } = await verifyAndCapture(platform, nativeShouldVerify, nativeShouldScreenshot, nativeBeforeBuffer, nativeUdid, nativeScreenshotMeta?.scaleFactor));
|
|
1026
|
+
({ screenshot, verification } = await verifyAndCapture(platform, nativeShouldVerify, nativeShouldScreenshot, nativeBeforeBuffer, nativeUdid, nativeScreenshotMeta?.scaleFactor, nativeMarker));
|
|
916
1027
|
}
|
|
917
1028
|
return formatTapSuccess({
|
|
918
1029
|
method: "native-coordinate",
|
|
@@ -1097,11 +1208,29 @@ export async function tap(options) {
|
|
|
1097
1208
|
if (result.success) {
|
|
1098
1209
|
let screenshot;
|
|
1099
1210
|
let verification;
|
|
1211
|
+
let dprForMarker;
|
|
1212
|
+
if (platform === "ios") {
|
|
1213
|
+
try {
|
|
1214
|
+
const { getDevicePixelRatio } = await import("../core/ios.js");
|
|
1215
|
+
dprForMarker = await getDevicePixelRatio(targetUdid);
|
|
1216
|
+
}
|
|
1217
|
+
catch {
|
|
1218
|
+
dprForMarker = 3;
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
const strategyMarker = computeMarkerPx({
|
|
1222
|
+
strategy: strat,
|
|
1223
|
+
input: strat === "coordinate" ? { x: query.x, y: query.y } : undefined,
|
|
1224
|
+
convertedTo: result.convertedTo,
|
|
1225
|
+
platform,
|
|
1226
|
+
screenshotScale: beforeScaleFactor || app?.lastScreenshot?.scaleFactor || 1,
|
|
1227
|
+
devicePixelRatio: dprForMarker
|
|
1228
|
+
});
|
|
1100
1229
|
if (options.burst && canVerify && beforeBuffer) {
|
|
1101
|
-
({ screenshot, verification } = await burstCaptureAndVerify(platform, beforeBuffer, targetUdid, beforeScaleFactor));
|
|
1230
|
+
({ screenshot, verification } = await burstCaptureAndVerify(platform, beforeBuffer, targetUdid, beforeScaleFactor, strategyMarker));
|
|
1102
1231
|
}
|
|
1103
1232
|
else {
|
|
1104
|
-
({ screenshot, verification } = await verifyAndCapture(platform, canVerify, shouldScreenshot, beforeBuffer, targetUdid, beforeScaleFactor));
|
|
1233
|
+
({ screenshot, verification } = await verifyAndCapture(platform, canVerify, shouldScreenshot, beforeBuffer, targetUdid, beforeScaleFactor, strategyMarker));
|
|
1105
1234
|
}
|
|
1106
1235
|
if (screenshot && app) {
|
|
1107
1236
|
app.lastScreenshot = {
|
|
@@ -1131,8 +1260,13 @@ export async function tap(options) {
|
|
|
1131
1260
|
try {
|
|
1132
1261
|
const coords = result.convertedTo;
|
|
1133
1262
|
if (platform === "ios") {
|
|
1134
|
-
//
|
|
1135
|
-
|
|
1263
|
+
// react-native-screens modal/sheet presentations cause measureInWindow to
|
|
1264
|
+
// return y relative to the screen's content origin, not the window. If the
|
|
1265
|
+
// measured y falls inside the safe-area band, shift it down by the inset.
|
|
1266
|
+
const safeAreaTop = await getIOSSafeAreaTop(targetUdid);
|
|
1267
|
+
const tapY = (safeAreaTop > 0 && coords.y < safeAreaTop) ? coords.y + safeAreaTop : coords.y;
|
|
1268
|
+
await iosTap(coords.x, tapY, { udid: targetUdid });
|
|
1269
|
+
coords.y = tapY;
|
|
1136
1270
|
}
|
|
1137
1271
|
else {
|
|
1138
1272
|
// Fabric returns dp — androidTap expects pixels
|
|
@@ -1145,11 +1279,40 @@ export async function tap(options) {
|
|
|
1145
1279
|
// fiber+native uses native tap — always verify
|
|
1146
1280
|
let screenshot;
|
|
1147
1281
|
let verification;
|
|
1282
|
+
let fnDpr;
|
|
1283
|
+
let fnDensity;
|
|
1284
|
+
if (platform === "ios") {
|
|
1285
|
+
try {
|
|
1286
|
+
const { getDevicePixelRatio } = await import("../core/ios.js");
|
|
1287
|
+
fnDpr = await getDevicePixelRatio(targetUdid);
|
|
1288
|
+
}
|
|
1289
|
+
catch {
|
|
1290
|
+
fnDpr = 3;
|
|
1291
|
+
}
|
|
1292
|
+
}
|
|
1293
|
+
else {
|
|
1294
|
+
try {
|
|
1295
|
+
const { androidGetDensity } = await import("../core/android.js");
|
|
1296
|
+
const d = await androidGetDensity();
|
|
1297
|
+
fnDensity = (d.density || 420) / 160;
|
|
1298
|
+
}
|
|
1299
|
+
catch {
|
|
1300
|
+
fnDensity = undefined;
|
|
1301
|
+
}
|
|
1302
|
+
}
|
|
1303
|
+
const fiberMarker = computeMarkerPx({
|
|
1304
|
+
strategy: "fiber+native",
|
|
1305
|
+
convertedTo: coords,
|
|
1306
|
+
platform,
|
|
1307
|
+
screenshotScale: beforeScaleFactor || app?.lastScreenshot?.scaleFactor || 1,
|
|
1308
|
+
devicePixelRatio: fnDpr,
|
|
1309
|
+
androidDensityScale: fnDensity
|
|
1310
|
+
});
|
|
1148
1311
|
if (options.burst && canVerify && beforeBuffer) {
|
|
1149
|
-
({ screenshot, verification } = await burstCaptureAndVerify(platform, beforeBuffer, targetUdid, beforeScaleFactor));
|
|
1312
|
+
({ screenshot, verification } = await burstCaptureAndVerify(platform, beforeBuffer, targetUdid, beforeScaleFactor, fiberMarker));
|
|
1150
1313
|
}
|
|
1151
1314
|
else {
|
|
1152
|
-
({ screenshot, verification } = await verifyAndCapture(platform, canVerify, shouldScreenshot, beforeBuffer, targetUdid, beforeScaleFactor));
|
|
1315
|
+
({ screenshot, verification } = await verifyAndCapture(platform, canVerify, shouldScreenshot, beforeBuffer, targetUdid, beforeScaleFactor, fiberMarker));
|
|
1153
1316
|
}
|
|
1154
1317
|
if (screenshot && app) {
|
|
1155
1318
|
app.lastScreenshot = {
|
|
@@ -1176,8 +1339,10 @@ export async function tap(options) {
|
|
|
1176
1339
|
// Native tap at fiber coordinates failed — continue to next strategy
|
|
1177
1340
|
}
|
|
1178
1341
|
}
|
|
1179
|
-
//
|
|
1180
|
-
|
|
1342
|
+
// Ambiguous fiber result — multiple elements matched, no index given.
|
|
1343
|
+
// Return immediately with the full list so the agent can decide.
|
|
1344
|
+
// Do NOT fall through to other strategies (they can't resolve ambiguity).
|
|
1345
|
+
if (result.matches && result.ambiguous) {
|
|
1181
1346
|
const { screenshot: matchScreenshot } = shouldScreenshot
|
|
1182
1347
|
? await verifyAndCapture(platform, false, true, null, targetUdid)
|
|
1183
1348
|
: { screenshot: undefined };
|
|
@@ -1191,9 +1356,11 @@ export async function tap(options) {
|
|
|
1191
1356
|
return formatTapFailure({
|
|
1192
1357
|
query,
|
|
1193
1358
|
attempted,
|
|
1194
|
-
|
|
1359
|
+
error: `Ambiguous: ${result.matches.length} elements match this query. Tap did not execute.`,
|
|
1360
|
+
suggestion: `Specify index= (0–${result.matches.length - 1}) or add text= to narrow down. See matches[] for position and text of each element.`,
|
|
1195
1361
|
device: deviceName,
|
|
1196
1362
|
matches: result.matches,
|
|
1363
|
+
ambiguous: true,
|
|
1197
1364
|
screenshot: matchScreenshot
|
|
1198
1365
|
});
|
|
1199
1366
|
}
|
package/build/pro/tap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap.js","sourceRoot":"","sources":["../../src/pro/tap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tap.js","sourceRoot":"","sources":["../../src/pro/tap.ts"],"names":[],"mappings":"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"}
|