@extension.dev/mcp 5.6.0 → 5.7.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +79 -0
- package/README.md +11 -1
- package/dist/module.js +339 -67
- package/dist/src/lib/carrier.d.ts +71 -0
- package/dist/src/tools/dev.d.ts +6 -0
- package/dist/src/tools/stop.d.ts +2 -0
- package/extensions/live-preview/chromium/action/index.css +2 -0
- package/extensions/live-preview/chromium/action/index.html +16 -0
- package/extensions/live-preview/chromium/action/index.js +1 -0
- package/extensions/live-preview/chromium/background/service_worker.js +169 -0
- package/extensions/live-preview/chromium/images/icon.png +0 -0
- package/extensions/live-preview/chromium/manifest.json +66 -0
- package/extensions/live-preview/chromium/sandbox/page-0.html +28 -0
- package/package.json +6 -5
- package/server.json +2 -2
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"name": "extension-mcp",
|
|
11
11
|
"source": "./",
|
|
12
12
|
"description": "MCP tools for browser extension development: scaffold from 60+ templates, run the dev server with HMR, inspect the live DOM and logs, and publish store-ready builds for Chrome, Edge, and Firefox.",
|
|
13
|
-
"version": "5.
|
|
13
|
+
"version": "5.7.0",
|
|
14
14
|
"category": "development",
|
|
15
15
|
"author": {
|
|
16
16
|
"name": "Cezar Augusto"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "extension-mcp",
|
|
3
3
|
"description": "MCP tools for browser extension development: scaffold from 60+ templates, run the dev server with HMR, inspect the live DOM and logs, and publish store-ready builds for Chrome, Edge, and Firefox. Ships /extension, /extension-add, /extension-debug, and /extension-publish commands.",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.7.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cezar Augusto",
|
|
7
7
|
"email": "hello@extension.dev",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,84 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 5.7.0
|
|
4
|
+
|
|
5
|
+
The live-preview carrier stops living in your project, reports what it
|
|
6
|
+
refused, and rides an engine that tells you when the browser turned your
|
|
7
|
+
extension away.
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- The live-preview carrier is no longer a permanent resident of the
|
|
12
|
+
project. `extension_stop` removes it, `extension_build` removes it
|
|
13
|
+
before the build runs (and refuses to call a build clean if it ever
|
|
14
|
+
finds the carrier in `dist/`), and `extension_dev carrier: true` adds
|
|
15
|
+
it to `.gitignore` so the first `git add -A` cannot vendor it. Every
|
|
16
|
+
path is marker-guarded: a directory the tool did not place is reported,
|
|
17
|
+
never removed.
|
|
18
|
+
- `extension_open` no longer navigates away whatever page the caller was
|
|
19
|
+
watching. It reuses only a disposable tab (blank, new-tab page, or a
|
|
20
|
+
tab already on the same extension origin) and otherwise opens a new
|
|
21
|
+
background tab, so a trace page keeps its carrier registration.
|
|
22
|
+
- `extension_open` treats a client-side redirect as a landing instead of
|
|
23
|
+
reporting `NavigateFailed`, and reports where the page went. A failed
|
|
24
|
+
`http(s)` navigation no longer sends the caller off to debug their own
|
|
25
|
+
bundle.
|
|
26
|
+
- `extension_open` confirms with the browser that a UI surface actually
|
|
27
|
+
opened. When the engine reports the surface opened and no document
|
|
28
|
+
target appears, the result says so (`SurfaceDidNotOpen`) and points at
|
|
29
|
+
`asTab: true`, instead of handing back a green answer for a surface
|
|
30
|
+
that is not there.
|
|
31
|
+
|
|
32
|
+
- The bundled carrier payload answers with its real results. Every
|
|
33
|
+
backend method returns the promise it was given instead of a shape,
|
|
34
|
+
so a `chrome.*` call that rejects reaches the caller as a failure;
|
|
35
|
+
`executeScript` refuses `func`/`code` forms it cannot honor, offscreen
|
|
36
|
+
close is verified, and `downloads.erase` is implemented. A refusal now
|
|
37
|
+
rides a `refused` disposition from the refusal site through the carrier
|
|
38
|
+
into the trace, so refused calls stop being badged as real work and
|
|
39
|
+
stop earning coverage. Storage rows correlate on a canonical key (one
|
|
40
|
+
call, one row), tab facts survive both directions, and the event port
|
|
41
|
+
replays its backlog to a page that connects late.
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
|
|
45
|
+
- The engine this server spawns when a project has no local install is
|
|
46
|
+
pinned to `4.0.16-canary.1784889479.74e12044`. Two behaviors are worth
|
|
47
|
+
the prerelease: `EXTENSION_HEADLESS` is finally honored, so an agent
|
|
48
|
+
driving `extension_dev` cannot open a window on the operator's screen,
|
|
49
|
+
and a browser refusing to load the extension is reported as an error
|
|
50
|
+
instead of a session that claims to be ready. `extension_wait` already
|
|
51
|
+
surfaces both through the ready contract. This pin returns to a stable
|
|
52
|
+
release once 4.0.16 ships. A project with its own `extension` install
|
|
53
|
+
is unaffected, and `EXTENSION_MCP_CLI_VERSION` still overrides.
|
|
54
|
+
- `extension_deploy` and `extension_store_status` advertise `safari`
|
|
55
|
+
again: the platform's Safari/App Store submission lane is now enabled
|
|
56
|
+
for every project, so the store enum and the per-store status report
|
|
57
|
+
treat it like chrome, firefox, and edge.
|
|
58
|
+
|
|
59
|
+
### Added
|
|
60
|
+
|
|
61
|
+
- `extension_dev` accepts `carrier: true` (Chromium-family sessions): it
|
|
62
|
+
places the bundled Extension.dev Live Preview carrier in the project's
|
|
63
|
+
`./extensions` folder, which Extension.js auto-loads as a companion
|
|
64
|
+
beside the extension under development. Pages the carrier allowlists
|
|
65
|
+
(inspect.extension.dev, localhost) can then pair with the live session
|
|
66
|
+
and stream its real-lane chrome.* session trace over the carrier's
|
|
67
|
+
event port. The copy is marker-guarded: an existing unmanaged
|
|
68
|
+
`extensions/extension-dev-live-preview` directory is never overwritten,
|
|
69
|
+
and the tool result reports what happened either way. The prebuilt
|
|
70
|
+
payload ships in the package under `extensions/live-preview`.
|
|
71
|
+
|
|
72
|
+
## 5.6.1
|
|
73
|
+
|
|
74
|
+
### Changed
|
|
75
|
+
|
|
76
|
+
- `extension_deploy` and `extension_store_status` no longer advertise
|
|
77
|
+
`safari` as a store. The Safari/App Store submission lane does not
|
|
78
|
+
exist yet (the platform now also rejects such submissions server-side
|
|
79
|
+
with `SAFARI_LANE_DISABLED`), so the tool schemas stop inviting agents
|
|
80
|
+
to try it. Safari as a build/run target is unchanged.
|
|
81
|
+
|
|
3
82
|
## 5.6.0
|
|
4
83
|
|
|
5
84
|
Firefox reaches full protocol parity: every formerly Chromium-only
|
package/README.md
CHANGED
|
@@ -26,13 +26,23 @@ Extensions fail silently: content scripts that never inject, panels that never o
|
|
|
26
26
|
These tools give agents eyes on the live browser, so they debug from evidence instead of guessing:
|
|
27
27
|
|
|
28
28
|
- **Scaffold** from the 60+ template catalog behind [templates.extension.dev](https://templates.extension.dev), or add a popup, sidebar, or content script to an existing project
|
|
29
|
-
- **Run** the dev server with HMR in Chrome, Edge, Firefox, Brave, Opera, Vivaldi, Yandex, Waterfox, LibreWolf, or any Chromium- or Gecko-based binary
|
|
29
|
+
- **Run** the dev server with HMR in Chrome, Edge, Firefox, Brave, Opera, Vivaldi, Yandex, Waterfox, LibreWolf, or any Chromium- or Gecko-based binary, plus Safari on macOS (no HMR yet), no build config
|
|
30
30
|
- **See** the live DOM, unified logs from every extension context, `chrome.storage` contents, and the loaded-extension list
|
|
31
31
|
- **Act**: evaluate code in any context, trigger the action button and commands, reload the extension, replay events
|
|
32
32
|
- **Ship**: validate the manifest cross-browser, build for production, publish a shareable preview, and promote builds to release channels headlessly
|
|
33
33
|
|
|
34
34
|
Built on [Extension.js](https://extension.js.org), the open-source cross-browser extension framework.
|
|
35
35
|
|
|
36
|
+
## Clients
|
|
37
|
+
|
|
38
|
+
<div align="center">
|
|
39
|
+
|
|
40
|
+
| <img alt="Claude Code" src="https://media.extension.land/logos/devtools/claude-code.svg" width="70"> | <img alt="Claude Desktop" src="https://media.extension.land/logos/ai/claude.svg" width="70"> | <picture><source media="(prefers-color-scheme: dark)" srcset="https://media.extension.land/logos/devtools/cursor-dark.svg"><img alt="Cursor" src="https://media.extension.land/logos/devtools/cursor.svg" width="70"></picture> |
|
|
41
|
+
| :-: | :-: | :-: |
|
|
42
|
+
| Claude Code | Claude Desktop | Cursor |
|
|
43
|
+
|
|
44
|
+
</div>
|
|
45
|
+
|
|
36
46
|
## Setup
|
|
37
47
|
|
|
38
48
|
### Claude Code
|