browser-debugger-cli 0.6.6 → 0.6.8

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 (238) hide show
  1. package/README.md +48 -269
  2. package/dist/commands/__tests__/console.contract.test.d.ts +9 -0
  3. package/dist/commands/__tests__/console.contract.test.d.ts.map +1 -0
  4. package/dist/commands/__tests__/console.contract.test.js +118 -0
  5. package/dist/commands/__tests__/console.contract.test.js.map +1 -0
  6. package/dist/commands/__tests__/helpJson.contract.test.d.ts +12 -0
  7. package/dist/commands/__tests__/helpJson.contract.test.d.ts.map +1 -0
  8. package/dist/commands/__tests__/helpJson.contract.test.js +121 -0
  9. package/dist/commands/__tests__/helpJson.contract.test.js.map +1 -0
  10. package/dist/commands/__tests__/machineReadableHelp.contract.test.js +26 -7
  11. package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +1 -1
  12. package/dist/commands/cdp.d.ts.map +1 -1
  13. package/dist/commands/cdp.js.map +1 -1
  14. package/dist/commands/cleanup.d.ts.map +1 -1
  15. package/dist/commands/cleanup.js +17 -91
  16. package/dist/commands/cleanup.js.map +1 -1
  17. package/dist/commands/console.d.ts +17 -0
  18. package/dist/commands/console.d.ts.map +1 -1
  19. package/dist/commands/console.js +158 -56
  20. package/dist/commands/console.js.map +1 -1
  21. package/dist/commands/details.d.ts.map +1 -1
  22. package/dist/commands/details.js +3 -1
  23. package/dist/commands/details.js.map +1 -1
  24. package/dist/commands/dom/DomElementResolver.d.ts +138 -0
  25. package/dist/commands/dom/DomElementResolver.d.ts.map +1 -0
  26. package/dist/commands/dom/DomElementResolver.js +173 -0
  27. package/dist/commands/dom/DomElementResolver.js.map +1 -0
  28. package/dist/commands/dom/a11y.d.ts.map +1 -1
  29. package/dist/commands/dom/a11y.js +4 -28
  30. package/dist/commands/dom/a11y.js.map +1 -1
  31. package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
  32. package/dist/commands/dom/evalHelpers.js +1 -1
  33. package/dist/commands/dom/evalHelpers.js.map +1 -1
  34. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
  35. package/dist/commands/dom/formFillHelpers.js +11 -11
  36. package/dist/commands/dom/formFillHelpers.js.map +1 -1
  37. package/dist/commands/dom/formInteraction.d.ts.map +1 -1
  38. package/dist/commands/dom/formInteraction.js +5 -5
  39. package/dist/commands/dom/formInteraction.js.map +1 -1
  40. package/dist/commands/dom/helpers.d.ts +0 -50
  41. package/dist/commands/dom/helpers.d.ts.map +1 -1
  42. package/dist/commands/dom/helpers.js +2 -56
  43. package/dist/commands/dom/helpers.js.map +1 -1
  44. package/dist/commands/dom/index.d.ts.map +1 -1
  45. package/dist/commands/dom/index.js +50 -44
  46. package/dist/commands/dom/index.js.map +1 -1
  47. package/dist/commands/dom/keyMapping.d.ts +0 -6
  48. package/dist/commands/dom/keyMapping.d.ts.map +1 -1
  49. package/dist/commands/dom/keyMapping.js +0 -8
  50. package/dist/commands/dom/keyMapping.js.map +1 -1
  51. package/dist/commands/dom/reactEventHelpers.d.ts +12 -18
  52. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
  53. package/dist/commands/dom/reactEventHelpers.js +21 -70
  54. package/dist/commands/dom/reactEventHelpers.js.map +1 -1
  55. package/dist/commands/helpJson.d.ts +165 -0
  56. package/dist/commands/helpJson.d.ts.map +1 -0
  57. package/dist/commands/helpJson.js +252 -0
  58. package/dist/commands/helpJson.js.map +1 -0
  59. package/dist/commands/machineReadableHelp.d.ts +21 -2
  60. package/dist/commands/machineReadableHelp.d.ts.map +1 -1
  61. package/dist/commands/machineReadableHelp.js +95 -60
  62. package/dist/commands/machineReadableHelp.js.map +1 -1
  63. package/dist/commands/network.d.ts.map +1 -1
  64. package/dist/commands/network.js.map +1 -1
  65. package/dist/commands/peek.d.ts.map +1 -1
  66. package/dist/commands/peek.js +5 -7
  67. package/dist/commands/peek.js.map +1 -1
  68. package/dist/commands/shared/CommandRunner.d.ts +4 -10
  69. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  70. package/dist/commands/shared/CommandRunner.js +2 -2
  71. package/dist/commands/shared/CommandRunner.js.map +1 -1
  72. package/dist/commands/shared/commonOptions.d.ts +0 -15
  73. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  74. package/dist/commands/shared/commonOptions.js +0 -32
  75. package/dist/commands/shared/commonOptions.js.map +1 -1
  76. package/dist/commands/shared/optionTypes.d.ts +247 -0
  77. package/dist/commands/shared/optionTypes.d.ts.map +1 -0
  78. package/dist/commands/shared/optionTypes.js +20 -0
  79. package/dist/commands/shared/optionTypes.js.map +1 -0
  80. package/dist/commands/shared/startHelpers.d.ts.map +1 -1
  81. package/dist/commands/shared/startHelpers.js +3 -3
  82. package/dist/commands/shared/startHelpers.js.map +1 -1
  83. package/dist/commands/start.d.ts.map +1 -1
  84. package/dist/commands/start.js +8 -6
  85. package/dist/commands/start.js.map +1 -1
  86. package/dist/commands/status.d.ts.map +1 -1
  87. package/dist/commands/status.js.map +1 -1
  88. package/dist/commands/stop.d.ts.map +1 -1
  89. package/dist/commands/stop.js +17 -43
  90. package/dist/commands/stop.js.map +1 -1
  91. package/dist/commands/tail.d.ts.map +1 -1
  92. package/dist/commands/tail.js +49 -59
  93. package/dist/commands/tail.js.map +1 -1
  94. package/dist/connection/types.d.ts +2 -1
  95. package/dist/connection/types.d.ts.map +1 -1
  96. package/dist/constants.d.ts +14 -0
  97. package/dist/constants.d.ts.map +1 -1
  98. package/dist/constants.js +39 -0
  99. package/dist/constants.js.map +1 -1
  100. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -1
  101. package/dist/daemon/handlers/responseHandler.js +1 -0
  102. package/dist/daemon/handlers/responseHandler.js.map +1 -1
  103. package/dist/daemon/ipcServer.js +8 -8
  104. package/dist/daemon/ipcServer.js.map +1 -1
  105. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
  106. package/dist/daemon/lifecycle/signalHandlers.js +19 -3
  107. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -1
  108. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -1
  109. package/dist/daemon/lifecycle/workerCleanup.js +5 -2
  110. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
  111. package/dist/daemon/patternDefinitions.d.ts +0 -13
  112. package/dist/daemon/patternDefinitions.d.ts.map +1 -1
  113. package/dist/daemon/patternDefinitions.js +0 -17
  114. package/dist/daemon/patternDefinitions.js.map +1 -1
  115. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  116. package/dist/daemon/worker/commandRegistry.js +3 -0
  117. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  118. package/dist/index.js +34 -2
  119. package/dist/index.js.map +1 -1
  120. package/dist/ipc/protocol/commands.d.ts +2 -0
  121. package/dist/ipc/protocol/commands.d.ts.map +1 -1
  122. package/dist/ipc/protocol/commands.js.map +1 -1
  123. package/dist/ipc/session/queries.d.ts +2 -0
  124. package/dist/ipc/session/queries.d.ts.map +1 -1
  125. package/dist/ipc/utils/responseValidator.d.ts +7 -1
  126. package/dist/ipc/utils/responseValidator.d.ts.map +1 -1
  127. package/dist/ipc/utils/responseValidator.js +6 -1
  128. package/dist/ipc/utils/responseValidator.js.map +1 -1
  129. package/dist/session/QueryCacheManager.d.ts +140 -0
  130. package/dist/session/QueryCacheManager.d.ts.map +1 -0
  131. package/dist/session/QueryCacheManager.js +233 -0
  132. package/dist/session/QueryCacheManager.js.map +1 -0
  133. package/dist/session/cleanup.d.ts +63 -1
  134. package/dist/session/cleanup.d.ts.map +1 -1
  135. package/dist/session/cleanup.js +191 -65
  136. package/dist/session/cleanup.js.map +1 -1
  137. package/dist/session/queryCache.d.ts +25 -14
  138. package/dist/session/queryCache.d.ts.map +1 -1
  139. package/dist/session/queryCache.js +31 -60
  140. package/dist/session/queryCache.js.map +1 -1
  141. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts +9 -0
  142. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts.map +1 -0
  143. package/dist/telemetry/__tests__/roleInference.unit.test.js +138 -0
  144. package/dist/telemetry/__tests__/roleInference.unit.test.js.map +1 -0
  145. package/dist/telemetry/console.d.ts.map +1 -1
  146. package/dist/telemetry/console.js +29 -17
  147. package/dist/telemetry/console.js.map +1 -1
  148. package/dist/telemetry/dom.d.ts +1 -0
  149. package/dist/telemetry/dom.d.ts.map +1 -1
  150. package/dist/telemetry/dom.js +9 -4
  151. package/dist/telemetry/dom.js.map +1 -1
  152. package/dist/telemetry/filters.d.ts +3 -0
  153. package/dist/telemetry/filters.d.ts.map +1 -1
  154. package/dist/telemetry/filters.js +25 -3
  155. package/dist/telemetry/filters.js.map +1 -1
  156. package/dist/telemetry/network.d.ts.map +1 -1
  157. package/dist/telemetry/network.js +35 -6
  158. package/dist/telemetry/network.js.map +1 -1
  159. package/dist/telemetry/remoteObject.d.ts +58 -0
  160. package/dist/telemetry/remoteObject.d.ts.map +1 -0
  161. package/dist/telemetry/remoteObject.js +134 -0
  162. package/dist/telemetry/remoteObject.js.map +1 -0
  163. package/dist/telemetry/roleInference.d.ts +50 -0
  164. package/dist/telemetry/roleInference.d.ts.map +1 -0
  165. package/dist/telemetry/roleInference.js +163 -0
  166. package/dist/telemetry/roleInference.js.map +1 -0
  167. package/dist/telemetry/utils.d.ts +0 -57
  168. package/dist/telemetry/utils.d.ts.map +1 -1
  169. package/dist/telemetry/utils.js +0 -71
  170. package/dist/telemetry/utils.js.map +1 -1
  171. package/dist/types/dom.d.ts +2 -0
  172. package/dist/types/dom.d.ts.map +1 -1
  173. package/dist/types.d.ts +23 -0
  174. package/dist/types.d.ts.map +1 -1
  175. package/dist/ui/formatters/a11y.d.ts +0 -9
  176. package/dist/ui/formatters/a11y.d.ts.map +1 -1
  177. package/dist/ui/formatters/a11y.js +0 -45
  178. package/dist/ui/formatters/a11y.js.map +1 -1
  179. package/dist/ui/formatters/console.d.ts +131 -0
  180. package/dist/ui/formatters/console.d.ts.map +1 -0
  181. package/dist/ui/formatters/console.js +400 -0
  182. package/dist/ui/formatters/console.js.map +1 -0
  183. package/dist/ui/formatters/preview.d.ts.map +1 -1
  184. package/dist/ui/formatters/preview.js +2 -39
  185. package/dist/ui/formatters/preview.js.map +1 -1
  186. package/dist/ui/logging/index.d.ts +1 -1
  187. package/dist/ui/logging/index.d.ts.map +1 -1
  188. package/dist/ui/logging/index.js +1 -1
  189. package/dist/ui/logging/index.js.map +1 -1
  190. package/dist/ui/logging/logger.d.ts +21 -0
  191. package/dist/ui/logging/logger.d.ts.map +1 -1
  192. package/dist/ui/logging/logger.js +24 -6
  193. package/dist/ui/logging/logger.js.map +1 -1
  194. package/dist/ui/messages/commands.d.ts +0 -14
  195. package/dist/ui/messages/commands.d.ts.map +1 -1
  196. package/dist/ui/messages/commands.js +0 -18
  197. package/dist/ui/messages/commands.js.map +1 -1
  198. package/dist/ui/messages/consoleMessages.d.ts +12 -27
  199. package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
  200. package/dist/ui/messages/consoleMessages.js +16 -31
  201. package/dist/ui/messages/consoleMessages.js.map +1 -1
  202. package/dist/ui/messages/errors.d.ts +0 -16
  203. package/dist/ui/messages/errors.d.ts.map +1 -1
  204. package/dist/ui/messages/errors.js +0 -18
  205. package/dist/ui/messages/errors.js.map +1 -1
  206. package/dist/ui/messages/hints.d.ts +0 -10
  207. package/dist/ui/messages/hints.d.ts.map +1 -1
  208. package/dist/ui/messages/hints.js +0 -12
  209. package/dist/ui/messages/hints.js.map +1 -1
  210. package/dist/utils/decisionTrees.d.ts +0 -17
  211. package/dist/utils/decisionTrees.d.ts.map +1 -1
  212. package/dist/utils/decisionTrees.js +17 -23
  213. package/dist/utils/decisionTrees.js.map +1 -1
  214. package/dist/utils/errorMapping.d.ts +60 -0
  215. package/dist/utils/errorMapping.d.ts.map +1 -0
  216. package/dist/utils/errorMapping.js +97 -0
  217. package/dist/utils/errorMapping.js.map +1 -0
  218. package/dist/utils/file.d.ts +27 -0
  219. package/dist/utils/file.d.ts.map +1 -0
  220. package/dist/utils/file.js +37 -0
  221. package/dist/utils/file.js.map +1 -0
  222. package/dist/utils/levenshtein.d.ts +0 -17
  223. package/dist/utils/levenshtein.d.ts.map +1 -1
  224. package/dist/utils/levenshtein.js +0 -31
  225. package/dist/utils/levenshtein.js.map +1 -1
  226. package/dist/utils/strings.d.ts +14 -0
  227. package/dist/utils/strings.d.ts.map +1 -0
  228. package/dist/utils/strings.js +23 -0
  229. package/dist/utils/strings.js.map +1 -0
  230. package/dist/utils/taskMappings.d.ts +0 -17
  231. package/dist/utils/taskMappings.d.ts.map +1 -1
  232. package/dist/utils/taskMappings.js +18 -24
  233. package/dist/utils/taskMappings.js.map +1 -1
  234. package/dist/utils/typeGuards.d.ts +62 -0
  235. package/dist/utils/typeGuards.d.ts.map +1 -0
  236. package/dist/utils/typeGuards.js +94 -0
  237. package/dist/utils/typeGuards.js.map +1 -0
  238. package/package.json +1 -1
@@ -0,0 +1,58 @@
1
+ /**
2
+ * RemoteObject formatting utilities.
3
+ *
4
+ * Provides functions to serialize CDP RemoteObject values into human-readable
5
+ * strings, properly handling objects, arrays, and their preview data.
6
+ */
7
+ import type { Protocol } from '../connection/typed-cdp.js';
8
+ /**
9
+ * Format a CDP RemoteObject as a human-readable string.
10
+ *
11
+ * Handles all CDP value types including primitives, objects, arrays,
12
+ * errors, null, and undefined. Uses preview data when available for
13
+ * rich object representation.
14
+ *
15
+ * @param arg - CDP RemoteObject from console arguments
16
+ * @returns Formatted string representation
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // Primitive
21
+ * formatRemoteObject({ type: 'string', value: 'hello' }) // 'hello'
22
+ *
23
+ * // Object with preview
24
+ * formatRemoteObject({
25
+ * type: 'object',
26
+ * preview: { properties: [{ name: 'foo', value: 'bar' }] }
27
+ * }) // '{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
+ * ```
36
+ */
37
+ export declare function formatRemoteObject(arg: Protocol.Runtime.RemoteObject): string;
38
+ /**
39
+ * Format multiple RemoteObjects as console message text.
40
+ *
41
+ * Joins formatted arguments with spaces, similar to how console.log
42
+ * displays multiple arguments.
43
+ *
44
+ * @param args - Array of CDP RemoteObjects
45
+ * @returns Joined formatted string
46
+ */
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;
58
+ //# sourceMappingURL=remoteObject.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * RemoteObject formatting utilities.
3
+ *
4
+ * Provides functions to serialize CDP RemoteObject values into human-readable
5
+ * strings, properly handling objects, arrays, and their preview data.
6
+ */
7
+ import { truncateByLength } from '../utils/strings.js';
8
+ /** Maximum length for formatted text before truncation */
9
+ const MAX_TEXT_LENGTH = 500;
10
+ /**
11
+ * Format a preview property value.
12
+ *
13
+ * @param prop - Preview property from CDP
14
+ * @returns Formatted value string
15
+ */
16
+ function formatPreviewProperty(prop) {
17
+ if (prop.type === 'string') {
18
+ return `"${prop.value}"`;
19
+ }
20
+ if (prop.type === 'undefined') {
21
+ return 'undefined';
22
+ }
23
+ if (prop.value === 'null') {
24
+ return 'null';
25
+ }
26
+ // For objects, functions, symbols - use the value as-is (e.g., "Object", "[Function]")
27
+ return prop.value ?? prop.type;
28
+ }
29
+ /**
30
+ * Format object preview as a string representation.
31
+ *
32
+ * @param preview - Object preview from CDP RemoteObject
33
+ * @returns Formatted object string like `{foo: "bar", num: 123}`
34
+ */
35
+ function formatObjectPreview(preview) {
36
+ 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
+ const suffix = preview.overflow ? ', …' : '';
49
+ return `{${pairs.join(', ')}${suffix}}`;
50
+ }
51
+ /**
52
+ * Format a CDP RemoteObject as a human-readable string.
53
+ *
54
+ * Handles all CDP value types including primitives, objects, arrays,
55
+ * errors, null, and undefined. Uses preview data when available for
56
+ * rich object representation.
57
+ *
58
+ * @param arg - CDP RemoteObject from console arguments
59
+ * @returns Formatted string representation
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * // Primitive
64
+ * formatRemoteObject({ type: 'string', value: 'hello' }) // 'hello'
65
+ *
66
+ * // Object with preview
67
+ * formatRemoteObject({
68
+ * type: 'object',
69
+ * preview: { properties: [{ name: 'foo', value: 'bar' }] }
70
+ * }) // '{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
+ * ```
79
+ */
80
+ export function formatRemoteObject(arg) {
81
+ // Handle primitives with direct value
82
+ 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
96
+ if (arg.type === 'undefined') {
97
+ return 'undefined';
98
+ }
99
+ // Handle errors - use full description which includes stack trace
100
+ if (arg.subtype === 'error' && arg.description) {
101
+ return arg.description;
102
+ }
103
+ // Handle objects/arrays with preview
104
+ if (arg.type === 'object' && arg.preview) {
105
+ return formatObjectPreview(arg.preview);
106
+ }
107
+ // Fallback to description or type
108
+ return arg.description ?? `[${arg.type}]`;
109
+ }
110
+ /**
111
+ * Format multiple RemoteObjects as console message text.
112
+ *
113
+ * Joins formatted arguments with spaces, similar to how console.log
114
+ * displays multiple arguments.
115
+ *
116
+ * @param args - Array of CDP RemoteObjects
117
+ * @returns Joined formatted string
118
+ */
119
+ export function formatConsoleArgs(args) {
120
+ return args.map(formatRemoteObject).join(' ');
121
+ }
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
+ //# sourceMappingURL=remoteObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteObject.js","sourceRoot":"","sources":["../../src/telemetry/remoteObject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Role inference utilities for synthesizing accessibility nodes from DOM context.
3
+ *
4
+ * When Chrome's accessibility tree returns no data for an element (all nodes ignored),
5
+ * these utilities infer semantic meaning from HTML tags using implicit ARIA roles.
6
+ *
7
+ * @see https://www.w3.org/TR/html-aria/#docconformance
8
+ */
9
+ import type { DomContext } from '../types/dom.js';
10
+ import type { A11yNode } from '../types.js';
11
+ /**
12
+ * Infers an ARIA role from an HTML tag name.
13
+ *
14
+ * Uses the WAI-ARIA specification's implicit role mappings.
15
+ * Returns 'generic' for unknown or non-semantic tags (div, span, etc.).
16
+ *
17
+ * @param tag - HTML tag name (case-insensitive)
18
+ * @returns Inferred ARIA role
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * inferRoleFromTag('button') // => 'button'
23
+ * inferRoleFromTag('H1') // => 'heading'
24
+ * inferRoleFromTag('div') // => 'generic'
25
+ * ```
26
+ */
27
+ export declare function inferRoleFromTag(tag: string): string;
28
+ /**
29
+ * Synthesizes an A11yNode from DOM context when accessibility data is unavailable.
30
+ *
31
+ * Creates a minimal accessibility node with:
32
+ * - Role inferred from HTML tag
33
+ * - Name from text preview (if available)
34
+ * - `inferred: true` flag to signal synthesized data
35
+ *
36
+ * @param domContext - DOM context with tag, classes, and text preview
37
+ * @param nodeId - CDP node ID to associate with the synthesized node
38
+ * @returns Synthesized A11yNode with `inferred: true`
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * synthesizeA11yNode(
43
+ * { tag: 'a', preview: 'Main page', classes: ['nav-link'] },
44
+ * 123
45
+ * );
46
+ * // => { nodeId: '123', role: 'link', name: 'Main page', inferred: true, backendDOMNodeId: 123 }
47
+ * ```
48
+ */
49
+ export declare function synthesizeA11yNode(domContext: DomContext, nodeId: number): A11yNode;
50
+ //# sourceMappingURL=roleInference.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Role inference utilities for synthesizing accessibility nodes from DOM context.
3
+ *
4
+ * When Chrome's accessibility tree returns no data for an element (all nodes ignored),
5
+ * these utilities infer semantic meaning from HTML tags using implicit ARIA roles.
6
+ *
7
+ * @see https://www.w3.org/TR/html-aria/#docconformance
8
+ */
9
+ /**
10
+ * Implicit ARIA roles mapped from HTML tags.
11
+ *
12
+ * Based on WAI-ARIA specification for HTML elements.
13
+ * These represent the default accessibility semantics browsers assign to elements.
14
+ *
15
+ * @see https://www.w3.org/TR/html-aria/#docconformance
16
+ */
17
+ const IMPLICIT_ARIA_ROLES = {
18
+ // Interactive elements
19
+ a: 'link',
20
+ button: 'button',
21
+ input: 'textbox',
22
+ select: 'combobox',
23
+ textarea: 'textbox',
24
+ option: 'option',
25
+ // Headings
26
+ h1: 'heading',
27
+ h2: 'heading',
28
+ h3: 'heading',
29
+ h4: 'heading',
30
+ h5: 'heading',
31
+ h6: 'heading',
32
+ // Landmarks
33
+ nav: 'navigation',
34
+ main: 'main',
35
+ header: 'banner',
36
+ footer: 'contentinfo',
37
+ aside: 'complementary',
38
+ section: 'region',
39
+ article: 'article',
40
+ form: 'form',
41
+ search: 'search',
42
+ // Media
43
+ img: 'image',
44
+ figure: 'figure',
45
+ figcaption: 'caption',
46
+ video: 'video',
47
+ audio: 'audio',
48
+ // Lists
49
+ ul: 'list',
50
+ ol: 'list',
51
+ li: 'listitem',
52
+ dl: 'list',
53
+ dt: 'term',
54
+ dd: 'definition',
55
+ menu: 'menu',
56
+ menuitem: 'menuitem',
57
+ // Tables
58
+ table: 'table',
59
+ thead: 'rowgroup',
60
+ tbody: 'rowgroup',
61
+ tfoot: 'rowgroup',
62
+ tr: 'row',
63
+ th: 'columnheader',
64
+ td: 'cell',
65
+ // Other semantic elements
66
+ dialog: 'dialog',
67
+ details: 'group',
68
+ summary: 'button',
69
+ progress: 'progressbar',
70
+ meter: 'meter',
71
+ output: 'status',
72
+ address: 'group',
73
+ blockquote: 'blockquote',
74
+ code: 'code',
75
+ pre: 'group',
76
+ hr: 'separator',
77
+ };
78
+ /**
79
+ * Default role when no implicit mapping exists.
80
+ */
81
+ const DEFAULT_ROLE = 'generic';
82
+ /**
83
+ * Maximum length for synthesized accessible name from DOM text preview.
84
+ */
85
+ const MAX_NAME_LENGTH = 100;
86
+ /**
87
+ * Infers an ARIA role from an HTML tag name.
88
+ *
89
+ * Uses the WAI-ARIA specification's implicit role mappings.
90
+ * Returns 'generic' for unknown or non-semantic tags (div, span, etc.).
91
+ *
92
+ * @param tag - HTML tag name (case-insensitive)
93
+ * @returns Inferred ARIA role
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * inferRoleFromTag('button') // => 'button'
98
+ * inferRoleFromTag('H1') // => 'heading'
99
+ * inferRoleFromTag('div') // => 'generic'
100
+ * ```
101
+ */
102
+ export function inferRoleFromTag(tag) {
103
+ const normalizedTag = tag.toLowerCase();
104
+ return IMPLICIT_ARIA_ROLES[normalizedTag] ?? DEFAULT_ROLE;
105
+ }
106
+ /**
107
+ * Extracts heading level from tag name.
108
+ *
109
+ * @param tag - HTML tag name
110
+ * @returns Heading level (1-6) or null if not a heading
111
+ */
112
+ function extractHeadingLevel(tag) {
113
+ const match = tag.toLowerCase().match(/^h([1-6])$/);
114
+ const level = match?.[1];
115
+ if (!level) {
116
+ return null;
117
+ }
118
+ return parseInt(level, 10);
119
+ }
120
+ /**
121
+ * Synthesizes an A11yNode from DOM context when accessibility data is unavailable.
122
+ *
123
+ * Creates a minimal accessibility node with:
124
+ * - Role inferred from HTML tag
125
+ * - Name from text preview (if available)
126
+ * - `inferred: true` flag to signal synthesized data
127
+ *
128
+ * @param domContext - DOM context with tag, classes, and text preview
129
+ * @param nodeId - CDP node ID to associate with the synthesized node
130
+ * @returns Synthesized A11yNode with `inferred: true`
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * synthesizeA11yNode(
135
+ * { tag: 'a', preview: 'Main page', classes: ['nav-link'] },
136
+ * 123
137
+ * );
138
+ * // => { nodeId: '123', role: 'link', name: 'Main page', inferred: true, backendDOMNodeId: 123 }
139
+ * ```
140
+ */
141
+ export function synthesizeA11yNode(domContext, nodeId) {
142
+ const role = inferRoleFromTag(domContext.tag);
143
+ const node = {
144
+ nodeId: String(nodeId),
145
+ role,
146
+ inferred: true,
147
+ backendDOMNodeId: nodeId,
148
+ };
149
+ // Use text preview as accessible name (truncated if needed)
150
+ if (domContext.preview) {
151
+ const name = domContext.preview.length > MAX_NAME_LENGTH
152
+ ? domContext.preview.slice(0, MAX_NAME_LENGTH - 3) + '...'
153
+ : domContext.preview;
154
+ node.name = name;
155
+ }
156
+ // Add heading level as property for h1-h6 elements
157
+ const headingLevel = extractHeadingLevel(domContext.tag);
158
+ if (headingLevel !== null) {
159
+ node.properties = { level: headingLevel };
160
+ }
161
+ return node;
162
+ }
163
+ //# sourceMappingURL=roleInference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roleInference.js","sourceRoot":"","sources":["../../src/telemetry/roleInference.ts"],"names":[],"mappings":"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"}
@@ -25,61 +25,4 @@ export declare function pushWithLimit<T>(buffer: T[], item: T, limit: number, on
25
25
  * ```
26
26
  */
27
27
  export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, label: string): Promise<T>;
28
- /**
29
- * Result of a batch CDP operation.
30
- */
31
- export interface BatchCDPResult<T> {
32
- /** Successfully resolved results */
33
- results: T[];
34
- /** Errors that occurred during execution */
35
- errors: Array<{
36
- index: number;
37
- error: Error;
38
- }>;
39
- }
40
- /**
41
- * Execute multiple CDP operations in parallel with concurrency control.
42
- *
43
- * Processes an array of async operations with a maximum concurrency limit,
44
- * preventing overwhelming of the CDP connection. Collects both successful
45
- * results and errors, allowing partial success handling.
46
- *
47
- * @param operations - Array of async operations to execute
48
- * @param concurrency - Maximum number of concurrent operations (default: 10)
49
- * @returns Object containing successful results and errors with their indices
50
- *
51
- * @example
52
- * ```typescript
53
- * const operations = nodeIds.map(id => () => cdp.send('DOM.describeNode', { nodeId: id }));
54
- * const { results, errors } = await batchCDPOperations(operations, 5);
55
- *
56
- * if (errors.length > 0) {
57
- * log.debug(`Failed to describe ${errors.length} nodes`);
58
- * }
59
- * ```
60
- */
61
- export declare function batchCDPOperations<T>(operations: Array<() => Promise<T>>, concurrency?: number): Promise<BatchCDPResult<T>>;
62
- /**
63
- * Process an array in parallel with concurrency control and transformation.
64
- *
65
- * Similar to `Promise.all(array.map(fn))` but with concurrency limiting and
66
- * error collection. Useful for processing large arrays of data that require
67
- * async operations without blocking the entire event loop.
68
- *
69
- * @param items - Array of items to process
70
- * @param mapper - Async function to transform each item
71
- * @param concurrency - Maximum number of concurrent operations (default: 10)
72
- * @returns Object containing successful results and errors with their indices
73
- *
74
- * @example
75
- * ```typescript
76
- * const requestIds = ['req1', 'req2', 'req3'];
77
- * const { results, errors } = await parallelMap(
78
- * requestIds,
79
- * async (id) => cdp.send('Network.getResponseBody', { requestId: id }),
80
- * 5
81
- * );
82
- * ```
83
- */
84
- export declare function parallelMap<T, R>(items: T[], mapper: (item: T, index: number) => Promise<R>, concurrency?: number): Promise<BatchCDPResult<R>>;
85
28
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/telemetry/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AA+BH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,MAAM,EAAE,CAAC,EAAE,EACX,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,IAAI,GACzB,IAAI,CAQN;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,CAAC,CAOZ;AAQD;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,oCAAoC;IACpC,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,UAAU,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EACnC,WAAW,GAAE,MAAgC,GAC5C,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAsB5B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,CAAC,EACpC,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9C,WAAW,GAAE,MAAgC,GAC5C,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAG5B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/telemetry/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6BH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,MAAM,EAAE,CAAC,EAAE,EACX,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,IAAI,GACzB,IAAI,CAQN;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,CAAC,CAOZ"}
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Shared utilities for telemetry collectors
3
3
  */
4
- import { ConcurrencyLimiter } from '../utils/concurrency.js';
5
4
  /**
6
5
  * Push an item to a bounded buffer with limit enforcement.
7
6
  *
@@ -65,74 +64,4 @@ export async function withTimeout(promise, timeoutMs, label) {
65
64
  new Promise((_, reject) => setTimeout(() => reject(new Error(`CDP ${label} timed out after ${timeoutMs}ms`)), timeoutMs)),
66
65
  ]);
67
66
  }
68
- /**
69
- * Default concurrency limit for batch CDP operations.
70
- * Prevents overwhelming the CDP connection with too many simultaneous requests.
71
- */
72
- const DEFAULT_CDP_CONCURRENCY = 10;
73
- /**
74
- * Execute multiple CDP operations in parallel with concurrency control.
75
- *
76
- * Processes an array of async operations with a maximum concurrency limit,
77
- * preventing overwhelming of the CDP connection. Collects both successful
78
- * results and errors, allowing partial success handling.
79
- *
80
- * @param operations - Array of async operations to execute
81
- * @param concurrency - Maximum number of concurrent operations (default: 10)
82
- * @returns Object containing successful results and errors with their indices
83
- *
84
- * @example
85
- * ```typescript
86
- * const operations = nodeIds.map(id => () => cdp.send('DOM.describeNode', { nodeId: id }));
87
- * const { results, errors } = await batchCDPOperations(operations, 5);
88
- *
89
- * if (errors.length > 0) {
90
- * log.debug(`Failed to describe ${errors.length} nodes`);
91
- * }
92
- * ```
93
- */
94
- export async function batchCDPOperations(operations, concurrency = DEFAULT_CDP_CONCURRENCY) {
95
- const limiter = new ConcurrencyLimiter(concurrency);
96
- const results = [];
97
- const errors = [];
98
- await Promise.all(operations.map((operation, index) => limiter.run(async () => {
99
- try {
100
- const result = await operation();
101
- results.push(result);
102
- }
103
- catch (error) {
104
- errors.push({
105
- index,
106
- error: error instanceof Error ? error : new Error(String(error)),
107
- });
108
- }
109
- })));
110
- return { results, errors };
111
- }
112
- /**
113
- * Process an array in parallel with concurrency control and transformation.
114
- *
115
- * Similar to `Promise.all(array.map(fn))` but with concurrency limiting and
116
- * error collection. Useful for processing large arrays of data that require
117
- * async operations without blocking the entire event loop.
118
- *
119
- * @param items - Array of items to process
120
- * @param mapper - Async function to transform each item
121
- * @param concurrency - Maximum number of concurrent operations (default: 10)
122
- * @returns Object containing successful results and errors with their indices
123
- *
124
- * @example
125
- * ```typescript
126
- * const requestIds = ['req1', 'req2', 'req3'];
127
- * const { results, errors } = await parallelMap(
128
- * requestIds,
129
- * async (id) => cdp.send('Network.getResponseBody', { requestId: id }),
130
- * 5
131
- * );
132
- * ```
133
- */
134
- export async function parallelMap(items, mapper, concurrency = DEFAULT_CDP_CONCURRENCY) {
135
- const operations = items.map((item, index) => () => mapper(item, index));
136
- return batchCDPOperations(operations, concurrency);
137
- }
138
67
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/telemetry/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAa,CAAC;AAErD,MAAM,UAAU,aAAa,CAC3B,MAAW,EACX,IAAO,EACP,KAAa,EACb,cAA0B;IAE1B,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAChE,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChC,cAAc,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAmB,EACnB,SAAiB,EACjB,KAAa;IAEb,OAAO,OAAO,CAAC,IAAI,CAAC;QAClB,OAAO;QACP,IAAI,OAAO,CAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,oBAAoB,SAAS,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAC9F;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAYnC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAmC,EACnC,cAAsB,uBAAuB;IAE7C,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,MAAM,MAAM,GAA2C,EAAE,CAAC;IAE1D,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAClC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK;gBACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CACH,CACF,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAU,EACV,MAA8C,EAC9C,cAAsB,uBAAuB;IAE7C,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACzE,OAAO,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/telemetry/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAa,CAAC;AAErD,MAAM,UAAU,aAAa,CAC3B,MAAW,EACX,IAAO,EACP,KAAa,EACb,cAA0B;IAE1B,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAChE,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChC,cAAc,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAmB,EACnB,SAAiB,EACjB,KAAa;IAEb,OAAO,OAAO,CAAC,IAAI,CAAC;QAClB,OAAO;QACP,IAAI,OAAO,CAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,oBAAoB,SAAS,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAC9F;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -26,6 +26,8 @@ export interface DomQueryResult {
26
26
  classes?: string[];
27
27
  preview?: string;
28
28
  }>;
29
+ /** Navigation ID when query was performed (for staleness detection). */
30
+ navigationId?: number;
29
31
  }
30
32
  /**
31
33
  * Result of a DOM get operation
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/types/dom.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/types/dom.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
package/dist/types.d.ts CHANGED
@@ -60,12 +60,33 @@ export interface NetworkRequest {
60
60
  serverIPAddress?: string;
61
61
  connection?: string;
62
62
  }
63
+ /**
64
+ * Stack frame representing a location in source code.
65
+ * Used for error stack traces and source locations in console messages.
66
+ */
67
+ export interface StackFrame {
68
+ /** Source file URL or path */
69
+ url: string;
70
+ /** 0-based line number in the source */
71
+ lineNumber: number;
72
+ /** 0-based column number in the source */
73
+ columnNumber: number;
74
+ /** Function name, if available */
75
+ functionName?: string;
76
+ /** Script ID from CDP */
77
+ scriptId?: string;
78
+ }
63
79
  export interface ConsoleMessage {
64
80
  type: Protocol.Runtime.ConsoleAPICalledEvent['type'] | 'error';
65
81
  text: string;
66
82
  timestamp: number;
67
83
  args?: unknown[];
68
84
  navigationId?: number;
85
+ /**
86
+ * Stack trace captured when the console call was made.
87
+ * First frame indicates the source location of the console call.
88
+ */
89
+ stackTrace?: StackFrame[];
69
90
  }
70
91
  export interface BdgOutput {
71
92
  version: string;
@@ -116,6 +137,8 @@ export interface A11yNode {
116
137
  childIds?: string[];
117
138
  /** Associated DOM node ID for querying */
118
139
  backendDOMNodeId?: number;
140
+ /** True when node is synthesized from DOM context (a11y unavailable) */
141
+ inferred?: boolean;
119
142
  }
120
143
  /**
121
144
  * Accessibility tree data structure.
@@ -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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"}