react-native-ai-debugger 1.8.1 → 1.9.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.
- package/README.md +73 -66
- package/build/__tests__/integration/auto-reconnect.test.d.ts +2 -0
- package/build/__tests__/integration/auto-reconnect.test.d.ts.map +1 -0
- package/build/__tests__/integration/auto-reconnect.test.js +118 -0
- package/build/__tests__/integration/auto-reconnect.test.js.map +1 -0
- package/build/__tests__/integration/per-call-timeout.test.d.ts +2 -0
- package/build/__tests__/integration/per-call-timeout.test.d.ts.map +1 -0
- package/build/__tests__/integration/per-call-timeout.test.js +103 -0
- package/build/__tests__/integration/per-call-timeout.test.js.map +1 -0
- package/build/__tests__/setup.js +3 -5
- package/build/__tests__/setup.js.map +1 -1
- package/build/__tests__/unit/debugGlobals.test.d.ts +2 -0
- package/build/__tests__/unit/debugGlobals.test.d.ts.map +1 -0
- package/build/__tests__/unit/debugGlobals.test.js +14 -0
- package/build/__tests__/unit/debugGlobals.test.js.map +1 -0
- package/build/__tests__/unit/escapeNonAscii.test.d.ts +2 -0
- package/build/__tests__/unit/escapeNonAscii.test.d.ts.map +1 -0
- package/build/__tests__/unit/escapeNonAscii.test.js +76 -0
- package/build/__tests__/unit/escapeNonAscii.test.js.map +1 -0
- package/build/__tests__/unit/executor.test.js +59 -7
- package/build/__tests__/unit/executor.test.js.map +1 -1
- package/build/__tests__/unit/fastRefreshRecorder.test.d.ts +2 -0
- package/build/__tests__/unit/fastRefreshRecorder.test.d.ts.map +1 -0
- package/build/__tests__/unit/fastRefreshRecorder.test.js +68 -0
- package/build/__tests__/unit/fastRefreshRecorder.test.js.map +1 -0
- package/build/__tests__/unit/fastRefreshTools.test.d.ts +2 -0
- package/build/__tests__/unit/fastRefreshTools.test.d.ts.map +1 -0
- package/build/__tests__/unit/fastRefreshTools.test.js +112 -0
- package/build/__tests__/unit/fastRefreshTools.test.js.map +1 -0
- package/build/__tests__/unit/fingerprint.test.js +10 -0
- package/build/__tests__/unit/fingerprint.test.js.map +1 -1
- package/build/__tests__/unit/measureComponent.test.d.ts +2 -0
- package/build/__tests__/unit/measureComponent.test.d.ts.map +1 -0
- package/build/__tests__/unit/measureComponent.test.js +66 -0
- package/build/__tests__/unit/measureComponent.test.js.map +1 -0
- package/build/__tests__/unit/measureComponentTools.test.d.ts +2 -0
- package/build/__tests__/unit/measureComponentTools.test.d.ts.map +1 -0
- package/build/__tests__/unit/measureComponentTools.test.js +94 -0
- package/build/__tests__/unit/measureComponentTools.test.js.map +1 -0
- package/build/__tests__/unit/rnGlobalsBootstrap.test.d.ts +2 -0
- package/build/__tests__/unit/rnGlobalsBootstrap.test.d.ts.map +1 -0
- package/build/__tests__/unit/rnGlobalsBootstrap.test.js +29 -0
- package/build/__tests__/unit/rnGlobalsBootstrap.test.js.map +1 -0
- package/build/__tests__/unit/timeoutClamp.test.d.ts +2 -0
- package/build/__tests__/unit/timeoutClamp.test.d.ts.map +1 -0
- package/build/__tests__/unit/timeoutClamp.test.js +17 -0
- package/build/__tests__/unit/timeoutClamp.test.js.map +1 -0
- package/build/__tests__/unit/transportClassify.test.d.ts +2 -0
- package/build/__tests__/unit/transportClassify.test.d.ts.map +1 -0
- package/build/__tests__/unit/transportClassify.test.js +60 -0
- package/build/__tests__/unit/transportClassify.test.js.map +1 -0
- package/build/core/bundle.d.ts +1 -1
- package/build/core/bundle.d.ts.map +1 -1
- package/build/core/bundle.js +6 -10
- package/build/core/bundle.js.map +1 -1
- package/build/core/componentSearch.d.ts +3 -0
- package/build/core/componentSearch.d.ts.map +1 -1
- package/build/core/componentSearch.js +73 -8
- package/build/core/componentSearch.js.map +1 -1
- package/build/core/componentTree.d.ts +1 -0
- package/build/core/componentTree.d.ts.map +1 -1
- package/build/core/componentTree.js +2 -2
- package/build/core/componentTree.js.map +1 -1
- package/build/core/debugGlobals.d.ts +1 -0
- package/build/core/debugGlobals.d.ts.map +1 -1
- package/build/core/debugGlobals.js +45 -9
- package/build/core/debugGlobals.js.map +1 -1
- package/build/core/escapeNonAscii.d.ts +18 -0
- package/build/core/escapeNonAscii.d.ts.map +1 -0
- package/build/core/escapeNonAscii.js +352 -0
- package/build/core/escapeNonAscii.js.map +1 -0
- package/build/core/fastRefreshRecorder.d.ts +23 -0
- package/build/core/fastRefreshRecorder.d.ts.map +1 -0
- package/build/core/fastRefreshRecorder.js +83 -0
- package/build/core/fastRefreshRecorder.js.map +1 -0
- package/build/core/fastRefreshTools.d.ts +19 -0
- package/build/core/fastRefreshTools.d.ts.map +1 -0
- package/build/core/fastRefreshTools.js +71 -0
- package/build/core/fastRefreshTools.js.map +1 -0
- package/build/core/guides.d.ts.map +1 -1
- package/build/core/guides.js +2 -1
- package/build/core/guides.js.map +1 -1
- package/build/core/index.d.ts +2 -0
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +2 -0
- package/build/core/index.js.map +1 -1
- package/build/core/jsExecute.d.ts +34 -0
- package/build/core/jsExecute.d.ts.map +1 -1
- package/build/core/jsExecute.js +249 -23
- package/build/core/jsExecute.js.map +1 -1
- package/build/core/measureComponent.d.ts +19 -0
- package/build/core/measureComponent.d.ts.map +1 -0
- package/build/core/measureComponent.js +94 -0
- package/build/core/measureComponent.js.map +1 -0
- package/build/core/measureComponentTools.d.ts +6 -0
- package/build/core/measureComponentTools.d.ts.map +1 -0
- package/build/core/measureComponentTools.js +43 -0
- package/build/core/measureComponentTools.js.map +1 -0
- package/build/core/rnGlobalsBootstrap.d.ts +16 -0
- package/build/core/rnGlobalsBootstrap.d.ts.map +1 -0
- package/build/core/rnGlobalsBootstrap.js +101 -0
- package/build/core/rnGlobalsBootstrap.js.map +1 -0
- package/build/core/screenLayout.d.ts +1 -0
- package/build/core/screenLayout.d.ts.map +1 -1
- package/build/core/screenLayout.js +4 -4
- package/build/core/screenLayout.js.map +1 -1
- package/build/core/state.d.ts +2 -2
- package/build/core/state.d.ts.map +1 -1
- package/build/core/state.js +10 -5
- package/build/core/state.js.map +1 -1
- package/build/core/telemetry.d.ts +23 -0
- package/build/core/telemetry.d.ts.map +1 -1
- package/build/core/telemetry.js +67 -0
- package/build/core/telemetry.js.map +1 -1
- package/build/core/types.d.ts +7 -0
- package/build/core/types.d.ts.map +1 -1
- package/build/tools/componentTools.d.ts.map +1 -1
- package/build/tools/componentTools.js +134 -69
- package/build/tools/componentTools.js.map +1 -1
- package/build/tools/executionTools.d.ts.map +1 -1
- package/build/tools/executionTools.js +80 -8
- package/build/tools/executionTools.js.map +1 -1
- package/build/tools/interactionTools.d.ts.map +1 -1
- package/build/tools/interactionTools.js +146 -2
- package/build/tools/interactionTools.js.map +1 -1
- package/package.json +1 -1
package/build/core/index.js
CHANGED
|
@@ -57,4 +57,6 @@ export { detectLogBox, dismissLogBox, formatLogBoxWarning, formatDismissedEntrie
|
|
|
57
57
|
export { shouldShowFeedbackHint, markFeedbackHintShown, formatIssueBody, buildGitHubUrl, } from "./feedback.js";
|
|
58
58
|
// Format utilities (TONL)
|
|
59
59
|
export { formatLogsAsTonl, formatNetworkAsTonl } from "./format.js";
|
|
60
|
+
// Measure (component on-screen geometry)
|
|
61
|
+
export { measureComponent } from "./measureComponentTools.js";
|
|
60
62
|
//# sourceMappingURL=index.js.map
|
package/build/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export interface ExpressionValidation {
|
|
|
7
7
|
/**
|
|
8
8
|
* Check if a string contains emoji or other problematic Unicode characters
|
|
9
9
|
* Hermes has issues with certain UTF-16 surrogate pairs (like emoji)
|
|
10
|
+
* @deprecated retained for backward compatibility — escapeNonAsciiInStringLiterals handles this now.
|
|
10
11
|
*/
|
|
11
12
|
export declare function containsProblematicUnicode(str: string): boolean;
|
|
12
13
|
/**
|
|
@@ -19,9 +20,42 @@ export declare function stripLeadingComments(expression: string): string;
|
|
|
19
20
|
* Returns cleaned expression or error with helpful message
|
|
20
21
|
*/
|
|
21
22
|
export declare function validateAndPreprocessExpression(expression: string): ExpressionValidation;
|
|
23
|
+
export declare const TIMEOUT_HARD_CAP_MS = 120000;
|
|
24
|
+
export declare function clampTimeoutMs(input: number): {
|
|
25
|
+
value: number;
|
|
26
|
+
clampedFrom?: number;
|
|
27
|
+
};
|
|
28
|
+
export type TransportPattern = "no_apps" | "ws_closed" | "target_closed" | "cdp_eval_too_long";
|
|
29
|
+
export type TransportClassification = {
|
|
30
|
+
kind: "transport";
|
|
31
|
+
pattern: TransportPattern;
|
|
32
|
+
} | {
|
|
33
|
+
kind: "logical";
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Classify an error message into transport-vs-logical for auto-reconnect routing.
|
|
37
|
+
*
|
|
38
|
+
* The `source` argument distinguishes the CDP-emitted "Expression took too long"
|
|
39
|
+
* (a stale-target signal we DO want to reconnect on) from the server-side
|
|
40
|
+
* `Promise.race` timer text (a logical "this took too long" we do NOT).
|
|
41
|
+
*/
|
|
42
|
+
export declare function classifyTransportError(message: string, source: "cdp" | "server-timer" | "logical"): TransportClassification;
|
|
22
43
|
/**
|
|
23
44
|
* Simple delay helper
|
|
24
45
|
*/
|
|
25
46
|
export declare function delay(ms: number): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* One-shot scan-and-retry wrapper on top of executeInAppInner.
|
|
49
|
+
*
|
|
50
|
+
* On first-failure, classifies the error as transport-vs-logical:
|
|
51
|
+
* - transport → call attemptQuickReconnect once, retry with autoReconnect:false
|
|
52
|
+
* to avoid recursion. Successful retries carry _meta.reconnected; surviving
|
|
53
|
+
* failures surface 'reconnected_but_still_failed'.
|
|
54
|
+
* - logical → propagate the original error unchanged.
|
|
55
|
+
*
|
|
56
|
+
* The server-side `timeoutMs` timer always classifies as logical (a too-long
|
|
57
|
+
* expression is not a transport drop), so timeoutMs hits never trigger
|
|
58
|
+
* reconnect.
|
|
59
|
+
*/
|
|
26
60
|
export declare function executeInApp(expression: string, awaitPromise?: boolean, options?: ExecuteOptions, device?: string): Promise<ExecutionResult>;
|
|
27
61
|
//# sourceMappingURL=jsExecute.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsExecute.d.ts","sourceRoot":"","sources":["../../src/core/jsExecute.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"jsExecute.d.ts","sourceRoot":"","sources":["../../src/core/jsExecute.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAiB7D,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAK/D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA2B/D;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAuExF;AA2HD,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAG3C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAQrF;AAMD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,eAAe,GAAG,mBAAmB,CAAC;AAE/F,MAAM,MAAM,uBAAuB,GAC7B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAE1B;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,KAAK,GAAG,cAAc,GAAG,SAAS,GAC3C,uBAAuB,CAyBzB;AAuBD;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AA+UD;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAC9B,UAAU,EAAE,MAAM,EAClB,YAAY,GAAE,OAAc,EAC5B,OAAO,GAAE,cAAmB,EAC5B,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAoE1B"}
|
package/build/core/jsExecute.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import WebSocket from "ws";
|
|
2
|
+
import { escapeNonAsciiInStringLiterals } from "./escapeNonAscii.js";
|
|
2
3
|
import { pendingExecutions, getNextMessageId, connectedApps } from "./state.js";
|
|
3
4
|
import { getFirstConnectedApp, getConnectedAppByDevice, connectToDevice } from "./connection.js";
|
|
4
5
|
import { fetchDevices, selectMainDevice, scanMetroPorts } from "./metro.js";
|
|
5
6
|
import { cancelReconnectionTimer } from "./connectionState.js";
|
|
7
|
+
import { trackAutoReconnect } from "./telemetry.js";
|
|
6
8
|
// Hermes runtime compatibility: polyfill for 'global' which doesn't exist in Hermes
|
|
7
9
|
// In Hermes, globalThis is the standard way to access global scope
|
|
8
10
|
const GLOBAL_POLYFILL = `var global = typeof global !== 'undefined' ? global : globalThis;`;
|
|
9
11
|
/**
|
|
10
12
|
* Check if a string contains emoji or other problematic Unicode characters
|
|
11
13
|
* Hermes has issues with certain UTF-16 surrogate pairs (like emoji)
|
|
14
|
+
* @deprecated retained for backward compatibility — escapeNonAsciiInStringLiterals handles this now.
|
|
12
15
|
*/
|
|
13
16
|
export function containsProblematicUnicode(str) {
|
|
14
17
|
// Detect UTF-16 surrogate pairs (emoji and other characters outside BMP)
|
|
@@ -49,15 +52,6 @@ export function stripLeadingComments(expression) {
|
|
|
49
52
|
* Returns cleaned expression or error with helpful message
|
|
50
53
|
*/
|
|
51
54
|
export function validateAndPreprocessExpression(expression) {
|
|
52
|
-
// Check for emoji/problematic Unicode before any processing
|
|
53
|
-
if (containsProblematicUnicode(expression)) {
|
|
54
|
-
return {
|
|
55
|
-
valid: false,
|
|
56
|
-
expression,
|
|
57
|
-
error: "Expression contains emoji or special Unicode characters that Hermes cannot compile. " +
|
|
58
|
-
"Please remove emoji and use ASCII characters only."
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
55
|
// Strip leading comments that would break the expression wrapper
|
|
62
56
|
const cleaned = stripLeadingComments(expression);
|
|
63
57
|
if (!cleaned.trim()) {
|
|
@@ -67,24 +61,35 @@ export function validateAndPreprocessExpression(expression) {
|
|
|
67
61
|
error: "Expression is empty or contains only comments."
|
|
68
62
|
};
|
|
69
63
|
}
|
|
70
|
-
//
|
|
71
|
-
//
|
|
72
|
-
const
|
|
73
|
-
if (
|
|
64
|
+
// Auto-escape non-ASCII inside string literals so the wire stays ASCII
|
|
65
|
+
// and Hermes can compile the expression.
|
|
66
|
+
const escapeResult = escapeNonAsciiInStringLiterals(cleaned);
|
|
67
|
+
if (!escapeResult.ok) {
|
|
74
68
|
return {
|
|
75
69
|
valid: false,
|
|
76
70
|
expression: cleaned,
|
|
77
|
-
error: "
|
|
78
|
-
|
|
79
|
-
"
|
|
80
|
-
|
|
71
|
+
error: "Unable to auto-escape non-ASCII characters in expression: " +
|
|
72
|
+
escapeResult.reason +
|
|
73
|
+
". Replace non-ASCII characters with \\uXXXX escape sequences and retry, or check for unbalanced quotes."
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
const escaped = escapeResult.expression;
|
|
77
|
+
// Check for top-level async/await that Hermes doesn't support in Runtime.evaluate
|
|
78
|
+
const trimmed = escaped.trim();
|
|
79
|
+
if (looksLikeTopLevelAwait(trimmed)) {
|
|
80
|
+
return {
|
|
81
|
+
valid: false,
|
|
82
|
+
expression: escaped,
|
|
83
|
+
error: "top-level await is not supported in Hermes. " +
|
|
84
|
+
"Wrap in `Promise.resolve().then(v => ...)` instead, or assign the resolved value to a global: " +
|
|
85
|
+
"`global.__result = null; myAsyncFn().then(r => global.__result = r)`."
|
|
81
86
|
};
|
|
82
87
|
}
|
|
83
88
|
// Check for require() calls that don't work in Hermes Runtime.evaluate
|
|
84
89
|
if (/\brequire\s*\(/.test(trimmed)) {
|
|
85
90
|
return {
|
|
86
91
|
valid: false,
|
|
87
|
-
expression:
|
|
92
|
+
expression: escaped,
|
|
88
93
|
error: "require() is not available in Hermes Runtime.evaluate. " +
|
|
89
94
|
"Modules cannot be imported at runtime. Only pre-existing global variables are accessible. " +
|
|
90
95
|
"Use list_debug_globals to discover available globals, or add `globalThis.__MY_VAR__ = myModule;` in your app code."
|
|
@@ -97,7 +102,7 @@ export function validateAndPreprocessExpression(expression) {
|
|
|
97
102
|
if (hasTopLevelStatementSeparator(trimmed)) {
|
|
98
103
|
return {
|
|
99
104
|
valid: false,
|
|
100
|
-
expression:
|
|
105
|
+
expression: escaped,
|
|
101
106
|
error: "Multi-statement expressions are not supported by Hermes Runtime.evaluate " +
|
|
102
107
|
"(compiles input as a single expression). " +
|
|
103
108
|
"Wrap the body in an IIFE: `(function(){ stmt1; stmt2; return result; })()`."
|
|
@@ -105,9 +110,106 @@ export function validateAndPreprocessExpression(expression) {
|
|
|
105
110
|
}
|
|
106
111
|
return {
|
|
107
112
|
valid: true,
|
|
108
|
-
expression:
|
|
113
|
+
expression: escaped
|
|
109
114
|
};
|
|
110
115
|
}
|
|
116
|
+
function isIdentChar(c) {
|
|
117
|
+
return c !== undefined && /[A-Za-z0-9_$]/.test(c);
|
|
118
|
+
}
|
|
119
|
+
// Detect top-level `await`, `async function`, `async (...) => ...`, or
|
|
120
|
+
// `(async ...)` IIFE forms in `src`. Walks char-by-char tracking string,
|
|
121
|
+
// template, comment, and bracket depth so we don't false-positive on
|
|
122
|
+
// substrings inside strings, identifiers like `awaiting`, etc.
|
|
123
|
+
function looksLikeTopLevelAwait(src) {
|
|
124
|
+
// Cheap prefix checks for async-function / async-arrow / async-IIFE forms.
|
|
125
|
+
// Whitespace-tolerant on `async <keyword>` / `async (`.
|
|
126
|
+
const asyncPrefix = /^async\s*(?:function\b|\()/;
|
|
127
|
+
if (asyncPrefix.test(src))
|
|
128
|
+
return true;
|
|
129
|
+
// `(async () => ...)()` or `(async(...)...)` — match `(async` followed by
|
|
130
|
+
// a non-identifier char (so `(asyncFoo` doesn't trigger).
|
|
131
|
+
const parenAsync = /^\(\s*async(?:\s|\()/;
|
|
132
|
+
if (parenAsync.test(src))
|
|
133
|
+
return true;
|
|
134
|
+
// Depth-tracked scan for a standalone `await` token at depth 0.
|
|
135
|
+
let i = 0;
|
|
136
|
+
let parens = 0;
|
|
137
|
+
let braces = 0;
|
|
138
|
+
let brackets = 0;
|
|
139
|
+
while (i < src.length) {
|
|
140
|
+
const ch = src[i];
|
|
141
|
+
const next = src[i + 1];
|
|
142
|
+
if (ch === "/" && next === "/") {
|
|
143
|
+
const nl = src.indexOf("\n", i + 2);
|
|
144
|
+
if (nl === -1)
|
|
145
|
+
return false;
|
|
146
|
+
i = nl + 1;
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
if (ch === "/" && next === "*") {
|
|
150
|
+
const end = src.indexOf("*/", i + 2);
|
|
151
|
+
if (end === -1)
|
|
152
|
+
return false;
|
|
153
|
+
i = end + 2;
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
if (ch === '"' || ch === "'" || ch === "`") {
|
|
157
|
+
const quote = ch;
|
|
158
|
+
i++;
|
|
159
|
+
while (i < src.length) {
|
|
160
|
+
if (src[i] === "\\") {
|
|
161
|
+
i += 2;
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
if (src[i] === quote) {
|
|
165
|
+
i++;
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
i++;
|
|
169
|
+
}
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
if (ch === "(") {
|
|
173
|
+
parens++;
|
|
174
|
+
i++;
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
if (ch === ")") {
|
|
178
|
+
parens--;
|
|
179
|
+
i++;
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
if (ch === "{") {
|
|
183
|
+
braces++;
|
|
184
|
+
i++;
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
if (ch === "}") {
|
|
188
|
+
braces--;
|
|
189
|
+
i++;
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
if (ch === "[") {
|
|
193
|
+
brackets++;
|
|
194
|
+
i++;
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
if (ch === "]") {
|
|
198
|
+
brackets--;
|
|
199
|
+
i++;
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
if (parens === 0 && braces === 0 && brackets === 0 &&
|
|
203
|
+
ch === "a" &&
|
|
204
|
+
src.slice(i, i + 5) === "await" &&
|
|
205
|
+
!isIdentChar(src[i - 1]) &&
|
|
206
|
+
!isIdentChar(src[i + 5])) {
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
209
|
+
i++;
|
|
210
|
+
}
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
111
213
|
// Walk `src` tracking string/template/comment and bracket depth. Returns true
|
|
112
214
|
// iff a `;` appears at depth 0 with non-whitespace following it (i.e. it
|
|
113
215
|
// separates two top-level statements rather than terminating a single one).
|
|
@@ -170,6 +272,48 @@ function hasTopLevelStatementSeparator(src) {
|
|
|
170
272
|
}
|
|
171
273
|
return false;
|
|
172
274
|
}
|
|
275
|
+
// ============================================================================
|
|
276
|
+
// Per-call timeoutMs: clamp + defaults
|
|
277
|
+
// ============================================================================
|
|
278
|
+
export const TIMEOUT_HARD_CAP_MS = 120_000;
|
|
279
|
+
const TIMEOUT_DEFAULT_MS = 5_000;
|
|
280
|
+
export function clampTimeoutMs(input) {
|
|
281
|
+
if (!Number.isFinite(input) || input <= 0) {
|
|
282
|
+
return { value: TIMEOUT_DEFAULT_MS, clampedFrom: input };
|
|
283
|
+
}
|
|
284
|
+
if (input > TIMEOUT_HARD_CAP_MS) {
|
|
285
|
+
return { value: TIMEOUT_HARD_CAP_MS, clampedFrom: input };
|
|
286
|
+
}
|
|
287
|
+
return { value: input };
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Classify an error message into transport-vs-logical for auto-reconnect routing.
|
|
291
|
+
*
|
|
292
|
+
* The `source` argument distinguishes the CDP-emitted "Expression took too long"
|
|
293
|
+
* (a stale-target signal we DO want to reconnect on) from the server-side
|
|
294
|
+
* `Promise.race` timer text (a logical "this took too long" we do NOT).
|
|
295
|
+
*/
|
|
296
|
+
export function classifyTransportError(message, source) {
|
|
297
|
+
if (!message)
|
|
298
|
+
return { kind: "logical" };
|
|
299
|
+
if (source === "server-timer")
|
|
300
|
+
return { kind: "logical" };
|
|
301
|
+
if (/No apps connected/i.test(message))
|
|
302
|
+
return { kind: "transport", pattern: "no_apps" };
|
|
303
|
+
if (/ECONNRESET/i.test(message) ||
|
|
304
|
+
/WebSocket connection is not open/i.test(message) ||
|
|
305
|
+
/socket hang up/i.test(message) ||
|
|
306
|
+
/WebSocket frame/i.test(message)) {
|
|
307
|
+
return { kind: "transport", pattern: "ws_closed" };
|
|
308
|
+
}
|
|
309
|
+
if (/target closed/i.test(message) || /Inspector detached/i.test(message)) {
|
|
310
|
+
return { kind: "transport", pattern: "target_closed" };
|
|
311
|
+
}
|
|
312
|
+
if (source === "cdp" && /Expression took too long to evaluate/i.test(message)) {
|
|
313
|
+
return { kind: "transport", pattern: "cdp_eval_too_long" };
|
|
314
|
+
}
|
|
315
|
+
return { kind: "logical" };
|
|
316
|
+
}
|
|
173
317
|
// Error patterns that indicate a stale/destroyed context
|
|
174
318
|
const CONTEXT_ERROR_PATTERNS = [
|
|
175
319
|
"cannot find context",
|
|
@@ -288,7 +432,10 @@ function executeCDP(app, cleanedExpression, awaitPromise, timeoutMs) {
|
|
|
288
432
|
returnByValue: true,
|
|
289
433
|
awaitPromise,
|
|
290
434
|
userGesture: true,
|
|
291
|
-
generatePreview: true
|
|
435
|
+
generatePreview: true,
|
|
436
|
+
// Hermes-side timeout layer. Older Hermes builds ignore this — the
|
|
437
|
+
// server-side setTimeout above is the primary defense.
|
|
438
|
+
timeout: timeoutMs
|
|
292
439
|
}
|
|
293
440
|
}));
|
|
294
441
|
}
|
|
@@ -360,8 +507,8 @@ else{return __v}})()`;
|
|
|
360
507
|
return { success: false, error: "Timeout: Promise did not resolve within the time limit." };
|
|
361
508
|
}
|
|
362
509
|
// Execute JavaScript in the connected React Native app with retry logic
|
|
363
|
-
|
|
364
|
-
const { maxRetries = 2, retryDelayMs = 1000, autoReconnect = true, timeoutMs = 10000 } = options;
|
|
510
|
+
async function executeInAppInner(expression, awaitPromise = true, options = {}, device) {
|
|
511
|
+
const { maxRetries = 2, retryDelayMs = 1000, autoReconnect = true, timeoutMs = 10000, skipBootstrap = false } = options;
|
|
365
512
|
let lastError;
|
|
366
513
|
let preferredPort;
|
|
367
514
|
// Get preferred port from current connection if available
|
|
@@ -405,6 +552,21 @@ export async function executeInApp(expression, awaitPromise = true, options = {}
|
|
|
405
552
|
}
|
|
406
553
|
return { success: false, error: "WebSocket connection is not open." };
|
|
407
554
|
}
|
|
555
|
+
// Best-effort one-shot bootstrap of globalThis.__rn__ for this app
|
|
556
|
+
// session. Hermes does not expose closure-captured RN modules, so this
|
|
557
|
+
// fiber-walk usually sets __rn__ = null — that's fine; list_debug_globals
|
|
558
|
+
// reports the failure clearly. Wrapped in try/catch so a bootstrap
|
|
559
|
+
// failure never breaks the user's expression. skipBootstrap is set by
|
|
560
|
+
// the bootstrap itself (via ensureRnGlobalsBootstrap) to avoid recursion.
|
|
561
|
+
if (!skipBootstrap) {
|
|
562
|
+
try {
|
|
563
|
+
const { ensureRnGlobalsBootstrap } = await import("./rnGlobalsBootstrap.js");
|
|
564
|
+
await ensureRnGlobalsBootstrap(device);
|
|
565
|
+
}
|
|
566
|
+
catch (e) {
|
|
567
|
+
console.error("[execbro] __rn__ bootstrap dispatch failed:", e);
|
|
568
|
+
}
|
|
569
|
+
}
|
|
408
570
|
// Execute the expression
|
|
409
571
|
const result = await executeExpressionCore(expression, awaitPromise, timeoutMs, app);
|
|
410
572
|
// Success - return result
|
|
@@ -450,4 +612,68 @@ export async function executeInApp(expression, awaitPromise = true, options = {}
|
|
|
450
612
|
].join("\n")
|
|
451
613
|
};
|
|
452
614
|
}
|
|
615
|
+
/**
|
|
616
|
+
* One-shot scan-and-retry wrapper on top of executeInAppInner.
|
|
617
|
+
*
|
|
618
|
+
* On first-failure, classifies the error as transport-vs-logical:
|
|
619
|
+
* - transport → call attemptQuickReconnect once, retry with autoReconnect:false
|
|
620
|
+
* to avoid recursion. Successful retries carry _meta.reconnected; surviving
|
|
621
|
+
* failures surface 'reconnected_but_still_failed'.
|
|
622
|
+
* - logical → propagate the original error unchanged.
|
|
623
|
+
*
|
|
624
|
+
* The server-side `timeoutMs` timer always classifies as logical (a too-long
|
|
625
|
+
* expression is not a transport drop), so timeoutMs hits never trigger
|
|
626
|
+
* reconnect.
|
|
627
|
+
*/
|
|
628
|
+
export async function executeInApp(expression, awaitPromise = true, options = {}, device) {
|
|
629
|
+
const toolName = options.originatingToolName ?? "unknown";
|
|
630
|
+
// Clamp timeoutMs at the boundary. Mistyped values clamp with a warning surfaced in
|
|
631
|
+
// _meta rather than reject. The default (when not supplied) keeps the historical 10000 ms.
|
|
632
|
+
const requestedTimeout = options.timeoutMs ?? 10_000;
|
|
633
|
+
const { value: clampedTimeout, clampedFrom } = clampTimeoutMs(requestedTimeout);
|
|
634
|
+
const effectiveOptions = { ...options, timeoutMs: clampedTimeout };
|
|
635
|
+
const withClampMeta = (r) => {
|
|
636
|
+
if (clampedFrom === undefined)
|
|
637
|
+
return r;
|
|
638
|
+
return { ...r, _meta: { ...(r._meta ?? {}), timeoutClampedFrom: clampedFrom } };
|
|
639
|
+
};
|
|
640
|
+
const first = await executeInAppInner(expression, awaitPromise, effectiveOptions, device);
|
|
641
|
+
if (first.success) {
|
|
642
|
+
trackAutoReconnect("not_needed", toolName);
|
|
643
|
+
return withClampMeta(first);
|
|
644
|
+
}
|
|
645
|
+
const source = first.error?.startsWith("Timeout: Expression took too long")
|
|
646
|
+
? "server-timer"
|
|
647
|
+
: "cdp";
|
|
648
|
+
const classification = classifyTransportError(first.error ?? "", source);
|
|
649
|
+
if (classification.kind !== "transport") {
|
|
650
|
+
trackAutoReconnect("not_needed", toolName);
|
|
651
|
+
return withClampMeta(first);
|
|
652
|
+
}
|
|
653
|
+
const currentApp = getConnectedAppByDevice(device);
|
|
654
|
+
const preferredPort = currentApp?.port;
|
|
655
|
+
const reconnected = await attemptQuickReconnect(preferredPort);
|
|
656
|
+
if (!reconnected) {
|
|
657
|
+
trackAutoReconnect("scan_failed", toolName, classification.pattern);
|
|
658
|
+
return withClampMeta({
|
|
659
|
+
success: false,
|
|
660
|
+
error: `reconnect_attempted: ${first.error ?? "unknown"}`,
|
|
661
|
+
_meta: { reconnected: false, transportError: first.error ?? "unknown" },
|
|
662
|
+
});
|
|
663
|
+
}
|
|
664
|
+
const retry = await executeInAppInner(expression, awaitPromise, { ...effectiveOptions, autoReconnect: false }, device);
|
|
665
|
+
if (retry.success) {
|
|
666
|
+
trackAutoReconnect("success", toolName, classification.pattern);
|
|
667
|
+
return withClampMeta({
|
|
668
|
+
...retry,
|
|
669
|
+
_meta: { reconnected: true, transportError: first.error ?? "unknown" },
|
|
670
|
+
});
|
|
671
|
+
}
|
|
672
|
+
trackAutoReconnect("retry_failed", toolName, classification.pattern);
|
|
673
|
+
return withClampMeta({
|
|
674
|
+
success: false,
|
|
675
|
+
error: `reconnected_but_still_failed: ${first.error ?? "unknown"} | ${retry.error ?? "unknown"}`,
|
|
676
|
+
_meta: { reconnected: true, transportError: first.error ?? "unknown" },
|
|
677
|
+
});
|
|
678
|
+
}
|
|
453
679
|
//# sourceMappingURL=jsExecute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsExecute.js","sourceRoot":"","sources":["../../src/core/jsExecute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jsExecute.js","sourceRoot":"","sources":["../../src/core/jsExecute.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type MeasureOutcome = "measured" | "no_match" | "no_host_descendant" | "timeout" | "error";
|
|
2
|
+
export interface MeasureBounds {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
name: string;
|
|
8
|
+
nativeTag?: number;
|
|
9
|
+
}
|
|
10
|
+
export type MeasureToolResult = ({
|
|
11
|
+
success: true;
|
|
12
|
+
outcome: "measured";
|
|
13
|
+
} & MeasureBounds) | {
|
|
14
|
+
success: false;
|
|
15
|
+
outcome: Exclude<MeasureOutcome, "measured">;
|
|
16
|
+
error: string;
|
|
17
|
+
};
|
|
18
|
+
export declare function buildMeasureComponentExpression(componentName: string, index: number): string;
|
|
19
|
+
//# sourceMappingURL=measureComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureComponent.d.ts","sourceRoot":"","sources":["../../src/core/measureComponent.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACpB,UAAU,GACV,UAAU,GACV,oBAAoB,GACpB,SAAS,GACT,OAAO,CAAC;AAEd,MAAM,WAAW,aAAa;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GACvB,CAAC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GAAG,aAAa,CAAC,GACxD;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA4F5F"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
export function buildMeasureComponentExpression(componentName, index) {
|
|
2
|
+
const escapedName = componentName.replace(/'/g, "\\'");
|
|
3
|
+
const safeIndex = typeof index === "number" && Number.isFinite(index) ? index : 0;
|
|
4
|
+
return `new Promise((resolve) => {
|
|
5
|
+
try {
|
|
6
|
+
const hook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
|
|
7
|
+
if (!hook) { resolve({ outcome: "error", error: "React DevTools hook not found." }); return; }
|
|
8
|
+
let root = null;
|
|
9
|
+
const ids = Array.from(hook.renderers ? hook.renderers.keys() : []);
|
|
10
|
+
for (const id of ids) {
|
|
11
|
+
const roots = hook.getFiberRoots ? Array.from(hook.getFiberRoots(id) || []) : [];
|
|
12
|
+
if (roots.length > 0) { root = roots[0]; break; }
|
|
13
|
+
}
|
|
14
|
+
if (!root) { resolve({ outcome: "error", error: "No fiber roots found." }); return; }
|
|
15
|
+
|
|
16
|
+
const targetName = '${escapedName}';
|
|
17
|
+
const targetIndex = ${safeIndex};
|
|
18
|
+
|
|
19
|
+
const getName = (t) => typeof t === "string" ? t : (t && (t.displayName || t.name)) || null;
|
|
20
|
+
|
|
21
|
+
// Collect all matching fibers (depth-first, parent before children).
|
|
22
|
+
const matches = [];
|
|
23
|
+
(function walk(f) {
|
|
24
|
+
if (!f) return;
|
|
25
|
+
if (getName(f.type) === targetName) matches.push(f);
|
|
26
|
+
if (f.child) walk(f.child);
|
|
27
|
+
if (f.sibling) walk(f.sibling);
|
|
28
|
+
})(root.current);
|
|
29
|
+
|
|
30
|
+
if (matches.length === 0 || targetIndex < 0 || targetIndex >= matches.length) {
|
|
31
|
+
resolve({ outcome: "no_match", error: "no component matched '" + targetName + "'" });
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const matched = matches[targetIndex];
|
|
35
|
+
const matchedName = getName(matched.type);
|
|
36
|
+
|
|
37
|
+
// Resolve a measurable host instance: matched fiber or nearest host descendant.
|
|
38
|
+
const getMeasurable = (f) => {
|
|
39
|
+
if (!f || !f.stateNode) return null;
|
|
40
|
+
const sn = f.stateNode;
|
|
41
|
+
if (typeof sn.measureInWindow === "function") {
|
|
42
|
+
return { instance: sn, nativeTag: sn._nativeTag };
|
|
43
|
+
}
|
|
44
|
+
if (sn.canonical && sn.canonical.publicInstance && typeof sn.canonical.publicInstance.measureInWindow === "function") {
|
|
45
|
+
const pub = sn.canonical.publicInstance;
|
|
46
|
+
return { instance: pub, nativeTag: pub.__nativeTag };
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
let target = getMeasurable(matched);
|
|
52
|
+
if (!target) {
|
|
53
|
+
// Descend to nearest host descendant with measureInWindow.
|
|
54
|
+
(function findHost(f) {
|
|
55
|
+
if (!f || target) return;
|
|
56
|
+
if (f !== matched) {
|
|
57
|
+
const m = getMeasurable(f);
|
|
58
|
+
if (m) { target = m; return; }
|
|
59
|
+
}
|
|
60
|
+
if (f.child) findHost(f.child);
|
|
61
|
+
if (f.sibling && f !== matched) findHost(f.sibling);
|
|
62
|
+
})(matched.child);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (!target) {
|
|
66
|
+
resolve({ outcome: "no_host_descendant", error: "component '" + targetName + "' has no measurable stateNode at index " + targetIndex });
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
let done = false;
|
|
71
|
+
target.instance.measureInWindow((x, y, width, height) => {
|
|
72
|
+
if (done) return;
|
|
73
|
+
done = true;
|
|
74
|
+
resolve({
|
|
75
|
+
outcome: "measured",
|
|
76
|
+
x: x,
|
|
77
|
+
y: y,
|
|
78
|
+
width: width,
|
|
79
|
+
height: height,
|
|
80
|
+
name: matchedName,
|
|
81
|
+
nativeTag: typeof target.nativeTag === "number" ? target.nativeTag : undefined,
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
setTimeout(() => {
|
|
85
|
+
if (done) return;
|
|
86
|
+
done = true;
|
|
87
|
+
resolve({ outcome: "timeout", error: "measureInWindow timed out (1500ms)" });
|
|
88
|
+
}, 1500);
|
|
89
|
+
} catch (e) {
|
|
90
|
+
resolve({ outcome: "error", error: (e && e.message) || String(e) });
|
|
91
|
+
}
|
|
92
|
+
})`;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=measureComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureComponent.js","sourceRoot":"","sources":["../../src/core/measureComponent.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,+BAA+B,CAAC,aAAqB,EAAE,KAAa;IAChF,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,OAAO;;;;;;;;;;;;0BAYe,WAAW;0BACX,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EhC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ExecutionResult } from "./types.js";
|
|
2
|
+
import { type MeasureToolResult } from "./measureComponent.js";
|
|
3
|
+
export type { MeasureOutcome, MeasureBounds, MeasureToolResult } from "./measureComponent.js";
|
|
4
|
+
export type ExecuteFn = (expression: string, device?: string) => Promise<ExecutionResult>;
|
|
5
|
+
export declare function measureComponent(componentName: string, index?: number, device?: string, execute?: ExecuteFn): Promise<MeasureToolResult>;
|
|
6
|
+
//# sourceMappingURL=measureComponentTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureComponentTools.d.ts","sourceRoot":"","sources":["../../src/core/measureComponentTools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAGH,KAAK,iBAAiB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE9F,MAAM,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;AAK1F,wBAAsB,gBAAgB,CAClC,aAAa,EAAE,MAAM,EACrB,KAAK,GAAE,MAAU,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,SAA0B,GACpC,OAAO,CAAC,iBAAiB,CAAC,CAgD5B"}
|