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
@@ -2,110 +2,181 @@
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
- import { truncateByLength } from '../utils/strings.js';
8
- /** Maximum length for formatted text before truncation */
9
- const MAX_TEXT_LENGTH = 500;
8
+ import { SPECIAL_DESCRIPTION_SUBTYPES, formatPrimitiveValue, getFallbackDescription, } from './remoteObjectUtils.js';
10
9
  /**
11
- * Format a preview property value.
12
- *
13
- * @param prop - Preview property from CDP
14
- * @returns Formatted value string
10
+ * Check if a property represents a null value.
15
11
  */
16
- function formatPreviewProperty(prop) {
12
+ function isNullProperty(prop) {
13
+ return prop.subtype === 'null' || prop.value === 'null';
14
+ }
15
+ /**
16
+ * Check if a property has a special subtype with meaningful string representation.
17
+ */
18
+ function hasSpecialSubtype(prop) {
19
+ return prop.subtype === 'date' || prop.subtype === 'regexp';
20
+ }
21
+ /**
22
+ * Format a primitive property value.
23
+ */
24
+ function formatPrimitiveProperty(prop) {
17
25
  if (prop.type === 'string') {
18
26
  return `"${prop.value}"`;
19
27
  }
20
28
  if (prop.type === 'undefined') {
21
29
  return 'undefined';
22
30
  }
23
- if (prop.value === 'null') {
24
- return 'null';
31
+ if (prop.type === 'symbol') {
32
+ return prop.value ?? 'Symbol()';
33
+ }
34
+ if (prop.type === 'function') {
35
+ return prop.value ?? '[Function]';
25
36
  }
26
- // For objects, functions, symbols - use the value as-is (e.g., "Object", "[Function]")
27
37
  return prop.value ?? prop.type;
28
38
  }
39
+ /**
40
+ * Format a preview property value, recursively handling nested objects.
41
+ *
42
+ * @param prop - Preview property from CDP
43
+ * @returns Formatted value string
44
+ */
45
+ function formatPreviewProperty(prop) {
46
+ if (prop.valuePreview) {
47
+ return formatObjectPreview(prop.valuePreview);
48
+ }
49
+ if (isNullProperty(prop)) {
50
+ return 'null';
51
+ }
52
+ if (hasSpecialSubtype(prop)) {
53
+ return prop.value ?? `[${prop.subtype}]`;
54
+ }
55
+ return formatPrimitiveProperty(prop);
56
+ }
57
+ /**
58
+ * Format an entry value from Map/Set preview.
59
+ *
60
+ * @param value - Entry preview value
61
+ * @returns Formatted value string
62
+ */
63
+ function formatEntryValue(value) {
64
+ if (value.type === 'string') {
65
+ return `"${value.description ?? ''}"`;
66
+ }
67
+ if (value.type === 'object' && value.properties) {
68
+ return formatObjectPreview(value);
69
+ }
70
+ return value.description ?? value.type;
71
+ }
72
+ /**
73
+ * Extract size from description string like "Map(3)" or "Set(5)".
74
+ */
75
+ function extractSizeFromDescription(description) {
76
+ return description?.match(/\d+/)?.[0] ?? '0';
77
+ }
78
+ /**
79
+ * Format a Map preview.
80
+ */
81
+ function formatMapPreview(preview, suffix) {
82
+ const entries = preview.entries ?? [];
83
+ if (entries.length === 0) {
84
+ return `Map(${extractSizeFromDescription(preview.description)})`;
85
+ }
86
+ const formattedEntries = entries.map((e) => {
87
+ const key = e.key ? formatEntryValue(e.key) : '?';
88
+ const value = formatEntryValue(e.value);
89
+ return `${key} => ${value}`;
90
+ });
91
+ return `Map(${entries.length}) {${formattedEntries.join(', ')}${suffix}}`;
92
+ }
93
+ /**
94
+ * Format a Set preview.
95
+ */
96
+ function formatSetPreview(preview, suffix) {
97
+ const entries = preview.entries ?? [];
98
+ if (entries.length === 0) {
99
+ return `Set(${extractSizeFromDescription(preview.description)})`;
100
+ }
101
+ const formattedEntries = entries.map((e) => formatEntryValue(e.value));
102
+ return `Set(${entries.length}) {${formattedEntries.join(', ')}${suffix}}`;
103
+ }
104
+ /**
105
+ * Format an array preview.
106
+ */
107
+ function formatArrayPreview(props, suffix) {
108
+ const values = props
109
+ .filter((p) => !isNaN(Number(p.name)))
110
+ .sort((a, b) => Number(a.name) - Number(b.name))
111
+ .map(formatPreviewProperty);
112
+ return `[${values.join(', ')}${suffix}]`;
113
+ }
114
+ /**
115
+ * Format a regular object preview.
116
+ */
117
+ function formatRegularObjectPreview(props, suffix) {
118
+ const pairs = props.map((p) => `${p.name}: ${formatPreviewProperty(p)}`);
119
+ return `{${pairs.join(', ')}${suffix}}`;
120
+ }
29
121
  /**
30
122
  * Format object preview as a string representation.
31
123
  *
124
+ * Recursively formats nested objects using their valuePreview data,
125
+ * matching Chrome DevTools console output format.
126
+ *
32
127
  * @param preview - Object preview from CDP RemoteObject
33
128
  * @returns Formatted object string like `{foo: "bar", num: 123}`
34
129
  */
35
130
  function formatObjectPreview(preview) {
36
131
  const props = preview.properties ?? [];
37
- // Handle arrays
38
- if (preview.subtype === 'array') {
39
- const values = props
40
- .filter((p) => !isNaN(Number(p.name))) // Only numeric indices
41
- .sort((a, b) => Number(a.name) - Number(b.name))
42
- .map((p) => formatPreviewProperty(p));
43
- const suffix = preview.overflow ? ', …' : '';
44
- return `[${values.join(', ')}${suffix}]`;
45
- }
46
- // Handle regular objects
47
- const pairs = props.map((p) => `${p.name}: ${formatPreviewProperty(p)}`);
48
132
  const suffix = preview.overflow ? ', …' : '';
49
- return `{${pairs.join(', ')}${suffix}}`;
133
+ if (SPECIAL_DESCRIPTION_SUBTYPES.has(preview.subtype ?? '')) {
134
+ return preview.description ?? `[${preview.subtype}]`;
135
+ }
136
+ if (preview.subtype === 'map') {
137
+ return formatMapPreview(preview, suffix);
138
+ }
139
+ if (preview.subtype === 'set') {
140
+ return formatSetPreview(preview, suffix);
141
+ }
142
+ if (preview.subtype === 'array') {
143
+ return formatArrayPreview(props, suffix);
144
+ }
145
+ return formatRegularObjectPreview(props, suffix);
50
146
  }
51
147
  /**
52
148
  * Format a CDP RemoteObject as a human-readable string.
53
149
  *
54
150
  * Handles all CDP value types including primitives, objects, arrays,
55
151
  * errors, null, and undefined. Uses preview data when available for
56
- * rich object representation.
152
+ * rich object representation with recursive nested object expansion.
57
153
  *
58
154
  * @param arg - CDP RemoteObject from console arguments
59
155
  * @returns Formatted string representation
60
156
  *
61
157
  * @example
62
158
  * ```typescript
63
- * // Primitive
64
159
  * formatRemoteObject({ type: 'string', value: 'hello' }) // 'hello'
65
- *
66
- * // Object with preview
67
160
  * formatRemoteObject({
68
161
  * type: 'object',
69
162
  * preview: { properties: [{ name: 'foo', value: 'bar' }] }
70
163
  * }) // '{foo: "bar"}'
71
- *
72
- * // Array with preview
73
- * formatRemoteObject({
74
- * type: 'object',
75
- * subtype: 'array',
76
- * preview: { properties: [{ name: '0', value: '1' }] }
77
- * }) // '[1]'
78
164
  * ```
79
165
  */
80
166
  export function formatRemoteObject(arg) {
81
- // Handle primitives with direct value
82
167
  if (arg.value !== undefined) {
83
- if (typeof arg.value === 'string') {
84
- return arg.value;
85
- }
86
- if (typeof arg.value === 'number' || typeof arg.value === 'boolean') {
87
- return String(arg.value);
88
- }
89
- if (arg.value === null) {
90
- return 'null';
91
- }
92
- // For other values (shouldn't happen often), stringify
93
- return JSON.stringify(arg.value);
94
- }
95
- // Handle undefined
168
+ return formatPrimitiveValue(arg.value);
169
+ }
96
170
  if (arg.type === 'undefined') {
97
171
  return 'undefined';
98
172
  }
99
- // Handle errors - use full description which includes stack trace
100
173
  if (arg.subtype === 'error' && arg.description) {
101
174
  return arg.description;
102
175
  }
103
- // Handle objects/arrays with preview
104
176
  if (arg.type === 'object' && arg.preview) {
105
177
  return formatObjectPreview(arg.preview);
106
178
  }
107
- // Fallback to description or type
108
- return arg.description ?? `[${arg.type}]`;
179
+ return getFallbackDescription(arg);
109
180
  }
110
181
  /**
111
182
  * Format multiple RemoteObjects as console message text.
@@ -119,16 +190,4 @@ export function formatRemoteObject(arg) {
119
190
  export function formatConsoleArgs(args) {
120
191
  return args.map(formatRemoteObject).join(' ');
121
192
  }
122
- /**
123
- * Truncate text to maximum length with ellipsis.
124
- *
125
- * Re-exported from shared utils for backward compatibility.
126
- *
127
- * @param text - Text to truncate
128
- * @param maxLength - Maximum length (default: MAX_TEXT_LENGTH)
129
- * @returns Truncated text with ellipsis if needed
130
- */
131
- export function truncateText(text, maxLength = MAX_TEXT_LENGTH) {
132
- return truncateByLength(text, maxLength);
133
- }
134
193
  //# sourceMappingURL=remoteObject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remoteObject.js","sourceRoot":"","sources":["../../src/telemetry/remoteObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remoteObject.js","sourceRoot":"","sources":["../../src/telemetry/remoteObject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Shared utilities for RemoteObject type checking and formatting.
3
+ *
4
+ * Provides common predicates and formatters used by both synchronous
5
+ * preview-based formatting and asynchronous CDP-based expansion.
6
+ */
7
+ import type { Protocol } from '../connection/typed-cdp.js';
8
+ type RemoteObject = Protocol.Runtime.RemoteObject;
9
+ /**
10
+ * Subtypes that have meaningful description strings from CDP.
11
+ */
12
+ export declare const SPECIAL_DESCRIPTION_SUBTYPES: Set<string>;
13
+ /**
14
+ * Check if a RemoteObject is a primitive that can be formatted directly.
15
+ */
16
+ export declare function isPrimitiveObject(arg: RemoteObject): boolean;
17
+ /**
18
+ * Check if a RemoteObject has a special subtype with meaningful description.
19
+ */
20
+ export declare function hasSpecialDescription(arg: RemoteObject): boolean;
21
+ /**
22
+ * Get fallback string representation for a RemoteObject.
23
+ */
24
+ export declare function getFallbackDescription(arg: RemoteObject): string;
25
+ /**
26
+ * Format a primitive value consistently across sync and async paths.
27
+ * Note: String primitives in console output are NOT quoted (matches Chrome DevTools behavior).
28
+ */
29
+ export declare function formatPrimitiveValue(value: unknown): string;
30
+ /**
31
+ * Check if preview data is fully expanded (not truncated and no shallow nested objects).
32
+ */
33
+ export declare function isPreviewFullyExpanded(arg: RemoteObject): boolean;
34
+ /**
35
+ * Check if an object needs async expansion.
36
+ * Expand if: has objectId, is not null, and preview is missing, truncated, or has unexpanded nested objects.
37
+ */
38
+ export declare function needsAsyncExpansion(arg: RemoteObject): boolean;
39
+ export {};
40
+ //# sourceMappingURL=remoteObjectUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteObjectUtils.d.ts","sourceRoot":"","sources":["../../src/telemetry/remoteObjectUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,KAAK,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,4BAA4B,aAAkD,CAAC;AAE5F;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAEhE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAEhE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAW3D;AAWD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAQjE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAK9D"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Shared utilities for RemoteObject type checking and formatting.
3
+ *
4
+ * Provides common predicates and formatters used by both synchronous
5
+ * preview-based formatting and asynchronous CDP-based expansion.
6
+ */
7
+ /**
8
+ * Subtypes that have meaningful description strings from CDP.
9
+ */
10
+ export const SPECIAL_DESCRIPTION_SUBTYPES = new Set(['date', 'regexp', 'error', 'promise']);
11
+ /**
12
+ * Check if a RemoteObject is a primitive that can be formatted directly.
13
+ */
14
+ export function isPrimitiveObject(arg) {
15
+ return arg.value !== undefined || arg.type === 'undefined';
16
+ }
17
+ /**
18
+ * Check if a RemoteObject has a special subtype with meaningful description.
19
+ */
20
+ export function hasSpecialDescription(arg) {
21
+ return SPECIAL_DESCRIPTION_SUBTYPES.has(arg.subtype ?? '') && arg.description !== undefined;
22
+ }
23
+ /**
24
+ * Get fallback string representation for a RemoteObject.
25
+ */
26
+ export function getFallbackDescription(arg) {
27
+ return arg.description ?? `[${arg.type}]`;
28
+ }
29
+ /**
30
+ * Format a primitive value consistently across sync and async paths.
31
+ * Note: String primitives in console output are NOT quoted (matches Chrome DevTools behavior).
32
+ */
33
+ export function formatPrimitiveValue(value) {
34
+ if (typeof value === 'string') {
35
+ return value;
36
+ }
37
+ if (typeof value === 'number' || typeof value === 'boolean') {
38
+ return String(value);
39
+ }
40
+ if (value === null) {
41
+ return 'null';
42
+ }
43
+ return JSON.stringify(value);
44
+ }
45
+ /**
46
+ * Check if a preview property has unexpanded nested objects.
47
+ * CDP shows nested objects as just "Object" without valuePreview.
48
+ */
49
+ function hasUnexpandedNestedObjects(preview) {
50
+ const props = preview.properties ?? [];
51
+ return props.some((p) => p.type === 'object' && !p.valuePreview && p.value === 'Object');
52
+ }
53
+ /**
54
+ * Check if preview data is fully expanded (not truncated and no shallow nested objects).
55
+ */
56
+ export function isPreviewFullyExpanded(arg) {
57
+ if (!arg.preview) {
58
+ return false;
59
+ }
60
+ if (arg.preview.overflow) {
61
+ return false;
62
+ }
63
+ return !hasUnexpandedNestedObjects(arg.preview);
64
+ }
65
+ /**
66
+ * Check if an object needs async expansion.
67
+ * Expand if: has objectId, is not null, and preview is missing, truncated, or has unexpanded nested objects.
68
+ */
69
+ export function needsAsyncExpansion(arg) {
70
+ if (arg.type !== 'object' || !arg.objectId || arg.subtype === 'null') {
71
+ return false;
72
+ }
73
+ return !isPreviewFullyExpanded(arg);
74
+ }
75
+ //# sourceMappingURL=remoteObjectUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteObjectUtils.js","sourceRoot":"","sources":["../../src/telemetry/remoteObjectUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAE5F;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAiB;IACjD,OAAO,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAiB;IACrD,OAAO,4BAA4B,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC;AAC9F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAiB;IACtD,OAAO,GAAG,CAAC,WAAW,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B,CAAC,OAAuC;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;AAC3F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAiB;IACtD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAiB;IACnD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @see https://www.w3.org/TR/html-aria/#docconformance
8
8
  */
9
- import type { DomContext } from '../types/dom.js';
9
+ import type { DomContext } from '../types.js';
10
10
  import type { A11yNode } from '../types.js';
11
11
  /**
12
12
  * Infers an ARIA role from an HTML tag name.
@@ -1 +1 @@
1
- {"version":3,"file":"roleInference.d.ts","sourceRoot":"","sources":["../../src/telemetry/roleInference.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAwF3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGpD;AAiBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CA0BnF"}
1
+ {"version":3,"file":"roleInference.d.ts","sourceRoot":"","sources":["../../src/telemetry/roleInference.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAwF3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGpD;AAiBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CA0BnF"}
package/dist/types.d.ts CHANGED
@@ -16,6 +16,42 @@ export interface DOMData {
16
16
  count: number;
17
17
  };
18
18
  }
19
+ /**
20
+ * WebSocket frame data captured during connection.
21
+ */
22
+ export interface WebSocketFrame {
23
+ /** Timestamp when frame was sent/received */
24
+ timestamp: number;
25
+ /** Direction: 'sent' or 'received' */
26
+ direction: 'sent' | 'received';
27
+ /** WebSocket opcode (1 = text, 2 = binary) */
28
+ opcode: number;
29
+ /** Frame payload data */
30
+ payloadData: string;
31
+ }
32
+ /**
33
+ * WebSocket connection with lifecycle and frame data.
34
+ */
35
+ export interface WebSocketConnection {
36
+ /** Request ID from CDP */
37
+ requestId: string;
38
+ /** WebSocket URL */
39
+ url: string;
40
+ /** Timestamp when connection was created */
41
+ timestamp: number;
42
+ /** Initiator URL (page that opened the WebSocket) */
43
+ initiatorUrl?: string;
44
+ /** Response status from handshake */
45
+ status?: number;
46
+ /** Response headers from handshake */
47
+ responseHeaders?: Record<string, string>;
48
+ /** Captured frames (sent and received) */
49
+ frames: WebSocketFrame[];
50
+ /** Timestamp when connection was closed */
51
+ closedTime?: number;
52
+ /** Error message if connection failed */
53
+ errorMessage?: string;
54
+ }
19
55
  export interface NetworkRequest {
20
56
  requestId: string;
21
57
  url: string;
@@ -59,6 +95,23 @@ export interface NetworkRequest {
59
95
  decodedBodyLength?: number;
60
96
  serverIPAddress?: string;
61
97
  connection?: string;
98
+ /**
99
+ * Network error text from loadingFailed events.
100
+ * Contains specific error codes like net::ERR_CERT_DATE_INVALID, net::ERR_CONNECTION_REFUSED.
101
+ */
102
+ errorText?: string;
103
+ /**
104
+ * Whether the request was canceled (e.g., navigation away, fetch abort).
105
+ */
106
+ canceled?: boolean;
107
+ /**
108
+ * Whether the request was blocked (e.g., CORS, mixed content).
109
+ */
110
+ blocked?: boolean;
111
+ /**
112
+ * Reason for blocking (e.g., 'cors', 'mixed-content', 'inspector').
113
+ */
114
+ blockedReason?: string;
62
115
  }
63
116
  /**
64
117
  * Stack frame representing a location in source code.
@@ -88,6 +141,11 @@ export interface ConsoleMessage {
88
141
  */
89
142
  stackTrace?: StackFrame[];
90
143
  }
144
+ /**
145
+ * Console message level categories for user-facing filtering.
146
+ * Used by --level option in console command.
147
+ */
148
+ export type ConsoleLevel = 'error' | 'warning' | 'info' | 'debug';
91
149
  export interface BdgOutput {
92
150
  version: string;
93
151
  success: boolean;
@@ -101,6 +159,7 @@ export interface BdgOutput {
101
159
  dom?: DOMData;
102
160
  network?: NetworkRequest[];
103
161
  console?: ConsoleMessage[];
162
+ websockets?: WebSocketConnection[];
104
163
  };
105
164
  error?: string;
106
165
  partial?: boolean;
@@ -180,4 +239,88 @@ export interface A11yQueryResult {
180
239
  /** Query pattern used */
181
240
  pattern: A11yQueryPattern;
182
241
  }
242
+ /**
243
+ * DOM context information for enriching semantic output.
244
+ * Used when a11y name is missing to provide useful element context.
245
+ */
246
+ export interface DomContext {
247
+ tag: string;
248
+ classes?: string[];
249
+ preview?: string;
250
+ }
251
+ /**
252
+ * Result of a DOM query operation.
253
+ */
254
+ export interface DomQueryResult {
255
+ selector: string;
256
+ count: number;
257
+ nodes: Array<{
258
+ index: number;
259
+ nodeId: number;
260
+ tag?: string;
261
+ classes?: string[];
262
+ preview?: string;
263
+ }>;
264
+ /** Navigation ID when query was performed (for staleness detection). */
265
+ navigationId?: number;
266
+ }
267
+ /**
268
+ * Result of a DOM get operation.
269
+ */
270
+ export interface DomGetResult {
271
+ nodes: Array<{
272
+ nodeId: number;
273
+ tag?: string;
274
+ attributes?: Record<string, unknown>;
275
+ classes?: string[];
276
+ outerHTML?: string;
277
+ }>;
278
+ }
279
+ /**
280
+ * Element bounding box coordinates.
281
+ */
282
+ export interface ElementBounds {
283
+ x: number;
284
+ y: number;
285
+ width: number;
286
+ height: number;
287
+ }
288
+ /**
289
+ * Result of a screenshot operation.
290
+ */
291
+ export interface ScreenshotResult {
292
+ path: string;
293
+ format: 'png' | 'jpeg';
294
+ quality?: number;
295
+ width: number;
296
+ height: number;
297
+ size: number;
298
+ viewport?: {
299
+ width: number;
300
+ height: number;
301
+ };
302
+ fullPage: boolean;
303
+ element?: {
304
+ selector?: string;
305
+ index?: number;
306
+ bounds: ElementBounds;
307
+ };
308
+ }
309
+ /**
310
+ * Options for DOM get operation.
311
+ */
312
+ export interface DomGetOptions {
313
+ selector?: string;
314
+ nodeId?: number;
315
+ all?: boolean;
316
+ nth?: number;
317
+ }
318
+ /**
319
+ * Options for screenshot operation.
320
+ */
321
+ export interface ScreenshotOptions {
322
+ format?: 'png' | 'jpeg';
323
+ quality?: number;
324
+ fullPage?: boolean;
325
+ }
183
326
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { DomContext } from '../../types/dom.js';
1
+ import type { DomContext } from '../../types.js';
2
2
  import type { A11yTree, A11yQueryResult, A11yNode } from '../../types.js';
3
3
  /**
4
4
  * Data structure for a11y node with DOM context.
@@ -1 +1 @@
1
- {"version":3,"file":"a11y.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/a11y.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtE;;GAEG;AACH,UAAU,mBAAmB;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;CAC/B;AAaD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAmBrD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAyBrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CA6D3E"}
1
+ {"version":3,"file":"a11y.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/a11y.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtE;;GAEG;AACH,UAAU,mBAAmB;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;CAC/B;AAaD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAmBrD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAyBrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CA6D3E"}
@@ -4,7 +4,13 @@
4
4
  * Provides formatting functions for the `bdg console` command output including
5
5
  * smart summary view with deduplication, chronological view, and JSON output.
6
6
  */
7
- import type { ConsoleMessage, StackFrame } from '../../types.js';
7
+ import type { ConsoleLevel, ConsoleMessage, StackFrame } from '../../types.js';
8
+ export type { ConsoleLevel } from '../../types.js';
9
+ /**
10
+ * Internal console level including 'other' for classification.
11
+ * Used internally by formatter for message grouping.
12
+ */
13
+ type ConsoleInternalLevel = ConsoleLevel | 'other';
8
14
  /**
9
15
  * Deduplicated console message with occurrence count.
10
16
  */
@@ -51,6 +57,8 @@ export interface ConsoleFormatOptions {
51
57
  last?: number | undefined;
52
58
  /** Show messages from all navigations (default: current only) */
53
59
  history?: boolean | undefined;
60
+ /** Filter by level (error, warning, info, debug) */
61
+ level?: ConsoleLevel | undefined;
54
62
  }
55
63
  /**
56
64
  * JSON error/warning entry structure.
@@ -76,6 +84,11 @@ export interface ConsoleJsonOutput {
76
84
  warnings: Omit<JsonErrorEntry, 'stackTrace'>[];
77
85
  messages?: ConsoleMessage[];
78
86
  }
87
+ /**
88
+ * Mapping from console message types to level categories.
89
+ * Exported for use by console command filtering.
90
+ */
91
+ export declare const LEVEL_MAP: Record<ConsoleMessage['type'], ConsoleInternalLevel>;
79
92
  /**
80
93
  * Format console output as smart summary (default mode).
81
94
  *
@@ -127,5 +140,4 @@ export declare function formatConsoleJson(messages: ConsoleMessage[], options: C
127
140
  * @returns Formatted output string
128
141
  */
129
142
  export declare function formatConsole(messages: ConsoleMessage[], options: ConsoleFormatOptions): string;
130
- export {};
131
143
  //# sourceMappingURL=console.d.ts.map