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.
Files changed (223) hide show
  1. package/dist/__tests__/telemetry/filterDsl.unit.test.d.ts +12 -0
  2. package/dist/__tests__/telemetry/filterDsl.unit.test.d.ts.map +1 -0
  3. package/dist/__tests__/telemetry/filterDsl.unit.test.js +374 -0
  4. package/dist/__tests__/telemetry/filterDsl.unit.test.js.map +1 -0
  5. package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts +10 -0
  6. package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts.map +1 -0
  7. package/dist/__tests__/telemetry/filterPresets.unit.test.js +89 -0
  8. package/dist/__tests__/telemetry/filterPresets.unit.test.js.map +1 -0
  9. package/dist/commands/cleanup.js +1 -1
  10. package/dist/commands/cleanup.js.map +1 -1
  11. package/dist/commands/console.d.ts +9 -0
  12. package/dist/commands/console.d.ts.map +1 -1
  13. package/dist/commands/console.js +60 -28
  14. package/dist/commands/console.js.map +1 -1
  15. package/dist/commands/details.d.ts.map +1 -1
  16. package/dist/commands/details.js +20 -9
  17. package/dist/commands/details.js.map +1 -1
  18. package/dist/commands/dom/DomElementResolver.d.ts +23 -7
  19. package/dist/commands/dom/DomElementResolver.d.ts.map +1 -1
  20. package/dist/commands/dom/DomElementResolver.js +64 -16
  21. package/dist/commands/dom/DomElementResolver.js.map +1 -1
  22. package/dist/commands/dom/a11y.d.ts.map +1 -1
  23. package/dist/commands/dom/a11y.js +30 -18
  24. package/dist/commands/dom/a11y.js.map +1 -1
  25. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
  26. package/dist/commands/dom/formFillHelpers.js +64 -2
  27. package/dist/commands/dom/formFillHelpers.js.map +1 -1
  28. package/dist/commands/dom/formInteraction.js +4 -4
  29. package/dist/commands/dom/formInteraction.js.map +1 -1
  30. package/dist/commands/dom/helpers.d.ts +38 -2
  31. package/dist/commands/dom/helpers.d.ts.map +1 -1
  32. package/dist/commands/dom/helpers.js +104 -3
  33. package/dist/commands/dom/helpers.js.map +1 -1
  34. package/dist/commands/dom/index.d.ts +1 -1
  35. package/dist/commands/dom/index.d.ts.map +1 -1
  36. package/dist/commands/dom/index.js +407 -151
  37. package/dist/commands/dom/index.js.map +1 -1
  38. package/dist/commands/helpJson.d.ts.map +1 -1
  39. package/dist/commands/helpJson.js +27 -10
  40. package/dist/commands/helpJson.js.map +1 -1
  41. package/dist/commands/network/har.d.ts +14 -0
  42. package/dist/commands/network/har.d.ts.map +1 -0
  43. package/dist/commands/network/har.js +97 -0
  44. package/dist/commands/network/har.js.map +1 -0
  45. package/dist/commands/network/index.d.ts +18 -0
  46. package/dist/commands/network/index.d.ts.map +1 -0
  47. package/dist/commands/network/index.js +27 -0
  48. package/dist/commands/network/index.js.map +1 -0
  49. package/dist/commands/network/list.d.ts +14 -0
  50. package/dist/commands/network/list.d.ts.map +1 -0
  51. package/dist/commands/network/list.js +269 -0
  52. package/dist/commands/network/list.js.map +1 -0
  53. package/dist/commands/network/shared.d.ts +56 -0
  54. package/dist/commands/network/shared.d.ts.map +1 -0
  55. package/dist/commands/network/shared.js +174 -0
  56. package/dist/commands/network/shared.js.map +1 -0
  57. package/dist/commands/network.js +4 -4
  58. package/dist/commands/network.js.map +1 -1
  59. package/dist/commands/peek.d.ts.map +1 -1
  60. package/dist/commands/peek.js +12 -11
  61. package/dist/commands/peek.js.map +1 -1
  62. package/dist/commands/shared/CommandRunner.d.ts +19 -0
  63. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  64. package/dist/commands/shared/CommandRunner.js +30 -0
  65. package/dist/commands/shared/CommandRunner.js.map +1 -1
  66. package/dist/commands/shared/commonOptions.d.ts +8 -24
  67. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  68. package/dist/commands/shared/commonOptions.js +9 -25
  69. package/dist/commands/shared/commonOptions.js.map +1 -1
  70. package/dist/commands/shared/followMode.d.ts +50 -0
  71. package/dist/commands/shared/followMode.d.ts.map +1 -0
  72. package/dist/commands/shared/followMode.js +58 -0
  73. package/dist/commands/shared/followMode.js.map +1 -0
  74. package/dist/commands/shared/optionTypes.d.ts +38 -0
  75. package/dist/commands/shared/optionTypes.d.ts.map +1 -1
  76. package/dist/commands/shared/startHelpers.d.ts +2 -10
  77. package/dist/commands/shared/startHelpers.d.ts.map +1 -1
  78. package/dist/commands/shared/startHelpers.js +9 -4
  79. package/dist/commands/shared/startHelpers.js.map +1 -1
  80. package/dist/commands/start.d.ts.map +1 -1
  81. package/dist/commands/start.js +3 -1
  82. package/dist/commands/start.js.map +1 -1
  83. package/dist/commands/status.js +5 -5
  84. package/dist/commands/status.js.map +1 -1
  85. package/dist/commands/stop.js +1 -1
  86. package/dist/commands/stop.js.map +1 -1
  87. package/dist/commands/tail.d.ts.map +1 -1
  88. package/dist/commands/tail.js +7 -16
  89. package/dist/commands/tail.js.map +1 -1
  90. package/dist/commands/types.d.ts +11 -5
  91. package/dist/commands/types.d.ts.map +1 -1
  92. package/dist/commands.js +1 -1
  93. package/dist/commands.js.map +1 -1
  94. package/dist/connection/diagnostics.d.ts +9 -0
  95. package/dist/connection/diagnostics.d.ts.map +1 -1
  96. package/dist/connection/diagnostics.js +13 -0
  97. package/dist/connection/diagnostics.js.map +1 -1
  98. package/dist/connection/handlers.d.ts +1 -8
  99. package/dist/connection/handlers.d.ts.map +1 -1
  100. package/dist/connection/handlers.js.map +1 -1
  101. package/dist/connection/launcher/binaryResolver.d.ts.map +1 -1
  102. package/dist/connection/launcher/binaryResolver.js +1 -14
  103. package/dist/connection/launcher/binaryResolver.js.map +1 -1
  104. package/dist/connection/launcher.d.ts.map +1 -1
  105. package/dist/connection/launcher.js +3 -15
  106. package/dist/connection/launcher.js.map +1 -1
  107. package/dist/connection/pageReadiness.d.ts.map +1 -1
  108. package/dist/connection/pageReadiness.js +12 -8
  109. package/dist/connection/pageReadiness.js.map +1 -1
  110. package/dist/connection/typed-cdp.d.ts +3 -5
  111. package/dist/connection/typed-cdp.d.ts.map +1 -1
  112. package/dist/connection/typed-cdp.js +1 -1
  113. package/dist/connection/typed-cdp.js.map +1 -1
  114. package/dist/constants.d.ts +15 -0
  115. package/dist/constants.d.ts.map +1 -1
  116. package/dist/constants.js +18 -0
  117. package/dist/constants.js.map +1 -1
  118. package/dist/daemon/__tests__/commandRegistry.contract.test.js +6 -2
  119. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -1
  120. package/dist/daemon/handlers/CommandHandlers.d.ts +5 -0
  121. package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -1
  122. package/dist/daemon/handlers/CommandHandlers.js +6 -1
  123. package/dist/daemon/handlers/CommandHandlers.js.map +1 -1
  124. package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -1
  125. package/dist/daemon/handlers/QueryHandlers.js +3 -1
  126. package/dist/daemon/handlers/QueryHandlers.js.map +1 -1
  127. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -1
  128. package/dist/daemon/handlers/responseHandler.js +10 -0
  129. package/dist/daemon/handlers/responseHandler.js.map +1 -1
  130. package/dist/daemon/worker/TelemetryStore.d.ts +2 -1
  131. package/dist/daemon/worker/TelemetryStore.d.ts.map +1 -1
  132. package/dist/daemon/worker/TelemetryStore.js +4 -0
  133. package/dist/daemon/worker/TelemetryStore.js.map +1 -1
  134. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  135. package/dist/daemon/worker/commandRegistry.js +150 -55
  136. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  137. package/dist/daemon/worker/plugins.d.ts.map +1 -1
  138. package/dist/daemon/worker/plugins.js +8 -1
  139. package/dist/daemon/worker/plugins.js.map +1 -1
  140. package/dist/ipc/client.d.ts +10 -1
  141. package/dist/ipc/client.d.ts.map +1 -1
  142. package/dist/ipc/client.js +12 -2
  143. package/dist/ipc/client.js.map +1 -1
  144. package/dist/ipc/session/queries.d.ts +2 -0
  145. package/dist/ipc/session/queries.d.ts.map +1 -1
  146. package/dist/session/QueryCacheManager.d.ts +1 -1
  147. package/dist/session/QueryCacheManager.d.ts.map +1 -1
  148. package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts +2 -0
  149. package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts.map +1 -0
  150. package/dist/telemetry/__tests__/remoteObject.unit.test.js +261 -0
  151. package/dist/telemetry/__tests__/remoteObject.unit.test.js.map +1 -0
  152. package/dist/telemetry/console.d.ts +8 -8
  153. package/dist/telemetry/console.d.ts.map +1 -1
  154. package/dist/telemetry/console.js +129 -52
  155. package/dist/telemetry/console.js.map +1 -1
  156. package/dist/telemetry/filterDsl.d.ts +45 -0
  157. package/dist/telemetry/filterDsl.d.ts.map +1 -0
  158. package/dist/telemetry/filterDsl.js +299 -0
  159. package/dist/telemetry/filterDsl.js.map +1 -0
  160. package/dist/telemetry/filterPresets.d.ts +35 -0
  161. package/dist/telemetry/filterPresets.d.ts.map +1 -0
  162. package/dist/telemetry/filterPresets.js +76 -0
  163. package/dist/telemetry/filterPresets.js.map +1 -0
  164. package/dist/telemetry/navigation.d.ts.map +1 -1
  165. package/dist/telemetry/navigation.js +7 -0
  166. package/dist/telemetry/navigation.js.map +1 -1
  167. package/dist/telemetry/network.d.ts +12 -1
  168. package/dist/telemetry/network.d.ts.map +1 -1
  169. package/dist/telemetry/network.js +132 -8
  170. package/dist/telemetry/network.js.map +1 -1
  171. package/dist/telemetry/objectExpander.d.ts +35 -0
  172. package/dist/telemetry/objectExpander.d.ts.map +1 -0
  173. package/dist/telemetry/objectExpander.js +165 -0
  174. package/dist/telemetry/objectExpander.js.map +1 -0
  175. package/dist/telemetry/remoteObject.d.ts +7 -24
  176. package/dist/telemetry/remoteObject.d.ts.map +1 -1
  177. package/dist/telemetry/remoteObject.js +124 -65
  178. package/dist/telemetry/remoteObject.js.map +1 -1
  179. package/dist/telemetry/remoteObjectUtils.d.ts +40 -0
  180. package/dist/telemetry/remoteObjectUtils.d.ts.map +1 -0
  181. package/dist/telemetry/remoteObjectUtils.js +75 -0
  182. package/dist/telemetry/remoteObjectUtils.js.map +1 -0
  183. package/dist/telemetry/roleInference.d.ts +1 -1
  184. package/dist/telemetry/roleInference.d.ts.map +1 -1
  185. package/dist/types.d.ts +143 -0
  186. package/dist/types.d.ts.map +1 -1
  187. package/dist/ui/formatters/a11y.d.ts +1 -1
  188. package/dist/ui/formatters/a11y.d.ts.map +1 -1
  189. package/dist/ui/formatters/console.d.ts +14 -2
  190. package/dist/ui/formatters/console.d.ts.map +1 -1
  191. package/dist/ui/formatters/console.js +38 -7
  192. package/dist/ui/formatters/console.js.map +1 -1
  193. package/dist/ui/formatters/dom.d.ts +9 -18
  194. package/dist/ui/formatters/dom.d.ts.map +1 -1
  195. package/dist/ui/formatters/dom.js +55 -22
  196. package/dist/ui/formatters/dom.js.map +1 -1
  197. package/dist/ui/formatters/networkList.d.ts +19 -0
  198. package/dist/ui/formatters/networkList.d.ts.map +1 -0
  199. package/dist/ui/formatters/networkList.js +86 -0
  200. package/dist/ui/formatters/networkList.js.map +1 -0
  201. package/dist/ui/formatters/preview.d.ts +18 -0
  202. package/dist/ui/formatters/preview.d.ts.map +1 -1
  203. package/dist/ui/formatters/preview.js +13 -5
  204. package/dist/ui/formatters/preview.js.map +1 -1
  205. package/dist/ui/logging/logger.d.ts +1 -1
  206. package/dist/ui/logging/logger.d.ts.map +1 -1
  207. package/dist/ui/logging/logger.js.map +1 -1
  208. package/dist/ui/messages/networkMessages.d.ts +24 -0
  209. package/dist/ui/messages/networkMessages.d.ts.map +1 -0
  210. package/dist/ui/messages/networkMessages.js +30 -0
  211. package/dist/ui/messages/networkMessages.js.map +1 -0
  212. package/dist/utils/exitCodes.d.ts +2 -0
  213. package/dist/utils/exitCodes.d.ts.map +1 -1
  214. package/dist/utils/exitCodes.js +2 -0
  215. package/dist/utils/exitCodes.js.map +1 -1
  216. package/dist/utils/taskMappings.d.ts.map +1 -1
  217. package/dist/utils/taskMappings.js +2 -2
  218. package/dist/utils/taskMappings.js.map +1 -1
  219. package/dist/utils/typeGuards.d.ts +11 -4
  220. package/dist/utils/typeGuards.d.ts.map +1 -1
  221. package/dist/utils/typeGuards.js +1 -17
  222. package/dist/utils/typeGuards.js.map +1 -1
  223. 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
- // Skip if cleanup has already removed this from pending
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
- * Optimized to leverage Map insertion order - iterates from oldest entries
70
- * and exits early once a non-stale request is found, avoiding O(n) full scan.
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":"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"}
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":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,kCAAkC,GACnC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAKhC,MAAM,GAAG,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAE5C,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAE5B;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,mBAAmB,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,KAAc;IACnC,mBAAmB,EAAE,CAAC;IACtB,IAAI,mBAAmB,KAAK,kCAAkC,EAAE,CAAC;QAC/D,GAAG,CAAC,IAAI,CACN,2BAA2B,kCAAkC,wBAAwB;YACnF,+CAA+C,MAAM,CAAC,KAAK,CAAC,EAAE,CACjE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa;IACpB,mBAAmB,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,GAAiB;IAChD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC;QAC1B,CAAC;QACD,OAAO,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,GAAkB,EAClB,QAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE;QACvD,QAAQ;QACR,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,QAA4C,CAAC;IAC5D,OAAO,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,UAAgC;IAC/D,OAAO,UAAU;SACd,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC;SACtC,KAAK,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAClB,UAAgC,EAChC,QAA4C;IAE5C,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,+BAA+B,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAC7B,GAAkB,EAClB,UAAgC,EAChC,KAAa;IAEb,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAErD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC9B,GAAkB,EAClB,UAAgC,EAChC,KAAa;IAEb,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAErD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CACxB,GAAkB,EAClB,UAAgC,EAChC,KAAa;IAEb,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,GAAkB,EAClB,UAAgC,EAChC,KAAa;IAEb,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;IACvE,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AACzD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAkB,EAClB,GAAiB,EACjB,QAAgB,CAAC;IAEjB,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,WAAW,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,KAAK,IAAI,0BAA0B,EAAE,CAAC;QACzD,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5D,aAAa,EAAE,CAAC;QAEhB,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO,MAAM,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAkB,EAAE,IAAoB;IAC9E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC"}
@@ -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: Protocol.Runtime.RemoteObject): string;
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: Protocol.Runtime.RemoteObject[]): string;
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;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAoD1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,GAAG,MAAM,CAiC7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,MAAM,CAE/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAwB,GAAG,MAAM,CAEtF"}
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"}