@extension.dev/mcp 6.1.0 → 6.3.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": "6.1.0",
13
+ "version": "6.3.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": "6.1.0",
4
+ "version": "6.3.0",
5
5
  "author": {
6
6
  "name": "Cezar Augusto",
7
7
  "email": "hello@extension.dev",
package/CHANGELOG.md CHANGED
@@ -1,5 +1,87 @@
1
1
  # Changelog
2
2
 
3
+ ## 6.4.0
4
+
5
+ A build on your machine can now become a link someone else can open.
6
+
7
+ ### Changed
8
+
9
+ - **`extension_preview_web` with `share:true` uploads the build you just
10
+ made.** It used to route sharing through `extension_publish`, which takes no
11
+ project path and uploads nothing: it flips a share link on whatever build the
12
+ token's project last pushed from its own CI. So the link rendered a different
13
+ build than the one on disk, and said so in a caveat. It now POSTs the resolved
14
+ `dist/<browser>` to the platform's artifact store and returns a
15
+ `preview.extension.dev` link that renders those exact bytes, for a recipient
16
+ with no install, no sign-in, and no dev server. `share.serves` reports
17
+ `uploaded-local-build`; the `requiredBackend` spec that described this as
18
+ missing is gone because it is built.
19
+ - `share` now returns `expiresAt` and `revokeUrl`. Shared builds expire, and
20
+ `DELETE`ing `revokeUrl` with the same token kills the link immediately, which
21
+ is the part a TTL alone cannot do when a link reaches the wrong person.
22
+ - The `channel` argument is removed from `extension_preview_web`. It only ever
23
+ selected which promoted CI build to render, and this tool no longer renders
24
+ promoted builds. `extension_publish` and `extension_release_promote` are
25
+ unchanged and remain the path for released, channel-scoped builds.
26
+
27
+ ## 6.3.0
28
+
29
+ Private projects stop reading as empty, and the links this server hands back
30
+ stop being login-only.
31
+
32
+ ### Fixed
33
+
34
+ - **Registry reads work for PRIVATE projects.** `extension_release_list`,
35
+ `extension_store_status`, `extension_deploy` and `extension_publish` read the
36
+ project's state from `registry.extension.land`, which answers 401 for a
37
+ private project. That 401 was reported as "no registry data", so a project the
38
+ operator owns and is logged into looked like it had no builds at all. A 401 or
39
+ 403 now mints a short-lived read token and retries once. Public projects are
40
+ untouched: still one request, still no call to the platform.
41
+ - The stored login token is never used as the `?t=` URL parameter even though it
42
+ would verify. It is long-lived, and a credential in a query string is kept by
43
+ every proxy and access log on the path, so it is traded for a ten-minute token
44
+ first. Requires the bearer path on `POST /api/access-grant`.
45
+
46
+ ### Added
47
+
48
+ - **Public build links.** `extension_release_list` returns a `publicUrl` for
49
+ every channel and build plus a `publicProjectUrl`, and
50
+ `extension_release_promote` returns `publicChannelUrl` and `publicBuildUrl`.
51
+ Every link these tools returned before pointed at the console, which requires
52
+ a login and workspace membership, so it was a dead end for the teammate or
53
+ reviewer the operator wanted to send it to. The public pages carry the
54
+ per-browser downloads, the run-locally and integrity dialogs, and what's new.
55
+ For a private project the response says plainly that an outside recipient
56
+ still needs a share link from `extension_publish`.
57
+ - `api` is accepted by `extension_release_list` and `extension_store_status`,
58
+ matching the other hosted-facing tools. It picks the platform the read token
59
+ is minted against and the origin the returned links point at.
60
+
61
+ ### Changed
62
+
63
+ - Depends on `@extension.dev/urls` `^0.3.0` for the new `userland` origin and
64
+ its whole-URL builders, so a build link this server returns cannot drift from
65
+ the routes the viewer serves.
66
+
67
+ ## 6.2.0
68
+
69
+ The URL layer stops being a copy. This server used to carry byte-identical
70
+ vendored mirrors of the fleet's origin resolver and path builders, kept honest
71
+ by a drift guard; it now depends on the published package instead.
72
+
73
+ ### Changed
74
+
75
+ - **Depends on `@extension.dev/urls` instead of vendoring it.** The mirrors at
76
+ `lib/urls-origins.ts` and `lib/urls-paths.ts` are gone, and `registry.ts`,
77
+ `login-flow.ts`, and `create.ts` import the package directly. It is bundled
78
+ into `dist`, so the install footprint is unchanged: no new runtime
79
+ dependency, same standalone server.
80
+ - **`preview.extension.dev` resolves like every other fleet origin.** `preview`
81
+ is now a first-class origin in the shared resolver, so `EXTENSION_DEV_PREVIEW_URL`
82
+ is honored and an unset preview host follows the same local-vs-prod signal as
83
+ console, inspect, and registry rather than defaulting to production.
84
+
3
85
  ## 6.1.0
4
86
 
5
87
  The create flow stops dead-ending at `run dev` and points you to the web to