@extension.dev/mcp 4.6.0 → 4.8.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 +48 -2
- package/README.md +3 -3
- package/dist/module.js +1103 -432
- package/dist/src/lib/cdp-port.d.ts +1 -0
- package/dist/src/lib/credentials.d.ts +2 -0
- package/dist/src/lib/device-flow.d.ts +41 -0
- package/dist/src/lib/login-flow.d.ts +23 -3
- package/dist/src/lib/validate-input.d.ts +1 -0
- package/dist/src/tools/deploy.d.ts +14 -70
- package/dist/src/tools/doctor.d.ts +1 -2
- package/dist/src/tools/manifest-validate.d.ts +7 -2
- package/dist/src/tools/publish.d.ts +1 -6
- package/dist/src/tools/stop.d.ts +0 -1
- package/package.json +1 -1
- 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": "4.
|
|
13
|
+
"version": "4.8.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": "4.
|
|
4
|
+
"version": "4.8.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cezar Augusto",
|
|
7
7
|
"email": "boss@cezaraugusto.net",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,56 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.8.0
|
|
4
|
+
|
|
5
|
+
Dev-session ergonomics hardened from a 30-persona agent walk of the toolchain.
|
|
6
|
+
|
|
7
|
+
- **`allowEval` now implies `allowControl`.** Enabling eval on `extension_dev`
|
|
8
|
+
also opens the control channel, so a single `allowEval: true` unlocks
|
|
9
|
+
`extension_storage`/`reload`/`open`/`dom_inspect` too. `extension_dev` now
|
|
10
|
+
returns a `capabilities` block naming exactly which verbs the session unlocked,
|
|
11
|
+
ending the stop-and-restart loop that hit agents who passed one flag and not
|
|
12
|
+
the other.
|
|
13
|
+
- **Session-aware browser default.** `extension_stop` (and the other
|
|
14
|
+
browser-scoped tools) resolve the browser from the one live session for the
|
|
15
|
+
project instead of assuming `chrome`. `extension_stop` also reaps the launched
|
|
16
|
+
browser's process tree and refuses to report `stopped: true` while a process
|
|
17
|
+
survives, fixing orphaned browsers (notably Firefox) after a stop.
|
|
18
|
+
- **Forgiving argument names.** Common synonyms are accepted and normalized:
|
|
19
|
+
`path`/`dir` for `projectPath`, `name` for `projectName`, `template` for
|
|
20
|
+
`slug`, `code` for `expression`, and more, so a reasonable first guess no
|
|
21
|
+
longer 400s.
|
|
22
|
+
- **`extension_manifest_validate`** accepts `projectPath` (it finds the
|
|
23
|
+
manifest) and probes path-valued fields (popup, service worker, icons, content
|
|
24
|
+
scripts) against disk, warning on dangling references instead of a false
|
|
25
|
+
all-clear.
|
|
26
|
+
- **`extension_doctor`** inlines the dev session's own recorded errors so a build
|
|
27
|
+
or load failure no longer reads as healthy.
|
|
28
|
+
- **`extension_inspect`** lists declared entrypoints (so a small content script
|
|
29
|
+
is not buried under assets) and warns when a store-listing promo image is
|
|
30
|
+
shipped inside the package.
|
|
31
|
+
- **`extension_source_inspect`** on a Gecko session now names the working
|
|
32
|
+
alternatives (`extension_logs`, `extension_eval`) instead of pointing back at
|
|
33
|
+
the tool that just refused.
|
|
34
|
+
|
|
35
|
+
## 4.7.0
|
|
36
|
+
|
|
37
|
+
`extension_deploy` now submits **through** extension.dev instead of driving a
|
|
38
|
+
local CLI. Pass `browsers` + `buildSha` and the submission is routed to the
|
|
39
|
+
platform, which holds your store credentials and dispatches the release from
|
|
40
|
+
your project's mirror CI; authentication is your `extension_login` session or a
|
|
41
|
+
release token in `EXTENSION_DEV_TOKEN`, and it defaults to a dry run. The tool
|
|
42
|
+
is now a thin authenticated client of the platform's store-submission endpoint,
|
|
43
|
+
exactly like `extension_publish` and `extension_release_promote`, with no
|
|
44
|
+
external CLI dependency. This replaces the previous mode that shelled out to a
|
|
45
|
+
standalone local CLI. Direct zip-based submission with store credentials in the
|
|
46
|
+
environment is no longer exposed through the MCP; use your own CI pipeline for
|
|
47
|
+
that.
|
|
48
|
+
|
|
3
49
|
## 4.6.0
|
|
4
50
|
|
|
5
51
|
New `extension_deploy` tool (31 tools total): submit a built extension to the
|
|
6
|
-
Chrome Web Store, Firefox AMO, and Edge Add-ons by driving
|
|
7
|
-
|
|
52
|
+
Chrome Web Store, Firefox AMO, and Edge Add-ons by driving a standalone
|
|
53
|
+
deploy CLI. Store targets are inferred from the `.zip` paths
|
|
8
54
|
you pass. It defaults to a dry run, and store credentials are read from the
|
|
9
55
|
environment or a `.env.submit` file, never from tool arguments, so secrets
|
|
10
56
|
never enter the agent transcript.
|
package/README.md
CHANGED
|
@@ -121,20 +121,20 @@ cp node_modules/@extension.dev/mcp/claude/commands/*.md ~/my-extension/.claude/c
|
|
|
121
121
|
| platform | `extension_logout` | Remove stored credentials |
|
|
122
122
|
| platform | `extension_publish` | Publish a shareable preview to extension.dev |
|
|
123
123
|
| platform | `extension_release_promote` | Promote a build to a release channel, headless |
|
|
124
|
-
| platform | `extension_deploy` | Submit to the Chrome, Firefox, and Edge stores
|
|
124
|
+
| platform | `extension_deploy` | Submit to the Chrome, Firefox, and Edge stores through extension.dev |
|
|
125
125
|
|
|
126
126
|
Browser-launching tools (`dev`, `start`, `preview`) shell out to the `extension` CLI — the project's own `node_modules/.bin/extension` when present, otherwise `npx extension@<pinned>` at the version this package is verified against; everything else runs in-process.
|
|
127
127
|
|
|
128
128
|
## From preview to store
|
|
129
129
|
|
|
130
|
-
The platform tools connect agents to [extension.dev](https://extension.dev): `extension_login` runs a GitHub device-code flow and stores a project-scoped token locally (never returned to the agent), `extension_publish` turns a build into a shareable preview URL, and `extension_release_promote` promotes a tested build to a release channel from CI or an agent session, no browser required. `extension_deploy` submits
|
|
130
|
+
The platform tools connect agents to [extension.dev](https://extension.dev): `extension_login` runs a GitHub device-code flow and stores a project-scoped token locally (never returned to the agent), `extension_publish` turns a build into a shareable preview URL, and `extension_release_promote` promotes a tested build to a release channel from CI or an agent session, no browser required. `extension_deploy` submits a built extension to the Chrome Web Store, Edge Add-ons, and Firefox AMO through extension.dev, which holds your store credentials and dispatches the release from your project's mirror CI — it defaults to a dry run and store credentials are never tool arguments.
|
|
131
131
|
|
|
132
132
|
## The extension.dev stack
|
|
133
133
|
|
|
134
134
|
| Package | Use it to |
|
|
135
135
|
| --- | --- |
|
|
136
136
|
| [`@extension.dev/skill`](https://www.npmjs.com/package/@extension.dev/skill) | Teach AI agents the judgment half: cross-browser rules, gotchas, playbooks |
|
|
137
|
-
| [`@extension.dev/
|
|
137
|
+
| [`@extension.dev/artifact-integrity`](https://www.npmjs.com/package/@extension.dev/artifact-integrity) | Verify extension artifacts and gate CI on tampered bytes before they ship |
|
|
138
138
|
|
|
139
139
|
All of it rides on [Extension.js](https://github.com/extension-js/extension.js), the open-source cross-browser extension framework.
|
|
140
140
|
|