react-native-ai-debugger 1.4.35 → 1.4.37
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/build/__tests__/helpers/fake-cdp-server.d.ts.map +1 -1
- package/build/__tests__/helpers/fake-cdp-server.js +12 -0
- package/build/__tests__/helpers/fake-cdp-server.js.map +1 -1
- package/build/__tests__/unit/probe.test.d.ts +2 -0
- package/build/__tests__/unit/probe.test.d.ts.map +1 -0
- package/build/__tests__/unit/probe.test.js +62 -0
- package/build/__tests__/unit/probe.test.js.map +1 -0
- package/build/core/connection.d.ts.map +1 -1
- package/build/core/connection.js +23 -1
- package/build/core/connection.js.map +1 -1
- package/build/core/index.d.ts +1 -1
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +1 -1
- package/build/core/index.js.map +1 -1
- package/build/core/logbox.d.ts +1 -0
- package/build/core/logbox.d.ts.map +1 -1
- package/build/core/logbox.js +58 -10
- package/build/core/logbox.js.map +1 -1
- package/build/core/probe.d.ts +12 -0
- package/build/core/probe.d.ts.map +1 -0
- package/build/core/probe.js +56 -0
- package/build/core/probe.js.map +1 -0
- package/build/index.js +28 -6
- package/build/index.js.map +1 -1
- package/package.json +1 -1
package/build/core/logbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logbox.js","sourceRoot":"","sources":["../../src/core/logbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA0B3C,gCAAgC;AAChC,oEAAoE;AACpE,oDAAoD;AAEpD,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;CAoBxB,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;CAoBzB,CAAC;AAEF,MAAM,iBAAiB,GAAG;EACxB,gBAAgB;EAChB,iBAAiB;;;;;;;;KAQd,CAAC;AAEN,MAAM,kBAAkB,GAAG;EACzB,gBAAgB;EAChB,iBAAiB;;;;;;;;;;KAUd,CAAC;AAEN,0CAA0C;AAE1C,SAAS,mBAAmB,CAAC,OAAe,EAAE,KAA0B,EAAE,QAAiB,EAAE,QAAiB;IAC1G,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjG,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACvG,OAAO;EACT,gBAAgB;;;;gBAIF,KAAK;6BACQ,cAAc;;;SAGlC,QAAQ,CAAC,CAAC,CAAC;;;;;;;;;;;;;;yBAcK,eAAe;;;;;;;;;;;aAW3B,CAAC,CAAC,CAAC,EAAE;;;;;KAKb,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAkB;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO;EACT,gBAAgB;;mCAEiB,YAAY;;;;;;;;;;KAU1C,CAAC;AACN,CAAC;AAED,mBAAmB;AAEnB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAe;IAC9C,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"logbox.js","sourceRoot":"","sources":["../../src/core/logbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import WebSocket from "ws";
|
|
2
|
+
/**
|
|
3
|
+
* Send a trivial Runtime.evaluate to verify the CDP target's JS context is alive.
|
|
4
|
+
* Returns true when the remote replies with result.value === 2 within timeoutMs.
|
|
5
|
+
* Returns false on timeout, parse error, unexpected payload, or socket error.
|
|
6
|
+
*
|
|
7
|
+
* Metro advertises stale/zombie CDP pages after the underlying device or app
|
|
8
|
+
* goes away. The WebSocket handshake still completes on those targets, so this
|
|
9
|
+
* extra JS-level probe is the only reliable way to distinguish live from dead.
|
|
10
|
+
*/
|
|
11
|
+
export declare function probeCdpAlive(ws: WebSocket, timeoutMs: number): Promise<boolean>;
|
|
12
|
+
//# sourceMappingURL=probe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../../src/core/probe.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAO3B;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAC/B,EAAE,EAAE,SAAS,EACb,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAwClB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import WebSocket from "ws";
|
|
2
|
+
let probeIdCounter = 1_000_000;
|
|
3
|
+
function nextProbeId() {
|
|
4
|
+
return probeIdCounter++;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Send a trivial Runtime.evaluate to verify the CDP target's JS context is alive.
|
|
8
|
+
* Returns true when the remote replies with result.value === 2 within timeoutMs.
|
|
9
|
+
* Returns false on timeout, parse error, unexpected payload, or socket error.
|
|
10
|
+
*
|
|
11
|
+
* Metro advertises stale/zombie CDP pages after the underlying device or app
|
|
12
|
+
* goes away. The WebSocket handshake still completes on those targets, so this
|
|
13
|
+
* extra JS-level probe is the only reliable way to distinguish live from dead.
|
|
14
|
+
*/
|
|
15
|
+
export async function probeCdpAlive(ws, timeoutMs) {
|
|
16
|
+
if (ws.readyState !== WebSocket.OPEN)
|
|
17
|
+
return false;
|
|
18
|
+
const id = nextProbeId();
|
|
19
|
+
const payload = JSON.stringify({
|
|
20
|
+
id,
|
|
21
|
+
method: "Runtime.evaluate",
|
|
22
|
+
params: { expression: "1+1", returnByValue: true }
|
|
23
|
+
});
|
|
24
|
+
return new Promise((resolve) => {
|
|
25
|
+
let settled = false;
|
|
26
|
+
const finish = (alive) => {
|
|
27
|
+
if (settled)
|
|
28
|
+
return;
|
|
29
|
+
settled = true;
|
|
30
|
+
ws.off("message", onMessage);
|
|
31
|
+
clearTimeout(timer);
|
|
32
|
+
resolve(alive);
|
|
33
|
+
};
|
|
34
|
+
const onMessage = (data) => {
|
|
35
|
+
try {
|
|
36
|
+
const msg = JSON.parse(data.toString());
|
|
37
|
+
if (msg.id !== id)
|
|
38
|
+
return;
|
|
39
|
+
const value = msg?.result?.result?.value;
|
|
40
|
+
finish(value === 2);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
finish(false);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const timer = setTimeout(() => finish(false), timeoutMs);
|
|
47
|
+
ws.on("message", onMessage);
|
|
48
|
+
try {
|
|
49
|
+
ws.send(payload);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
finish(false);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=probe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../../src/core/probe.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAE3B,IAAI,cAAc,GAAG,SAAS,CAAC;AAC/B,SAAS,WAAW;IAChB,OAAO,cAAc,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,EAAa,EACb,SAAiB;IAEjB,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAEnD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3B,EAAE;QACF,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;KACrD,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QACpC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,EAAE;YAC9B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,CAAC,IAAuB,EAAE,EAAE;YAC1C,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxC,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE;oBAAE,OAAO;gBAC1B,MAAM,KAAK,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;gBACzC,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACL,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;QAEzD,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC;YACD,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -47,7 +47,7 @@ initTelemetry, trackToolInvocation, getTargetPlatform,
|
|
|
47
47
|
// Format utilities (TONL)
|
|
48
48
|
formatLogsAsTonl, formatNetworkAsTonl,
|
|
49
49
|
// LogBox detection & control
|
|
50
|
-
detectLogBox, formatLogBoxWarning, dismissLogBox, formatDismissedEntries, pushLogBox, addLogBoxIgnorePatterns, verifyLogPipeline, formatIssueBody, buildGitHubUrl, shouldShowFeedbackHint, markFeedbackHintShown, } from "./core/index.js";
|
|
50
|
+
detectLogBox, formatLogBoxWarning, dismissLogBox, formatDismissedEntries, pushLogBox, addLogBoxIgnorePatterns, getLastLogBoxError, verifyLogPipeline, formatIssueBody, buildGitHubUrl, shouldShowFeedbackHint, markFeedbackHintShown, } from "./core/index.js";
|
|
51
51
|
// Helper: resolve log buffer for a device (or create a merged buffer from all devices)
|
|
52
52
|
function resolveLogBuffer(device) {
|
|
53
53
|
if (device) {
|
|
@@ -428,7 +428,9 @@ registerToolWithTelemetry("scan_metro", {
|
|
|
428
428
|
}
|
|
429
429
|
try {
|
|
430
430
|
const connectionResult = await connectToDevice(device, port);
|
|
431
|
-
|
|
431
|
+
const isStale = connectionResult.includes("stale CDP target");
|
|
432
|
+
const prefix = isStale ? " - STALE" : " -";
|
|
433
|
+
results.push(`${prefix} ${connectionResult}`);
|
|
432
434
|
}
|
|
433
435
|
catch (error) {
|
|
434
436
|
results.push(` - ${name}: Failed - ${error}`);
|
|
@@ -443,6 +445,13 @@ registerToolWithTelemetry("scan_metro", {
|
|
|
443
445
|
// Build events connection is optional
|
|
444
446
|
}
|
|
445
447
|
}
|
|
448
|
+
// Advisory if any CDP targets failed the liveness probe
|
|
449
|
+
const staleCount = results.filter((r) => r.startsWith(" - STALE")).length;
|
|
450
|
+
if (staleCount > 0) {
|
|
451
|
+
results.push("");
|
|
452
|
+
results.push(`Note: ${staleCount} stale CDP target(s) advertised by Metro were rejected.`);
|
|
453
|
+
results.push("If you expected one of these to be live, restart Metro: the target is a leftover from a previous device/app session.");
|
|
454
|
+
}
|
|
446
455
|
// Proactive check: warn if iOS UI driver is missing
|
|
447
456
|
const hasIosDevice = Array.from(allDeviceNames.values()).some(({ device }) => {
|
|
448
457
|
const title = (device.title || "").toLowerCase();
|
|
@@ -2452,6 +2461,19 @@ registerToolWithTelemetry("logbox", {
|
|
|
2452
2461
|
device: z.string().optional().describe("Target device name (substring match). Omit for default device. Run get_apps to see connected devices.")
|
|
2453
2462
|
}
|
|
2454
2463
|
}, async ({ action, message, level, expanded, subtitle, target, patterns, device }) => {
|
|
2464
|
+
const explainLogBoxError = (base) => {
|
|
2465
|
+
const reason = getLastLogBoxError();
|
|
2466
|
+
const reasonHints = {
|
|
2467
|
+
dev_false: "__DEV__ is false — either a production build OR a stale/zombie CDP target whose JS context is in a degraded state. Try scan_metro to drop stale connections, then retry.",
|
|
2468
|
+
no_get_modules: "__r.getModules is missing — usually a stale CDP target (not a real runtime). Try scan_metro to refresh.",
|
|
2469
|
+
modules_not_iterable: "Module registry returned an unexpected shape.",
|
|
2470
|
+
logbox_module_not_found: "LogBoxData module not found in the Metro registry — possible if LogBox is tree-shaken or the app overrode it.",
|
|
2471
|
+
execute_failed: "executeInApp failed — no connected app or evaluate timed out.",
|
|
2472
|
+
exception: "Exception thrown during detection.",
|
|
2473
|
+
};
|
|
2474
|
+
const detail = reason ? (reasonHints[reason] ?? reason) : "unknown cause";
|
|
2475
|
+
return `${base}\nReason: ${reason ?? "unknown"} — ${detail}`;
|
|
2476
|
+
};
|
|
2455
2477
|
if (action === "dismiss") {
|
|
2456
2478
|
const result = await dismissLogBox(device);
|
|
2457
2479
|
if (result === null) {
|
|
@@ -2459,7 +2481,7 @@ registerToolWithTelemetry("logbox", {
|
|
|
2459
2481
|
content: [
|
|
2460
2482
|
{
|
|
2461
2483
|
type: "text",
|
|
2462
|
-
text: "LogBox not available.
|
|
2484
|
+
text: explainLogBoxError("LogBox not available.")
|
|
2463
2485
|
}
|
|
2464
2486
|
]
|
|
2465
2487
|
};
|
|
@@ -2501,7 +2523,7 @@ registerToolWithTelemetry("logbox", {
|
|
|
2501
2523
|
content: [
|
|
2502
2524
|
{
|
|
2503
2525
|
type: "text",
|
|
2504
|
-
text: "Failed to push message to LogBox.
|
|
2526
|
+
text: explainLogBoxError("Failed to push message to LogBox.")
|
|
2505
2527
|
}
|
|
2506
2528
|
]
|
|
2507
2529
|
};
|
|
@@ -2535,7 +2557,7 @@ registerToolWithTelemetry("logbox", {
|
|
|
2535
2557
|
content: [
|
|
2536
2558
|
{
|
|
2537
2559
|
type: "text",
|
|
2538
|
-
text: "Failed to add ignore patterns.
|
|
2560
|
+
text: explainLogBoxError("Failed to add ignore patterns.")
|
|
2539
2561
|
}
|
|
2540
2562
|
]
|
|
2541
2563
|
};
|
|
@@ -2556,7 +2578,7 @@ registerToolWithTelemetry("logbox", {
|
|
|
2556
2578
|
content: [
|
|
2557
2579
|
{
|
|
2558
2580
|
type: "text",
|
|
2559
|
-
text: "LogBox not available.
|
|
2581
|
+
text: explainLogBoxError("LogBox not available.")
|
|
2560
2582
|
}
|
|
2561
2583
|
]
|
|
2562
2584
|
};
|