chrometools-mcp 3.4.0 → 3.5.0
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 +45 -0
- package/README.md +1996 -1962
- package/SESSION_2026-02-15.md +244 -0
- package/SPEC-IMPROVEMENTS.md +173 -0
- package/TEST_PLAN.md +259 -0
- package/TODO.md +89 -0
- package/bridge/bridge-client.js +27 -0
- package/browser/browser-manager.js +50 -0
- package/index.js +261 -332
- package/models/DATEPICKER_IMPLEMENTATION.md +543 -0
- package/models/ElementModel.js +58 -0
- package/models/ModelRegistry.js +115 -0
- package/models/TextInputModel.js +107 -85
- package/models/TextareaModel.js +123 -59
- package/models/index.js +440 -136
- package/models/puppeteer-models.js +136 -0
- package/package.json +1 -1
- package/pom/apom-tree-converter.js +1101 -1047
- package/server/tool-definitions.js +43 -0
- package/server/tool-schemas.js +25 -2
- package/utils/actions/check-action.js +60 -0
- package/utils/actions/click-action.js +196 -0
- package/utils/actions/datepicker-action.js +61 -0
- package/utils/actions/hover-action.js +62 -0
- package/utils/actions/index.js +14 -0
- package/utils/actions/pressKey-action.js +48 -0
- package/utils/actions/screenshot-action.js +71 -0
- package/utils/actions/scrollTo-action.js +36 -0
- package/utils/actions/selectOption-action.js +76 -0
- package/utils/actions/type-action.js +56 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,51 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [3.5.0] - 2026-02-16
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **Element Model System with Strategy Pattern** — Extensible architecture for custom UI components
|
|
9
|
+
- Base `ElementModel` class with interface for model definition
|
|
10
|
+
- `ModelRegistry` for automatic model selection and action routing
|
|
11
|
+
- 13 concrete models: TextInput, Checkbox, Radio, Button, Select, TextArea, Link, Range, DatePicker, DateInput, FileInput, ColorInput, Default
|
|
12
|
+
- Models integrated into APOM analyzer — elements now show model name and available actions
|
|
13
|
+
|
|
14
|
+
- **executeModelAction tool** — Universal tool for model-specific actions
|
|
15
|
+
- Supports APOM ID (`id` parameter) and CSS selector (`selector` parameter)
|
|
16
|
+
- Automatic routing via ModelRegistry.getActionHandler()
|
|
17
|
+
- Framework-specific actions (e.g., DatePicker SetDate, Checkbox toggle)
|
|
18
|
+
|
|
19
|
+
- **pressKey tool** — Keyboard key press with modifier support
|
|
20
|
+
- Press Enter, Escape, Tab, Arrow keys, Backspace, Delete, etc.
|
|
21
|
+
- Modifier keys: Control, Shift, Alt, Meta (e.g., Ctrl+A)
|
|
22
|
+
- Optional element targeting via APOM ID or CSS selector
|
|
23
|
+
|
|
24
|
+
- **executeDatePickerAction handler** — Generic date picker interaction
|
|
25
|
+
- Supports SetDate, SetDateTime, SetTime, and clear actions
|
|
26
|
+
- Finds inner input and types value with change/blur event dispatch
|
|
27
|
+
- Tested on Ant Design DatePicker
|
|
28
|
+
|
|
29
|
+
- **State-aware checkbox actions** — check/uncheck/toggle with skip logic
|
|
30
|
+
- `check` skips if already checked, `uncheck` skips if already unchecked
|
|
31
|
+
- `toggle` and `select` always click
|
|
32
|
+
- Returns descriptive message with final state (e.g., "check (already checked)")
|
|
33
|
+
|
|
34
|
+
- **TextArea append and clear** — New actions via executeModelAction
|
|
35
|
+
- `append` types text without clearing existing content
|
|
36
|
+
- `clear` empties the field completely
|
|
37
|
+
- Tested on Angular Material, Ant Design, MUI
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
- **TextArea/TextInput append destroying existing text** — Verification in setValue() compared exact value on append, falling through to JS fallback that replaced all content. Now uses `endsWith()` check for append mode, and JS fallback appends instead of replacing.
|
|
41
|
+
- **Checkboxes with opacity:0 not appearing in APOM tree** — Updated `isVisible()` to allow stylable inputs (checkbox, radio, file) with `opacity:0`
|
|
42
|
+
|
|
43
|
+
## [3.4.1] - 2026-02-12
|
|
44
|
+
|
|
45
|
+
### Fixed
|
|
46
|
+
- **Extension "not connected" after install** — Bridge connection now auto-retries after Chrome launches (previously MCP exhausted all reconnect attempts before Chrome even started)
|
|
47
|
+
- **Bridge auto-install on first run** — Native Messaging Host is automatically registered on MCP startup if not yet installed, eliminating the need to manually run `--install-bridge`
|
|
48
|
+
- **Browser autocomplete corrupting text input** — Temporarily suppresses autocomplete during typing to prevent stale data from overwriting input fields
|
|
49
|
+
|
|
5
50
|
## [3.4.0] - 2026-02-08
|
|
6
51
|
|
|
7
52
|
### Added
|