deepadb 1.0.6 → 1.0.8

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 (45) hide show
  1. package/README.md +53 -19
  2. package/build/bridge/local-bridge.d.ts +40 -1
  3. package/build/bridge/local-bridge.d.ts.map +1 -1
  4. package/build/bridge/local-bridge.js +155 -5
  5. package/build/bridge/local-bridge.js.map +1 -1
  6. package/build/index.js +2 -1
  7. package/build/index.js.map +1 -1
  8. package/build/middleware/auth.d.ts +10 -0
  9. package/build/middleware/auth.d.ts.map +1 -1
  10. package/build/middleware/auth.js +48 -0
  11. package/build/middleware/auth.js.map +1 -1
  12. package/build/middleware/ui-dump.d.ts +21 -0
  13. package/build/middleware/ui-dump.d.ts.map +1 -1
  14. package/build/middleware/ui-dump.js +38 -0
  15. package/build/middleware/ui-dump.js.map +1 -1
  16. package/build/server.d.ts.map +1 -1
  17. package/build/server.js +6 -2
  18. package/build/server.js.map +1 -1
  19. package/build/tools/at-commands.d.ts.map +1 -1
  20. package/build/tools/at-commands.js +192 -0
  21. package/build/tools/at-commands.js.map +1 -1
  22. package/build/tools/diagnostics.d.ts +2 -2
  23. package/build/tools/diagnostics.d.ts.map +1 -1
  24. package/build/tools/diagnostics.js +86 -3
  25. package/build/tools/diagnostics.js.map +1 -1
  26. package/build/tools/firmware-analysis.d.ts.map +1 -1
  27. package/build/tools/firmware-analysis.js +24 -0
  28. package/build/tools/firmware-analysis.js.map +1 -1
  29. package/build/tools/input-gestures.d.ts +11 -0
  30. package/build/tools/input-gestures.d.ts.map +1 -0
  31. package/build/tools/input-gestures.js +766 -0
  32. package/build/tools/input-gestures.js.map +1 -0
  33. package/build/tools/multi-device.d.ts.map +1 -1
  34. package/build/tools/multi-device.js +186 -0
  35. package/build/tools/multi-device.js.map +1 -1
  36. package/build/tools/qemu.d.ts.map +1 -1
  37. package/build/tools/qemu.js +246 -2
  38. package/build/tools/qemu.js.map +1 -1
  39. package/build/tools/ui.js +2 -48
  40. package/build/tools/ui.js.map +1 -1
  41. package/build/tools/wireless-firmware.d.ts +16 -0
  42. package/build/tools/wireless-firmware.d.ts.map +1 -0
  43. package/build/tools/wireless-firmware.js +566 -0
  44. package/build/tools/wireless-firmware.js.map +1 -0
  45. package/package.json +3 -3
@@ -22,10 +22,58 @@ import { timingSafeEqual } from "crypto";
22
22
  const AUTH_TOKEN = process.env.DA_AUTH_TOKEN ?? "";
23
23
  /** Pre-computed buffer for constant-time comparison (avoids re-allocation per request). */
24
24
  const AUTH_TOKEN_BUF = Buffer.from(AUTH_TOKEN);
25
+ /** Minimum recommended token length in characters. Shorter tokens are warned at startup. */
26
+ const MIN_TOKEN_LENGTH = 32;
25
27
  /** Whether token auth is enabled. */
26
28
  export function isAuthEnabled() {
27
29
  return AUTH_TOKEN.length > 0;
28
30
  }
31
+ /**
32
+ * Validate token strength at startup. Logs warnings for weak tokens.
33
+ * Called once from index.ts when network transports are enabled.
34
+ *
35
+ * Checks:
36
+ * 1. Minimum length (32 chars = 128+ bits for hex, 192+ bits for base64)
37
+ * 2. Entropy estimation — reject tokens with very low character diversity
38
+ * 3. Common weak patterns (all same character, sequential digits, dictionary-like)
39
+ */
40
+ export function validateTokenStrength() {
41
+ if (!AUTH_TOKEN)
42
+ return;
43
+ const warnings = [];
44
+ // Check 1: Minimum length
45
+ if (AUTH_TOKEN.length < MIN_TOKEN_LENGTH) {
46
+ warnings.push(`Token is ${AUTH_TOKEN.length} characters — minimum recommended is ${MIN_TOKEN_LENGTH}.`);
47
+ warnings.push(`Generate a strong token: openssl rand -hex 32`);
48
+ warnings.push(`Or with Node.js: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"`);
49
+ }
50
+ // Check 2: Character diversity — estimate entropy
51
+ const uniqueChars = new Set(AUTH_TOKEN).size;
52
+ const entropyRatio = uniqueChars / AUTH_TOKEN.length;
53
+ if (AUTH_TOKEN.length >= 8 && entropyRatio < 0.3) {
54
+ warnings.push(`Token has very low character diversity (${uniqueChars} unique characters in ${AUTH_TOKEN.length} total).`);
55
+ }
56
+ // Check 3: Common weak patterns
57
+ if (/^(.)\1+$/.test(AUTH_TOKEN)) {
58
+ warnings.push("Token is a single repeated character — this is trivially guessable.");
59
+ }
60
+ else if (/^(0123456789|abcdefgh|password|secret|token|changeme|test)/i.test(AUTH_TOKEN)) {
61
+ warnings.push("Token appears to use a common weak pattern.");
62
+ }
63
+ if (warnings.length > 0) {
64
+ console.error("╔══════════════════════════════════════════════════════════════╗");
65
+ console.error("║ ⚠ WARNING: DA_AUTH_TOKEN may be weak ║");
66
+ console.error("╠══════════════════════════════════════════════════════════════╣");
67
+ for (const w of warnings) {
68
+ console.error(`║ ${w}`);
69
+ }
70
+ console.error("║ ║");
71
+ console.error("║ A strong token should be at least 32 random hex characters: ║");
72
+ console.error("║ openssl rand -hex 32 ║");
73
+ console.error("║ node -e \"console.log(require('crypto').randomBytes(32).toString('hex'))\" ║");
74
+ console.error("╚══════════════════════════════════════════════════════════════╝");
75
+ }
76
+ }
29
77
  /**
30
78
  * Check bearer token authentication on an incoming HTTP request.
31
79
  *
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,sEAAsE;AACtE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;AAEnD,2FAA2F;AAC3F,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAE/C,qCAAqC;AACrC,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAC,GAAoB,EAAE,GAAmB;IACjE,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,IAAI,aAAa,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,0BAA0B;IAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,cAAc,EAAE,kBAAkB;QAClC,kBAAkB,EAAE,QAAQ;KAC7B,CAAC,CAAC;IACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,yDAAyD,EAAE,CAAC,CAAC,CAAC;IAC9F,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,GAAoB;IAChD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE/B,yEAAyE;IACzE,6EAA6E;IAC7E,8EAA8E;IAC9E,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"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"}
@@ -20,4 +20,25 @@ export declare function getAttr(attrs: string, name: string): string;
20
20
  * Returns the XML string, or null if the dump failed.
21
21
  */
22
22
  export declare function captureUiDump(bridge: AdbBridge, serial: string, dumpPath?: string): Promise<string | null>;
23
+ /** Parsed UI element from uiautomator dump. */
24
+ export interface UiElement {
25
+ resourceId: string;
26
+ text: string;
27
+ contentDesc: string;
28
+ className: string;
29
+ clickable: boolean;
30
+ scrollable: boolean;
31
+ focusable: boolean;
32
+ enabled: boolean;
33
+ bounds: {
34
+ left: number;
35
+ top: number;
36
+ right: number;
37
+ bottom: number;
38
+ centerX: number;
39
+ centerY: number;
40
+ };
41
+ }
42
+ /** Parse <node> elements from uiautomator XML dump. */
43
+ export declare function parseUiNodes(xml: string, clickableOnly: boolean): UiElement[];
23
44
  //# sourceMappingURL=ui-dump.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-dump.d.ts","sourceRoot":"","sources":["../../src/middleware/ui-dump.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIpD;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUlD,CAAC;AAEF,4EAA4E;AAC5E,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBxB"}
1
+ {"version":3,"file":"ui-dump.d.ts","sourceRoot":"","sources":["../../src/middleware/ui-dump.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIpD;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUlD,CAAC;AAEF,4EAA4E;AAC5E,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBxB;AAED,+CAA+C;AAC/C,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACxG;AAED,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,SAAS,EAAE,CAyC7E"}
@@ -56,4 +56,42 @@ export async function captureUiDump(bridge, serial, dumpPath) {
56
56
  await bridge.shell(`rm '${shellEscape(path)}'`, { device: serial, ignoreExitCode: true }).catch(() => { });
57
57
  }
58
58
  }
59
+ /** Parse <node> elements from uiautomator XML dump. */
60
+ export function parseUiNodes(xml, clickableOnly) {
61
+ const elements = [];
62
+ const nodeRegex = /<node\s+([^>]+)\/?>/g;
63
+ let match;
64
+ while ((match = nodeRegex.exec(xml)) !== null) {
65
+ const attrs = match[1];
66
+ const clickable = getAttr(attrs, "clickable") === "true";
67
+ const scrollable = getAttr(attrs, "scrollable") === "true";
68
+ const focusable = getAttr(attrs, "focusable") === "true";
69
+ if (clickableOnly && !clickable && !scrollable)
70
+ continue;
71
+ const boundsStr = getAttr(attrs, "bounds");
72
+ const boundsMatch = boundsStr.match(/\[(\d+),(\d+)\]\[(\d+),(\d+)\]/);
73
+ if (!boundsMatch)
74
+ continue;
75
+ const left = parseInt(boundsMatch[1], 10);
76
+ const top = parseInt(boundsMatch[2], 10);
77
+ const right = parseInt(boundsMatch[3], 10);
78
+ const bottom = parseInt(boundsMatch[4], 10);
79
+ elements.push({
80
+ resourceId: getAttr(attrs, "resource-id"),
81
+ text: getAttr(attrs, "text"),
82
+ contentDesc: getAttr(attrs, "content-desc"),
83
+ className: getAttr(attrs, "class").replace("android.widget.", "").replace("android.view.", ""),
84
+ clickable,
85
+ scrollable,
86
+ focusable,
87
+ enabled: getAttr(attrs, "enabled") !== "false",
88
+ bounds: {
89
+ left, top, right, bottom,
90
+ centerX: Math.round((left + right) / 2),
91
+ centerY: Math.round((top + bottom) / 2),
92
+ },
93
+ });
94
+ }
95
+ return elements;
96
+ }
59
97
  //# sourceMappingURL=ui-dump.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-dump.js","sourceRoot":"","sources":["../../src/middleware/ui-dump.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,aAAa,EAAE,uBAAuB;IACtC,MAAM,EAAE,kBAAkB;IAC1B,cAAc,EAAE,wBAAwB;IACxC,OAAO,EAAE,mBAAmB;IAC5B,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,sBAAsB;IACpC,WAAW,EAAE,qBAAqB;IAClC,SAAS,EAAE,mBAAmB;IAC9B,QAAQ,EAAE,kBAAkB;CAC7B,CAAC;AAEF,4EAA4E;AAC5E,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,IAAY;IACjD,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiB,EACjB,MAAc,EACd,QAAiB;IAEjB,4EAA4E;IAC5E,sDAAsD;IACtD,qEAAqE;IACrE,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,MAAM,IAAI,GAAG,QAAQ,IAAI,GAAG,UAAU,cAAc,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,CAAC,qBAAqB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAClG,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEvF,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;YAAS,CAAC;QACT,qEAAqE;QACrE,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5G,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ui-dump.js","sourceRoot":"","sources":["../../src/middleware/ui-dump.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAoDhD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAoFhE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAsDhD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAsFhE"}
package/build/server.js CHANGED
@@ -54,6 +54,8 @@ import { registerWorkflowMarketTools } from "./tools/workflow-market.js";
54
54
  import { registerSelinuxAuditTools } from "./tools/selinux-audit.js";
55
55
  import { registerThermalPowerTools } from "./tools/thermal-power.js";
56
56
  import { registerNetworkDiscoveryTools } from "./tools/network-discovery.js";
57
+ import { registerWirelessFirmwareTools } from "./tools/wireless-firmware.js";
58
+ import { registerInputGestureTools } from "./tools/input-gestures.js";
57
59
  // Resource and prompt registrations
58
60
  import { registerResources } from "./tools/resources.js";
59
61
  import { registerPrompts } from "./tools/prompts.js";
@@ -80,7 +82,7 @@ export async function createServer() {
80
82
  });
81
83
  // Build unified tool context
82
84
  const ctx = { server, bridge, deviceManager, logger, security, config };
83
- // Register all tool modules (41 modules)
85
+ // Register all tool modules (43 modules)
84
86
  registerDeviceTools(ctx);
85
87
  registerShellTools(ctx);
86
88
  registerPackageTools(ctx);
@@ -122,12 +124,14 @@ export async function createServer() {
122
124
  registerSelinuxAuditTools(ctx);
123
125
  registerThermalPowerTools(ctx);
124
126
  registerNetworkDiscoveryTools(ctx);
127
+ registerWirelessFirmwareTools(ctx);
128
+ registerInputGestureTools(ctx);
125
129
  // Register MCP resources and prompts
126
130
  registerResources(ctx);
127
131
  registerPrompts(ctx);
128
132
  // Load external plugins (async — scans plugin directory)
129
133
  await loadPlugins(ctx);
130
- logger.info("DeepADB MCP server initialized — 41 tool modules, 4 resources, 4 prompts. Ready.");
134
+ logger.info("DeepADB MCP server initialized — 43 tool modules, 4 resources, 4 prompts. Ready.");
131
135
  return { server, logger, bridge, deviceManager };
132
136
  }
133
137
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"at-commands.d.ts","sourceRoot":"","sources":["../../src/tools/at-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA2GjD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CA+T7D"}
1
+ {"version":3,"file":"at-commands.d.ts","sourceRoot":"","sources":["../../src/tools/at-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA2GjD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAugB7D"}
@@ -374,5 +374,197 @@ export function registerAtCommandTools(ctx) {
374
374
  return { content: [{ type: "text", text: OutputProcessor.formatError(error) }], isError: true };
375
375
  }
376
376
  });
377
+ ctx.server.tool("adb_at_cross_validate", "Cross-validate baseband firmware by comparing AT command responses (direct modem interrogation) against Android system properties (getprop). Discrepancies may indicate firmware tampering, incomplete OTA updates, or property spoofing. Sends ATI (identification), AT+CGMR (firmware revision), and AT+CGMM (model) to the modem and compares with gsm.version.baseband, ro.hardware.chipname, and related properties. Requires root.", {
378
+ port: z.string().optional().describe("Modem device node (auto-detects if omitted)"),
379
+ timeout: z.number().min(1000).max(30000).optional().default(5000).describe("Response timeout per command in ms"),
380
+ device: z.string().optional().describe("Device serial"),
381
+ }, async ({ port, timeout, device }) => {
382
+ try {
383
+ const resolved = await ctx.deviceManager.resolveDevice(device);
384
+ const serial = resolved.serial;
385
+ const props = await ctx.deviceManager.getDeviceProps(serial);
386
+ const family = detectChipsetFamily(props);
387
+ const sections = [];
388
+ sections.push("=== AT Cross-Validation: Modem vs Properties ===");
389
+ sections.push(`Device: ${props["ro.product.model"] ?? "unknown"} (${serial})`);
390
+ sections.push(`Chipset family: ${family}`);
391
+ // ── Auto-detect port if not specified ──
392
+ let targetPort = port;
393
+ if (!targetPort) {
394
+ const paths = MODEM_PATHS[family] ?? MODEM_PATHS.generic;
395
+ const existCmd = paths.map((p) => `test -e ${p} && echo "EXISTS:${p}"`).join("; ");
396
+ const existResult = await ctx.bridge.rootShell(existCmd, {
397
+ device: serial, timeout: 5000, ignoreExitCode: true,
398
+ });
399
+ const existing = existResult.stdout.split("\n")
400
+ .filter((l) => l.startsWith("EXISTS:"))
401
+ .map((l) => l.replace("EXISTS:", "").trim());
402
+ if (existing.length > 0) {
403
+ targetPort = existing[0];
404
+ }
405
+ }
406
+ sections.push(`AT port: ${targetPort ?? "not available"}`);
407
+ // ── Gather AT command responses ──
408
+ const atResults = {};
409
+ if (targetPort) {
410
+ const atCommands = [
411
+ ["ATI", "Identification"],
412
+ ["AT+CGMR", "Firmware Revision"],
413
+ ["AT+CGMM", "Model"],
414
+ ];
415
+ // Shannon-specific: AT+DEVCONINFO for extended device info
416
+ if (family === "shannon") {
417
+ atCommands.push(["AT+DEVCONINFO", "Device Config (Shannon)"]);
418
+ }
419
+ sections.push("\n── AT Command Responses ──");
420
+ for (const [cmd, label] of atCommands) {
421
+ const { response, error } = await sendAtCommand(ctx, serial, targetPort, cmd, timeout);
422
+ if (error) {
423
+ sections.push(`${label} (${cmd}): Error — ${error}`);
424
+ }
425
+ else {
426
+ const clean = response
427
+ .split("\n")
428
+ .filter(l => l.trim().length > 0 && !l.includes("OK") && !l.trim().startsWith(cmd))
429
+ .map(l => l.trim())
430
+ .join(" | ");
431
+ sections.push(`${label} (${cmd}): ${clean || "(empty response)"}`);
432
+ atResults[cmd] = clean;
433
+ }
434
+ await new Promise((r) => setTimeout(r, 300));
435
+ }
436
+ }
437
+ else {
438
+ sections.push("\n── AT Command Responses ──");
439
+ sections.push("No modem device node found — AT port auto-detection requires root and direct modem node access.");
440
+ sections.push("This is expected in ADB mode. Use on-device mode (Termux) for full AT cross-validation.");
441
+ sections.push("Alternatively, specify 'port' manually (e.g., '/dev/umts_router0' for Shannon).");
442
+ sections.push("\nFalling back to property-only analysis...");
443
+ }
444
+ // ── Gather property-based firmware info ──
445
+ const propBaseline = {};
446
+ const propKeys = [
447
+ ["gsm.version.baseband", "Baseband version"],
448
+ ["gsm.version.ril-impl", "RIL implementation"],
449
+ ["ro.hardware.chipname", "Chipset name"],
450
+ ["ro.board.platform", "Platform"],
451
+ ["ro.baseband", "Baseband tag"],
452
+ ["ro.build.expect.baseband", "Expected baseband"],
453
+ ];
454
+ sections.push("\n── System Property Baseline ──");
455
+ for (const [key, label] of propKeys) {
456
+ const val = props[key] ?? "";
457
+ if (val) {
458
+ sections.push(`${label} (${key}): ${val}`);
459
+ propBaseline[key] = val;
460
+ }
461
+ }
462
+ // ── Cross-validation analysis ──
463
+ sections.push("\n── Cross-Validation Results ──");
464
+ let discrepancies = 0;
465
+ let checks = 0;
466
+ // Check 1: AT+CGMR firmware revision vs gsm.version.baseband
467
+ if (atResults["AT+CGMR"] && propBaseline["gsm.version.baseband"]) {
468
+ checks++;
469
+ const atFw = atResults["AT+CGMR"].toLowerCase();
470
+ const propFw = propBaseline["gsm.version.baseband"].toLowerCase();
471
+ // Check if either contains the other, or if they share significant substrings
472
+ const atTokens = atFw.split(/[\s|,_-]+/).filter(t => t.length > 3);
473
+ const propTokens = propFw.split(/[\s|,_-]+/).filter(t => t.length > 3);
474
+ const overlap = atTokens.filter(t => propTokens.some(p => p.includes(t) || t.includes(p)));
475
+ if (atFw.includes(propFw) || propFw.includes(atFw) || overlap.length >= 2) {
476
+ sections.push("✓ Firmware revision: AT+CGMR consistent with gsm.version.baseband");
477
+ }
478
+ else if (overlap.length >= 1) {
479
+ sections.push("⚠ Firmware revision: Partial match — AT+CGMR and gsm.version.baseband share some tokens but differ");
480
+ sections.push(` AT+CGMR: ${atResults["AT+CGMR"]}`);
481
+ sections.push(` getprop: ${propBaseline["gsm.version.baseband"]}`);
482
+ sections.push(` Overlap: ${overlap.join(", ")}`);
483
+ }
484
+ else {
485
+ discrepancies++;
486
+ sections.push("✗ DISCREPANCY: Firmware revision mismatch between AT+CGMR and gsm.version.baseband");
487
+ sections.push(` AT+CGMR: ${atResults["AT+CGMR"]}`);
488
+ sections.push(` getprop: ${propBaseline["gsm.version.baseband"]}`);
489
+ sections.push(" ⚠ This may indicate firmware tampering, incomplete OTA, or property spoofing");
490
+ }
491
+ }
492
+ // Check 2: ATI identification vs chipset family
493
+ if (atResults["ATI"]) {
494
+ checks++;
495
+ const atiLower = atResults["ATI"].toLowerCase();
496
+ let expectedFamily = "";
497
+ if (family === "shannon")
498
+ expectedFamily = "samsung|shannon|exynos|slsi";
499
+ else if (family === "qualcomm")
500
+ expectedFamily = "qualcomm|qcom|snapdragon";
501
+ else if (family === "mediatek")
502
+ expectedFamily = "mediatek|mtk";
503
+ else if (family === "unisoc")
504
+ expectedFamily = "unisoc|spreadtrum";
505
+ else if (family === "hisilicon")
506
+ expectedFamily = "hisilicon|kirin|huawei";
507
+ else if (family === "intel")
508
+ expectedFamily = "intel|xmm";
509
+ if (expectedFamily) {
510
+ const familyRegex = new RegExp(expectedFamily, "i");
511
+ if (familyRegex.test(atiLower) || atiLower.includes(family)) {
512
+ sections.push(`✓ Modem identity: ATI confirms ${family} chipset family`);
513
+ }
514
+ else {
515
+ // Not necessarily a discrepancy — ATI format varies widely
516
+ sections.push(`⚠ Modem identity: ATI response doesn't explicitly mention ${family} — may use vendor-specific format`);
517
+ sections.push(` ATI: ${atResults["ATI"]}`);
518
+ }
519
+ }
520
+ }
521
+ // Check 3: AT+CGMM model vs expected baseband
522
+ if (atResults["AT+CGMM"] && propBaseline["ro.build.expect.baseband"]) {
523
+ checks++;
524
+ const atModel = atResults["AT+CGMM"].toLowerCase();
525
+ const expected = propBaseline["ro.build.expect.baseband"].toLowerCase();
526
+ // Extract model identifier from expected baseband string
527
+ const modelMatch = expected.match(/^([a-z]\d{4}\w*)/i);
528
+ if (modelMatch && atModel.includes(modelMatch[1].toLowerCase())) {
529
+ sections.push("✓ Modem model: AT+CGMM consistent with ro.build.expect.baseband");
530
+ }
531
+ else if (modelMatch) {
532
+ sections.push(`⚠ Modem model: AT+CGMM doesn't contain expected model identifier '${modelMatch[1]}'`);
533
+ sections.push(` AT+CGMM: ${atResults["AT+CGMM"]}`);
534
+ }
535
+ }
536
+ // Check 4: Expected vs actual baseband (property-level consistency)
537
+ if (propBaseline["ro.build.expect.baseband"] && propBaseline["gsm.version.baseband"]) {
538
+ checks++;
539
+ if (propBaseline["ro.build.expect.baseband"] === propBaseline["gsm.version.baseband"]) {
540
+ sections.push("✓ Property consistency: ro.build.expect.baseband matches gsm.version.baseband");
541
+ }
542
+ else {
543
+ discrepancies++;
544
+ sections.push("✗ DISCREPANCY: Expected baseband doesn't match running baseband");
545
+ sections.push(` Expected: ${propBaseline["ro.build.expect.baseband"]}`);
546
+ sections.push(` Running: ${propBaseline["gsm.version.baseband"]}`);
547
+ sections.push(" ⚠ This may indicate a pending OTA, partial update, or firmware downgrade");
548
+ }
549
+ }
550
+ // ── Summary ──
551
+ sections.push(`\n── Summary ──`);
552
+ sections.push(`Checks performed: ${checks}`);
553
+ sections.push(`Discrepancies found: ${discrepancies}`);
554
+ if (discrepancies === 0 && checks > 0) {
555
+ sections.push("✓ All cross-validation checks passed — modem reports are consistent with system properties");
556
+ }
557
+ else if (discrepancies > 0) {
558
+ sections.push("⚠ Discrepancies detected — investigate firmware integrity");
559
+ }
560
+ else {
561
+ sections.push("No checks could be performed — AT port may not be responding or properties are missing");
562
+ }
563
+ return { content: [{ type: "text", text: sections.join("\n") }] };
564
+ }
565
+ catch (error) {
566
+ return { content: [{ type: "text", text: OutputProcessor.formatError(error) }], isError: true };
567
+ }
568
+ });
377
569
  }
378
570
  //# sourceMappingURL=at-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"at-commands.js","sourceRoot":"","sources":["../../src/tools/at-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"at-commands.js","sourceRoot":"","sources":["../../src/tools/at-commands.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Diagnostics Tools — dumpsys, battery, network, telephony state.
3
- * Useful for device inspection, performance profiling, and radio diagnostics.
2
+ * Diagnostics Tools — dumpsys, battery, network, telephony state,
3
+ * bug reports, crash logs, heap dumps, and device reboot.
4
4
  */
5
5
  import { ToolContext } from "../tool-context.js";
6
6
  export declare function registerDiagnosticTools(ctx: ToolContext): void;
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/tools/diagnostics.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAmL9D"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/tools/diagnostics.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAoS9D"}