juce-webview-agent-bridge 0.3.1 → 0.4.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 +92 -0
- package/README.md +7 -3
- package/package.json +17 -3
- package/tools/shared.mjs +1 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Notable user-facing changes are recorded here. Release artifacts and complete
|
|
4
|
+
commit comparisons are available from the linked GitHub Releases.
|
|
5
|
+
|
|
6
|
+
## [Unreleased]
|
|
7
|
+
|
|
8
|
+
## [0.4.0] - 2026-07-18
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Added a maintained project changelog and repository social preview.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Improved the npm package description and search keywords.
|
|
17
|
+
- Raised the supported Node.js floor from the end-of-life Node 18 to Node 22;
|
|
18
|
+
CI now covers the supported Node 22 and 24 LTS lines.
|
|
19
|
+
- Added npm version and license badges to the README.
|
|
20
|
+
|
|
21
|
+
## [0.3.1] - 2026-07-18
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
- Replaced long-lived npm publishing tokens with Trusted Publishing through
|
|
26
|
+
GitHub Actions OIDC.
|
|
27
|
+
- Updated the official GitHub Actions to their Node 24-compatible releases.
|
|
28
|
+
|
|
29
|
+
There are no package API changes in this release.
|
|
30
|
+
|
|
31
|
+
## [0.3.0] - 2026-07-18
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
|
|
35
|
+
- Published the zero-runtime-dependency Node client as
|
|
36
|
+
`juce-webview-agent-bridge`.
|
|
37
|
+
- Added strict TypeScript sources and declarations for the Playwright-shaped E2E
|
|
38
|
+
API, shared discovery helpers, and CLI.
|
|
39
|
+
- Added package smoke tests covering clean installation, imports, declarations,
|
|
40
|
+
and the canonical `npx juce-webview-agent-bridge` command.
|
|
41
|
+
- Added the root CMake entry point for JUCE consumers using `FetchContent`.
|
|
42
|
+
- Added the manually triggered, fully tested GitHub and npm release workflow.
|
|
43
|
+
|
|
44
|
+
## [0.2.2] - 2026-07-17
|
|
45
|
+
|
|
46
|
+
### Fixed
|
|
47
|
+
|
|
48
|
+
- Kept the native Windows screenshot backend compatible with the documented
|
|
49
|
+
C++17 minimum when recent MSVC libraries include C++/WinRT coroutine headers.
|
|
50
|
+
|
|
51
|
+
## [0.2.1] - 2026-07-17
|
|
52
|
+
|
|
53
|
+
### Added
|
|
54
|
+
|
|
55
|
+
- Added native Windows 11 screenshots using Windows Graphics Capture and D3D11.
|
|
56
|
+
- Added full-window and selector-based captures with DPI-aware cropping.
|
|
57
|
+
- Advertised Windows screenshot support through the `hello` handshake.
|
|
58
|
+
|
|
59
|
+
## [0.2.0] - 2026-07-16
|
|
60
|
+
|
|
61
|
+
### Added
|
|
62
|
+
|
|
63
|
+
- Added the macOS `layerdebug` op and `page.layerDebug()` for WebKit compositing
|
|
64
|
+
overlays.
|
|
65
|
+
- Added the macOS `layertree` op and `page.layerTree()` for programmatic CALayer
|
|
66
|
+
inspection.
|
|
67
|
+
- Added `parseLayerTree()` for extracting layer geometry from tree dumps.
|
|
68
|
+
|
|
69
|
+
### Changed
|
|
70
|
+
|
|
71
|
+
- Expanded CI to require the C++ suite on Windows and Linux.
|
|
72
|
+
- Split detailed E2E and protocol documentation out of the README.
|
|
73
|
+
|
|
74
|
+
## [0.1.0] - 2026-07-13
|
|
75
|
+
|
|
76
|
+
### Added
|
|
77
|
+
|
|
78
|
+
- Initial debug-only JUCE WebView bridge with loopback discovery and session
|
|
79
|
+
authentication.
|
|
80
|
+
- JavaScript evaluation, DOM interaction, console/error/network capture, event
|
|
81
|
+
replay, and native macOS screenshots.
|
|
82
|
+
- Zero-dependency CLI, Playwright-shaped E2E client, agent skill, and standalone
|
|
83
|
+
JavaScript and C++ test suites.
|
|
84
|
+
|
|
85
|
+
[Unreleased]: https://github.com/mateusz28011/juce-webview-agent-bridge/compare/v0.4.0...HEAD
|
|
86
|
+
[0.4.0]: https://github.com/mateusz28011/juce-webview-agent-bridge/releases/tag/v0.4.0
|
|
87
|
+
[0.3.1]: https://github.com/mateusz28011/juce-webview-agent-bridge/releases/tag/v0.3.1
|
|
88
|
+
[0.3.0]: https://github.com/mateusz28011/juce-webview-agent-bridge/releases/tag/v0.3.0
|
|
89
|
+
[0.2.2]: https://github.com/mateusz28011/juce-webview-agent-bridge/releases/tag/v0.2.2
|
|
90
|
+
[0.2.1]: https://github.com/mateusz28011/juce-webview-agent-bridge/releases/tag/v0.2.1
|
|
91
|
+
[0.2.0]: https://github.com/mateusz28011/juce-webview-agent-bridge/releases/tag/v0.2.0
|
|
92
|
+
[0.1.0]: https://github.com/mateusz28011/juce-webview-agent-bridge/releases/tag/v0.1.0
|
package/README.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
# juce_webview_agent_bridge
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/juce-webview-agent-bridge)
|
|
3
4
|
[](https://github.com/mateusz28011/juce-webview-agent-bridge/actions/workflows/tests.yml)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
7
|
+

|
|
4
8
|
|
|
5
9
|
A **debug-only** JUCE module that lets an external agent (or script) drive a live
|
|
6
10
|
`juce::WebBrowserComponent` over a loopback TCP socket — a "mini-CDP" giving you a
|
|
@@ -70,7 +74,7 @@ inspection remains macOS-only. Linux real-app reports and fixes are very welcome
|
|
|
70
74
|
## Install
|
|
71
75
|
|
|
72
76
|
**Requirements:** JUCE 8, C++17, a `juce::WebBrowserComponent`-based UI; the
|
|
73
|
-
clients need Node ≥
|
|
77
|
+
clients need Node ≥ 22 (zero runtime dependencies).
|
|
74
78
|
|
|
75
79
|
It's a standard JUCE module. Get the repo — as a submodule:
|
|
76
80
|
|
|
@@ -85,7 +89,7 @@ or with CMake `FetchContent` (after JUCE has been added, so
|
|
|
85
89
|
include(FetchContent)
|
|
86
90
|
FetchContent_Declare(juce_webview_agent_bridge
|
|
87
91
|
GIT_REPOSITORY https://github.com/mateusz28011/juce-webview-agent-bridge.git
|
|
88
|
-
GIT_TAG v0.
|
|
92
|
+
GIT_TAG v0.4.0)
|
|
89
93
|
FetchContent_MakeAvailable(juce_webview_agent_bridge)
|
|
90
94
|
```
|
|
91
95
|
|
|
@@ -201,7 +205,7 @@ Both suites live in `tests/` and run **independently of any host app**, so they
|
|
|
201
205
|
keep working after this module is extracted into its own repo.
|
|
202
206
|
|
|
203
207
|
```bash
|
|
204
|
-
# JS client — zero dependencies, Node >=
|
|
208
|
+
# JS client — zero dependencies, Node >= 22
|
|
205
209
|
npm test # or: node --test tests/*.test.mjs
|
|
206
210
|
|
|
207
211
|
# Maintainer build — strict TypeScript source -> committed .mjs + .d.mts
|
package/package.json
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "juce-webview-agent-bridge",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "Typed, zero-dependency E2E client and CLI for driving live JUCE WebViews over a debug-only loopback bridge, without CDP.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"juce",
|
|
7
|
+
"webview",
|
|
8
|
+
"wkwebview",
|
|
9
|
+
"webview2",
|
|
10
|
+
"e2e",
|
|
11
|
+
"testing",
|
|
12
|
+
"playwright",
|
|
13
|
+
"agent",
|
|
14
|
+
"automation",
|
|
15
|
+
"debugging",
|
|
16
|
+
"mcp-alternative"
|
|
17
|
+
],
|
|
5
18
|
"type": "module",
|
|
6
19
|
"types": "./tools/e2e.d.mts",
|
|
7
20
|
"exports": {
|
|
@@ -31,6 +44,7 @@
|
|
|
31
44
|
"files": [
|
|
32
45
|
"tools/",
|
|
33
46
|
"README.md",
|
|
47
|
+
"CHANGELOG.md",
|
|
34
48
|
"LICENSE"
|
|
35
49
|
],
|
|
36
50
|
"license": "MIT",
|
|
@@ -39,7 +53,7 @@
|
|
|
39
53
|
"url": "git+https://github.com/mateusz28011/juce-webview-agent-bridge.git"
|
|
40
54
|
},
|
|
41
55
|
"engines": {
|
|
42
|
-
"node": ">=
|
|
56
|
+
"node": ">=22"
|
|
43
57
|
},
|
|
44
58
|
"publishConfig": {
|
|
45
59
|
"access": "public"
|
package/tools/shared.mjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* bridge discovery and NDJSON wire framing. Single source of truth — the two
|
|
4
4
|
* clients used to carry private copies of this logic, and the copies drifted
|
|
5
5
|
* (the fill focus fix landed in one and not the other), so it now lives here.
|
|
6
|
-
* Still zero third-party dependencies: bare Node >=
|
|
6
|
+
* Still zero third-party dependencies: bare Node >= 22 built-ins only.
|
|
7
7
|
*/
|
|
8
8
|
import fs from 'node:fs';
|
|
9
9
|
import os from 'node:os';
|