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.
Files changed (73) hide show
  1. package/README.md +1 -1
  2. package/build/__tests__/integration/tap-strategies.test.js +1 -1
  3. package/build/__tests__/integration/tap-strategies.test.js.map +1 -1
  4. package/build/__tests__/unit/androidEmulatorAvds.test.d.ts +2 -0
  5. package/build/__tests__/unit/androidEmulatorAvds.test.d.ts.map +1 -0
  6. package/build/__tests__/unit/androidEmulatorAvds.test.js +98 -0
  7. package/build/__tests__/unit/androidEmulatorAvds.test.js.map +1 -0
  8. package/build/__tests__/unit/deviceDiscovery.test.d.ts +2 -0
  9. package/build/__tests__/unit/deviceDiscovery.test.d.ts.map +1 -0
  10. package/build/__tests__/unit/deviceDiscovery.test.js +119 -0
  11. package/build/__tests__/unit/deviceDiscovery.test.js.map +1 -0
  12. package/build/__tests__/unit/deviceResolver.test.d.ts +2 -0
  13. package/build/__tests__/unit/deviceResolver.test.d.ts.map +1 -0
  14. package/build/__tests__/unit/deviceResolver.test.js +226 -0
  15. package/build/__tests__/unit/deviceResolver.test.js.map +1 -0
  16. package/build/__tests__/unit/tap.test.js +23 -34
  17. package/build/__tests__/unit/tap.test.js.map +1 -1
  18. package/build/__tests__/unit/verifyAction.test.d.ts +2 -0
  19. package/build/__tests__/unit/verifyAction.test.d.ts.map +1 -0
  20. package/build/__tests__/unit/verifyAction.test.js +26 -0
  21. package/build/__tests__/unit/verifyAction.test.js.map +1 -0
  22. package/build/core/android.d.ts +20 -0
  23. package/build/core/android.d.ts.map +1 -1
  24. package/build/core/android.js +98 -0
  25. package/build/core/android.js.map +1 -1
  26. package/build/core/connection.d.ts.map +1 -1
  27. package/build/core/connection.js +116 -55
  28. package/build/core/connection.js.map +1 -1
  29. package/build/core/connectionState.d.ts +14 -0
  30. package/build/core/connectionState.d.ts.map +1 -1
  31. package/build/core/connectionState.js +29 -0
  32. package/build/core/connectionState.js.map +1 -1
  33. package/build/core/deviceDiscovery.d.ts +52 -0
  34. package/build/core/deviceDiscovery.d.ts.map +1 -0
  35. package/build/core/deviceDiscovery.js +74 -0
  36. package/build/core/deviceDiscovery.js.map +1 -0
  37. package/build/core/deviceResolver.d.ts +44 -0
  38. package/build/core/deviceResolver.d.ts.map +1 -0
  39. package/build/core/deviceResolver.js +215 -0
  40. package/build/core/deviceResolver.js.map +1 -0
  41. package/build/core/guides.d.ts.map +1 -1
  42. package/build/core/guides.js +3 -4
  43. package/build/core/guides.js.map +1 -1
  44. package/build/core/index.d.ts +1 -1
  45. package/build/core/index.d.ts.map +1 -1
  46. package/build/core/index.js +3 -1
  47. package/build/core/index.js.map +1 -1
  48. package/build/core/types.d.ts +1 -0
  49. package/build/core/types.d.ts.map +1 -1
  50. package/build/pro/tap.d.ts +5 -10
  51. package/build/pro/tap.d.ts.map +1 -1
  52. package/build/pro/tap.js +125 -403
  53. package/build/pro/tap.js.map +1 -1
  54. package/build/pro/verifyAction.d.ts +50 -0
  55. package/build/pro/verifyAction.d.ts.map +1 -0
  56. package/build/pro/verifyAction.js +283 -0
  57. package/build/pro/verifyAction.js.map +1 -0
  58. package/build/tools/componentTools.d.ts.map +1 -1
  59. package/build/tools/componentTools.js +8 -6
  60. package/build/tools/componentTools.js.map +1 -1
  61. package/build/tools/connectionTools.d.ts.map +1 -1
  62. package/build/tools/connectionTools.js +64 -5
  63. package/build/tools/connectionTools.js.map +1 -1
  64. package/build/tools/deviceTools.d.ts.map +1 -1
  65. package/build/tools/deviceTools.js +104 -2
  66. package/build/tools/deviceTools.js.map +1 -1
  67. package/build/tools/interactionTools.d.ts.map +1 -1
  68. package/build/tools/interactionTools.js +113 -151
  69. package/build/tools/interactionTools.js.map +1 -1
  70. package/build/tools/screenshotTools.d.ts.map +1 -1
  71. package/build/tools/screenshotTools.js +22 -6
  72. package/build/tools/screenshotTools.js.map +1 -1
  73. 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,CA0yB9D"}
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 measurement falls inside the safe-area band.
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
- if (cy < safeAreaTop)
268
- cy += safeAreaTop;
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;AAkCzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgpB/D"}
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="${apps[0].app.deviceInfo.deviceName}" to target a specific 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: [{ type: "text", text }]
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
- }, async () => {
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
  };