deepadb 1.0.7 → 1.0.9
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 +55 -26
- package/build/index.d.ts +1 -1
- package/build/index.js +1 -1
- package/build/middleware/output-processor.d.ts +1 -1
- package/build/middleware/output-processor.js +1 -1
- package/build/middleware/png-utils.d.ts +44 -0
- package/build/middleware/png-utils.d.ts.map +1 -0
- package/build/middleware/png-utils.js +274 -0
- package/build/middleware/png-utils.js.map +1 -0
- package/build/middleware/ui-dump.d.ts +21 -0
- package/build/middleware/ui-dump.d.ts.map +1 -1
- package/build/middleware/ui-dump.js +38 -0
- package/build/middleware/ui-dump.js.map +1 -1
- package/build/server.d.ts.map +1 -1
- package/build/server.js +4 -2
- package/build/server.js.map +1 -1
- package/build/tools/control.d.ts.map +1 -1
- package/build/tools/control.js +60 -7
- package/build/tools/control.js.map +1 -1
- package/build/tools/diagnostics.d.ts +2 -2
- package/build/tools/diagnostics.d.ts.map +1 -1
- package/build/tools/diagnostics.js +86 -3
- package/build/tools/diagnostics.js.map +1 -1
- package/build/tools/input-gestures.d.ts +11 -0
- package/build/tools/input-gestures.d.ts.map +1 -0
- package/build/tools/input-gestures.js +1020 -0
- package/build/tools/input-gestures.js.map +1 -0
- package/build/tools/packages.d.ts.map +1 -1
- package/build/tools/packages.js +71 -0
- package/build/tools/packages.js.map +1 -1
- package/build/tools/screenshot-diff.d.ts.map +1 -1
- package/build/tools/screenshot-diff.js +1 -86
- package/build/tools/screenshot-diff.js.map +1 -1
- package/build/tools/ui.d.ts.map +1 -1
- package/build/tools/ui.js +162 -49
- package/build/tools/ui.js.map +1 -1
- package/package.json +2 -2
package/build/tools/ui.js
CHANGED
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { join, basename } from "path";
|
|
6
|
+
import { writeFileSync } from "fs";
|
|
6
7
|
import { OutputProcessor } from "../middleware/output-processor.js";
|
|
7
8
|
import { shellEscape } from "../middleware/sanitize.js";
|
|
8
|
-
import { captureUiDump,
|
|
9
|
+
import { captureUiDump, parseUiNodes } from "../middleware/ui-dump.js";
|
|
10
|
+
import { decodePngPixels, encodePng, drawRect, drawLabel, ELEMENT_COLORS } from "../middleware/png-utils.js";
|
|
9
11
|
import { isOnDevice } from "../config/config.js";
|
|
10
12
|
function sanitizeFilename(name) {
|
|
11
13
|
const base = basename(name);
|
|
@@ -122,20 +124,31 @@ export function registerUiTools(ctx) {
|
|
|
122
124
|
return { content: [{ type: "text", text: OutputProcessor.formatError(error) }], isError: true };
|
|
123
125
|
}
|
|
124
126
|
});
|
|
125
|
-
ctx.server.tool("adb_ui_dump", "Dump the current UI hierarchy. Parses the view tree into structured element data with coordinates, text, resource IDs, and interaction flags.", {
|
|
127
|
+
ctx.server.tool("adb_ui_dump", "Dump the current UI hierarchy. Parses the view tree into structured element data with coordinates, text, resource IDs, and interaction flags. Use format='tsv' for token-efficient compact output, format='xml' for raw uiautomator XML.", {
|
|
126
128
|
clickableOnly: z.boolean().optional().default(false).describe("Only show clickable/interactive elements"),
|
|
129
|
+
format: z.enum(["text", "tsv", "xml"]).optional().default("text")
|
|
130
|
+
.describe("Output format: 'text' (default, human-readable), 'tsv' (tab-separated, token-efficient), 'xml' (raw uiautomator XML)"),
|
|
127
131
|
device: z.string().optional().describe("Device serial"),
|
|
128
|
-
}, async ({ clickableOnly, device }) => {
|
|
132
|
+
}, async ({ clickableOnly, format, device }) => {
|
|
129
133
|
try {
|
|
130
134
|
const resolved = await ctx.deviceManager.resolveDevice(device);
|
|
131
135
|
const xml = await captureUiDump(ctx.bridge, resolved.serial);
|
|
132
136
|
if (!xml) {
|
|
133
137
|
return { content: [{ type: "text", text: "Failed to capture UI hierarchy. The screen may be in a state that doesn't support uiautomator dump (e.g., locked, transitioning)." }], isError: true };
|
|
134
138
|
}
|
|
139
|
+
if (format === "xml") {
|
|
140
|
+
return { content: [{ type: "text", text: OutputProcessor.process(xml) }] };
|
|
141
|
+
}
|
|
135
142
|
const elements = parseUiNodes(xml, clickableOnly);
|
|
136
143
|
if (elements.length === 0) {
|
|
137
144
|
return { content: [{ type: "text", text: clickableOnly ? "No clickable elements found on screen." : "No UI elements found." }] };
|
|
138
145
|
}
|
|
146
|
+
if (format === "tsv") {
|
|
147
|
+
const header = "index\ttext\tresource_id\tcontent_desc\tcenter_x\tcenter_y\tclickable\tscrollable";
|
|
148
|
+
const rows = elements.map((el, i) => formatElementTsv(el, i));
|
|
149
|
+
return { content: [{ type: "text", text: `${elements.length} elements:\n${header}\n${rows.join("\n")}` }] };
|
|
150
|
+
}
|
|
151
|
+
// format === "text" (default)
|
|
139
152
|
const output = elements.map((el, i) => formatElement(el, i, true)).join("\n");
|
|
140
153
|
return { content: [{ type: "text", text: `${elements.length} elements:\n\n${OutputProcessor.process(output)}` }] };
|
|
141
154
|
}
|
|
@@ -185,7 +198,140 @@ export function registerUiTools(ctx) {
|
|
|
185
198
|
return { content: [{ type: "text", text: OutputProcessor.formatError(error) }], isError: true };
|
|
186
199
|
}
|
|
187
200
|
});
|
|
201
|
+
ctx.server.tool("adb_screencap_annotated", "Take a screenshot with UI element bounding boxes and numbered labels composited directly onto the image. Returns the annotated PNG path plus a text legend mapping each element number to its identity. Ideal for LLM workflows that need to reference specific UI elements by number rather than by coordinates.", {
|
|
202
|
+
clickableOnly: z.boolean().optional().default(true)
|
|
203
|
+
.describe("Only annotate clickable/scrollable elements (default true — reduces visual noise)"),
|
|
204
|
+
filename: z.string().optional()
|
|
205
|
+
.describe("Output filename (default: annotated_<timestamp>.png)"),
|
|
206
|
+
device: z.string().optional().describe("Device serial"),
|
|
207
|
+
}, async ({ clickableOnly, filename, device }) => {
|
|
208
|
+
try {
|
|
209
|
+
const resolved = await ctx.deviceManager.resolveDevice(device);
|
|
210
|
+
const serial = resolved.serial;
|
|
211
|
+
const ts = Date.now();
|
|
212
|
+
const remoteDir = isOnDevice() ? "/data/local/tmp" : "/sdcard";
|
|
213
|
+
const remotePng = `${remoteDir}/DA_ann_${ts}.png`;
|
|
214
|
+
const outName = filename
|
|
215
|
+
? filename.replace(/[^a-zA-Z0-9._-]/g, "_")
|
|
216
|
+
: `annotated_${ts}.png`;
|
|
217
|
+
const localPath = join(ctx.config.tempDir, outName);
|
|
218
|
+
// Capture screenshot and UI hierarchy in parallel
|
|
219
|
+
await ctx.bridge.shell(`screencap -p '${shellEscape(remotePng)}'`, { device: serial, timeout: 15000 });
|
|
220
|
+
try {
|
|
221
|
+
await ctx.bridge.exec(["pull", remotePng, localPath], { device: serial, timeout: 30000 });
|
|
222
|
+
}
|
|
223
|
+
finally {
|
|
224
|
+
await ctx.bridge.shell(`rm '${shellEscape(remotePng)}'`, { device: serial, ignoreExitCode: true }).catch(() => { });
|
|
225
|
+
}
|
|
226
|
+
const xml = await captureUiDump(ctx.bridge, serial);
|
|
227
|
+
if (!xml) {
|
|
228
|
+
return { content: [{ type: "text", text: "Screenshot saved but UI hierarchy capture failed — returning plain screenshot." }] };
|
|
229
|
+
}
|
|
230
|
+
const elements = parseUiNodes(xml, clickableOnly);
|
|
231
|
+
const img = decodePngPixels(localPath);
|
|
232
|
+
if (!img) {
|
|
233
|
+
return { content: [{ type: "text", text: `Screenshot saved: ${localPath}\n(PNG decode failed — annotation skipped)` }] };
|
|
234
|
+
}
|
|
235
|
+
// Composite: draw bounding box border + number label for each element
|
|
236
|
+
const { width, height, bytesPerPixel, pixels } = img;
|
|
237
|
+
const bpp = bytesPerPixel;
|
|
238
|
+
for (let i = 0; i < elements.length; i++) {
|
|
239
|
+
const el = elements[i];
|
|
240
|
+
const color = ELEMENT_COLORS[i % ELEMENT_COLORS.length];
|
|
241
|
+
drawRect(pixels, width, height, bpp, el.bounds.left, el.bounds.top, el.bounds.right, el.bounds.bottom, color, 2);
|
|
242
|
+
drawLabel(pixels, width, height, bpp, el.bounds.left, el.bounds.top, i, color);
|
|
243
|
+
}
|
|
244
|
+
// Encode and save annotated PNG
|
|
245
|
+
const annotatedPng = encodePng(width, height, pixels, bpp);
|
|
246
|
+
writeFileSync(localPath, annotatedPng);
|
|
247
|
+
// Build legend
|
|
248
|
+
const legend = elements.map((el, i) => {
|
|
249
|
+
const label = el.text || el.contentDesc || el.resourceId || el.className;
|
|
250
|
+
const flags = [];
|
|
251
|
+
if (el.clickable)
|
|
252
|
+
flags.push("tap");
|
|
253
|
+
if (el.scrollable)
|
|
254
|
+
flags.push("scroll");
|
|
255
|
+
return `[${i}] ${label}${flags.length ? ` (${flags.join("/")})` : ""}`;
|
|
256
|
+
}).join("\n");
|
|
257
|
+
return {
|
|
258
|
+
content: [{
|
|
259
|
+
type: "text",
|
|
260
|
+
text: `Annotated screenshot: ${localPath}\n${elements.length} elements labeled\n\n${legend}`,
|
|
261
|
+
}],
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
catch (error) {
|
|
265
|
+
return { content: [{ type: "text", text: OutputProcessor.formatError(error) }], isError: true };
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
ctx.server.tool("adb_screen_state", "Get a combined screen state snapshot in one call: foreground activity, screen dimensions and density, orientation, battery level, and a TSV list of interactive UI elements. Replaces 3-4 separate tool calls with a single round-trip. Ideal as a first step in any automation workflow.", {
|
|
269
|
+
clickableOnly: z.boolean().optional().default(true)
|
|
270
|
+
.describe("Only include clickable/scrollable elements in TSV output (default true)"),
|
|
271
|
+
device: z.string().optional().describe("Device serial"),
|
|
272
|
+
}, async ({ clickableOnly, device }) => {
|
|
273
|
+
try {
|
|
274
|
+
const resolved = await ctx.deviceManager.resolveDevice(device);
|
|
275
|
+
const serial = resolved.serial;
|
|
276
|
+
// All system queries in parallel; UI dump runs after since it's slower
|
|
277
|
+
const [activityR, sizeR, densityR, batteryR, orientR] = await Promise.allSettled([
|
|
278
|
+
ctx.bridge.shell("dumpsys activity activities | grep -m1 mResumedActivity", { device: serial, timeout: 5000, ignoreExitCode: true }),
|
|
279
|
+
ctx.bridge.shell("wm size", { device: serial, timeout: 3000, ignoreExitCode: true }),
|
|
280
|
+
ctx.bridge.shell("wm density", { device: serial, timeout: 3000, ignoreExitCode: true }),
|
|
281
|
+
ctx.bridge.shell("dumpsys battery | head -10", { device: serial, timeout: 5000, ignoreExitCode: true }),
|
|
282
|
+
ctx.bridge.shell("settings get system accelerometer_rotation", { device: serial, timeout: 3000, ignoreExitCode: true }),
|
|
283
|
+
]);
|
|
284
|
+
const xml = await captureUiDump(ctx.bridge, serial);
|
|
285
|
+
// Build header section
|
|
286
|
+
const lines = [];
|
|
287
|
+
// Activity
|
|
288
|
+
const actLine = activityR.status === "fulfilled" ? activityR.value.stdout : "";
|
|
289
|
+
const actMatch = actLine.match(/mResumedActivity:.*?\{[^\s]+\s+([^\s}]+)/);
|
|
290
|
+
lines.push(`Activity: ${actMatch?.[1] ?? "(unknown)"}`);
|
|
291
|
+
// Screen size + density
|
|
292
|
+
const sizeStr = sizeR.status === "fulfilled" ? sizeR.value.stdout : "";
|
|
293
|
+
const densStr = densityR.status === "fulfilled" ? densityR.value.stdout : "";
|
|
294
|
+
const sizeMatch = sizeStr.match(/(\d+)x(\d+)/);
|
|
295
|
+
const densMatch = densStr.match(/(\d+)/);
|
|
296
|
+
const w = sizeMatch?.[1] ?? "?", h = sizeMatch?.[2] ?? "?";
|
|
297
|
+
const dpi = densMatch?.[1] ?? "?";
|
|
298
|
+
lines.push(`Screen: ${w}×${h} @ ${dpi} dpi`);
|
|
299
|
+
// Orientation
|
|
300
|
+
const autoRot = orientR.status === "fulfilled" ? orientR.value.stdout.trim() : "";
|
|
301
|
+
lines.push(`Orientation: ${autoRot === "1" ? "auto-rotate" : "locked"}`);
|
|
302
|
+
// Battery
|
|
303
|
+
if (batteryR.status === "fulfilled") {
|
|
304
|
+
const b = batteryR.value.stdout;
|
|
305
|
+
const level = b.match(/level:\s*(\d+)/)?.[1] ?? "?";
|
|
306
|
+
const status = b.match(/status:\s*(\d+)/)?.[1];
|
|
307
|
+
const statusMap = {
|
|
308
|
+
"2": "charging", "3": "discharging", "4": "not charging", "5": "full",
|
|
309
|
+
};
|
|
310
|
+
const temp = b.match(/temperature:\s*(\d+)/)?.[1];
|
|
311
|
+
const tempC = temp ? (parseInt(temp, 10) / 10).toFixed(1) : "?";
|
|
312
|
+
lines.push(`Battery: ${level}% (${statusMap[status ?? ""] ?? "unknown"}, ${tempC}°C)`);
|
|
313
|
+
}
|
|
314
|
+
// TSV element table
|
|
315
|
+
if (!xml) {
|
|
316
|
+
lines.push("\n(UI hierarchy unavailable)");
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
const elements = parseUiNodes(xml, clickableOnly);
|
|
320
|
+
lines.push(`Elements: ${elements.length}`);
|
|
321
|
+
lines.push("");
|
|
322
|
+
lines.push("index\ttext\tresource_id\tcontent_desc\tcenter_x\tcenter_y\tclickable\tscrollable");
|
|
323
|
+
for (let i = 0; i < elements.length; i++) {
|
|
324
|
+
lines.push(formatElementTsv(elements[i], i));
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
328
|
+
}
|
|
329
|
+
catch (error) {
|
|
330
|
+
return { content: [{ type: "text", text: OutputProcessor.formatError(error) }], isError: true };
|
|
331
|
+
}
|
|
332
|
+
});
|
|
188
333
|
}
|
|
334
|
+
// ── UI Hierarchy Helpers ──────────────────────────────────────────────
|
|
189
335
|
/** Format a UI element for output. `showFlags` includes interaction flags (for dump); omit for find (shows tap coords instead). */
|
|
190
336
|
function formatElement(el, index, showFlags) {
|
|
191
337
|
const parts = [`[${index}]`];
|
|
@@ -216,51 +362,18 @@ function formatElement(el, index, showFlags) {
|
|
|
216
362
|
}
|
|
217
363
|
return parts.join(" | ");
|
|
218
364
|
}
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
return m ? m[1] : "";
|
|
233
|
-
};
|
|
234
|
-
const clickable = get("clickable") === "true";
|
|
235
|
-
const scrollable = get("scrollable") === "true";
|
|
236
|
-
const focusable = get("focusable") === "true";
|
|
237
|
-
if (clickableOnly && !clickable && !scrollable)
|
|
238
|
-
continue;
|
|
239
|
-
// Parse bounds="[left,top][right,bottom]"
|
|
240
|
-
const boundsStr = get("bounds");
|
|
241
|
-
const boundsMatch = boundsStr.match(/\[(\d+),(\d+)\]\[(\d+),(\d+)\]/);
|
|
242
|
-
if (!boundsMatch)
|
|
243
|
-
continue;
|
|
244
|
-
const left = parseInt(boundsMatch[1], 10);
|
|
245
|
-
const top = parseInt(boundsMatch[2], 10);
|
|
246
|
-
const right = parseInt(boundsMatch[3], 10);
|
|
247
|
-
const bottom = parseInt(boundsMatch[4], 10);
|
|
248
|
-
elements.push({
|
|
249
|
-
resourceId: get("resource-id"),
|
|
250
|
-
text: get("text"),
|
|
251
|
-
contentDesc: get("content-desc"),
|
|
252
|
-
className: get("class").replace("android.widget.", "").replace("android.view.", ""),
|
|
253
|
-
clickable,
|
|
254
|
-
scrollable,
|
|
255
|
-
focusable,
|
|
256
|
-
enabled: get("enabled") !== "false",
|
|
257
|
-
bounds: {
|
|
258
|
-
left, top, right, bottom,
|
|
259
|
-
centerX: Math.round((left + right) / 2),
|
|
260
|
-
centerY: Math.round((top + bottom) / 2),
|
|
261
|
-
},
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
return elements;
|
|
365
|
+
/** Format a UI element as a TSV row for token-efficient output. */
|
|
366
|
+
function formatElementTsv(el, index) {
|
|
367
|
+
const cols = [
|
|
368
|
+
index,
|
|
369
|
+
el.text.replace(/\t/g, " "),
|
|
370
|
+
el.resourceId,
|
|
371
|
+
el.contentDesc.replace(/\t/g, " "),
|
|
372
|
+
el.bounds.centerX,
|
|
373
|
+
el.bounds.centerY,
|
|
374
|
+
el.clickable ? "true" : "false",
|
|
375
|
+
el.scrollable ? "true" : "false",
|
|
376
|
+
];
|
|
377
|
+
return cols.join("\t");
|
|
265
378
|
}
|
|
266
379
|
//# sourceMappingURL=ui.js.map
|
package/build/tools/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/tools/ui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/tools/ui.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "deepadb",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "DeepADB —
|
|
3
|
+
"version": "1.0.9",
|
|
4
|
+
"description": "DeepADB — full-featured Android Debug Bridge MCP server. 180 tools across 43 modules for device inspection from UI to baseband.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"deepadb": "build/index.js"
|