chrometools-mcp 3.1.7 → 3.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,94 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [3.2.4] - 2026-01-27
6
+
7
+ ### Performance
8
+ - **Compact APOM format** — Reduced analyzePage output size by ~70%
9
+ - Containers now use `"tag_id": [children]` format (instead of `{id, tag, selector, children}`)
10
+ - Selectors removed from output (registered internally for getElementDetails/click/type)
11
+ - Bottom-up pruning removes container branches without interactive elements
12
+ - Example: Google Search reduced from ~33K tokens (281 elements) to ~10K tokens (~80 elements)
13
+ - `includeAll: true` retains full format with selectors for debugging
14
+
15
+ ### Removed
16
+ - **getElement tool** — Redundant tool replaced by analyzePage (55 → 54 tools)
17
+
18
+ ## [3.2.3] - 2026-01-27
19
+
20
+ ### Removed
21
+ - **Reverted experimental features** — Removed `resolveComponentPaths` and `detectFrameworks` due to technical limitations
22
+ - Component path resolution was unreliable across different build configurations
23
+ - Framework detection removed from analyzePage tool
24
+ - Simplified codebase and improved performance
25
+
26
+ ## [3.2.2] - 2026-01-27
27
+
28
+ ### Fixed
29
+ - **APOM ID resolution** — Fixed element ID lookup in `click` and `type` tools
30
+ - Added CSS selector generation to APOM tree elements
31
+ - Both interactive and container elements now include `selector` field
32
+ - APOM IDs (e.g., `textarea_25`, `button_45`) now work correctly with click/type tools
33
+ - **Improved click reliability** — Enhanced click method with fallback strategies
34
+ - Primary method: standard Puppeteer click
35
+ - Fallback 1: scroll element into view and retry click
36
+ - Fallback 2: JavaScript click for hidden/overlapping elements
37
+ - Fixes issues with Google Search button and similar elements
38
+
39
+ ## [3.2.1] - 2026-01-27
40
+
41
+ ### Changed
42
+ - **Unified element analysis tools** — Merged `analyzeElementById` into `getElementDetails`
43
+ - `getElementDetails` now has optional `analyzeChildren` parameter
44
+ - Set `analyzeChildren: true` to get children tree structure
45
+ - Simplified API reduces tool count and improves consistency
46
+ - Children analysis includes same `includeAll` and `refresh` options
47
+
48
+ ### Removed
49
+ - **`getElementByApomId`** — Removed deprecated method (use `getElementDetails` instead)
50
+ - **`analyzeElementById`** — Merged into `getElementDetails` with `analyzeChildren` parameter
51
+
52
+ ## [3.2.0] - 2026-01-27
53
+
54
+ ### Added
55
+ - **New tool: `getElementDetails`** — Get comprehensive details about element by APOM ID
56
+ - Returns bounds, CSS selector, position, attributes, computed styles
57
+ - Use when `analyzePage` output is simplified and full element info is needed
58
+ - **New tool: `analyzeElementById`** — Analyze children elements starting from specific APOM ID
59
+ - Useful for analyzing specific page sections without re-analyzing entire page
60
+ - Supports `includeAll` and `refresh` parameters
61
+
62
+ ### Changed
63
+ - **Optimized `analyzePage` output** — Significantly reduced token usage
64
+ - Parent/container elements now show only `tag` and `id` (minimal info)
65
+ - Interactive elements no longer include `bounds` and `selector` in main output
66
+ - Use `getElementDetails` to get full information when needed
67
+ - ~50-70% reduction in output size for typical pages
68
+ - **Improved cursor:pointer detection** — Only detects explicitly set cursor, not inherited
69
+ - Filters out inherited `cursor:pointer` from parent elements
70
+ - Reduces false positives in interactive element detection
71
+ - More accurate identification of clickable elements
72
+
73
+ ### Deprecated
74
+ - **`getElementByApomId`** — Use `getElementDetails` instead (same functionality, clearer name)
75
+ - Filters out Angular dynamic classes (e.g., `_ng*`)
76
+ - Prefers stable class names for more reliable selectors across page loads
77
+
78
+ ## [3.1.8] - 2026-01-27
79
+
80
+ ### Changed
81
+ - **Enhanced interactivity detection in analyzePage** — Improved detection of JavaScript-enabled interactive elements
82
+ - Added detection of elements with `cursor: pointer` CSS property
83
+ - Added detection of elements with JavaScript `addEventListener('click')`
84
+ - Added detection of elements with `onclick` property set via JavaScript
85
+ - DIV and SPAN elements with click handlers now correctly detected as interactive
86
+ - Added `interactivityReason` metadata field showing why element was marked interactive
87
+ - Reasons: `native-html`, `aria-role`, `onclick-attr`, `onclick-prop`, `cursor-pointer`, `event-listener`, `tabindex`, `contenteditable`
88
+
89
+ ### Performance
90
+ - Optimized `markInteractiveElements` to skip event listener checks during bulk scan (performance)
91
+ - Event listener detection only runs for individual element type determination
92
+
5
93
  ## [3.1.7] - 2026-01-27
6
94
 
7
95
  ### Fixed