browser-debugger-cli 0.6.8 → 0.6.10
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/dist/__tests__/telemetry/filterDsl.unit.test.d.ts +12 -0
- package/dist/__tests__/telemetry/filterDsl.unit.test.d.ts.map +1 -0
- package/dist/__tests__/telemetry/filterDsl.unit.test.js +374 -0
- package/dist/__tests__/telemetry/filterDsl.unit.test.js.map +1 -0
- package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts +10 -0
- package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts.map +1 -0
- package/dist/__tests__/telemetry/filterPresets.unit.test.js +89 -0
- package/dist/__tests__/telemetry/filterPresets.unit.test.js.map +1 -0
- package/dist/commands/cleanup.js +1 -1
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/console.d.ts +9 -0
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +60 -28
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/details.d.ts.map +1 -1
- package/dist/commands/details.js +20 -9
- package/dist/commands/details.js.map +1 -1
- package/dist/commands/dom/DomElementResolver.d.ts +23 -7
- package/dist/commands/dom/DomElementResolver.d.ts.map +1 -1
- package/dist/commands/dom/DomElementResolver.js +64 -16
- package/dist/commands/dom/DomElementResolver.js.map +1 -1
- package/dist/commands/dom/a11y.d.ts.map +1 -1
- package/dist/commands/dom/a11y.js +30 -18
- package/dist/commands/dom/a11y.js.map +1 -1
- package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
- package/dist/commands/dom/formFillHelpers.js +64 -2
- package/dist/commands/dom/formFillHelpers.js.map +1 -1
- package/dist/commands/dom/formInteraction.js +4 -4
- package/dist/commands/dom/formInteraction.js.map +1 -1
- package/dist/commands/dom/helpers.d.ts +38 -2
- package/dist/commands/dom/helpers.d.ts.map +1 -1
- package/dist/commands/dom/helpers.js +104 -3
- package/dist/commands/dom/helpers.js.map +1 -1
- package/dist/commands/dom/index.d.ts +1 -1
- package/dist/commands/dom/index.d.ts.map +1 -1
- package/dist/commands/dom/index.js +407 -151
- package/dist/commands/dom/index.js.map +1 -1
- package/dist/commands/helpJson.d.ts.map +1 -1
- package/dist/commands/helpJson.js +27 -10
- package/dist/commands/helpJson.js.map +1 -1
- package/dist/commands/network/har.d.ts +14 -0
- package/dist/commands/network/har.d.ts.map +1 -0
- package/dist/commands/network/har.js +97 -0
- package/dist/commands/network/har.js.map +1 -0
- package/dist/commands/network/index.d.ts +18 -0
- package/dist/commands/network/index.d.ts.map +1 -0
- package/dist/commands/network/index.js +27 -0
- package/dist/commands/network/index.js.map +1 -0
- package/dist/commands/network/list.d.ts +14 -0
- package/dist/commands/network/list.d.ts.map +1 -0
- package/dist/commands/network/list.js +269 -0
- package/dist/commands/network/list.js.map +1 -0
- package/dist/commands/network/shared.d.ts +56 -0
- package/dist/commands/network/shared.d.ts.map +1 -0
- package/dist/commands/network/shared.js +174 -0
- package/dist/commands/network/shared.js.map +1 -0
- package/dist/commands/network.js +4 -4
- package/dist/commands/network.js.map +1 -1
- package/dist/commands/peek.d.ts.map +1 -1
- package/dist/commands/peek.js +12 -11
- package/dist/commands/peek.js.map +1 -1
- package/dist/commands/shared/CommandRunner.d.ts +19 -0
- package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
- package/dist/commands/shared/CommandRunner.js +30 -0
- package/dist/commands/shared/CommandRunner.js.map +1 -1
- package/dist/commands/shared/commonOptions.d.ts +8 -24
- package/dist/commands/shared/commonOptions.d.ts.map +1 -1
- package/dist/commands/shared/commonOptions.js +9 -25
- package/dist/commands/shared/commonOptions.js.map +1 -1
- package/dist/commands/shared/followMode.d.ts +50 -0
- package/dist/commands/shared/followMode.d.ts.map +1 -0
- package/dist/commands/shared/followMode.js +58 -0
- package/dist/commands/shared/followMode.js.map +1 -0
- package/dist/commands/shared/optionTypes.d.ts +38 -0
- package/dist/commands/shared/optionTypes.d.ts.map +1 -1
- package/dist/commands/shared/startHelpers.d.ts +2 -10
- package/dist/commands/shared/startHelpers.d.ts.map +1 -1
- package/dist/commands/shared/startHelpers.js +9 -4
- package/dist/commands/shared/startHelpers.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +3 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.js +5 -5
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.js +1 -1
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.d.ts.map +1 -1
- package/dist/commands/tail.js +7 -16
- package/dist/commands/tail.js.map +1 -1
- package/dist/commands/types.d.ts +11 -5
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands.js +1 -1
- package/dist/commands.js.map +1 -1
- package/dist/connection/diagnostics.d.ts +9 -0
- package/dist/connection/diagnostics.d.ts.map +1 -1
- package/dist/connection/diagnostics.js +13 -0
- package/dist/connection/diagnostics.js.map +1 -1
- package/dist/connection/handlers.d.ts +1 -8
- package/dist/connection/handlers.d.ts.map +1 -1
- package/dist/connection/handlers.js.map +1 -1
- package/dist/connection/launcher/binaryResolver.d.ts.map +1 -1
- package/dist/connection/launcher/binaryResolver.js +1 -14
- package/dist/connection/launcher/binaryResolver.js.map +1 -1
- package/dist/connection/launcher.d.ts.map +1 -1
- package/dist/connection/launcher.js +3 -15
- package/dist/connection/launcher.js.map +1 -1
- package/dist/connection/pageReadiness.d.ts.map +1 -1
- package/dist/connection/pageReadiness.js +12 -8
- package/dist/connection/pageReadiness.js.map +1 -1
- package/dist/connection/typed-cdp.d.ts +3 -5
- package/dist/connection/typed-cdp.d.ts.map +1 -1
- package/dist/connection/typed-cdp.js +1 -1
- package/dist/connection/typed-cdp.js.map +1 -1
- package/dist/constants.d.ts +15 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +18 -0
- package/dist/constants.js.map +1 -1
- package/dist/daemon/__tests__/commandRegistry.contract.test.js +6 -2
- package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -1
- package/dist/daemon/handlers/CommandHandlers.d.ts +5 -0
- package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -1
- package/dist/daemon/handlers/CommandHandlers.js +6 -1
- package/dist/daemon/handlers/CommandHandlers.js.map +1 -1
- package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -1
- package/dist/daemon/handlers/QueryHandlers.js +3 -1
- package/dist/daemon/handlers/QueryHandlers.js.map +1 -1
- package/dist/daemon/handlers/responseHandler.d.ts.map +1 -1
- package/dist/daemon/handlers/responseHandler.js +10 -0
- package/dist/daemon/handlers/responseHandler.js.map +1 -1
- package/dist/daemon/worker/TelemetryStore.d.ts +2 -1
- package/dist/daemon/worker/TelemetryStore.d.ts.map +1 -1
- package/dist/daemon/worker/TelemetryStore.js +4 -0
- package/dist/daemon/worker/TelemetryStore.js.map +1 -1
- package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
- package/dist/daemon/worker/commandRegistry.js +150 -55
- package/dist/daemon/worker/commandRegistry.js.map +1 -1
- package/dist/daemon/worker/plugins.d.ts.map +1 -1
- package/dist/daemon/worker/plugins.js +8 -1
- package/dist/daemon/worker/plugins.js.map +1 -1
- package/dist/ipc/client.d.ts +10 -1
- package/dist/ipc/client.d.ts.map +1 -1
- package/dist/ipc/client.js +12 -2
- package/dist/ipc/client.js.map +1 -1
- package/dist/ipc/session/queries.d.ts +2 -0
- package/dist/ipc/session/queries.d.ts.map +1 -1
- package/dist/session/QueryCacheManager.d.ts +1 -1
- package/dist/session/QueryCacheManager.d.ts.map +1 -1
- package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts +2 -0
- package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts.map +1 -0
- package/dist/telemetry/__tests__/remoteObject.unit.test.js +261 -0
- package/dist/telemetry/__tests__/remoteObject.unit.test.js.map +1 -0
- package/dist/telemetry/console.d.ts +8 -8
- package/dist/telemetry/console.d.ts.map +1 -1
- package/dist/telemetry/console.js +129 -52
- package/dist/telemetry/console.js.map +1 -1
- package/dist/telemetry/filterDsl.d.ts +45 -0
- package/dist/telemetry/filterDsl.d.ts.map +1 -0
- package/dist/telemetry/filterDsl.js +299 -0
- package/dist/telemetry/filterDsl.js.map +1 -0
- package/dist/telemetry/filterPresets.d.ts +35 -0
- package/dist/telemetry/filterPresets.d.ts.map +1 -0
- package/dist/telemetry/filterPresets.js +76 -0
- package/dist/telemetry/filterPresets.js.map +1 -0
- package/dist/telemetry/navigation.d.ts.map +1 -1
- package/dist/telemetry/navigation.js +7 -0
- package/dist/telemetry/navigation.js.map +1 -1
- package/dist/telemetry/network.d.ts +12 -1
- package/dist/telemetry/network.d.ts.map +1 -1
- package/dist/telemetry/network.js +132 -8
- package/dist/telemetry/network.js.map +1 -1
- package/dist/telemetry/objectExpander.d.ts +35 -0
- package/dist/telemetry/objectExpander.d.ts.map +1 -0
- package/dist/telemetry/objectExpander.js +165 -0
- package/dist/telemetry/objectExpander.js.map +1 -0
- package/dist/telemetry/remoteObject.d.ts +7 -24
- package/dist/telemetry/remoteObject.d.ts.map +1 -1
- package/dist/telemetry/remoteObject.js +124 -65
- package/dist/telemetry/remoteObject.js.map +1 -1
- package/dist/telemetry/remoteObjectUtils.d.ts +40 -0
- package/dist/telemetry/remoteObjectUtils.d.ts.map +1 -0
- package/dist/telemetry/remoteObjectUtils.js +75 -0
- package/dist/telemetry/remoteObjectUtils.js.map +1 -0
- package/dist/telemetry/roleInference.d.ts +1 -1
- package/dist/telemetry/roleInference.d.ts.map +1 -1
- package/dist/types.d.ts +143 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/formatters/a11y.d.ts +1 -1
- package/dist/ui/formatters/a11y.d.ts.map +1 -1
- package/dist/ui/formatters/console.d.ts +14 -2
- package/dist/ui/formatters/console.d.ts.map +1 -1
- package/dist/ui/formatters/console.js +38 -7
- package/dist/ui/formatters/console.js.map +1 -1
- package/dist/ui/formatters/dom.d.ts +9 -18
- package/dist/ui/formatters/dom.d.ts.map +1 -1
- package/dist/ui/formatters/dom.js +55 -22
- package/dist/ui/formatters/dom.js.map +1 -1
- package/dist/ui/formatters/networkList.d.ts +19 -0
- package/dist/ui/formatters/networkList.d.ts.map +1 -0
- package/dist/ui/formatters/networkList.js +86 -0
- package/dist/ui/formatters/networkList.js.map +1 -0
- package/dist/ui/formatters/preview.d.ts +18 -0
- package/dist/ui/formatters/preview.d.ts.map +1 -1
- package/dist/ui/formatters/preview.js +13 -5
- package/dist/ui/formatters/preview.js.map +1 -1
- package/dist/ui/logging/logger.d.ts +1 -1
- package/dist/ui/logging/logger.d.ts.map +1 -1
- package/dist/ui/logging/logger.js.map +1 -1
- package/dist/ui/messages/networkMessages.d.ts +24 -0
- package/dist/ui/messages/networkMessages.d.ts.map +1 -0
- package/dist/ui/messages/networkMessages.js +30 -0
- package/dist/ui/messages/networkMessages.js.map +1 -0
- package/dist/utils/exitCodes.d.ts +2 -0
- package/dist/utils/exitCodes.d.ts.map +1 -1
- package/dist/utils/exitCodes.js +2 -0
- package/dist/utils/exitCodes.js.map +1 -1
- package/dist/utils/taskMappings.d.ts.map +1 -1
- package/dist/utils/taskMappings.js +2 -2
- package/dist/utils/taskMappings.js.map +1 -1
- package/dist/utils/typeGuards.d.ts +11 -4
- package/dist/utils/typeGuards.d.ts.map +1 -1
- package/dist/utils/typeGuards.js +1 -17
- package/dist/utils/typeGuards.js.map +1 -1
- package/package.json +4 -4
|
@@ -30,10 +30,8 @@ function fetchResponseBody(cdp, requestId, request, pendingFetches) {
|
|
|
30
30
|
void cdp
|
|
31
31
|
.send('Network.getResponseBody', { requestId })
|
|
32
32
|
.then((response) => {
|
|
33
|
-
|
|
34
|
-
if (!pendingFetches.has(requestId)) {
|
|
33
|
+
if (!pendingFetches.has(requestId))
|
|
35
34
|
return;
|
|
36
|
-
}
|
|
37
35
|
const typedResponse = response;
|
|
38
36
|
request.responseBody = typedResponse.body;
|
|
39
37
|
if (typedResponse.body) {
|
|
@@ -66,20 +64,17 @@ function createNetworkRequest(params, getCurrentNavigationId) {
|
|
|
66
64
|
/**
|
|
67
65
|
* Clean up stale requests from the request map.
|
|
68
66
|
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
67
|
+
* Leverages Map insertion order to iterate from oldest entries first,
|
|
68
|
+
* exiting early once a non-stale request is found (O(k) where k = stale count).
|
|
71
69
|
*/
|
|
72
70
|
function cleanupStaleRequests(requestMap) {
|
|
73
71
|
const now = Date.now();
|
|
74
72
|
const staleRequests = [];
|
|
75
|
-
// Maps maintain insertion order, so oldest entries come first.
|
|
76
|
-
// Exit early once we find a non-stale request since newer ones won't be stale either.
|
|
77
73
|
for (const [requestId, value] of requestMap) {
|
|
78
74
|
if (now - value.timestamp > STALE_REQUEST_TIMEOUT) {
|
|
79
75
|
staleRequests.push(requestId);
|
|
80
76
|
}
|
|
81
77
|
else {
|
|
82
|
-
// Found first non-stale request, stop iterating
|
|
83
78
|
break;
|
|
84
79
|
}
|
|
85
80
|
}
|
|
@@ -222,6 +217,19 @@ export async function startNetworkCollection(cdp, requests, options = {}) {
|
|
|
222
217
|
return;
|
|
223
218
|
}
|
|
224
219
|
entry.request.status = 0;
|
|
220
|
+
if (params.errorText) {
|
|
221
|
+
entry.request.errorText = params.errorText;
|
|
222
|
+
}
|
|
223
|
+
if (params.canceled) {
|
|
224
|
+
entry.request.canceled = true;
|
|
225
|
+
}
|
|
226
|
+
if (params.blockedReason) {
|
|
227
|
+
entry.request.blocked = true;
|
|
228
|
+
entry.request.blockedReason = params.blockedReason;
|
|
229
|
+
}
|
|
230
|
+
if (params.type) {
|
|
231
|
+
entry.request.resourceType = params.type;
|
|
232
|
+
}
|
|
225
233
|
requests.push(entry.request);
|
|
226
234
|
requestMap.delete(params.requestId);
|
|
227
235
|
});
|
|
@@ -240,4 +248,120 @@ export async function startNetworkCollection(cdp, requests, options = {}) {
|
|
|
240
248
|
pendingFetches.clear();
|
|
241
249
|
};
|
|
242
250
|
}
|
|
251
|
+
/** Maximum WebSocket connections to track */
|
|
252
|
+
const MAX_WEBSOCKET_CONNECTIONS = 100;
|
|
253
|
+
/** Maximum frames to capture per WebSocket connection */
|
|
254
|
+
const MAX_FRAMES_PER_CONNECTION = 1000;
|
|
255
|
+
/** Maximum payload size to capture per frame (100KB) */
|
|
256
|
+
const MAX_FRAME_PAYLOAD_SIZE = 100 * 1024;
|
|
257
|
+
/**
|
|
258
|
+
* Start collecting WebSocket connections and frames via CDP Network domain.
|
|
259
|
+
*
|
|
260
|
+
* Tracks WebSocket lifecycle (creation, handshake, frames, close) separately from HTTP requests.
|
|
261
|
+
* Network.enable must be called before this (typically by startNetworkCollection).
|
|
262
|
+
*
|
|
263
|
+
* @param cdp - CDP connection instance
|
|
264
|
+
* @param connections - Array to populate with WebSocket connections
|
|
265
|
+
* @returns Cleanup function to remove event handlers
|
|
266
|
+
*/
|
|
267
|
+
export function startWebSocketCollection(cdp, connections) {
|
|
268
|
+
const connectionMap = new Map();
|
|
269
|
+
const registry = new CDPHandlerRegistry();
|
|
270
|
+
const typed = new TypedCDPConnection(cdp);
|
|
271
|
+
registry.registerTyped(typed, 'Network.webSocketCreated', (params) => {
|
|
272
|
+
if (connectionMap.size >= MAX_WEBSOCKET_CONNECTIONS) {
|
|
273
|
+
log.debug(`WebSocket connection limit reached (${MAX_WEBSOCKET_CONNECTIONS}), skipping new connection`);
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
const connection = {
|
|
277
|
+
requestId: params.requestId,
|
|
278
|
+
url: params.url,
|
|
279
|
+
timestamp: Date.now(),
|
|
280
|
+
frames: [],
|
|
281
|
+
};
|
|
282
|
+
if (params.initiator?.url) {
|
|
283
|
+
connection.initiatorUrl = params.initiator.url;
|
|
284
|
+
}
|
|
285
|
+
connectionMap.set(params.requestId, connection);
|
|
286
|
+
log.debug(`WebSocket created: ${params.url}`);
|
|
287
|
+
});
|
|
288
|
+
registry.registerTyped(typed, 'Network.webSocketHandshakeResponseReceived', (params) => {
|
|
289
|
+
const connection = connectionMap.get(params.requestId);
|
|
290
|
+
if (!connection)
|
|
291
|
+
return;
|
|
292
|
+
connection.status = params.response.status;
|
|
293
|
+
if (params.response.headers) {
|
|
294
|
+
connection.responseHeaders = params.response.headers;
|
|
295
|
+
}
|
|
296
|
+
});
|
|
297
|
+
registry.registerTyped(typed, 'Network.webSocketFrameSent', (params) => {
|
|
298
|
+
const connection = connectionMap.get(params.requestId);
|
|
299
|
+
if (!connection)
|
|
300
|
+
return;
|
|
301
|
+
if (connection.frames.length >= MAX_FRAMES_PER_CONNECTION) {
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
let payloadData = params.response.payloadData;
|
|
305
|
+
if (payloadData.length > MAX_FRAME_PAYLOAD_SIZE) {
|
|
306
|
+
payloadData =
|
|
307
|
+
payloadData.substring(0, MAX_FRAME_PAYLOAD_SIZE) +
|
|
308
|
+
`... [truncated, ${payloadData.length} bytes total]`;
|
|
309
|
+
}
|
|
310
|
+
const frame = {
|
|
311
|
+
timestamp: Date.now(),
|
|
312
|
+
direction: 'sent',
|
|
313
|
+
opcode: params.response.opcode,
|
|
314
|
+
payloadData,
|
|
315
|
+
};
|
|
316
|
+
connection.frames.push(frame);
|
|
317
|
+
});
|
|
318
|
+
registry.registerTyped(typed, 'Network.webSocketFrameReceived', (params) => {
|
|
319
|
+
const connection = connectionMap.get(params.requestId);
|
|
320
|
+
if (!connection)
|
|
321
|
+
return;
|
|
322
|
+
if (connection.frames.length >= MAX_FRAMES_PER_CONNECTION) {
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
let payloadData = params.response.payloadData;
|
|
326
|
+
if (payloadData.length > MAX_FRAME_PAYLOAD_SIZE) {
|
|
327
|
+
payloadData =
|
|
328
|
+
payloadData.substring(0, MAX_FRAME_PAYLOAD_SIZE) +
|
|
329
|
+
`... [truncated, ${payloadData.length} bytes total]`;
|
|
330
|
+
}
|
|
331
|
+
const frame = {
|
|
332
|
+
timestamp: Date.now(),
|
|
333
|
+
direction: 'received',
|
|
334
|
+
opcode: params.response.opcode,
|
|
335
|
+
payloadData,
|
|
336
|
+
};
|
|
337
|
+
connection.frames.push(frame);
|
|
338
|
+
});
|
|
339
|
+
registry.registerTyped(typed, 'Network.webSocketFrameError', (params) => {
|
|
340
|
+
const connection = connectionMap.get(params.requestId);
|
|
341
|
+
if (!connection)
|
|
342
|
+
return;
|
|
343
|
+
connection.errorMessage = params.errorMessage;
|
|
344
|
+
log.debug(`WebSocket frame error for ${connection.url}: ${params.errorMessage}`);
|
|
345
|
+
});
|
|
346
|
+
registry.registerTyped(typed, 'Network.webSocketClosed', (params) => {
|
|
347
|
+
const connection = connectionMap.get(params.requestId);
|
|
348
|
+
if (!connection)
|
|
349
|
+
return;
|
|
350
|
+
connection.closedTime = Date.now();
|
|
351
|
+
connections.push(connection);
|
|
352
|
+
connectionMap.delete(params.requestId);
|
|
353
|
+
log.debug(`WebSocket closed: ${connection.url} (${connection.frames.length} frames captured)`);
|
|
354
|
+
});
|
|
355
|
+
return () => {
|
|
356
|
+
for (const connection of connectionMap.values()) {
|
|
357
|
+
connections.push(connection);
|
|
358
|
+
}
|
|
359
|
+
const totalFrames = connections.reduce((sum, c) => sum + c.frames.length, 0);
|
|
360
|
+
if (connections.length > 0) {
|
|
361
|
+
log.debug(`[PERF] WebSockets: ${connections.length} connections, ${totalFrames} frames captured`);
|
|
362
|
+
}
|
|
363
|
+
registry.cleanup();
|
|
364
|
+
connectionMap.clear();
|
|
365
|
+
};
|
|
366
|
+
}
|
|
243
367
|
//# sourceMappingURL=network.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/telemetry/network.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,iBAAiB,EACjB,2BAA2B,EAC3B,kCAAkC,EAClC,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEhG,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAEpC;;GAEG;AACH,SAAS,mBAAmB,CAC1B,GAAW,EACX,UAAmB,EACnB,cAAwB,EACxB,cAAwB;IAExB,IAAI,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,gBAAgB,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CACxB,GAAkB,EAClB,SAAiB,EACjB,OAAuB,EACvB,cAA2B;IAE3B,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE9B,KAAK,GAAG;SACL,IAAI,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,CAAC;SAC9C,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,wDAAwD;QACxD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,QAAoD,CAAC;QAC3E,OAAO,CAAC,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC;QAC1C,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;QACxD,CAAC;IACH,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,GAAG,CAAC,KAAK,CACP,6CAA6C,SAAS,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CACpF,CAAC;IACJ,CAAC,CAAC;SACD,OAAO,CAAC,GAAG,EAAE;QACZ,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,MAA+C,EAC/C,sBAAqC;IAErC,MAAM,YAAY,GAAG,sBAAsB,EAAE,EAAE,CAAC;IAChD,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG;QACvB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;QAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;QACtC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtF,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,CAAC;QACnD,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;KAChE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,UAAuE;IAEvE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,+DAA+D;IAC/D,sFAAsF;IACtF,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;QAC5C,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,qBAAqB,EAAE,CAAC;YAClD,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,gDAAgD;YAChD,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,eAAe,aAAa,CAAC,MAAM,yBAAyB,CAAC,CAAC;QACxE,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;YACtC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AAaD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,GAAkB,EAClB,QAA0B,EAC1B,UAAoC,EAAE;IAEtC,MAAM,EACJ,UAAU,GAAG,KAAK,EAClB,cAAc,GAAG,KAAK,EACtB,kBAAkB,GAAG,EAAE,EACvB,kBAAkB,GAAG,EAAE,EACvB,cAAc,GAAG,EAAE,EACnB,cAAc,GAAG,EAAE,EACnB,WAAW,GAAG,iBAAiB,EAC/B,sBAAsB,GACvB,GAAG,OAAO,CAAC;IACZ,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0D,CAAC;IACrF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAE1C,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC/B,kBAAkB,EAAE,2BAA2B;YAC/C,qBAAqB,EAAE,kCAAkC;YACzD,eAAe,EAAE,sBAAsB;SACxC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACzE,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,eAAe,GAAG,WAAW,CACjC,GAAG,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,EACtC,8BAA8B,CAC/B,CAAC;IAEF,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,2BAA2B,EAAE,CAAC,MAAM,EAAE,EAAE;QACpE,IAAI,UAAU,CAAC,IAAI,IAAI,oBAAoB,EAAE,CAAC;YAC5C,GAAG,CAAC,KAAK,CACP,2CAA2C,oBAAoB,0BAA0B,CAC1F,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QACrE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE;YAC/B,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,0BAA0B,EAAE,CAAC,MAAM,EAAE,EAAE;QACnE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;QAE7F,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAC9B,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAClC,KAAK,CAAC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;QAEzC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EACJ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,MAAM,EACN,SAAS,EACT,OAAO,EACP,iBAAiB,GAClB,GAAG,MAAM,CAAC;YAEX,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG;gBACrB,WAAW;gBACX,UAAU;gBACV,QAAQ;gBACR,QAAQ;gBACR,MAAM;gBACN,YAAY;gBACZ,UAAU;gBACV,QAAQ;gBACR,MAAM;gBACN,SAAS;gBACT,OAAO;gBACP,iBAAiB;aAClB,CAAC;QACJ,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,KAAK,CAAC,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;QAClD,CAAC;QAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,yBAAyB,EAAE,CAAC,MAAM,EAAE,EAAE;QAClE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,QAAQ,CAAC,MAAM,IAAI,oBAAoB,EAAE,CAAC;YAC5C,GAAG,CAAC,KAAK,CAAC,2CAA2C,oBAAoB,GAAG,CAAC,CAAC;YAC9E,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAE9B,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACvD,CAAC;QAED,OAAO,CAAC,mBAAmB,GAAG,MAAM,CAAC,SAAS,CAAC;QAE/C,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC;YACjF,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,yBAAyB,CACxC,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,QAAQ,EAChB,MAAM,CAAC,iBAAiB,EACxB;YACE,cAAc;YACd,eAAe,EAAE,kBAAkB;YACnC,eAAe,EAAE,kBAAkB;YACnC,WAAW;SACZ,CACF,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,aAAa,EAAE,CAAC;YAChB,OAAO,CAAC,YAAY,GAAG,aAAa,QAAQ,CAAC,MAAM,GAAG,CAAC;QACzD,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,uBAAuB,EAAE,CAAC,MAAM,EAAE,EAAE;QAChE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,QAAQ,CAAC,MAAM,IAAI,oBAAoB,EAAE,CAAC;YAC5C,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC;YACvF,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,EAAE;QACV,MAAM,kBAAkB,GAAG,aAAa,GAAG,aAAa,CAAC;QACzD,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,iBAAiB,GAAG,CAAC,CAAC,aAAa,GAAG,kBAAkB,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClF,GAAG,CAAC,KAAK,CACP,0BAA0B,aAAa,aAAa,aAAa,aAAa,iBAAiB,cAAc,CAC9G,CAAC;QACJ,CAAC;QAED,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,qBAAqB,cAAc,CAAC,IAAI,uBAAuB,CAAC,CAAC;QAC7E,CAAC;QAED,aAAa,CAAC,eAAe,CAAC,CAAC;QAC/B,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,cAAc,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/telemetry/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Object expansion utilities for CDP RemoteObjects.
|
|
3
|
+
*
|
|
4
|
+
* Fetches nested object properties using Runtime.getProperties to provide
|
|
5
|
+
* rich object representations beyond CDP's default shallow preview.
|
|
6
|
+
*/
|
|
7
|
+
import type { CDPConnection } from '../connection/cdp.js';
|
|
8
|
+
import type { Protocol } from '../connection/typed-cdp.js';
|
|
9
|
+
type RemoteObject = Protocol.Runtime.RemoteObject;
|
|
10
|
+
/**
|
|
11
|
+
* Reset the failure counter (useful for testing).
|
|
12
|
+
*/
|
|
13
|
+
export declare function resetFailureCounter(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Expand a RemoteObject to get nested property values.
|
|
16
|
+
*
|
|
17
|
+
* Recursively fetches properties up to MAX_DEPTH levels deep,
|
|
18
|
+
* providing rich object representation for console output.
|
|
19
|
+
*
|
|
20
|
+
* @param cdp - CDP connection for property fetching
|
|
21
|
+
* @param arg - RemoteObject to expand
|
|
22
|
+
* @param depth - Current recursion depth
|
|
23
|
+
* @returns Formatted string representation with expanded properties
|
|
24
|
+
*/
|
|
25
|
+
export declare function expandRemoteObject(cdp: CDPConnection, arg: RemoteObject, depth?: number): Promise<string>;
|
|
26
|
+
/**
|
|
27
|
+
* Expand multiple RemoteObjects and format as console message text.
|
|
28
|
+
*
|
|
29
|
+
* @param cdp - CDP connection for property fetching
|
|
30
|
+
* @param args - Array of RemoteObjects to expand
|
|
31
|
+
* @returns Formatted string with expanded objects
|
|
32
|
+
*/
|
|
33
|
+
export declare function expandConsoleArgs(cdp: CDPConnection, args: RemoteObject[]): Promise<string>;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=objectExpander.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectExpander.d.ts","sourceRoot":"","sources":["../../src/telemetry/objectExpander.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAe1D,KAAK,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;AAOlD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AA2ID;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,YAAY,EACjB,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGjG"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Object expansion utilities for CDP RemoteObjects.
|
|
3
|
+
*
|
|
4
|
+
* Fetches nested object properties using Runtime.getProperties to provide
|
|
5
|
+
* rich object representations beyond CDP's default shallow preview.
|
|
6
|
+
*/
|
|
7
|
+
import { OBJECT_EXPANSION_MAX_DEPTH, OBJECT_EXPANSION_MAX_PROPERTIES, OBJECT_EXPANSION_FAILURE_THRESHOLD, } from '../constants.js';
|
|
8
|
+
import { createLogger } from '../ui/logging/index.js';
|
|
9
|
+
import { isPrimitiveObject, hasSpecialDescription, getFallbackDescription, formatPrimitiveValue, } from './remoteObjectUtils.js';
|
|
10
|
+
const log = createLogger('object-expander');
|
|
11
|
+
let consecutiveFailures = 0;
|
|
12
|
+
/**
|
|
13
|
+
* Reset the failure counter (useful for testing).
|
|
14
|
+
*/
|
|
15
|
+
export function resetFailureCounter() {
|
|
16
|
+
consecutiveFailures = 0;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Record an expansion failure and log warning if threshold exceeded.
|
|
20
|
+
*/
|
|
21
|
+
function recordFailure(error) {
|
|
22
|
+
consecutiveFailures++;
|
|
23
|
+
if (consecutiveFailures === OBJECT_EXPANSION_FAILURE_THRESHOLD) {
|
|
24
|
+
log.info(`Object expansion failed ${OBJECT_EXPANSION_FAILURE_THRESHOLD} times consecutively. ` +
|
|
25
|
+
`CDP connection may be unstable. Last error: ${String(error)}`);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
log.debug(`Failed to expand object: ${String(error)}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Record a successful expansion (resets failure counter).
|
|
33
|
+
*/
|
|
34
|
+
function recordSuccess() {
|
|
35
|
+
consecutiveFailures = 0;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Format a primitive RemoteObject value for expansion output.
|
|
39
|
+
* Quotes strings to distinguish them from other values in object context.
|
|
40
|
+
*/
|
|
41
|
+
function formatExpandedPrimitive(arg) {
|
|
42
|
+
if (arg.value !== undefined) {
|
|
43
|
+
if (typeof arg.value === 'string') {
|
|
44
|
+
return `"${arg.value}"`;
|
|
45
|
+
}
|
|
46
|
+
return formatPrimitiveValue(arg.value);
|
|
47
|
+
}
|
|
48
|
+
return 'undefined';
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Fetch object properties from CDP.
|
|
52
|
+
*/
|
|
53
|
+
async function fetchProperties(cdp, objectId) {
|
|
54
|
+
const response = await cdp.send('Runtime.getProperties', {
|
|
55
|
+
objectId,
|
|
56
|
+
ownProperties: true,
|
|
57
|
+
generatePreview: true,
|
|
58
|
+
});
|
|
59
|
+
const result = response;
|
|
60
|
+
return result.result ?? [];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Filter properties to enumerable ones with values.
|
|
64
|
+
*/
|
|
65
|
+
function getEnumerableProperties(properties) {
|
|
66
|
+
return properties
|
|
67
|
+
.filter((p) => p.enumerable && p.value)
|
|
68
|
+
.slice(0, OBJECT_EXPANSION_MAX_PROPERTIES);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Check if property count exceeds limit.
|
|
72
|
+
*/
|
|
73
|
+
function hasOverflow(properties, filterFn) {
|
|
74
|
+
return properties.filter(filterFn).length > OBJECT_EXPANSION_MAX_PROPERTIES;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Format array items from properties.
|
|
78
|
+
*/
|
|
79
|
+
async function formatArrayItems(cdp, properties, depth) {
|
|
80
|
+
const items = [];
|
|
81
|
+
const ownProps = getEnumerableProperties(properties);
|
|
82
|
+
for (const prop of ownProps) {
|
|
83
|
+
if (!isNaN(Number(prop.name)) && prop.value) {
|
|
84
|
+
const formatted = await expandRemoteObject(cdp, prop.value, depth + 1);
|
|
85
|
+
items.push(formatted);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return items;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Format object pairs from properties.
|
|
92
|
+
*/
|
|
93
|
+
async function formatObjectPairs(cdp, properties, depth) {
|
|
94
|
+
const pairs = [];
|
|
95
|
+
const ownProps = getEnumerableProperties(properties);
|
|
96
|
+
for (const prop of ownProps) {
|
|
97
|
+
if (prop.value) {
|
|
98
|
+
const formatted = await expandRemoteObject(cdp, prop.value, depth + 1);
|
|
99
|
+
pairs.push(`${prop.name}: ${formatted}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return pairs;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Format an array RemoteObject.
|
|
106
|
+
*/
|
|
107
|
+
async function formatArray(cdp, properties, depth) {
|
|
108
|
+
const items = await formatArrayItems(cdp, properties, depth);
|
|
109
|
+
const overflow = hasOverflow(properties, (p) => !isNaN(Number(p.name)));
|
|
110
|
+
return `[${items.join(', ')}${overflow ? ', …' : ''}]`;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Format a regular object RemoteObject.
|
|
114
|
+
*/
|
|
115
|
+
async function formatObject(cdp, properties, depth) {
|
|
116
|
+
const pairs = await formatObjectPairs(cdp, properties, depth);
|
|
117
|
+
const overflow = hasOverflow(properties, (p) => p.enumerable === true);
|
|
118
|
+
return `{${pairs.join(', ')}${overflow ? ', …' : ''}}`;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Expand a RemoteObject to get nested property values.
|
|
122
|
+
*
|
|
123
|
+
* Recursively fetches properties up to MAX_DEPTH levels deep,
|
|
124
|
+
* providing rich object representation for console output.
|
|
125
|
+
*
|
|
126
|
+
* @param cdp - CDP connection for property fetching
|
|
127
|
+
* @param arg - RemoteObject to expand
|
|
128
|
+
* @param depth - Current recursion depth
|
|
129
|
+
* @returns Formatted string representation with expanded properties
|
|
130
|
+
*/
|
|
131
|
+
export async function expandRemoteObject(cdp, arg, depth = 0) {
|
|
132
|
+
if (isPrimitiveObject(arg)) {
|
|
133
|
+
return formatExpandedPrimitive(arg);
|
|
134
|
+
}
|
|
135
|
+
if (hasSpecialDescription(arg)) {
|
|
136
|
+
return arg.description ?? getFallbackDescription(arg);
|
|
137
|
+
}
|
|
138
|
+
if (!arg.objectId || depth >= OBJECT_EXPANSION_MAX_DEPTH) {
|
|
139
|
+
return getFallbackDescription(arg);
|
|
140
|
+
}
|
|
141
|
+
try {
|
|
142
|
+
const properties = await fetchProperties(cdp, arg.objectId);
|
|
143
|
+
recordSuccess();
|
|
144
|
+
if (arg.subtype === 'array') {
|
|
145
|
+
return await formatArray(cdp, properties, depth);
|
|
146
|
+
}
|
|
147
|
+
return await formatObject(cdp, properties, depth);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
recordFailure(error);
|
|
151
|
+
return getFallbackDescription(arg);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Expand multiple RemoteObjects and format as console message text.
|
|
156
|
+
*
|
|
157
|
+
* @param cdp - CDP connection for property fetching
|
|
158
|
+
* @param args - Array of RemoteObjects to expand
|
|
159
|
+
* @returns Formatted string with expanded objects
|
|
160
|
+
*/
|
|
161
|
+
export async function expandConsoleArgs(cdp, args) {
|
|
162
|
+
const expanded = await Promise.all(args.map((arg) => expandRemoteObject(cdp, arg)));
|
|
163
|
+
return expanded.join(' ');
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=objectExpander.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectExpander.js","sourceRoot":"","sources":["../../src/telemetry/objectExpander.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,39 +2,31 @@
|
|
|
2
2
|
* RemoteObject formatting utilities.
|
|
3
3
|
*
|
|
4
4
|
* Provides functions to serialize CDP RemoteObject values into human-readable
|
|
5
|
-
* strings, properly handling objects, arrays, and their preview data
|
|
5
|
+
* strings, properly handling objects, arrays, and their preview data with
|
|
6
|
+
* recursive nested object expansion.
|
|
6
7
|
*/
|
|
7
8
|
import type { Protocol } from '../connection/typed-cdp.js';
|
|
9
|
+
type RemoteObject = Protocol.Runtime.RemoteObject;
|
|
8
10
|
/**
|
|
9
11
|
* Format a CDP RemoteObject as a human-readable string.
|
|
10
12
|
*
|
|
11
13
|
* Handles all CDP value types including primitives, objects, arrays,
|
|
12
14
|
* errors, null, and undefined. Uses preview data when available for
|
|
13
|
-
* rich object representation.
|
|
15
|
+
* rich object representation with recursive nested object expansion.
|
|
14
16
|
*
|
|
15
17
|
* @param arg - CDP RemoteObject from console arguments
|
|
16
18
|
* @returns Formatted string representation
|
|
17
19
|
*
|
|
18
20
|
* @example
|
|
19
21
|
* ```typescript
|
|
20
|
-
* // Primitive
|
|
21
22
|
* formatRemoteObject({ type: 'string', value: 'hello' }) // 'hello'
|
|
22
|
-
*
|
|
23
|
-
* // Object with preview
|
|
24
23
|
* formatRemoteObject({
|
|
25
24
|
* type: 'object',
|
|
26
25
|
* preview: { properties: [{ name: 'foo', value: 'bar' }] }
|
|
27
26
|
* }) // '{foo: "bar"}'
|
|
28
|
-
*
|
|
29
|
-
* // Array with preview
|
|
30
|
-
* formatRemoteObject({
|
|
31
|
-
* type: 'object',
|
|
32
|
-
* subtype: 'array',
|
|
33
|
-
* preview: { properties: [{ name: '0', value: '1' }] }
|
|
34
|
-
* }) // '[1]'
|
|
35
27
|
* ```
|
|
36
28
|
*/
|
|
37
|
-
export declare function formatRemoteObject(arg:
|
|
29
|
+
export declare function formatRemoteObject(arg: RemoteObject): string;
|
|
38
30
|
/**
|
|
39
31
|
* Format multiple RemoteObjects as console message text.
|
|
40
32
|
*
|
|
@@ -44,15 +36,6 @@ export declare function formatRemoteObject(arg: Protocol.Runtime.RemoteObject):
|
|
|
44
36
|
* @param args - Array of CDP RemoteObjects
|
|
45
37
|
* @returns Joined formatted string
|
|
46
38
|
*/
|
|
47
|
-
export declare function formatConsoleArgs(args:
|
|
48
|
-
|
|
49
|
-
* Truncate text to maximum length with ellipsis.
|
|
50
|
-
*
|
|
51
|
-
* Re-exported from shared utils for backward compatibility.
|
|
52
|
-
*
|
|
53
|
-
* @param text - Text to truncate
|
|
54
|
-
* @param maxLength - Maximum length (default: MAX_TEXT_LENGTH)
|
|
55
|
-
* @returns Truncated text with ellipsis if needed
|
|
56
|
-
*/
|
|
57
|
-
export declare function truncateText(text: string, maxLength?: number): string;
|
|
39
|
+
export declare function formatConsoleArgs(args: RemoteObject[]): string;
|
|
40
|
+
export {};
|
|
58
41
|
//# sourceMappingURL=remoteObject.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remoteObject.d.ts","sourceRoot":"","sources":["../../src/telemetry/remoteObject.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"remoteObject.d.ts","sourceRoot":"","sources":["../../src/telemetry/remoteObject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAU1D,KAAK,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;AA6JlD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAkB5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,CAE9D"}
|