react-native-ai-debugger 1.9.1 → 1.10.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/README.md +1 -1
- package/build/__tests__/integration/tap-strategies.test.js +1 -1
- package/build/__tests__/integration/tap-strategies.test.js.map +1 -1
- package/build/__tests__/unit/androidEmulatorAvds.test.d.ts +2 -0
- package/build/__tests__/unit/androidEmulatorAvds.test.d.ts.map +1 -0
- package/build/__tests__/unit/androidEmulatorAvds.test.js +98 -0
- package/build/__tests__/unit/androidEmulatorAvds.test.js.map +1 -0
- package/build/__tests__/unit/deviceDiscovery.test.d.ts +2 -0
- package/build/__tests__/unit/deviceDiscovery.test.d.ts.map +1 -0
- package/build/__tests__/unit/deviceDiscovery.test.js +119 -0
- package/build/__tests__/unit/deviceDiscovery.test.js.map +1 -0
- package/build/__tests__/unit/deviceResolver.test.d.ts +2 -0
- package/build/__tests__/unit/deviceResolver.test.d.ts.map +1 -0
- package/build/__tests__/unit/deviceResolver.test.js +226 -0
- package/build/__tests__/unit/deviceResolver.test.js.map +1 -0
- package/build/__tests__/unit/tap.test.js +23 -34
- package/build/__tests__/unit/tap.test.js.map +1 -1
- package/build/__tests__/unit/verifyAction.test.d.ts +2 -0
- package/build/__tests__/unit/verifyAction.test.d.ts.map +1 -0
- package/build/__tests__/unit/verifyAction.test.js +26 -0
- package/build/__tests__/unit/verifyAction.test.js.map +1 -0
- package/build/core/android.d.ts +20 -0
- package/build/core/android.d.ts.map +1 -1
- package/build/core/android.js +98 -0
- package/build/core/android.js.map +1 -1
- package/build/core/connection.d.ts.map +1 -1
- package/build/core/connection.js +116 -55
- package/build/core/connection.js.map +1 -1
- package/build/core/connectionState.d.ts +14 -0
- package/build/core/connectionState.d.ts.map +1 -1
- package/build/core/connectionState.js +29 -0
- package/build/core/connectionState.js.map +1 -1
- package/build/core/deviceDiscovery.d.ts +52 -0
- package/build/core/deviceDiscovery.d.ts.map +1 -0
- package/build/core/deviceDiscovery.js +74 -0
- package/build/core/deviceDiscovery.js.map +1 -0
- package/build/core/deviceResolver.d.ts +44 -0
- package/build/core/deviceResolver.d.ts.map +1 -0
- package/build/core/deviceResolver.js +215 -0
- package/build/core/deviceResolver.js.map +1 -0
- package/build/core/guides.d.ts.map +1 -1
- package/build/core/guides.js +3 -4
- package/build/core/guides.js.map +1 -1
- package/build/core/index.d.ts +1 -1
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +3 -1
- package/build/core/index.js.map +1 -1
- package/build/core/types.d.ts +1 -0
- package/build/core/types.d.ts.map +1 -1
- package/build/pro/tap.d.ts +5 -10
- package/build/pro/tap.d.ts.map +1 -1
- package/build/pro/tap.js +125 -403
- package/build/pro/tap.js.map +1 -1
- package/build/pro/verifyAction.d.ts +50 -0
- package/build/pro/verifyAction.d.ts.map +1 -0
- package/build/pro/verifyAction.js +283 -0
- package/build/pro/verifyAction.js.map +1 -0
- package/build/tools/componentTools.d.ts.map +1 -1
- package/build/tools/componentTools.js +8 -6
- package/build/tools/componentTools.js.map +1 -1
- package/build/tools/connectionTools.d.ts.map +1 -1
- package/build/tools/connectionTools.js +64 -5
- package/build/tools/connectionTools.js.map +1 -1
- package/build/tools/deviceTools.d.ts.map +1 -1
- package/build/tools/deviceTools.js +104 -2
- package/build/tools/deviceTools.js.map +1 -1
- package/build/tools/interactionTools.d.ts.map +1 -1
- package/build/tools/interactionTools.js +113 -151
- package/build/tools/interactionTools.js.map +1 -1
- package/build/tools/screenshotTools.d.ts.map +1 -1
- package/build/tools/screenshotTools.js +22 -6
- package/build/tools/screenshotTools.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { imageBuffer } from "../core/state.js";
|
|
2
|
+
import { iosScreenshot } from "../core/ios.js";
|
|
3
|
+
import { androidScreenshot } from "../core/android.js";
|
|
4
|
+
import { compareScreenshots } from "./screenshot-diff.js";
|
|
5
|
+
import { analyzeBurstFrames, buildVerificationExplanation, } from "./tap.js";
|
|
6
|
+
export const SETTLE_DELAY_MS = 800;
|
|
7
|
+
export const BURST_FRAME_COUNT = 4;
|
|
8
|
+
export const BURST_FRAME_INTERVAL_MS = 150;
|
|
9
|
+
// Modal slide-up / sheet-present animations on iOS occasionally settle just
|
|
10
|
+
// after the 800 ms window — first diff reports zero change while the second
|
|
11
|
+
// (taken a few hundred ms later) catches the modal. We retry once when the
|
|
12
|
+
// first diff is exactly 0 so a single missed animation frame doesn't flip
|
|
13
|
+
// `meaningful` to false. Common-path taps that genuinely produce a change on
|
|
14
|
+
// the first capture are unaffected.
|
|
15
|
+
export const ZERO_DIFF_RETRY_DELAY_MS = 400;
|
|
16
|
+
export async function captureScreenshot(platform, udid) {
|
|
17
|
+
try {
|
|
18
|
+
const result = platform === "ios" ? await iosScreenshot(undefined, udid) : await androidScreenshot();
|
|
19
|
+
if (!result.success || !result.data)
|
|
20
|
+
return null;
|
|
21
|
+
return {
|
|
22
|
+
buffer: result.data,
|
|
23
|
+
width: result.originalWidth || 0,
|
|
24
|
+
height: result.originalHeight || 0,
|
|
25
|
+
scaleFactor: result.scaleFactor || 1
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function screenshotToBase64(buffer) {
|
|
33
|
+
return buffer.toString("base64");
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Composite a red crosshair marker onto a screenshot at the given pixel coordinates.
|
|
37
|
+
* Uses sharp + SVG so we don't need to inject into the app. Coordinates are in the
|
|
38
|
+
* screenshot's own pixel space (i.e. the space the returned image uses).
|
|
39
|
+
*/
|
|
40
|
+
export async function drawTapMarker(input, x, y) {
|
|
41
|
+
try {
|
|
42
|
+
const sharp = (await import("sharp")).default;
|
|
43
|
+
const size = 72;
|
|
44
|
+
const half = size / 2;
|
|
45
|
+
const svg = `<svg width="${size}" height="${size}" xmlns="http://www.w3.org/2000/svg">
|
|
46
|
+
<circle cx="${half}" cy="${half}" r="${half - 8}" fill="none" stroke="white" stroke-width="6" opacity="0.85"/>
|
|
47
|
+
<circle cx="${half}" cy="${half}" r="${half - 8}" fill="none" stroke="#FF2D55" stroke-width="3" opacity="1"/>
|
|
48
|
+
<line x1="${half}" y1="8" x2="${half}" y2="${size - 8}" stroke="white" stroke-width="6" opacity="0.85"/>
|
|
49
|
+
<line x1="8" y1="${half}" x2="${size - 8}" y2="${half}" stroke="white" stroke-width="6" opacity="0.85"/>
|
|
50
|
+
<line x1="${half}" y1="8" x2="${half}" y2="${size - 8}" stroke="#FF2D55" stroke-width="2.5"/>
|
|
51
|
+
<line x1="8" y1="${half}" x2="${size - 8}" y2="${half}" stroke="#FF2D55" stroke-width="2.5"/>
|
|
52
|
+
<circle cx="${half}" cy="${half}" r="3" fill="#FF2D55"/>
|
|
53
|
+
</svg>`;
|
|
54
|
+
const left = Math.round(x - half);
|
|
55
|
+
const top = Math.round(y - half);
|
|
56
|
+
return await sharp(input)
|
|
57
|
+
.composite([{ input: Buffer.from(svg), left, top }])
|
|
58
|
+
.toBuffer();
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return input;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export async function verifyAndCapture(args) {
|
|
65
|
+
const { platform, shouldVerify, shouldScreenshot, beforeBuffer, udid, beforeScaleFactor, markerPx, } = args;
|
|
66
|
+
const source = args.source ?? "tap-verify";
|
|
67
|
+
const action = source.startsWith("swipe") ? "swipe" : "tap";
|
|
68
|
+
if (!shouldVerify && !shouldScreenshot) {
|
|
69
|
+
return {
|
|
70
|
+
verification: {
|
|
71
|
+
skipped: true,
|
|
72
|
+
skippedReason: "screenshot=false, verify=false",
|
|
73
|
+
explanation: "Verification skipped (screenshot=false and verify=false)."
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
await new Promise((resolve) => setTimeout(resolve, SETTLE_DELAY_MS));
|
|
78
|
+
let after = await captureScreenshot(platform, udid);
|
|
79
|
+
if (!after) {
|
|
80
|
+
if (shouldVerify) {
|
|
81
|
+
return {
|
|
82
|
+
verification: {
|
|
83
|
+
skipped: true,
|
|
84
|
+
skippedReason: "after-screenshot capture failed",
|
|
85
|
+
explanation: "Verification skipped — could not capture post-tap screenshot."
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return {};
|
|
90
|
+
}
|
|
91
|
+
let verification;
|
|
92
|
+
if (!shouldVerify) {
|
|
93
|
+
verification = {
|
|
94
|
+
skipped: true,
|
|
95
|
+
skippedReason: "verify=false",
|
|
96
|
+
explanation: "Verification skipped (verify=false)."
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
else if (!beforeBuffer) {
|
|
100
|
+
verification = {
|
|
101
|
+
skipped: true,
|
|
102
|
+
skippedReason: "before-screenshot unavailable",
|
|
103
|
+
explanation: "Verification skipped — could not capture pre-tap screenshot."
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
try {
|
|
108
|
+
const rawStatusBar = platform === "ios" ? 177 : 142;
|
|
109
|
+
const scale = beforeScaleFactor || after.scaleFactor || 1;
|
|
110
|
+
const statusBarHeight = Math.round(rawStatusBar / scale);
|
|
111
|
+
let diff = await compareScreenshots(beforeBuffer, after.buffer, {
|
|
112
|
+
statusBarHeight
|
|
113
|
+
});
|
|
114
|
+
// Slide-up modal animations on Android have a longer linear-blend
|
|
115
|
+
// phase than iOS — the first retry at +400ms still catches the
|
|
116
|
+
// pre-animation frame on a slow emulator. Retry up to two times
|
|
117
|
+
// before giving up. Each retry only fires when the prior diff was
|
|
118
|
+
// exactly zero, so common-path taps that produced a change on the
|
|
119
|
+
// first capture are unaffected. Bug #4-on-Android (EC1, 2026-05-20).
|
|
120
|
+
const maxZeroDiffRetries = platform === "android" ? 2 : 1;
|
|
121
|
+
for (let attempt = 0; attempt < maxZeroDiffRetries && diff.changedPixels === 0; attempt++) {
|
|
122
|
+
await new Promise((resolve) => setTimeout(resolve, ZERO_DIFF_RETRY_DELAY_MS));
|
|
123
|
+
const retryAfter = await captureScreenshot(platform, udid);
|
|
124
|
+
if (!retryAfter)
|
|
125
|
+
break;
|
|
126
|
+
const retryDiff = await compareScreenshots(beforeBuffer, retryAfter.buffer, {
|
|
127
|
+
statusBarHeight
|
|
128
|
+
});
|
|
129
|
+
if (retryDiff.changedPixels > 0) {
|
|
130
|
+
diff = retryDiff;
|
|
131
|
+
after = retryAfter;
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
verification = {
|
|
136
|
+
meaningful: diff.changed,
|
|
137
|
+
changeRate: diff.changeRate,
|
|
138
|
+
changedPixels: diff.changedPixels,
|
|
139
|
+
totalPixels: diff.totalPixels,
|
|
140
|
+
explanation: buildVerificationExplanation({
|
|
141
|
+
meaningful: diff.changed,
|
|
142
|
+
changeRate: diff.changeRate,
|
|
143
|
+
changedPixels: diff.changedPixels,
|
|
144
|
+
totalPixels: diff.totalPixels,
|
|
145
|
+
action
|
|
146
|
+
})
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
verification = {
|
|
151
|
+
skipped: true,
|
|
152
|
+
skippedReason: `diff failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
153
|
+
explanation: "Verification skipped — pixel diff threw."
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
const afterWithMarker = markerPx
|
|
158
|
+
? await drawTapMarker(after.buffer, markerPx.x, markerPx.y)
|
|
159
|
+
: after.buffer;
|
|
160
|
+
const screenshot = {
|
|
161
|
+
image: screenshotToBase64(afterWithMarker),
|
|
162
|
+
width: after.width,
|
|
163
|
+
height: after.height,
|
|
164
|
+
scaleFactor: after.scaleFactor
|
|
165
|
+
};
|
|
166
|
+
const verifyGroupId = `verify-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
167
|
+
if (beforeBuffer) {
|
|
168
|
+
imageBuffer.add({
|
|
169
|
+
id: `${verifyGroupId}-before`,
|
|
170
|
+
image: beforeBuffer,
|
|
171
|
+
timestamp: Date.now(),
|
|
172
|
+
source,
|
|
173
|
+
groupId: verifyGroupId,
|
|
174
|
+
metadata: { phase: "before" }
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
imageBuffer.add({
|
|
178
|
+
id: `${verifyGroupId}-after`,
|
|
179
|
+
image: afterWithMarker,
|
|
180
|
+
timestamp: Date.now(),
|
|
181
|
+
source,
|
|
182
|
+
groupId: verifyGroupId,
|
|
183
|
+
metadata: { phase: "after", changeRate: verification?.changeRate }
|
|
184
|
+
});
|
|
185
|
+
return { screenshot, verification, afterWithMarkerBuffer: afterWithMarker };
|
|
186
|
+
}
|
|
187
|
+
export async function burstCaptureAndVerify(args) {
|
|
188
|
+
const { platform, beforeBuffer, udid, beforeScaleFactor, markerPx } = args;
|
|
189
|
+
const source = args.source ?? "tap-burst";
|
|
190
|
+
const groupIntent = source === "tap-burst" ? "tap-verification" : `${source.replace(/-burst$/, "")}-verification`;
|
|
191
|
+
const action = source.startsWith("swipe") ? "swipe" : "tap";
|
|
192
|
+
if (!beforeBuffer)
|
|
193
|
+
return {};
|
|
194
|
+
const frames = [beforeBuffer];
|
|
195
|
+
let capturedScaleFactor = beforeScaleFactor || 1;
|
|
196
|
+
for (let i = 0; i < BURST_FRAME_COUNT; i++) {
|
|
197
|
+
await new Promise((resolve) => setTimeout(resolve, BURST_FRAME_INTERVAL_MS));
|
|
198
|
+
const capture = await captureScreenshot(platform, udid);
|
|
199
|
+
if (capture) {
|
|
200
|
+
frames.push(capture.buffer);
|
|
201
|
+
if (i === 0)
|
|
202
|
+
capturedScaleFactor = capture.scaleFactor || capturedScaleFactor;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
if (frames.length < 2)
|
|
206
|
+
return {};
|
|
207
|
+
const rawStatusBar = platform === "ios" ? 177 : 142;
|
|
208
|
+
const statusBarHeight = Math.round(rawStatusBar / capturedScaleFactor);
|
|
209
|
+
const analysis = await analyzeBurstFrames(frames, { statusBarHeight });
|
|
210
|
+
const markedFrames = [];
|
|
211
|
+
for (let i = 0; i < frames.length; i++) {
|
|
212
|
+
if (markerPx && i > 0) {
|
|
213
|
+
markedFrames.push(await drawTapMarker(frames[i], markerPx.x, markerPx.y));
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
markedFrames.push(frames[i]);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
const groupId = `burst-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
220
|
+
for (let i = 0; i < markedFrames.length; i++) {
|
|
221
|
+
imageBuffer.add({
|
|
222
|
+
id: `${groupId}-f${i}`,
|
|
223
|
+
image: markedFrames[i],
|
|
224
|
+
timestamp: Date.now(),
|
|
225
|
+
source,
|
|
226
|
+
groupId,
|
|
227
|
+
metadata: {
|
|
228
|
+
frameIndex: i,
|
|
229
|
+
isBefore: i === 0,
|
|
230
|
+
changeRate: i === 0 ? 0 : analysis.framesWithChange.includes(i) ? analysis.peakChangeRate : 0
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
imageBuffer.addGroup({
|
|
235
|
+
groupId,
|
|
236
|
+
intent: groupIntent,
|
|
237
|
+
source,
|
|
238
|
+
timestamp: Date.now(),
|
|
239
|
+
frameCount: frames.length,
|
|
240
|
+
summary: {
|
|
241
|
+
peakChangeRate: analysis.peakChangeRate,
|
|
242
|
+
peakFrame: analysis.peakFrame,
|
|
243
|
+
framesWithChange: analysis.framesWithChange,
|
|
244
|
+
transientChangeDetected: analysis.transientChangeDetected,
|
|
245
|
+
persistentChangeRate: analysis.persistentChangeRate
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
const sharp = (await import("sharp")).default;
|
|
249
|
+
const meta = await sharp(markedFrames[markedFrames.length - 1]).metadata();
|
|
250
|
+
const screenshot = {
|
|
251
|
+
image: screenshotToBase64(markedFrames[markedFrames.length - 1]),
|
|
252
|
+
width: meta.width || 0,
|
|
253
|
+
height: meta.height || 0,
|
|
254
|
+
scaleFactor: 1
|
|
255
|
+
};
|
|
256
|
+
const verification = {
|
|
257
|
+
meaningful: analysis.meaningful,
|
|
258
|
+
changeRate: analysis.persistentChangeRate,
|
|
259
|
+
changedPixels: 0,
|
|
260
|
+
totalPixels: 0,
|
|
261
|
+
transientChangeDetected: analysis.transientChangeDetected,
|
|
262
|
+
peakChangeRate: analysis.peakChangeRate,
|
|
263
|
+
peakFrame: analysis.peakFrame,
|
|
264
|
+
burstGroupId: groupId,
|
|
265
|
+
explanation: buildVerificationExplanation({
|
|
266
|
+
meaningful: analysis.meaningful,
|
|
267
|
+
changeRate: analysis.persistentChangeRate,
|
|
268
|
+
changedPixels: 0,
|
|
269
|
+
totalPixels: 0,
|
|
270
|
+
transientChangeDetected: analysis.transientChangeDetected,
|
|
271
|
+
peakChangeRate: analysis.peakChangeRate,
|
|
272
|
+
peakFrame: analysis.peakFrame,
|
|
273
|
+
action
|
|
274
|
+
})
|
|
275
|
+
};
|
|
276
|
+
const lastFrameIdx = frames.length - 1;
|
|
277
|
+
return {
|
|
278
|
+
screenshot,
|
|
279
|
+
verification,
|
|
280
|
+
afterWithMarkerBuffer: markedFrames[lastFrameIdx]
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
//# sourceMappingURL=verifyAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyAction.js","sourceRoot":"","sources":["../../src/pro/verifyAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentTools.d.ts","sourceRoot":"","sources":["../../src/tools/componentTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyCzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"componentTools.d.ts","sourceRoot":"","sources":["../../src/tools/componentTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyCzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8yB9D"}
|
|
@@ -260,14 +260,16 @@ export function registerComponentTools(server) {
|
|
|
260
260
|
for (let i = 0; i < elements.length; i++) {
|
|
261
261
|
const el = elements[i];
|
|
262
262
|
// react-native-screens modal presentations report y relative to content origin;
|
|
263
|
-
// shift into the window frame when the
|
|
263
|
+
// shift into the window frame when the element's center sits inside the safe-area
|
|
264
|
+
// band. The shift MUST be applied to center and frame atomically — independent
|
|
265
|
+
// checks (cy<inset, fy<inset) drift apart on iPad-style insets where a header's
|
|
266
|
+
// center is just below the inset but its frame top is just above, producing
|
|
267
|
+
// center/frame.y values that don't satisfy center = frame.y + frame.h/2.
|
|
264
268
|
let cy = el.center.y;
|
|
265
269
|
let fy = el.frame.y;
|
|
266
|
-
if (platform === "ios" && safeAreaTop > 0) {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
if (fy < safeAreaTop)
|
|
270
|
-
fy += safeAreaTop;
|
|
270
|
+
if (platform === "ios" && safeAreaTop > 0 && cy < safeAreaTop) {
|
|
271
|
+
cy += safeAreaTop;
|
|
272
|
+
fy += safeAreaTop;
|
|
271
273
|
}
|
|
272
274
|
// iOS: fiber returns points → convert points × DPR / screenshotScale = JPEG px.
|
|
273
275
|
// Android: getPressableElements reconciles fiber DP against uiautomator device-pixel
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentTools.js","sourceRoot":"","sources":["../../src/tools/componentTools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"componentTools.js","sourceRoot":"","sources":["../../src/tools/componentTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectionTools.d.ts","sourceRoot":"","sources":["../../src/tools/connectionTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"connectionTools.d.ts","sourceRoot":"","sources":["../../src/tools/connectionTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmCzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+sB/D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { registerToolWithTelemetry } from "../core/register.js";
|
|
3
|
-
import { scanMetroPorts, fetchDevices, filterDebuggableDevices, connectToDevice, ensureConnection, getConnectedAppByDevice, getConnectedApps, getContextHealth, getAllConnectionMetadata, getAllConnectionStates, formatDuration, cancelAllReconnectionTimers, cancelReconnectionTimer, clearAllCDPMessageTimes, clearAllConnectionState, suppressReconnection, clearReconnectionSuppression, purgeStaleConnectionsForPorts, connectMetroBuildEvents, disconnectMetroBuildEvents, reloadApp, connectedApps, isUiDriverAvailable, getTotalLogCount, suppressReconnectionForKey, getWebSocketStateName, awaitAppDetection, } from "../core/index.js";
|
|
3
|
+
import { scanMetroPorts, fetchDevices, filterDebuggableDevices, connectToDevice, ensureConnection, getConnectedAppByDevice, getConnectedApps, getContextHealth, getAllConnectionMetadata, getAllConnectionStates, getConnectionEvents, formatDuration, cancelAllReconnectionTimers, cancelReconnectionTimer, clearAllCDPMessageTimes, clearAllConnectionState, suppressReconnection, clearReconnectionSuppression, purgeStaleConnectionsForPorts, connectMetroBuildEvents, disconnectMetroBuildEvents, reloadApp, connectedApps, isUiDriverAvailable, getTotalLogCount, suppressReconnectionForKey, getWebSocketStateName, awaitAppDetection, } from "../core/index.js";
|
|
4
4
|
export function registerConnectionTools(server) {
|
|
5
5
|
// Tool: Scan for Metro servers
|
|
6
6
|
registerToolWithTelemetry(server, "scan_metro", {
|
|
@@ -273,6 +273,12 @@ export function registerConnectionTools(server) {
|
|
|
273
273
|
? ""
|
|
274
274
|
: ` [${getWebSocketStateName(app.ws.readyState).toLowerCase()} — reconnecting]`;
|
|
275
275
|
const lines = [` ${i + 1}. ${name} — ${appId} (${app.platform}, port ${app.port})${statusSuffix}`];
|
|
276
|
+
if (app.simulatorUdid) {
|
|
277
|
+
lines.push(` Simulator UDID: ${app.simulatorUdid}`);
|
|
278
|
+
}
|
|
279
|
+
if (app.adbSerial) {
|
|
280
|
+
lines.push(` ADB Serial: ${app.adbSerial}`);
|
|
281
|
+
}
|
|
276
282
|
if (app.appDetection) {
|
|
277
283
|
const d = app.appDetection;
|
|
278
284
|
const version = d.reactNativeVersion !== "unknown" ? `RN ${d.reactNativeVersion}` : "RN unknown";
|
|
@@ -281,16 +287,35 @@ export function registerConnectionTools(server) {
|
|
|
281
287
|
}
|
|
282
288
|
return lines.join("\n");
|
|
283
289
|
});
|
|
290
|
+
const firstApp = apps[0].app;
|
|
291
|
+
const firstIdentifier = firstApp.simulatorUdid ??
|
|
292
|
+
firstApp.adbSerial ??
|
|
293
|
+
firstApp.deviceInfo.deviceName;
|
|
284
294
|
const text = [
|
|
285
295
|
`Connected devices:`,
|
|
286
296
|
...deviceLines,
|
|
287
297
|
``,
|
|
288
|
-
`Use device="${
|
|
298
|
+
`Use device="${firstApp.deviceInfo.deviceName}", device="${firstIdentifier}", or any UDID/serial above to target a specific device.`,
|
|
289
299
|
``,
|
|
290
300
|
`Total logs in buffer: ${getTotalLogCount()}`
|
|
291
301
|
].join("\n");
|
|
302
|
+
// Structured payload — downstream tools and tests can read this
|
|
303
|
+
// without parsing the prose above.
|
|
304
|
+
const structured = apps.map(({ app, isConnected }) => ({
|
|
305
|
+
deviceName: app.deviceInfo.deviceName,
|
|
306
|
+
appId: app.deviceInfo.appId,
|
|
307
|
+
platform: app.platform,
|
|
308
|
+
port: app.port,
|
|
309
|
+
simulatorUdid: app.simulatorUdid ?? null,
|
|
310
|
+
adbSerial: app.adbSerial ?? null,
|
|
311
|
+
isConnected,
|
|
312
|
+
appDetection: app.appDetection ?? null
|
|
313
|
+
}));
|
|
292
314
|
return {
|
|
293
|
-
content: [
|
|
315
|
+
content: [
|
|
316
|
+
{ type: "text", text },
|
|
317
|
+
{ type: "text", text: JSON.stringify({ apps: structured }, null, 2) }
|
|
318
|
+
]
|
|
294
319
|
};
|
|
295
320
|
});
|
|
296
321
|
// Tool: Get connection status (detailed health and gap tracking)
|
|
@@ -302,16 +327,49 @@ export function registerConnectionTools(server) {
|
|
|
302
327
|
"LIMITATIONS: Reports only MCP-side view; doesn't know why Metro dropped the socket (simulator sleep, app backgrounded, etc).\n" +
|
|
303
328
|
"GOOD: get_connection_status() after noticing stale data.\n" +
|
|
304
329
|
"BAD: Polling get_connection_status as a heartbeat — use ensure_connection(healthCheck=true) for a live probe.\n" +
|
|
330
|
+
"Pass events=true to include the recent connection event log (connect/close/reconnect lifecycle) — useful when a target drops mid-session and you need to see why reconnect didn't recover it.\n" +
|
|
305
331
|
"SEE ALSO: call get_usage_guide(topic=\"setup\") for the full session-setup playbook.",
|
|
306
|
-
inputSchema: {
|
|
307
|
-
|
|
332
|
+
inputSchema: {
|
|
333
|
+
events: z
|
|
334
|
+
.boolean()
|
|
335
|
+
.optional()
|
|
336
|
+
.describe("Include the recent connection event log (lifecycle: connect, close, reconnect attempts/failures, stale-target, etc). Default: false."),
|
|
337
|
+
eventLimit: z
|
|
338
|
+
.coerce
|
|
339
|
+
.number()
|
|
340
|
+
.optional()
|
|
341
|
+
.describe("When events=true, show only the last N events. Default: 50."),
|
|
342
|
+
eventAppKey: z
|
|
343
|
+
.string()
|
|
344
|
+
.optional()
|
|
345
|
+
.describe("When events=true, filter the event log to a single appKey (format: '<port>-<deviceId>').")
|
|
346
|
+
}
|
|
347
|
+
}, async ({ events, eventLimit, eventAppKey }) => {
|
|
308
348
|
const connections = getConnectedApps();
|
|
309
349
|
const states = getAllConnectionStates();
|
|
310
350
|
const metadata = getAllConnectionMetadata();
|
|
311
351
|
const lines = [];
|
|
312
352
|
lines.push("=== Connection Status ===\n");
|
|
353
|
+
const appendEventsBlock = () => {
|
|
354
|
+
if (!events)
|
|
355
|
+
return;
|
|
356
|
+
const limit = eventLimit && eventLimit > 0 ? eventLimit : 50;
|
|
357
|
+
const eventList = getConnectionEvents({ appKey: eventAppKey, last: limit });
|
|
358
|
+
lines.push("");
|
|
359
|
+
lines.push(`=== Recent Connection Events (last ${eventList.length}${eventAppKey ? ` for ${eventAppKey}` : ""}) ===`);
|
|
360
|
+
if (eventList.length === 0) {
|
|
361
|
+
lines.push(" (no events recorded yet)");
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
for (const ev of eventList) {
|
|
365
|
+
const detail = ev.detail ? ` — ${ev.detail}` : "";
|
|
366
|
+
const title = ev.deviceTitle ? ` ${ev.deviceTitle}` : "";
|
|
367
|
+
lines.push(` ${ev.timestamp.toLocaleTimeString()} [${ev.type}] ${ev.appKey}${title}${detail}`);
|
|
368
|
+
}
|
|
369
|
+
};
|
|
313
370
|
if (connections.length === 0 && states.size === 0) {
|
|
314
371
|
lines.push("No connections established. Run scan_metro to connect.");
|
|
372
|
+
appendEventsBlock();
|
|
315
373
|
return {
|
|
316
374
|
content: [{ type: "text", text: lines.join("\n") }]
|
|
317
375
|
};
|
|
@@ -376,6 +434,7 @@ export function registerConnectionTools(server) {
|
|
|
376
434
|
lines.push("");
|
|
377
435
|
}
|
|
378
436
|
}
|
|
437
|
+
appendEventsBlock();
|
|
379
438
|
return {
|
|
380
439
|
content: [{ type: "text", text: lines.join("\n") }]
|
|
381
440
|
};
|