react-native-ai-debugger 1.9.1 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) 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 +13 -30
  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 +20 -9
  28. package/build/core/connection.js.map +1 -1
  29. package/build/core/deviceDiscovery.d.ts +52 -0
  30. package/build/core/deviceDiscovery.d.ts.map +1 -0
  31. package/build/core/deviceDiscovery.js +74 -0
  32. package/build/core/deviceDiscovery.js.map +1 -0
  33. package/build/core/deviceResolver.d.ts +44 -0
  34. package/build/core/deviceResolver.d.ts.map +1 -0
  35. package/build/core/deviceResolver.js +191 -0
  36. package/build/core/deviceResolver.js.map +1 -0
  37. package/build/core/guides.d.ts.map +1 -1
  38. package/build/core/guides.js +3 -4
  39. package/build/core/guides.js.map +1 -1
  40. package/build/core/types.d.ts +1 -0
  41. package/build/core/types.d.ts.map +1 -1
  42. package/build/pro/tap.d.ts +5 -10
  43. package/build/pro/tap.d.ts.map +1 -1
  44. package/build/pro/tap.js +98 -395
  45. package/build/pro/tap.js.map +1 -1
  46. package/build/pro/verifyAction.d.ts +49 -0
  47. package/build/pro/verifyAction.d.ts.map +1 -0
  48. package/build/pro/verifyAction.js +255 -0
  49. package/build/pro/verifyAction.js.map +1 -0
  50. package/build/tools/connectionTools.d.ts.map +1 -1
  51. package/build/tools/connectionTools.js +27 -2
  52. package/build/tools/connectionTools.js.map +1 -1
  53. package/build/tools/deviceTools.d.ts.map +1 -1
  54. package/build/tools/deviceTools.js +104 -2
  55. package/build/tools/deviceTools.js.map +1 -1
  56. package/build/tools/interactionTools.d.ts.map +1 -1
  57. package/build/tools/interactionTools.js +113 -151
  58. package/build/tools/interactionTools.js.map +1 -1
  59. package/package.json +1 -1
@@ -0,0 +1,255 @@
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
+ export async function captureScreenshot(platform, udid) {
10
+ try {
11
+ const result = platform === "ios" ? await iosScreenshot(undefined, udid) : await androidScreenshot();
12
+ if (!result.success || !result.data)
13
+ return null;
14
+ return {
15
+ buffer: result.data,
16
+ width: result.originalWidth || 0,
17
+ height: result.originalHeight || 0,
18
+ scaleFactor: result.scaleFactor || 1
19
+ };
20
+ }
21
+ catch {
22
+ return null;
23
+ }
24
+ }
25
+ function screenshotToBase64(buffer) {
26
+ return buffer.toString("base64");
27
+ }
28
+ /**
29
+ * Composite a red crosshair marker onto a screenshot at the given pixel coordinates.
30
+ * Uses sharp + SVG so we don't need to inject into the app. Coordinates are in the
31
+ * screenshot's own pixel space (i.e. the space the returned image uses).
32
+ */
33
+ export async function drawTapMarker(input, x, y) {
34
+ try {
35
+ const sharp = (await import("sharp")).default;
36
+ const size = 72;
37
+ const half = size / 2;
38
+ const svg = `<svg width="${size}" height="${size}" xmlns="http://www.w3.org/2000/svg">
39
+ <circle cx="${half}" cy="${half}" r="${half - 8}" fill="none" stroke="white" stroke-width="6" opacity="0.85"/>
40
+ <circle cx="${half}" cy="${half}" r="${half - 8}" fill="none" stroke="#FF2D55" stroke-width="3" opacity="1"/>
41
+ <line x1="${half}" y1="8" x2="${half}" y2="${size - 8}" stroke="white" stroke-width="6" opacity="0.85"/>
42
+ <line x1="8" y1="${half}" x2="${size - 8}" y2="${half}" stroke="white" stroke-width="6" opacity="0.85"/>
43
+ <line x1="${half}" y1="8" x2="${half}" y2="${size - 8}" stroke="#FF2D55" stroke-width="2.5"/>
44
+ <line x1="8" y1="${half}" x2="${size - 8}" y2="${half}" stroke="#FF2D55" stroke-width="2.5"/>
45
+ <circle cx="${half}" cy="${half}" r="3" fill="#FF2D55"/>
46
+ </svg>`;
47
+ const left = Math.round(x - half);
48
+ const top = Math.round(y - half);
49
+ return await sharp(input)
50
+ .composite([{ input: Buffer.from(svg), left, top }])
51
+ .toBuffer();
52
+ }
53
+ catch {
54
+ return input;
55
+ }
56
+ }
57
+ export async function verifyAndCapture(args) {
58
+ const { platform, shouldVerify, shouldScreenshot, beforeBuffer, udid, beforeScaleFactor, markerPx, } = args;
59
+ const source = args.source ?? "tap-verify";
60
+ const action = source.startsWith("swipe") ? "swipe" : "tap";
61
+ if (!shouldVerify && !shouldScreenshot) {
62
+ return {
63
+ verification: {
64
+ skipped: true,
65
+ skippedReason: "screenshot=false, verify=false",
66
+ explanation: "Verification skipped (screenshot=false and verify=false)."
67
+ }
68
+ };
69
+ }
70
+ await new Promise((resolve) => setTimeout(resolve, SETTLE_DELAY_MS));
71
+ const after = await captureScreenshot(platform, udid);
72
+ if (!after) {
73
+ if (shouldVerify) {
74
+ return {
75
+ verification: {
76
+ skipped: true,
77
+ skippedReason: "after-screenshot capture failed",
78
+ explanation: "Verification skipped — could not capture post-tap screenshot."
79
+ }
80
+ };
81
+ }
82
+ return {};
83
+ }
84
+ const afterWithMarker = markerPx
85
+ ? await drawTapMarker(after.buffer, markerPx.x, markerPx.y)
86
+ : after.buffer;
87
+ const screenshot = {
88
+ image: screenshotToBase64(afterWithMarker),
89
+ width: after.width,
90
+ height: after.height,
91
+ scaleFactor: after.scaleFactor
92
+ };
93
+ let verification;
94
+ if (!shouldVerify) {
95
+ verification = {
96
+ skipped: true,
97
+ skippedReason: "verify=false",
98
+ explanation: "Verification skipped (verify=false)."
99
+ };
100
+ }
101
+ else if (!beforeBuffer) {
102
+ verification = {
103
+ skipped: true,
104
+ skippedReason: "before-screenshot unavailable",
105
+ explanation: "Verification skipped — could not capture pre-tap screenshot."
106
+ };
107
+ }
108
+ else {
109
+ try {
110
+ const rawStatusBar = platform === "ios" ? 177 : 142;
111
+ const scale = beforeScaleFactor || after.scaleFactor || 1;
112
+ const statusBarHeight = Math.round(rawStatusBar / scale);
113
+ const diff = await compareScreenshots(beforeBuffer, after.buffer, {
114
+ statusBarHeight
115
+ });
116
+ verification = {
117
+ meaningful: diff.changed,
118
+ changeRate: diff.changeRate,
119
+ changedPixels: diff.changedPixels,
120
+ totalPixels: diff.totalPixels,
121
+ explanation: buildVerificationExplanation({
122
+ meaningful: diff.changed,
123
+ changeRate: diff.changeRate,
124
+ changedPixels: diff.changedPixels,
125
+ totalPixels: diff.totalPixels,
126
+ action
127
+ })
128
+ };
129
+ }
130
+ catch (err) {
131
+ verification = {
132
+ skipped: true,
133
+ skippedReason: `diff failed: ${err instanceof Error ? err.message : String(err)}`,
134
+ explanation: "Verification skipped — pixel diff threw."
135
+ };
136
+ }
137
+ }
138
+ const verifyGroupId = `verify-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
139
+ if (beforeBuffer) {
140
+ imageBuffer.add({
141
+ id: `${verifyGroupId}-before`,
142
+ image: beforeBuffer,
143
+ timestamp: Date.now(),
144
+ source,
145
+ groupId: verifyGroupId,
146
+ metadata: { phase: "before" }
147
+ });
148
+ }
149
+ imageBuffer.add({
150
+ id: `${verifyGroupId}-after`,
151
+ image: afterWithMarker,
152
+ timestamp: Date.now(),
153
+ source,
154
+ groupId: verifyGroupId,
155
+ metadata: { phase: "after", changeRate: verification?.changeRate }
156
+ });
157
+ return { screenshot, verification, afterWithMarkerBuffer: afterWithMarker };
158
+ }
159
+ export async function burstCaptureAndVerify(args) {
160
+ const { platform, beforeBuffer, udid, beforeScaleFactor, markerPx } = args;
161
+ const source = args.source ?? "tap-burst";
162
+ const groupIntent = source === "tap-burst" ? "tap-verification" : `${source.replace(/-burst$/, "")}-verification`;
163
+ const action = source.startsWith("swipe") ? "swipe" : "tap";
164
+ if (!beforeBuffer)
165
+ return {};
166
+ const frames = [beforeBuffer];
167
+ let capturedScaleFactor = beforeScaleFactor || 1;
168
+ for (let i = 0; i < BURST_FRAME_COUNT; i++) {
169
+ await new Promise((resolve) => setTimeout(resolve, BURST_FRAME_INTERVAL_MS));
170
+ const capture = await captureScreenshot(platform, udid);
171
+ if (capture) {
172
+ frames.push(capture.buffer);
173
+ if (i === 0)
174
+ capturedScaleFactor = capture.scaleFactor || capturedScaleFactor;
175
+ }
176
+ }
177
+ if (frames.length < 2)
178
+ return {};
179
+ const rawStatusBar = platform === "ios" ? 177 : 142;
180
+ const statusBarHeight = Math.round(rawStatusBar / capturedScaleFactor);
181
+ const analysis = await analyzeBurstFrames(frames, { statusBarHeight });
182
+ const markedFrames = [];
183
+ for (let i = 0; i < frames.length; i++) {
184
+ if (markerPx && i > 0) {
185
+ markedFrames.push(await drawTapMarker(frames[i], markerPx.x, markerPx.y));
186
+ }
187
+ else {
188
+ markedFrames.push(frames[i]);
189
+ }
190
+ }
191
+ const groupId = `burst-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
192
+ for (let i = 0; i < markedFrames.length; i++) {
193
+ imageBuffer.add({
194
+ id: `${groupId}-f${i}`,
195
+ image: markedFrames[i],
196
+ timestamp: Date.now(),
197
+ source,
198
+ groupId,
199
+ metadata: {
200
+ frameIndex: i,
201
+ isBefore: i === 0,
202
+ changeRate: i === 0 ? 0 : analysis.framesWithChange.includes(i) ? analysis.peakChangeRate : 0
203
+ }
204
+ });
205
+ }
206
+ imageBuffer.addGroup({
207
+ groupId,
208
+ intent: groupIntent,
209
+ source,
210
+ timestamp: Date.now(),
211
+ frameCount: frames.length,
212
+ summary: {
213
+ peakChangeRate: analysis.peakChangeRate,
214
+ peakFrame: analysis.peakFrame,
215
+ framesWithChange: analysis.framesWithChange,
216
+ transientChangeDetected: analysis.transientChangeDetected,
217
+ persistentChangeRate: analysis.persistentChangeRate
218
+ }
219
+ });
220
+ const sharp = (await import("sharp")).default;
221
+ const meta = await sharp(markedFrames[markedFrames.length - 1]).metadata();
222
+ const screenshot = {
223
+ image: screenshotToBase64(markedFrames[markedFrames.length - 1]),
224
+ width: meta.width || 0,
225
+ height: meta.height || 0,
226
+ scaleFactor: 1
227
+ };
228
+ const verification = {
229
+ meaningful: analysis.meaningful,
230
+ changeRate: analysis.persistentChangeRate,
231
+ changedPixels: 0,
232
+ totalPixels: 0,
233
+ transientChangeDetected: analysis.transientChangeDetected,
234
+ peakChangeRate: analysis.peakChangeRate,
235
+ peakFrame: analysis.peakFrame,
236
+ burstGroupId: groupId,
237
+ explanation: buildVerificationExplanation({
238
+ meaningful: analysis.meaningful,
239
+ changeRate: analysis.persistentChangeRate,
240
+ changedPixels: 0,
241
+ totalPixels: 0,
242
+ transientChangeDetected: analysis.transientChangeDetected,
243
+ peakChangeRate: analysis.peakChangeRate,
244
+ peakFrame: analysis.peakFrame,
245
+ action
246
+ })
247
+ };
248
+ const lastFrameIdx = frames.length - 1;
249
+ return {
250
+ screenshot,
251
+ verification,
252
+ afterWithMarkerBuffer: markedFrames[lastFrameIdx]
253
+ };
254
+ }
255
+ //# 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":"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;AAkCzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4qB/D"}
@@ -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)
@@ -1 +1 @@
1
- {"version":3,"file":"connectionTools.js","sourceRoot":"","sources":["../../src/tools/connectionTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connectionTools.js","sourceRoot":"","sources":["../../src/tools/connectionTools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deviceTools.d.ts","sourceRoot":"","sources":["../../src/tools/deviceTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkBzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+W3D"}
1
+ {"version":3,"file":"deviceTools.d.ts","sourceRoot":"","sources":["../../src/tools/deviceTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoBzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsd3D"}
@@ -2,11 +2,112 @@ import { z } from "zod";
2
2
  import { registerToolWithTelemetry } from "../core/register.js";
3
3
  import { listAndroidDevices, androidInstallApp, androidLaunchApp, androidListPackages, androidGetScreenSize, listIOSSimulators, iosInstallApp, iosLaunchApp, iosTerminateApp, iosBootSimulator, iosOpenUrl, } from "../core/index.js";
4
4
  import { platformUniqueBanner } from "../core/toolHelpers.js";
5
+ import { listAllDevices } from "../core/deviceDiscovery.js";
6
+ import { getConnectedApps } from "../core/connection.js";
5
7
  export function registerDeviceTools(server) {
6
8
  // ============================================================================
9
+ // Tool: List all devices (cross-platform, works without React Native)
10
+ registerToolWithTelemetry(server, "list_devices", {
11
+ description: "List every iOS simulator, Android emulator, and connected physical device on the host machine, in one structured response.\n" +
12
+ "PURPOSE: Single discovery entry point. Returns booted+shutdown iOS sims (from simctl), running+stopped Android emulators (from `emulator -list-avds` cross-referenced with `adb devices`), and attached physical devices. Each row is enriched with `rnConnected` when an RN app from get_apps matches the same identifier.\n" +
13
+ "WHEN TO USE: Before tap/swipe to pick a device, when a tool reports an ambiguous-device error, or to check whether a simulator is booted before targeting it.\n" +
14
+ "WORKS WITHOUT RN: No Metro connection required. Safe to call before scan_metro.\n" +
15
+ "WORKFLOW: list_devices -> tap({ device: '<udid-or-serial-or-name>', ... })\n" +
16
+ "SEE ALSO: get_apps for RN-specific connection details (RN version, JS engine, network capture mode).",
17
+ inputSchema: {
18
+ refresh: z
19
+ .coerce
20
+ .boolean()
21
+ .optional()
22
+ .default(false)
23
+ .describe("Force re-query of simctl/adb/emulator instead of returning cached results (5s TTL).")
24
+ }
25
+ }, async ({ refresh }) => {
26
+ const inventory = await listAllDevices({ refresh });
27
+ // Best-effort RN enrichment. If the registry is empty, this loop
28
+ // is a no-op and the OS-level inventory is returned untouched —
29
+ // preserves the "works without React Native" guarantee.
30
+ const apps = getConnectedApps();
31
+ if (apps.length > 0) {
32
+ const byUdid = new Map();
33
+ const bySerial = new Map();
34
+ for (const { app } of apps) {
35
+ const entry = { deviceName: app.deviceInfo.deviceName, port: app.port };
36
+ if (app.simulatorUdid)
37
+ byUdid.set(app.simulatorUdid.toLowerCase(), entry);
38
+ if (app.adbSerial)
39
+ bySerial.set(app.adbSerial, entry);
40
+ }
41
+ for (const sim of inventory.ios.simulators) {
42
+ const match = byUdid.get(sim.udid.toLowerCase());
43
+ if (match)
44
+ sim.rnConnected = match;
45
+ }
46
+ for (const emu of inventory.android.emulators) {
47
+ if (emu.serial) {
48
+ const match = bySerial.get(emu.serial);
49
+ if (match)
50
+ emu.rnConnected = match;
51
+ }
52
+ }
53
+ for (const phys of inventory.android.physical) {
54
+ const match = bySerial.get(phys.serial);
55
+ if (match)
56
+ phys.rnConnected = match;
57
+ }
58
+ }
59
+ const lines = [];
60
+ lines.push(`Devices: ${inventory.summary.booted} running, ${inventory.summary.total} total`);
61
+ if (inventory.ios.available) {
62
+ lines.push("\niOS simulators:");
63
+ if (inventory.ios.simulators.length === 0) {
64
+ lines.push(" (none)");
65
+ }
66
+ else {
67
+ for (const s of inventory.ios.simulators) {
68
+ const badge = s.state === "booted" ? "🟢 booted" : "⚪ shutdown";
69
+ const rn = s.rnConnected ? ` [RN connected on port ${s.rnConnected.port}]` : "";
70
+ lines.push(` ${s.name} (${s.runtime}) — ${badge} — UDID: ${s.udid}${rn}`);
71
+ }
72
+ }
73
+ }
74
+ else {
75
+ lines.push(`\niOS: unavailable (${inventory.ios.error ?? "unknown"})`);
76
+ }
77
+ if (inventory.android.available) {
78
+ lines.push("\nAndroid emulators:");
79
+ if (inventory.android.emulators.length === 0) {
80
+ lines.push(" (none)");
81
+ }
82
+ else {
83
+ for (const e of inventory.android.emulators) {
84
+ const badge = e.state === "running" ? `🟢 running (${e.serial})` : "⚪ stopped";
85
+ const rn = e.rnConnected ? ` [RN connected on port ${e.rnConnected.port}]` : "";
86
+ lines.push(` ${e.name} — ${badge}${rn}`);
87
+ }
88
+ }
89
+ if (inventory.android.physical.length > 0) {
90
+ lines.push("\nAndroid physical:");
91
+ for (const p of inventory.android.physical) {
92
+ const rn = p.rnConnected ? ` [RN connected on port ${p.rnConnected.port}]` : "";
93
+ lines.push(` ${p.model} (${p.serial}) — ${p.state}${rn}`);
94
+ }
95
+ }
96
+ }
97
+ else {
98
+ lines.push(`\nAndroid: unavailable (${inventory.android.error ?? "unknown"})`);
99
+ }
100
+ return {
101
+ content: [
102
+ { type: "text", text: lines.join("\n") },
103
+ { type: "text", text: JSON.stringify(inventory, null, 2) }
104
+ ]
105
+ };
106
+ });
7
107
  // Tool: List Android devices
8
108
  registerToolWithTelemetry(server, "list_android_devices", {
9
- description: "List connected Android devices and emulators via ADB.\n" +
109
+ description: "DEPRECATED: prefer list_devices, which returns Android emulators (running + stopped) + iOS simulators + physical devices in one call.\n" +
110
+ "List connected Android devices and emulators via ADB.\n" +
10
111
  "PURPOSE: Discover which physical devices and emulators are visible to adb so you can pick a target UDID/serial.\n" +
11
112
  "WHEN TO USE: Before android_install_app / android_launch_app, or when a tool reports \"no device\" and you need to confirm visibility.\n" +
12
113
  "SEE ALSO: call get_usage_guide(topic=\"setup\") for the full session-setup playbook.",
@@ -152,7 +253,8 @@ export function registerDeviceTools(server) {
152
253
  });
153
254
  // Tool: List iOS simulators
154
255
  registerToolWithTelemetry(server, "list_ios_simulators", {
155
- description: "List available iOS simulators.\n" +
256
+ description: "DEPRECATED: prefer list_devices, which returns iOS simulators + Android emulators + physical devices in one call.\n" +
257
+ "List available iOS simulators.\n" +
156
258
  "PURPOSE: Enumerate installed iOS simulators with their UDIDs and boot state so you can boot or install into the right one.\n" +
157
259
  "WHEN TO USE: Before ios_boot_simulator / ios_install_app, or when you need a UDID for a specific device name.\n" +
158
260
  "SEE ALSO: call get_usage_guide(topic=\"setup\") for the full session-setup playbook.",
@@ -1 +1 @@
1
- {"version":3,"file":"deviceTools.js","sourceRoot":"","sources":["../../src/tools/deviceTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deviceTools.js","sourceRoot":"","sources":["../../src/tools/deviceTools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactionTools.d.ts","sourceRoot":"","sources":["../../src/tools/interactionTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwBzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0qBhE"}
1
+ {"version":3,"file":"interactionTools.d.ts","sourceRoot":"","sources":["../../src/tools/interactionTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0BzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAooBhE"}