react-native-ai-devtools 1.4.12 → 1.4.14
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__/integration/connection-health.test.js +12 -6
- package/build/__tests__/integration/connection-health.test.js.map +1 -1
- package/build/__tests__/unit/connection-health.test.js +26 -16
- package/build/__tests__/unit/connection-health.test.js.map +1 -1
- package/build/__tests__/unit/logs.test.js +9 -0
- package/build/__tests__/unit/logs.test.js.map +1 -1
- package/build/core/bundle.d.ts.map +1 -1
- package/build/core/bundle.js +15 -24
- package/build/core/bundle.js.map +1 -1
- package/build/core/connection.d.ts +32 -2
- package/build/core/connection.d.ts.map +1 -1
- package/build/core/connection.js +328 -134
- package/build/core/connection.js.map +1 -1
- package/build/core/index.d.ts +4 -4
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +3 -3
- package/build/core/index.js.map +1 -1
- package/build/core/logs.d.ts +1 -0
- package/build/core/logs.d.ts.map +1 -1
- package/build/core/logs.js +5 -0
- package/build/core/logs.js.map +1 -1
- package/build/core/metro.d.ts +7 -0
- package/build/core/metro.d.ts.map +1 -1
- package/build/core/metro.js +25 -0
- package/build/core/metro.js.map +1 -1
- package/build/core/state.d.ts +16 -2
- package/build/core/state.d.ts.map +1 -1
- package/build/core/state.js +34 -6
- package/build/core/state.js.map +1 -1
- package/build/core/telemetry.d.ts +4 -1
- package/build/core/telemetry.d.ts.map +1 -1
- package/build/core/telemetry.js +51 -2
- package/build/core/telemetry.js.map +1 -1
- package/build/index.js +110 -16
- package/build/index.js.map +1 -1
- package/package.json +1 -1
package/build/core/telemetry.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from "crypto";
|
|
2
|
-
import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
|
|
2
|
+
import { readFileSync, writeFileSync, appendFileSync, existsSync, mkdirSync } from "fs";
|
|
3
3
|
import { homedir } from "os";
|
|
4
4
|
import { join, dirname } from "path";
|
|
5
5
|
import { fileURLToPath } from "url";
|
|
@@ -14,6 +14,7 @@ const BATCH_INTERVAL_MS = 30_000; // 30 seconds
|
|
|
14
14
|
const REQUEST_TIMEOUT_MS = 5_000;
|
|
15
15
|
const CONFIG_DIR = join(homedir(), ".rn-ai-debugger");
|
|
16
16
|
const CONFIG_FILE = join(CONFIG_DIR, "telemetry.json");
|
|
17
|
+
export const TELEMETRY_JSONL_PATH = "/tmp/rn-devtools-telemetry.jsonl";
|
|
17
18
|
// Read version from package.json dynamically
|
|
18
19
|
export function getServerVersion() {
|
|
19
20
|
try {
|
|
@@ -188,6 +189,16 @@ export function initTelemetry() {
|
|
|
188
189
|
export function isTelemetryEnabled() {
|
|
189
190
|
return telemetryEnabled;
|
|
190
191
|
}
|
|
192
|
+
/** Check if the MCP server is running in dev mode (config-based). */
|
|
193
|
+
export function isDevMode() {
|
|
194
|
+
try {
|
|
195
|
+
const cfg = loadOrCreateConfig();
|
|
196
|
+
return cfg.devMode === true;
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
191
202
|
// ============================================================================
|
|
192
203
|
// Event Tracking
|
|
193
204
|
// ============================================================================
|
|
@@ -206,7 +217,43 @@ function trackEvent(name, properties) {
|
|
|
206
217
|
flush();
|
|
207
218
|
}
|
|
208
219
|
}
|
|
209
|
-
export function trackToolInvocation(toolName, success, durationMs, errorMessage, errorContext, inputTokens, outputTokens, targetPlatform, emptyResult, meaningful, changeRate, tapStrategy) {
|
|
220
|
+
export function trackToolInvocation(toolName, success, durationMs, errorMessage, errorContext, inputTokens, outputTokens, targetPlatform, emptyResult, meaningful, changeRate, tapStrategy, responsePreview, emptyReason) {
|
|
221
|
+
// Append to local JSONL file for local dashboard (dev mode only)
|
|
222
|
+
if (isDevMode())
|
|
223
|
+
try {
|
|
224
|
+
const localEvent = {
|
|
225
|
+
name: "tool_invocation",
|
|
226
|
+
timestamp: Date.now(),
|
|
227
|
+
toolName,
|
|
228
|
+
success,
|
|
229
|
+
duration: durationMs,
|
|
230
|
+
isFirstRun: false,
|
|
231
|
+
};
|
|
232
|
+
if (!success && errorMessage) {
|
|
233
|
+
localEvent.errorCategory = categorizeError(errorMessage);
|
|
234
|
+
localEvent.errorMessage = errorMessage.substring(0, 200);
|
|
235
|
+
if (errorContext)
|
|
236
|
+
localEvent.errorContext = errorContext.substring(0, 150);
|
|
237
|
+
}
|
|
238
|
+
if (targetPlatform)
|
|
239
|
+
localEvent.targetPlatform = targetPlatform;
|
|
240
|
+
if (emptyResult !== undefined)
|
|
241
|
+
localEvent.emptyResult = emptyResult;
|
|
242
|
+
if (meaningful !== undefined)
|
|
243
|
+
localEvent.meaningful = meaningful;
|
|
244
|
+
if (changeRate !== undefined)
|
|
245
|
+
localEvent.changeRate = changeRate;
|
|
246
|
+
if (tapStrategy)
|
|
247
|
+
localEvent.tapStrategy = tapStrategy;
|
|
248
|
+
if (emptyReason)
|
|
249
|
+
localEvent.emptyReason = emptyReason;
|
|
250
|
+
if (responsePreview)
|
|
251
|
+
localEvent.responsePreview = responsePreview;
|
|
252
|
+
appendFileSync(TELEMETRY_JSONL_PATH, JSON.stringify(localEvent) + "\n");
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
// Non-critical — local file sink failure should never affect tool execution
|
|
256
|
+
}
|
|
210
257
|
if (!telemetryEnabled)
|
|
211
258
|
return;
|
|
212
259
|
const now = Date.now();
|
|
@@ -263,6 +310,8 @@ export function trackToolInvocation(toolName, success, durationMs, errorMessage,
|
|
|
263
310
|
event.changeRate = changeRate;
|
|
264
311
|
if (tapStrategy)
|
|
265
312
|
event.tapStrategy = tapStrategy;
|
|
313
|
+
if (emptyReason)
|
|
314
|
+
event.emptyReason = emptyReason;
|
|
266
315
|
eventQueue.push(event);
|
|
267
316
|
// Increment local usage counter
|
|
268
317
|
incrementLocalUsage();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/core/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAElE,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,MAAM,kBAAkB,GAAG,qDAAqD,CAAC;AACjF,MAAM,iBAAiB,GAAG,kEAAkE,CAAC;AAE7F,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,aAAa;AAC/C,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;AACtD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAEvD,6CAA6C;AAC7C,MAAM,UAAU,gBAAgB;IAC5B,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,OAAO,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AA4BD,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,SAAS,eAAe,CAAC,YAAoB;IACzC,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvH,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,gGAAgG;IAChG,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC;QACtG,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACtH,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,uCAAuC;IACvC,IAAI,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACzE,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvF,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzF,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,+BAA+B;IAC/B,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACzG,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,oEAAoE;IACpE,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACvH,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAmBD,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E,IAAI,gBAAgB,GAAG,IAAI,CAAC;AAC5B,IAAI,MAAM,GAA2B,IAAI,CAAC;AAC1C,IAAI,UAAU,GAAqB,EAAE,CAAC;AACtC,IAAI,UAAU,GAA0B,IAAI,CAAC;AAC7C,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAC3C,IAAI,SAAS,GAAkB,IAAI,CAAC;AACpC,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAC9B,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,IAAI,iBAAiB,GAAkB,IAAI,CAAC;AAC5C,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,oDAAoD;AAElG,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E,SAAS,kBAAkB;IACvB,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,8BAA8B;IAC9B,IAAI,CAAC;QACD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;YACnD,gDAAgD;YAChD,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;YAC1C,iBAAiB,GAAG,KAAK,CAAC;YAC1B,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,sDAAsD;IAC1D,CAAC;IAED,0BAA0B;IAC1B,MAAM,SAAS,GAAoB;QAC/B,cAAc,EAAE,UAAU,EAAE;QAC5B,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE;QAC7B,UAAU,EAAE,IAAI;KACnB,CAAC;IAEF,IAAI,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/D,4DAA4D;QAC5D,0CAA0C;QAC1C,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;YAC5D,MAAM,GAAG,eAAe,CAAC;YACzB,iBAAiB,GAAG,eAAe,CAAC,UAAU,CAAC;YAC/C,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACL,8CAA8C;YAC9C,MAAM,GAAG,SAAS,CAAC;YACnB,iBAAiB,GAAG,IAAI,CAAC;YACzB,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,wDAAwD;QACxD,MAAM,GAAG,SAAS,CAAC;QACnB,iBAAiB,GAAG,IAAI,CAAC;QACzB,OAAO,MAAM,CAAC;IAClB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC7B,OAAO,kBAAkB,EAAE,CAAC,cAAc,CAAC;AAC/C,CAAC;AAED,SAAS,UAAU;IACf,kBAAkB,EAAE,CAAC;IACrB,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,MAAM,UAAU,aAAa;IACzB,yCAAyC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACnD,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACjE,gBAAgB,GAAG,KAAK,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC/E,OAAO;IACX,CAAC;IAED,iEAAiE;IACjE,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,gBAAgB,GAAG,KAAK,CAAC;QACzB,OAAO;IACX,CAAC;IAED,0DAA0D;IAC1D,IAAI,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9F,gBAAgB,GAAG,KAAK,CAAC;QACzB,iDAAiD;QACjD,OAAO;IACX,CAAC;IAED,iDAAiD;IACjD,kBAAkB,EAAE,CAAC;IACrB,SAAS,GAAG,UAAU,EAAE,CAAC;IAEzB,kFAAkF;IAClF,UAAU,CAAC,eAAe,EAAE;QACxB,UAAU,EAAE,UAAU,EAAE;KAC3B,CAAC,CAAC;IAEH,oBAAoB;IACpB,eAAe,EAAE,CAAC;IAElB,wBAAwB;IACxB,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,SAAS,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,IAAI,cAAc,IAAI,gBAAgB,EAAE,CAAC;YACrC,UAAU,CAAC,aAAa,EAAE;gBACtB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB;aAC1C,CAAC,CAAC;YACH,SAAS,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,SAAS,UAAU,CAAC,IAAY,EAAE,UAAsD;IACpF,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAE9B,MAAM,KAAK,GAAmB;QAC1B,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,UAAU,EAAE,UAAU,EAAE;QACxB,UAAU;KACb,CAAC;IAEF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvB,0CAA0C;IAC1C,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC;IACZ,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAC/B,QAAgB,EAChB,OAAgB,EAChB,UAAkB,EAClB,YAAqB,EACrB,YAAqB,EACrB,WAAoB,EACpB,YAAqB,EACrB,cAAuB,EACvB,WAAqB,EACrB,UAAoB,EACpB,UAAmB,EACnB,WAAoB;IAEpB,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,gEAAgE;IAChE,IAAI,CAAC,cAAc,IAAI,CAAC,iBAAiB,IAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC;QAC9F,IAAI,cAAc,EAAE,CAAC;YACjB,iDAAiD;YACjD,UAAU,CAAC,aAAa,EAAE;gBACtB,QAAQ,EAAE,iBAAkB,GAAG,gBAAiB;aACnD,CAAC,CAAC;YACH,SAAS,GAAG,UAAU,EAAE,CAAC;QAC7B,CAAC;QACD,cAAc,GAAG,IAAI,CAAC;QACtB,gBAAgB,GAAG,GAAG,CAAC;QACvB,UAAU,CAAC,2BAA2B,EAAE;YACpC,UAAU,EAAE,UAAU,EAAE;YACxB,SAAS,EAAE,QAAQ;SACtB,CAAC,CAAC;QAEH,uFAAuF;QACvF,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;YACpD,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACV,6DAA6D;QACjE,CAAC,CAAC,CAAC;IACP,CAAC;IACD,iBAAiB,GAAG,GAAG,CAAC;IAExB,MAAM,KAAK,GAAmB;QAC1B,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,GAAG;QACd,QAAQ;QACR,OAAO;QACP,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,UAAU,EAAE;KAC3B,CAAC;IAEF,IAAI,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;QAC3B,KAAK,CAAC,aAAa,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QACpD,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,4EAA4E;QAC5E,IAAI,YAAY,EAAE,CAAC;YACf,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,GAAG,CAAC;QAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IAClF,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,CAAC;QAAE,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;IACtF,IAAI,cAAc;QAAE,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC;IAC1D,IAAI,WAAW,KAAK,SAAS;QAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IAC/D,IAAI,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IAC5D,IAAI,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IAC5D,IAAI,WAAW;QAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IAEjD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvB,gCAAgC;IAChC,mBAAmB,EAAE,CAAC;IAEtB,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC;IACZ,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,MAAc,EAAE,IAAY,EAAE,UAAkB;IACvE,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAE9B,MAAM,KAAK,GAAmB;QAC1B,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,UAAU,EAAE;QACxB,YAAY,EAAE,GAAG,MAAM,IAAI,IAAI,EAAE;KACpC,CAAC;IAEF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvB,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC;IACZ,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAMjC;IACG,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAE9B,MAAM,KAAK,GAAmB;QAC1B,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,UAAU,EAAE,UAAU,EAAE;QACxB,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;YACzB,EAAE,EAAE,SAAS,CAAC,kBAAkB;YAChC,IAAI,EAAE,SAAS,CAAC,YAAY;YAC5B,GAAG,EAAE,SAAS,CAAC,QAAQ;YACvB,IAAI,EAAE,SAAS,CAAC,WAAW;YAC3B,EAAE,EAAE,SAAS,CAAC,SAAS;SAC1B,CAAC;QACF,cAAc,EAAE,SAAS,CAAC,WAAW;KACxC,CAAC;IAEF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvB,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC;IACZ,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,SAAS,eAAe;IACpB,IAAI,UAAU;QAAE,OAAO;IAEvB,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1B,KAAK,EAAE,CAAC;IACZ,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAEtB,6CAA6C;IAC7C,UAAU,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,KAAK;IAChB,IAAI,CAAC,gBAAgB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEzD,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IACrC,UAAU,GAAG,EAAE,CAAC;IAEhB,IAAI,CAAC;QACD,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACL,yDAAyD;IAC7D,CAAC;AACL,CAAC;AAED,SAAS,SAAS;IACd,IAAI,CAAC,gBAAgB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEzD,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IACrC,UAAU,GAAG,EAAE,CAAC;IAEhB,mDAAmD;IACnD,mDAAmD;IACnD,UAAU,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAwB;IAC9C,MAAM,OAAO,GAAqB;QAC9B,cAAc,EAAE,iBAAiB,EAAE;QACnC,SAAS,EAAE,SAAS,IAAI,SAAS;QACjC,aAAa,EAAE,gBAAgB,EAAE;QACjC,WAAW,EAAE,OAAO,CAAC,OAAO;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM;KACT,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAE3E,IAAI,CAAC;QACD,MAAM,KAAK,CAAC,kBAAkB,EAAE;YAC5B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,iBAAiB;aACjC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC5B,CAAC,CAAC;IACP,CAAC;YAAS,CAAC;QACP,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/core/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAc,MAAM,IAAI,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAElE,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,MAAM,kBAAkB,GAAG,qDAAqD,CAAC;AACjF,MAAM,iBAAiB,GAAG,kEAAkE,CAAC;AAE7F,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,aAAa;AAC/C,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;AACtD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,kCAAkC,CAAC;AAEvE,6CAA6C;AAC7C,MAAM,UAAU,gBAAgB;IAC5B,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,OAAO,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AA6BD,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,SAAS,eAAe,CAAC,YAAoB;IACzC,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvH,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,gGAAgG;IAChG,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC;QACtG,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACtH,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,uCAAuC;IACvC,IAAI,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACzE,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvF,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzF,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,+BAA+B;IAC/B,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACzG,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,oEAAoE;IACpE,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACvH,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAmBD,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E,IAAI,gBAAgB,GAAG,IAAI,CAAC;AAC5B,IAAI,MAAM,GAA2B,IAAI,CAAC;AAC1C,IAAI,UAAU,GAAqB,EAAE,CAAC;AACtC,IAAI,UAAU,GAA0B,IAAI,CAAC;AAC7C,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAC3C,IAAI,SAAS,GAAkB,IAAI,CAAC;AACpC,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAC9B,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,IAAI,iBAAiB,GAAkB,IAAI,CAAC;AAC5C,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,oDAAoD;AAElG,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E,SAAS,kBAAkB;IACvB,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,8BAA8B;IAC9B,IAAI,CAAC;QACD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;YACnD,gDAAgD;YAChD,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;YAC1C,iBAAiB,GAAG,KAAK,CAAC;YAC1B,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,sDAAsD;IAC1D,CAAC;IAED,0BAA0B;IAC1B,MAAM,SAAS,GAAoB;QAC/B,cAAc,EAAE,UAAU,EAAE;QAC5B,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE;QAC7B,UAAU,EAAE,IAAI;KACnB,CAAC;IAEF,IAAI,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/D,4DAA4D;QAC5D,0CAA0C;QAC1C,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;YAC5D,MAAM,GAAG,eAAe,CAAC;YACzB,iBAAiB,GAAG,eAAe,CAAC,UAAU,CAAC;YAC/C,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACL,8CAA8C;YAC9C,MAAM,GAAG,SAAS,CAAC;YACnB,iBAAiB,GAAG,IAAI,CAAC;YACzB,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,wDAAwD;QACxD,MAAM,GAAG,SAAS,CAAC;QACnB,iBAAiB,GAAG,IAAI,CAAC;QACzB,OAAO,MAAM,CAAC;IAClB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC7B,OAAO,kBAAkB,EAAE,CAAC,cAAc,CAAC;AAC/C,CAAC;AAED,SAAS,UAAU;IACf,kBAAkB,EAAE,CAAC;IACrB,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,MAAM,UAAU,aAAa;IACzB,yCAAyC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACnD,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACjE,gBAAgB,GAAG,KAAK,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC/E,OAAO;IACX,CAAC;IAED,iEAAiE;IACjE,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,gBAAgB,GAAG,KAAK,CAAC;QACzB,OAAO;IACX,CAAC;IAED,0DAA0D;IAC1D,IAAI,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9F,gBAAgB,GAAG,KAAK,CAAC;QACzB,iDAAiD;QACjD,OAAO;IACX,CAAC;IAED,iDAAiD;IACjD,kBAAkB,EAAE,CAAC;IACrB,SAAS,GAAG,UAAU,EAAE,CAAC;IAEzB,kFAAkF;IAClF,UAAU,CAAC,eAAe,EAAE;QACxB,UAAU,EAAE,UAAU,EAAE;KAC3B,CAAC,CAAC;IAEH,oBAAoB;IACpB,eAAe,EAAE,CAAC;IAElB,wBAAwB;IACxB,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,SAAS,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,IAAI,cAAc,IAAI,gBAAgB,EAAE,CAAC;YACrC,UAAU,CAAC,aAAa,EAAE;gBACtB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB;aAC1C,CAAC,CAAC;YACH,SAAS,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,SAAS;IACrB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;QACjC,OAAO,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,SAAS,UAAU,CAAC,IAAY,EAAE,UAAsD;IACpF,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAE9B,MAAM,KAAK,GAAmB;QAC1B,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,UAAU,EAAE,UAAU,EAAE;QACxB,UAAU;KACb,CAAC;IAEF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvB,0CAA0C;IAC1C,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC;IACZ,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAC/B,QAAgB,EAChB,OAAgB,EAChB,UAAkB,EAClB,YAAqB,EACrB,YAAqB,EACrB,WAAoB,EACpB,YAAqB,EACrB,cAAuB,EACvB,WAAqB,EACrB,UAAoB,EACpB,UAAmB,EACnB,WAAoB,EACpB,eAAwB,EACxB,WAAoB;IAEpB,iEAAiE;IACjE,IAAI,SAAS,EAAE;QAAE,IAAI,CAAC;YAClB,MAAM,UAAU,GAA4B;gBACxC,IAAI,EAAE,iBAAiB;gBACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,QAAQ;gBACR,OAAO;gBACP,QAAQ,EAAE,UAAU;gBACpB,UAAU,EAAE,KAAK;aACpB,CAAC;YACF,IAAI,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;gBAC3B,UAAU,CAAC,aAAa,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;gBACzD,UAAU,CAAC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACzD,IAAI,YAAY;oBAAE,UAAU,CAAC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/E,CAAC;YACD,IAAI,cAAc;gBAAE,UAAU,CAAC,cAAc,GAAG,cAAc,CAAC;YAC/D,IAAI,WAAW,KAAK,SAAS;gBAAE,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;YACpE,IAAI,UAAU,KAAK,SAAS;gBAAE,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;YACjE,IAAI,UAAU,KAAK,SAAS;gBAAE,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;YACjE,IAAI,WAAW;gBAAE,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;YACtD,IAAI,WAAW;gBAAE,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;YACtD,IAAI,eAAe;gBAAE,UAAU,CAAC,eAAe,GAAG,eAAe,CAAC;YAClE,cAAc,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACL,4EAA4E;QAChF,CAAC;IAED,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,gEAAgE;IAChE,IAAI,CAAC,cAAc,IAAI,CAAC,iBAAiB,IAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC;QAC9F,IAAI,cAAc,EAAE,CAAC;YACjB,iDAAiD;YACjD,UAAU,CAAC,aAAa,EAAE;gBACtB,QAAQ,EAAE,iBAAkB,GAAG,gBAAiB;aACnD,CAAC,CAAC;YACH,SAAS,GAAG,UAAU,EAAE,CAAC;QAC7B,CAAC;QACD,cAAc,GAAG,IAAI,CAAC;QACtB,gBAAgB,GAAG,GAAG,CAAC;QACvB,UAAU,CAAC,2BAA2B,EAAE;YACpC,UAAU,EAAE,UAAU,EAAE;YACxB,SAAS,EAAE,QAAQ;SACtB,CAAC,CAAC;QAEH,uFAAuF;QACvF,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;YACpD,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACV,6DAA6D;QACjE,CAAC,CAAC,CAAC;IACP,CAAC;IACD,iBAAiB,GAAG,GAAG,CAAC;IAExB,MAAM,KAAK,GAAmB;QAC1B,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,GAAG;QACd,QAAQ;QACR,OAAO;QACP,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,UAAU,EAAE;KAC3B,CAAC;IAEF,IAAI,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;QAC3B,KAAK,CAAC,aAAa,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QACpD,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,4EAA4E;QAC5E,IAAI,YAAY,EAAE,CAAC;YACf,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,GAAG,CAAC;QAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IAClF,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,CAAC;QAAE,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;IACtF,IAAI,cAAc;QAAE,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC;IAC1D,IAAI,WAAW,KAAK,SAAS;QAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IAC/D,IAAI,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IAC5D,IAAI,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IAC5D,IAAI,WAAW;QAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IACjD,IAAI,WAAW;QAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IAEjD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvB,gCAAgC;IAChC,mBAAmB,EAAE,CAAC;IAEtB,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC;IACZ,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,MAAc,EAAE,IAAY,EAAE,UAAkB;IACvE,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAE9B,MAAM,KAAK,GAAmB;QAC1B,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,UAAU,EAAE;QACxB,YAAY,EAAE,GAAG,MAAM,IAAI,IAAI,EAAE;KACpC,CAAC;IAEF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvB,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC;IACZ,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAMjC;IACG,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAE9B,MAAM,KAAK,GAAmB;QAC1B,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,UAAU,EAAE,UAAU,EAAE;QACxB,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;YACzB,EAAE,EAAE,SAAS,CAAC,kBAAkB;YAChC,IAAI,EAAE,SAAS,CAAC,YAAY;YAC5B,GAAG,EAAE,SAAS,CAAC,QAAQ;YACvB,IAAI,EAAE,SAAS,CAAC,WAAW;YAC3B,EAAE,EAAE,SAAS,CAAC,SAAS;SAC1B,CAAC;QACF,cAAc,EAAE,SAAS,CAAC,WAAW;KACxC,CAAC;IAEF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvB,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC;IACZ,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,SAAS,eAAe;IACpB,IAAI,UAAU;QAAE,OAAO;IAEvB,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1B,KAAK,EAAE,CAAC;IACZ,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAEtB,6CAA6C;IAC7C,UAAU,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,KAAK;IAChB,IAAI,CAAC,gBAAgB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEzD,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IACrC,UAAU,GAAG,EAAE,CAAC;IAEhB,IAAI,CAAC;QACD,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACL,yDAAyD;IAC7D,CAAC;AACL,CAAC;AAED,SAAS,SAAS;IACd,IAAI,CAAC,gBAAgB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEzD,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IACrC,UAAU,GAAG,EAAE,CAAC;IAEhB,mDAAmD;IACnD,mDAAmD;IACnD,UAAU,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAwB;IAC9C,MAAM,OAAO,GAAqB;QAC9B,cAAc,EAAE,iBAAiB,EAAE;QACnC,SAAS,EAAE,SAAS,IAAI,SAAS;QACjC,aAAa,EAAE,gBAAgB,EAAE;QACjC,WAAW,EAAE,OAAO,CAAC,OAAO;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM;KACT,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAE3E,IAAI,CAAC;QACD,MAAM,KAAK,CAAC,kBAAkB,EAAE;YAC5B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,iBAAiB;aACjC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC5B,CAAC,CAAC;IACP,CAAC;YAAS,CAAC;QACP,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;AACL,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -3,20 +3,21 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
5
5
|
import { createServer as createHttpServer } from "node:http";
|
|
6
|
+
import { existsSync, unlinkSync } from "fs";
|
|
6
7
|
import { z } from "zod";
|
|
7
8
|
import { getGuideOverview, getGuideByTopic, getAvailableTopics } from "./core/guides.js";
|
|
8
9
|
import { getLicenseStatus, getDashboardUrl, getUsageInfo } from "./core/license.js";
|
|
9
10
|
import { API_BASE_URL } from "./core/config.js";
|
|
10
11
|
import { getPostHogClient, identifyIfDevMode, shutdownPostHog } from "./core/posthog.js";
|
|
11
|
-
import { getInstallationId, getServerVersion } from "./core/telemetry.js";
|
|
12
|
+
import { getInstallationId, getServerVersion, isDevMode, TELEMETRY_JSONL_PATH } from "./core/telemetry.js";
|
|
12
13
|
import { isSDKInstalled, querySDKNetwork, getSDKNetworkEntry, getSDKNetworkStats, clearSDKNetwork, querySDKConsole, getSDKConsoleStats, clearSDKConsole } from "./core/sdkBridge.js";
|
|
13
14
|
import { tap } from "./pro/tap.js";
|
|
14
15
|
import { getActivateLicenseConfig, handleActivateLicense, getDeleteAccountConfig, handleDeleteAccount, } from "./tools/accountTools.js";
|
|
15
|
-
import { logBuffers, networkBuffers, getLogBuffer, getNetworkBuffer, getTotalLogCount, getConnectedAppByDevice, LogBuffer, NetworkBuffer, bundleErrorBuffer, imageBuffer, connectedApps, scanMetroPorts, fetchDevices, selectMainDevice,
|
|
16
|
+
import { logBuffers, networkBuffers, getLogBuffer, getNetworkBuffer, getTotalLogCount, getConnectedAppByDevice, LogBuffer, NetworkBuffer, bundleErrorBuffer, imageBuffer, connectedApps, scanMetroPorts, fetchDevices, selectMainDevice, filterDebuggableDevices, connectToDevice, getConnectedApps, executeInApp, listDebugGlobals, inspectGlobal, reloadApp,
|
|
16
17
|
// React Component Inspection
|
|
17
18
|
getComponentTree, getScreenLayout, inspectComponent, findComponents, inspectAtPoint, toggleElementInspector, isInspectorActive, getInspectorSelection, getFirstConnectedApp, getLogs, searchLogs, getLogSummary, getNetworkRequests, searchNetworkRequests, getNetworkStats, formatRequestDetails,
|
|
18
19
|
// Connection state
|
|
19
|
-
getAllConnectionStates, getAllConnectionMetadata, getRecentGaps, formatDuration, cancelAllReconnectionTimers, cancelReconnectionTimer, clearAllConnectionState, suppressReconnection, suppressReconnectionForKey, clearReconnectionSuppression,
|
|
20
|
+
getAllConnectionStates, getAllConnectionMetadata, getRecentGaps, formatDuration, cancelAllReconnectionTimers, cancelReconnectionTimer, clearAllConnectionState, clearAllCDPMessageTimes, suppressReconnection, suppressReconnectionForKey, clearReconnectionSuppression,
|
|
20
21
|
// Context health tracking
|
|
21
22
|
getContextHealth,
|
|
22
23
|
// Connection resilience
|
|
@@ -48,7 +49,7 @@ initTelemetry, trackToolInvocation, getTargetPlatform,
|
|
|
48
49
|
// Format utilities (TONL)
|
|
49
50
|
formatLogsAsTonl, formatNetworkAsTonl,
|
|
50
51
|
// LogBox detection & control
|
|
51
|
-
detectLogBox, formatLogBoxWarning, dismissLogBox, formatDismissedEntries, pushLogBox, addLogBoxIgnorePatterns } from "./core/index.js";
|
|
52
|
+
detectLogBox, formatLogBoxWarning, dismissLogBox, formatDismissedEntries, pushLogBox, addLogBoxIgnorePatterns, verifyLogPipeline } from "./core/index.js";
|
|
52
53
|
// Helper: resolve log buffer for a device (or create a merged buffer from all devices)
|
|
53
54
|
function resolveLogBuffer(device) {
|
|
54
55
|
if (device) {
|
|
@@ -182,6 +183,8 @@ function registerToolWithTelemetry(toolName, config, handler, emptyResultDetecto
|
|
|
182
183
|
let meaningful;
|
|
183
184
|
let changeRate;
|
|
184
185
|
let tapStrategy;
|
|
186
|
+
let responsePreview;
|
|
187
|
+
let emptyReason;
|
|
185
188
|
try {
|
|
186
189
|
inputTokens = Math.ceil(JSON.stringify(args).length / 4);
|
|
187
190
|
}
|
|
@@ -214,6 +217,8 @@ function registerToolWithTelemetry(toolName, config, handler, emptyResultDetecto
|
|
|
214
217
|
changeRate = result._changeRate;
|
|
215
218
|
if (result?._tapStrategy)
|
|
216
219
|
tapStrategy = result._tapStrategy;
|
|
220
|
+
if (result?._emptyReason)
|
|
221
|
+
emptyReason = result._emptyReason;
|
|
217
222
|
if (Array.isArray(result?.content)) {
|
|
218
223
|
let totalTokens = 0;
|
|
219
224
|
for (const item of result.content) {
|
|
@@ -227,6 +232,15 @@ function registerToolWithTelemetry(toolName, config, handler, emptyResultDetecto
|
|
|
227
232
|
if (totalTokens > 0)
|
|
228
233
|
outputTokens = totalTokens;
|
|
229
234
|
}
|
|
235
|
+
// Capture response text preview for local dev dashboard
|
|
236
|
+
if (Array.isArray(result?.content)) {
|
|
237
|
+
const textParts = result.content
|
|
238
|
+
.filter((item) => item.type === "text")
|
|
239
|
+
.map((item) => item.text);
|
|
240
|
+
if (textParts.length > 0) {
|
|
241
|
+
responsePreview = textParts.join("\n").substring(0, 2000);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
230
244
|
return result;
|
|
231
245
|
}
|
|
232
246
|
catch (error) {
|
|
@@ -237,7 +251,7 @@ function registerToolWithTelemetry(toolName, config, handler, emptyResultDetecto
|
|
|
237
251
|
}
|
|
238
252
|
finally {
|
|
239
253
|
const duration = Date.now() - startTime;
|
|
240
|
-
trackToolInvocation(toolName, success, duration, errorMessage, errorContext, inputTokens, outputTokens, getTargetPlatform(), emptyResult, meaningful, changeRate, tapStrategy);
|
|
254
|
+
trackToolInvocation(toolName, success, duration, errorMessage, errorContext, inputTokens, outputTokens, getTargetPlatform(), emptyResult, meaningful, changeRate, tapStrategy, responsePreview, emptyReason);
|
|
241
255
|
getPostHogClient()?.capture({
|
|
242
256
|
distinctId: getInstallationId(),
|
|
243
257
|
event: toolName,
|
|
@@ -310,9 +324,9 @@ registerToolWithTelemetry("scan_metro", {
|
|
|
310
324
|
const portDevices = new Map();
|
|
311
325
|
for (const port of openPorts) {
|
|
312
326
|
const devices = await fetchDevices(port);
|
|
313
|
-
const
|
|
314
|
-
if (
|
|
315
|
-
portDevices.set(port,
|
|
327
|
+
const debuggable = filterDebuggableDevices(devices);
|
|
328
|
+
if (debuggable.length > 0) {
|
|
329
|
+
portDevices.set(port, debuggable);
|
|
316
330
|
}
|
|
317
331
|
}
|
|
318
332
|
// Phase 2: Assign each device to the best port
|
|
@@ -694,8 +708,17 @@ registerToolWithTelemetry("get_logs", {
|
|
|
694
708
|
const summaryText = getLogSummary(resolveLogBuffer(device), { lastN: 5, maxMessageLength: 100 });
|
|
695
709
|
let connectionWarning = "";
|
|
696
710
|
if (getTotalLogCount() === 0) {
|
|
697
|
-
const status = await checkAndEnsureConnection();
|
|
711
|
+
const status = await checkAndEnsureConnection(device);
|
|
698
712
|
connectionWarning = status.message ? `\n\n${status.message}` : "";
|
|
713
|
+
if (status.connected) {
|
|
714
|
+
const targetApp = device ? getConnectedAppByDevice(device) : getFirstConnectedApp();
|
|
715
|
+
if (targetApp) {
|
|
716
|
+
const pipeline = await verifyLogPipeline(targetApp);
|
|
717
|
+
if (pipeline.message) {
|
|
718
|
+
connectionWarning += `\n\n${pipeline.message}`;
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
}
|
|
699
722
|
}
|
|
700
723
|
return {
|
|
701
724
|
content: [
|
|
@@ -715,9 +738,60 @@ registerToolWithTelemetry("get_logs", {
|
|
|
715
738
|
});
|
|
716
739
|
// Check connection health
|
|
717
740
|
let connectionWarning = "";
|
|
741
|
+
let emptyReason;
|
|
718
742
|
if (count === 0) {
|
|
719
|
-
const status = await checkAndEnsureConnection();
|
|
743
|
+
const status = await checkAndEnsureConnection(device);
|
|
720
744
|
connectionWarning = status.message ? `\n\n${status.message}` : "";
|
|
745
|
+
// Track empty reason for telemetry
|
|
746
|
+
emptyReason = "no_logs";
|
|
747
|
+
if (!status.connected) {
|
|
748
|
+
emptyReason = "disconnected";
|
|
749
|
+
}
|
|
750
|
+
else if (status.wasReconnected) {
|
|
751
|
+
emptyReason = "post_reconnect";
|
|
752
|
+
}
|
|
753
|
+
// End-to-end log pipeline verification (with automatic recovery)
|
|
754
|
+
if (status.connected) {
|
|
755
|
+
const targetApp = device ? getConnectedAppByDevice(device) : getFirstConnectedApp();
|
|
756
|
+
if (targetApp) {
|
|
757
|
+
const pipeline = await verifyLogPipeline(targetApp);
|
|
758
|
+
if (pipeline.message) {
|
|
759
|
+
connectionWarning += `\n\n${pipeline.message}`;
|
|
760
|
+
}
|
|
761
|
+
if (!pipeline.ok) {
|
|
762
|
+
emptyReason = "pipeline_failed";
|
|
763
|
+
}
|
|
764
|
+
else if (pipeline.recovered) {
|
|
765
|
+
emptyReason = "pipeline_recovered";
|
|
766
|
+
}
|
|
767
|
+
// If pipeline recovered, re-read the buffer — new logs may have arrived
|
|
768
|
+
if (pipeline.recovered && pipeline.ok) {
|
|
769
|
+
const retryResult = getLogs(resolveLogBuffer(device), {
|
|
770
|
+
maxLogs, level, startFromText, maxMessageLength, verbose
|
|
771
|
+
});
|
|
772
|
+
if (retryResult.count > 0) {
|
|
773
|
+
// Return the recovered logs instead of empty
|
|
774
|
+
return {
|
|
775
|
+
_emptyReason: "pipeline_recovered",
|
|
776
|
+
content: [{
|
|
777
|
+
type: "text",
|
|
778
|
+
text: `React Native Console Logs (${retryResult.count} entries):\n\n${retryResult.formatted}${connectionWarning}`
|
|
779
|
+
}]
|
|
780
|
+
};
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
// Add diagnostic metadata for empty results (captured by telemetry via responsePreview)
|
|
786
|
+
if (count === 0) {
|
|
787
|
+
const diagParts = [
|
|
788
|
+
`empty_reason=${status?.wasReconnected ? "post_reconnect" : "no_logs"}`,
|
|
789
|
+
`connection=${getPassiveConnectionStatus().reason}`,
|
|
790
|
+
`device_count=${connectedApps.size}`,
|
|
791
|
+
`buffer_sizes=${JSON.stringify(Object.fromEntries([...logBuffers.entries()].map(([k, v]) => [k, v.size])))}`,
|
|
792
|
+
];
|
|
793
|
+
connectionWarning += `\n\n[DIAG] ${diagParts.join(", ")}`;
|
|
794
|
+
}
|
|
721
795
|
}
|
|
722
796
|
else {
|
|
723
797
|
const passive = getPassiveConnectionStatus();
|
|
@@ -745,6 +819,7 @@ registerToolWithTelemetry("get_logs", {
|
|
|
745
819
|
if (format === "tonl") {
|
|
746
820
|
const tonlOutput = formatLogsAsTonl(logs, { maxMessageLength: verbose ? 0 : maxMessageLength });
|
|
747
821
|
return {
|
|
822
|
+
...(emptyReason && { _emptyReason: emptyReason }),
|
|
748
823
|
content: [
|
|
749
824
|
{
|
|
750
825
|
type: "text",
|
|
@@ -754,6 +829,7 @@ registerToolWithTelemetry("get_logs", {
|
|
|
754
829
|
};
|
|
755
830
|
}
|
|
756
831
|
return {
|
|
832
|
+
...(emptyReason && { _emptyReason: emptyReason }),
|
|
757
833
|
content: [
|
|
758
834
|
{
|
|
759
835
|
type: "text",
|
|
@@ -823,7 +899,7 @@ registerToolWithTelemetry("search_logs", {
|
|
|
823
899
|
// Check connection health
|
|
824
900
|
let connectionWarning = "";
|
|
825
901
|
if (count === 0) {
|
|
826
|
-
const status = await checkAndEnsureConnection();
|
|
902
|
+
const status = await checkAndEnsureConnection(device);
|
|
827
903
|
connectionWarning = status.message ? `\n\n${status.message}` : "";
|
|
828
904
|
}
|
|
829
905
|
else {
|
|
@@ -1008,6 +1084,7 @@ registerToolWithTelemetry("disconnect_metro", {
|
|
|
1008
1084
|
disconnectMetroBuildEvents();
|
|
1009
1085
|
// Clear connection state (but NOT log/network buffers)
|
|
1010
1086
|
clearAllConnectionState();
|
|
1087
|
+
clearAllCDPMessageTimes();
|
|
1011
1088
|
const lines = [
|
|
1012
1089
|
`Disconnected from ${disconnected.length} app(s):`,
|
|
1013
1090
|
...disconnected.map((d) => ` - ${d}`),
|
|
@@ -1813,7 +1890,7 @@ registerToolWithTelemetry("get_network_requests", {
|
|
|
1813
1890
|
const stats = getNetworkStats(resolveNetworkBuffer(device));
|
|
1814
1891
|
let connectionWarning = "";
|
|
1815
1892
|
if (resolveNetworkBuffer(device).size === 0) {
|
|
1816
|
-
const connStatus = await checkAndEnsureConnection();
|
|
1893
|
+
const connStatus = await checkAndEnsureConnection(device);
|
|
1817
1894
|
connectionWarning = connStatus.message ? `\n\n${connStatus.message}` : "";
|
|
1818
1895
|
if (!sdkAvailable) {
|
|
1819
1896
|
connectionWarning += "\n\n[TIP] For full network capture including startup requests and response bodies, install the SDK: npm install react-native-ai-devtools-sdk";
|
|
@@ -1837,7 +1914,7 @@ registerToolWithTelemetry("get_network_requests", {
|
|
|
1837
1914
|
// Check connection health
|
|
1838
1915
|
let connectionWarning = "";
|
|
1839
1916
|
if (count === 0) {
|
|
1840
|
-
const connStatus = await checkAndEnsureConnection();
|
|
1917
|
+
const connStatus = await checkAndEnsureConnection(device);
|
|
1841
1918
|
connectionWarning = connStatus.message ? `\n\n${connStatus.message}` : "";
|
|
1842
1919
|
if (!sdkAvailable) {
|
|
1843
1920
|
connectionWarning += "\n\n[TIP] For full network capture including startup requests and response bodies, install the SDK: npm install react-native-ai-devtools-sdk";
|
|
@@ -1927,7 +2004,7 @@ registerToolWithTelemetry("search_network", {
|
|
|
1927
2004
|
// Check connection health
|
|
1928
2005
|
let connectionWarning = "";
|
|
1929
2006
|
if (count === 0) {
|
|
1930
|
-
const status = await checkAndEnsureConnection();
|
|
2007
|
+
const status = await checkAndEnsureConnection(device);
|
|
1931
2008
|
connectionWarning = status.message ? `\n\n${status.message}` : "";
|
|
1932
2009
|
}
|
|
1933
2010
|
else {
|
|
@@ -2024,7 +2101,7 @@ registerToolWithTelemetry("get_request_details", {
|
|
|
2024
2101
|
// Fallback: read from in-process buffer
|
|
2025
2102
|
const request = resolveNetworkBuffer(device).get(requestId);
|
|
2026
2103
|
if (!request) {
|
|
2027
|
-
const status = await checkAndEnsureConnection();
|
|
2104
|
+
const status = await checkAndEnsureConnection(device);
|
|
2028
2105
|
const connectionNote = status.message ? `\n\n${status.message}` : "";
|
|
2029
2106
|
return {
|
|
2030
2107
|
content: [
|
|
@@ -2086,7 +2163,7 @@ registerToolWithTelemetry("get_network_stats", {
|
|
|
2086
2163
|
// Check connection health
|
|
2087
2164
|
let connectionWarning = "";
|
|
2088
2165
|
if (resolveNetworkBuffer(device).size === 0) {
|
|
2089
|
-
const status = await checkAndEnsureConnection();
|
|
2166
|
+
const status = await checkAndEnsureConnection(device);
|
|
2090
2167
|
connectionWarning = status.message ? `\n\n${status.message}` : "";
|
|
2091
2168
|
}
|
|
2092
2169
|
else {
|
|
@@ -3804,6 +3881,23 @@ registerToolWithTelemetry("restart_http_server", {
|
|
|
3804
3881
|
registerToolWithTelemetry("activate_license", getActivateLicenseConfig(), handleActivateLicense);
|
|
3805
3882
|
// Tool: Delete account
|
|
3806
3883
|
registerToolWithTelemetry("delete_account", getDeleteAccountConfig(), handleDeleteAccount);
|
|
3884
|
+
// Dev-only tool: reset local telemetry data
|
|
3885
|
+
if (isDevMode()) {
|
|
3886
|
+
registerToolWithTelemetry("reset_telemetry", {
|
|
3887
|
+
description: "Clear local telemetry data file (/tmp/rn-devtools-telemetry.jsonl). Only available in development mode.",
|
|
3888
|
+
inputSchema: {},
|
|
3889
|
+
}, async () => {
|
|
3890
|
+
if (existsSync(TELEMETRY_JSONL_PATH)) {
|
|
3891
|
+
unlinkSync(TELEMETRY_JSONL_PATH);
|
|
3892
|
+
return {
|
|
3893
|
+
content: [{ type: "text", text: "Local telemetry data cleared." }],
|
|
3894
|
+
};
|
|
3895
|
+
}
|
|
3896
|
+
return {
|
|
3897
|
+
content: [{ type: "text", text: "No local telemetry data file found." }],
|
|
3898
|
+
};
|
|
3899
|
+
});
|
|
3900
|
+
}
|
|
3807
3901
|
/**
|
|
3808
3902
|
* Auto-connect to Metro bundler on startup
|
|
3809
3903
|
* Scans common ports and connects to any running Metro servers
|