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 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
+ [![npm version](https://img.shields.io/npm/v/juce-webview-agent-bridge.svg)](https://www.npmjs.com/package/juce-webview-agent-bridge)
3
4
  [![tests](https://github.com/mateusz28011/juce-webview-agent-bridge/actions/workflows/tests.yml/badge.svg)](https://github.com/mateusz28011/juce-webview-agent-bridge/actions/workflows/tests.yml)
5
+ [![license: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
6
+
7
+ ![JUCE WebView plugin connected to an agent and E2E tests](https://raw.githubusercontent.com/mateusz28011/juce-webview-agent-bridge/main/docs/social-preview.png)
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 ≥ 18 (zero runtime dependencies).
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.3.1)
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 >= 18
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.3.1",
4
- "description": "CLI + protocol client for the juce_webview_agent_bridge debug WebView bridge (eval/console/network/click/fill/screenshot over a loopback socket, no CDP).",
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": ">=18"
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 >= 18 built-ins only.
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';