browser-debugger-cli 0.6.6 → 0.6.7

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 (213) hide show
  1. package/README.md +48 -269
  2. package/dist/commands/__tests__/helpJson.contract.test.d.ts +12 -0
  3. package/dist/commands/__tests__/helpJson.contract.test.d.ts.map +1 -0
  4. package/dist/commands/__tests__/helpJson.contract.test.js +121 -0
  5. package/dist/commands/__tests__/helpJson.contract.test.js.map +1 -0
  6. package/dist/commands/__tests__/machineReadableHelp.contract.test.js +26 -7
  7. package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +1 -1
  8. package/dist/commands/cdp.d.ts.map +1 -1
  9. package/dist/commands/cdp.js.map +1 -1
  10. package/dist/commands/cleanup.d.ts.map +1 -1
  11. package/dist/commands/cleanup.js +17 -91
  12. package/dist/commands/cleanup.js.map +1 -1
  13. package/dist/commands/console.d.ts.map +1 -1
  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 +3 -1
  17. package/dist/commands/details.js.map +1 -1
  18. package/dist/commands/dom/DomElementResolver.d.ts +138 -0
  19. package/dist/commands/dom/DomElementResolver.d.ts.map +1 -0
  20. package/dist/commands/dom/DomElementResolver.js +173 -0
  21. package/dist/commands/dom/DomElementResolver.js.map +1 -0
  22. package/dist/commands/dom/a11y.d.ts.map +1 -1
  23. package/dist/commands/dom/a11y.js +4 -28
  24. package/dist/commands/dom/a11y.js.map +1 -1
  25. package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
  26. package/dist/commands/dom/evalHelpers.js +1 -1
  27. package/dist/commands/dom/evalHelpers.js.map +1 -1
  28. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
  29. package/dist/commands/dom/formFillHelpers.js +11 -11
  30. package/dist/commands/dom/formFillHelpers.js.map +1 -1
  31. package/dist/commands/dom/formInteraction.d.ts.map +1 -1
  32. package/dist/commands/dom/formInteraction.js +5 -5
  33. package/dist/commands/dom/formInteraction.js.map +1 -1
  34. package/dist/commands/dom/helpers.d.ts +0 -50
  35. package/dist/commands/dom/helpers.d.ts.map +1 -1
  36. package/dist/commands/dom/helpers.js +2 -56
  37. package/dist/commands/dom/helpers.js.map +1 -1
  38. package/dist/commands/dom/index.d.ts.map +1 -1
  39. package/dist/commands/dom/index.js +50 -44
  40. package/dist/commands/dom/index.js.map +1 -1
  41. package/dist/commands/dom/keyMapping.d.ts +0 -6
  42. package/dist/commands/dom/keyMapping.d.ts.map +1 -1
  43. package/dist/commands/dom/keyMapping.js +0 -8
  44. package/dist/commands/dom/keyMapping.js.map +1 -1
  45. package/dist/commands/dom/reactEventHelpers.d.ts +12 -18
  46. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
  47. package/dist/commands/dom/reactEventHelpers.js +21 -70
  48. package/dist/commands/dom/reactEventHelpers.js.map +1 -1
  49. package/dist/commands/helpJson.d.ts +165 -0
  50. package/dist/commands/helpJson.d.ts.map +1 -0
  51. package/dist/commands/helpJson.js +252 -0
  52. package/dist/commands/helpJson.js.map +1 -0
  53. package/dist/commands/machineReadableHelp.d.ts +21 -2
  54. package/dist/commands/machineReadableHelp.d.ts.map +1 -1
  55. package/dist/commands/machineReadableHelp.js +95 -60
  56. package/dist/commands/machineReadableHelp.js.map +1 -1
  57. package/dist/commands/network.d.ts.map +1 -1
  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 +5 -7
  61. package/dist/commands/peek.js.map +1 -1
  62. package/dist/commands/shared/CommandRunner.d.ts +4 -10
  63. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  64. package/dist/commands/shared/CommandRunner.js +2 -2
  65. package/dist/commands/shared/CommandRunner.js.map +1 -1
  66. package/dist/commands/shared/commonOptions.d.ts +0 -15
  67. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  68. package/dist/commands/shared/commonOptions.js +0 -32
  69. package/dist/commands/shared/commonOptions.js.map +1 -1
  70. package/dist/commands/shared/optionTypes.d.ts +237 -0
  71. package/dist/commands/shared/optionTypes.d.ts.map +1 -0
  72. package/dist/commands/shared/optionTypes.js +20 -0
  73. package/dist/commands/shared/optionTypes.js.map +1 -0
  74. package/dist/commands/shared/startHelpers.d.ts.map +1 -1
  75. package/dist/commands/shared/startHelpers.js +3 -3
  76. package/dist/commands/shared/startHelpers.js.map +1 -1
  77. package/dist/commands/start.d.ts.map +1 -1
  78. package/dist/commands/start.js +8 -6
  79. package/dist/commands/start.js.map +1 -1
  80. package/dist/commands/status.d.ts.map +1 -1
  81. package/dist/commands/status.js.map +1 -1
  82. package/dist/commands/stop.d.ts.map +1 -1
  83. package/dist/commands/stop.js +17 -43
  84. package/dist/commands/stop.js.map +1 -1
  85. package/dist/commands/tail.d.ts.map +1 -1
  86. package/dist/commands/tail.js +49 -59
  87. package/dist/commands/tail.js.map +1 -1
  88. package/dist/connection/types.d.ts +2 -1
  89. package/dist/connection/types.d.ts.map +1 -1
  90. package/dist/constants.d.ts +14 -0
  91. package/dist/constants.d.ts.map +1 -1
  92. package/dist/constants.js +39 -0
  93. package/dist/constants.js.map +1 -1
  94. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -1
  95. package/dist/daemon/handlers/responseHandler.js +1 -0
  96. package/dist/daemon/handlers/responseHandler.js.map +1 -1
  97. package/dist/daemon/ipcServer.js +8 -8
  98. package/dist/daemon/ipcServer.js.map +1 -1
  99. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
  100. package/dist/daemon/lifecycle/signalHandlers.js +19 -3
  101. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -1
  102. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -1
  103. package/dist/daemon/lifecycle/workerCleanup.js +5 -2
  104. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
  105. package/dist/daemon/patternDefinitions.d.ts +0 -13
  106. package/dist/daemon/patternDefinitions.d.ts.map +1 -1
  107. package/dist/daemon/patternDefinitions.js +0 -17
  108. package/dist/daemon/patternDefinitions.js.map +1 -1
  109. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  110. package/dist/daemon/worker/commandRegistry.js +1 -0
  111. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  112. package/dist/index.js +34 -2
  113. package/dist/index.js.map +1 -1
  114. package/dist/ipc/protocol/commands.d.ts +2 -0
  115. package/dist/ipc/protocol/commands.d.ts.map +1 -1
  116. package/dist/ipc/protocol/commands.js.map +1 -1
  117. package/dist/ipc/session/queries.d.ts +2 -0
  118. package/dist/ipc/session/queries.d.ts.map +1 -1
  119. package/dist/ipc/utils/responseValidator.d.ts +7 -1
  120. package/dist/ipc/utils/responseValidator.d.ts.map +1 -1
  121. package/dist/ipc/utils/responseValidator.js +6 -1
  122. package/dist/ipc/utils/responseValidator.js.map +1 -1
  123. package/dist/session/QueryCacheManager.d.ts +140 -0
  124. package/dist/session/QueryCacheManager.d.ts.map +1 -0
  125. package/dist/session/QueryCacheManager.js +233 -0
  126. package/dist/session/QueryCacheManager.js.map +1 -0
  127. package/dist/session/cleanup.d.ts +63 -1
  128. package/dist/session/cleanup.d.ts.map +1 -1
  129. package/dist/session/cleanup.js +191 -65
  130. package/dist/session/cleanup.js.map +1 -1
  131. package/dist/session/queryCache.d.ts +25 -14
  132. package/dist/session/queryCache.d.ts.map +1 -1
  133. package/dist/session/queryCache.js +31 -60
  134. package/dist/session/queryCache.js.map +1 -1
  135. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts +9 -0
  136. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts.map +1 -0
  137. package/dist/telemetry/__tests__/roleInference.unit.test.js +138 -0
  138. package/dist/telemetry/__tests__/roleInference.unit.test.js.map +1 -0
  139. package/dist/telemetry/dom.d.ts +1 -0
  140. package/dist/telemetry/dom.d.ts.map +1 -1
  141. package/dist/telemetry/dom.js +9 -4
  142. package/dist/telemetry/dom.js.map +1 -1
  143. package/dist/telemetry/filters.d.ts +3 -0
  144. package/dist/telemetry/filters.d.ts.map +1 -1
  145. package/dist/telemetry/filters.js +25 -3
  146. package/dist/telemetry/filters.js.map +1 -1
  147. package/dist/telemetry/network.d.ts.map +1 -1
  148. package/dist/telemetry/network.js +35 -6
  149. package/dist/telemetry/network.js.map +1 -1
  150. package/dist/telemetry/roleInference.d.ts +50 -0
  151. package/dist/telemetry/roleInference.d.ts.map +1 -0
  152. package/dist/telemetry/roleInference.js +163 -0
  153. package/dist/telemetry/roleInference.js.map +1 -0
  154. package/dist/telemetry/utils.d.ts +0 -57
  155. package/dist/telemetry/utils.d.ts.map +1 -1
  156. package/dist/telemetry/utils.js +0 -71
  157. package/dist/telemetry/utils.js.map +1 -1
  158. package/dist/types/dom.d.ts +2 -0
  159. package/dist/types/dom.d.ts.map +1 -1
  160. package/dist/types.d.ts +2 -0
  161. package/dist/types.d.ts.map +1 -1
  162. package/dist/ui/formatters/a11y.d.ts +0 -9
  163. package/dist/ui/formatters/a11y.d.ts.map +1 -1
  164. package/dist/ui/formatters/a11y.js +0 -45
  165. package/dist/ui/formatters/a11y.js.map +1 -1
  166. package/dist/ui/formatters/preview.d.ts.map +1 -1
  167. package/dist/ui/formatters/preview.js +2 -39
  168. package/dist/ui/formatters/preview.js.map +1 -1
  169. package/dist/ui/logging/index.d.ts +1 -1
  170. package/dist/ui/logging/index.d.ts.map +1 -1
  171. package/dist/ui/logging/index.js +1 -1
  172. package/dist/ui/logging/index.js.map +1 -1
  173. package/dist/ui/logging/logger.d.ts +21 -0
  174. package/dist/ui/logging/logger.d.ts.map +1 -1
  175. package/dist/ui/logging/logger.js +24 -6
  176. package/dist/ui/logging/logger.js.map +1 -1
  177. package/dist/ui/messages/commands.d.ts +0 -14
  178. package/dist/ui/messages/commands.d.ts.map +1 -1
  179. package/dist/ui/messages/commands.js +0 -18
  180. package/dist/ui/messages/commands.js.map +1 -1
  181. package/dist/ui/messages/errors.d.ts +0 -16
  182. package/dist/ui/messages/errors.d.ts.map +1 -1
  183. package/dist/ui/messages/errors.js +0 -18
  184. package/dist/ui/messages/errors.js.map +1 -1
  185. package/dist/ui/messages/hints.d.ts +0 -10
  186. package/dist/ui/messages/hints.d.ts.map +1 -1
  187. package/dist/ui/messages/hints.js +0 -12
  188. package/dist/ui/messages/hints.js.map +1 -1
  189. package/dist/utils/decisionTrees.d.ts +0 -17
  190. package/dist/utils/decisionTrees.d.ts.map +1 -1
  191. package/dist/utils/decisionTrees.js +0 -21
  192. package/dist/utils/decisionTrees.js.map +1 -1
  193. package/dist/utils/errorMapping.d.ts +60 -0
  194. package/dist/utils/errorMapping.d.ts.map +1 -0
  195. package/dist/utils/errorMapping.js +97 -0
  196. package/dist/utils/errorMapping.js.map +1 -0
  197. package/dist/utils/file.d.ts +27 -0
  198. package/dist/utils/file.d.ts.map +1 -0
  199. package/dist/utils/file.js +37 -0
  200. package/dist/utils/file.js.map +1 -0
  201. package/dist/utils/levenshtein.d.ts +0 -17
  202. package/dist/utils/levenshtein.d.ts.map +1 -1
  203. package/dist/utils/levenshtein.js +0 -31
  204. package/dist/utils/levenshtein.js.map +1 -1
  205. package/dist/utils/taskMappings.d.ts +0 -17
  206. package/dist/utils/taskMappings.d.ts.map +1 -1
  207. package/dist/utils/taskMappings.js +0 -21
  208. package/dist/utils/taskMappings.js.map +1 -1
  209. package/dist/utils/typeGuards.d.ts +62 -0
  210. package/dist/utils/typeGuards.d.ts.map +1 -0
  211. package/dist/utils/typeGuards.js +94 -0
  212. package/dist/utils/typeGuards.js.map +1 -0
  213. package/package.json +1 -1
@@ -18,12 +18,22 @@ function shouldFilterRequest(url, includeAll, networkInclude, networkExclude) {
18
18
  return false;
19
19
  }
20
20
  /**
21
- * Fetch response body for a request.
21
+ * Fetch response body for a request with cancellation support.
22
+ *
23
+ * @param cdp - CDP connection instance
24
+ * @param requestId - Request ID to fetch body for
25
+ * @param request - Network request object to populate with body
26
+ * @param pendingFetches - Set to track pending fetch operations for cleanup
22
27
  */
23
- function fetchResponseBody(cdp, requestId, request) {
28
+ function fetchResponseBody(cdp, requestId, request, pendingFetches) {
29
+ pendingFetches.add(requestId);
24
30
  void cdp
25
31
  .send('Network.getResponseBody', { requestId })
26
32
  .then((response) => {
33
+ // Skip if cleanup has already removed this from pending
34
+ if (!pendingFetches.has(requestId)) {
35
+ return;
36
+ }
27
37
  const typedResponse = response;
28
38
  request.responseBody = typedResponse.body;
29
39
  if (typedResponse.body) {
@@ -32,6 +42,9 @@ function fetchResponseBody(cdp, requestId, request) {
32
42
  })
33
43
  .catch((error) => {
34
44
  log.debug(`Failed to fetch response body for request ${requestId}: ${getErrorMessage(error)}`);
45
+ })
46
+ .finally(() => {
47
+ pendingFetches.delete(requestId);
35
48
  });
36
49
  }
37
50
  /**
@@ -52,18 +65,29 @@ function createNetworkRequest(params, getCurrentNavigationId) {
52
65
  }
53
66
  /**
54
67
  * Clean up stale requests from the request map.
68
+ *
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.
55
71
  */
56
72
  function cleanupStaleRequests(requestMap) {
57
73
  const now = Date.now();
58
74
  const staleRequests = [];
59
- requestMap.forEach((value, requestId) => {
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
+ for (const [requestId, value] of requestMap) {
60
78
  if (now - value.timestamp > STALE_REQUEST_TIMEOUT) {
61
79
  staleRequests.push(requestId);
62
80
  }
63
- });
81
+ else {
82
+ // Found first non-stale request, stop iterating
83
+ break;
84
+ }
85
+ }
64
86
  if (staleRequests.length > 0) {
65
87
  log.debug(`Cleaning up ${staleRequests.length} stale network requests`);
66
- staleRequests.forEach((requestId) => requestMap.delete(requestId));
88
+ for (const requestId of staleRequests) {
89
+ requestMap.delete(requestId);
90
+ }
67
91
  }
68
92
  }
69
93
  /**
@@ -89,6 +113,7 @@ function cleanupStaleRequests(requestMap) {
89
113
  export async function startNetworkCollection(cdp, requests, options = {}) {
90
114
  const { includeAll = false, fetchAllBodies = false, fetchBodiesInclude = [], fetchBodiesExclude = [], networkInclude = [], networkExclude = [], maxBodySize = MAX_RESPONSE_SIZE, getCurrentNavigationId, } = options;
91
115
  const requestMap = new Map();
116
+ const pendingFetches = new Set();
92
117
  const registry = new CDPHandlerRegistry();
93
118
  const typed = new TypedCDPConnection(cdp);
94
119
  let bodiesFetched = 0;
@@ -175,7 +200,7 @@ export async function startNetworkCollection(cdp, requests, options = {}) {
175
200
  });
176
201
  if (decision.should) {
177
202
  bodiesFetched++;
178
- fetchResponseBody(cdp, params.requestId, request);
203
+ fetchResponseBody(cdp, params.requestId, request, pendingFetches);
179
204
  }
180
205
  else {
181
206
  bodiesSkipped++;
@@ -206,9 +231,13 @@ export async function startNetworkCollection(cdp, requests, options = {}) {
206
231
  const percentageSkipped = ((bodiesSkipped / totalBodyDecisions) * 100).toFixed(1);
207
232
  log.debug(`[PERF] Network bodies: ${bodiesFetched} fetched, ${bodiesSkipped} skipped (${percentageSkipped}% reduction)`);
208
233
  }
234
+ if (pendingFetches.size > 0) {
235
+ log.debug(`[PERF] Cancelling ${pendingFetches.size} pending body fetches`);
236
+ }
209
237
  clearInterval(cleanupInterval);
210
238
  registry.cleanup();
211
239
  requestMap.clear();
240
+ pendingFetches.clear();
212
241
  };
213
242
  }
214
243
  //# 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,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
@@ -116,6 +116,8 @@ export interface A11yNode {
116
116
  childIds?: string[];
117
117
  /** Associated DOM node ID for querying */
118
118
  backendDOMNodeId?: number;
119
+ /** True when node is synthesized from DOM context (a11y unavailable) */
120
+ inferred?: boolean;
119
121
  }
120
122
  /**
121
123
  * 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":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;;;;GAKG;AACH,YAAY,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,MAAM,EACN,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,QAAQ,CAAC;QACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,IAAI,EAAE;QACJ,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;KAC5B,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,4BAA4B;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,kDAAkD;IAClD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,OAAO,EAAE,gBAAgB,CAAC;CAC3B"}
@@ -26,15 +26,6 @@ export declare function formatA11yTree(tree: A11yTree): string;
26
26
  * @returns Formatted output string
27
27
  */
28
28
  export declare function formatA11yQueryResult(result: A11yQueryResult): string;
29
- /**
30
- * Format single accessibility node for human-readable output.
31
- *
32
- * Shows detailed properties including role, name, description, value, and states.
33
- *
34
- * @param node - Accessibility node
35
- * @returns Formatted output string
36
- */
37
- export declare function formatA11yNode(node: A11yNode): string;
38
29
  /**
39
30
  * Format single accessibility node with DOM context fallback.
40
31
  *
@@ -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;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CA8CrD;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,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"}
@@ -62,51 +62,6 @@ export function formatA11yQueryResult(result) {
62
62
  }
63
63
  return fmt.build();
64
64
  }
65
- /**
66
- * Format single accessibility node for human-readable output.
67
- *
68
- * Shows detailed properties including role, name, description, value, and states.
69
- *
70
- * @param node - Accessibility node
71
- * @returns Formatted output string
72
- */
73
- export function formatA11yNode(node) {
74
- const fmt = new OutputFormatter();
75
- fmt.text(`Accessibility Node: ${node.role}`).separator('─', SEPARATOR_WIDTH).blank();
76
- const props = [];
77
- if (node.name) {
78
- props.push(['Name', node.name]);
79
- }
80
- if (node.description) {
81
- props.push(['Description', node.description]);
82
- }
83
- if (node.value !== undefined) {
84
- props.push(['Value', node.value]);
85
- }
86
- if (node.focusable) {
87
- props.push(['Focusable', 'yes']);
88
- }
89
- if (node.focused) {
90
- props.push(['Focused', 'yes']);
91
- }
92
- if (node.disabled) {
93
- props.push(['Disabled', 'yes']);
94
- }
95
- if (node.required) {
96
- props.push(['Required', 'yes']);
97
- }
98
- props.push(['Node ID', node.nodeId]);
99
- if (node.backendDOMNodeId) {
100
- props.push(['DOM Node ID', String(node.backendDOMNodeId)]);
101
- }
102
- fmt.keyValueList(props, 16);
103
- if (node.properties && Object.keys(node.properties).length > 0) {
104
- fmt.blank().text('Additional Properties:').blank();
105
- const additionalProps = Object.entries(node.properties).map(([key, value]) => [key, String(value)]);
106
- fmt.keyValueList(additionalProps, 20);
107
- }
108
- return fmt.build();
109
- }
110
65
  /**
111
66
  * Format single accessibility node with DOM context fallback.
112
67
  *