chrometools-mcp 3.4.1 → 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 +38 -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/index.js +250 -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 -106
- 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,44 @@
|
|
|
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
|
+
|
|
5
43
|
## [3.4.1] - 2026-02-12
|
|
6
44
|
|
|
7
45
|
### Fixed
|