@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.
@@ -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.6.0",
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.6.0",
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 the standalone
7
- `@extension.dev/deploy` CLI. Store targets are inferred from the `.zip` paths
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 (wraps `@extension.dev/deploy`) |
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 the built `.zip` to the Chrome Web Store, Edge Add-ons, and Firefox AMO by driving the standalone [`@extension.dev/deploy`](https://www.npmjs.com/package/@extension.dev/deploy) CLI — it defaults to a dry run and reads store credentials from the environment or a `.env.submit` file, never from tool arguments.
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/deploy`](https://www.npmjs.com/package/@extension.dev/deploy) | Ship to Chrome, Firefox, and Edge stores from CI |
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