wasm-mcp 0.1.2 → 0.2.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 +19 -0
- package/README.md +11 -6
- package/build/wasm-spec-core-main.json +1 -1
- package/dist/mcp/instructions.js +2 -2
- package/dist/mcp/tool_meta.js +2 -2
- package/dist/mcp/tools/instruction_list.d.ts +14 -0
- package/dist/mcp/tools/instruction_list.js +10 -0
- package/dist/parser/instructions.d.ts +20 -0
- package/dist/parser/instructions.js +6 -0
- package/dist/parser/traps.d.ts +12 -0
- package/dist/parser/traps.js +112 -0
- package/dist/spec/instructions_query.d.ts +4 -0
- package/dist/spec/instructions_query.js +9 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -16,6 +16,25 @@ PATCH releases are noted here briefly; the pinned SHAs live in
|
|
|
16
16
|
[`vendor/PINNED.txt`](vendor/PINNED.txt) and are reported by the
|
|
17
17
|
`spec_version` tool.
|
|
18
18
|
|
|
19
|
+
## 0.2.0
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
- `instruction_get` now returns per-instruction **trap conditions**: a
|
|
24
|
+
`traps` array (each `{ condition, name }`, with the spec's canonical
|
|
25
|
+
trap name) plus a `can_trap` boolean. Empty for instructions that
|
|
26
|
+
never trap (e.g. `i32.add`). Covers the finite trapping set —
|
|
27
|
+
integer `div`/`rem`, non-saturating float→int `trunc` (not
|
|
28
|
+
`trunc_sat`), memory loads/stores + bulk ops, table ops,
|
|
29
|
+
`call_indirect`, `unreachable`, and the single-condition reference
|
|
30
|
+
instructions. Derived at build time from the pinned spec; trap names
|
|
31
|
+
verified against the spec's own `test/core/*.wast` `assert_trap`
|
|
32
|
+
messages.
|
|
33
|
+
- `instruction_list` gains a `can_trap` filter, and its rows now carry
|
|
34
|
+
`can_trap`.
|
|
35
|
+
|
|
36
|
+
Pin unchanged.
|
|
37
|
+
|
|
19
38
|
## 0.1.0 — initial release
|
|
20
39
|
|
|
21
40
|
### Added
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# wasm-mcp
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Model Context Protocol server for the
|
|
4
4
|
[WebAssembly core specification](https://webassembly.github.io/spec/core/).
|
|
5
5
|
SHA-pinned, read-only, deterministic — safe to host as a public
|
|
6
6
|
unauthenticated endpoint.
|
|
@@ -12,8 +12,9 @@ unauthenticated endpoint.
|
|
|
12
12
|
|
|
13
13
|
- `spec_version` — the pinned upstream commit and package version.
|
|
14
14
|
- `instruction_get` — opcode bytes, category, introducing version,
|
|
15
|
-
stack type signature,
|
|
16
|
-
|
|
15
|
+
stack type signature, validation + execution prose anchors / URLs,
|
|
16
|
+
and trap conditions (`traps` + `can_trap`), by mnemonic (`i32.add`)
|
|
17
|
+
or binary opcode (`0x6a`).
|
|
17
18
|
- `instruction_list` — enumerate, filterable by category (numeric,
|
|
18
19
|
vector, reference, parametric, variable, table, memory, control,
|
|
19
20
|
ref, i31, struct, array, extern), introducing version, or prefix.
|
|
@@ -102,11 +103,15 @@ Maintainers:
|
|
|
102
103
|
(OIDC) — no `NPM_TOKEN`. Configure it once on npmjs.com (wasm-mcp →
|
|
103
104
|
Settings → Trusted Publisher → GitHub Actions: org `xyzzylabs`, repo
|
|
104
105
|
`wasm-mcp`, workflow `release.yml`).
|
|
105
|
-
- **Worker deploy** needs `CLOUDFLARE_API_TOKEN` + `CLOUDFLARE_ACCOUNT_ID
|
|
106
|
+
- **Worker deploy** needs `CLOUDFLARE_API_TOKEN` + `CLOUDFLARE_ACCOUNT_ID`,
|
|
107
|
+
stored as **environment** secrets on the `cloudflare` GitHub
|
|
108
|
+
Environment (not repo-wide) with a `main` + `v*` deployment rule —
|
|
109
|
+
see [Securing the deploy credentials](https://github.com/xyzzylabs/wasm-mcp/blob/main/docs/deployment.md#securing-the-deploy-credentials).
|
|
106
110
|
- For the refresh workflow's tag push to trigger release + deploy,
|
|
107
|
-
add a `
|
|
111
|
+
add a `WORKFLOW_PAT` PAT (`contents: write` + `workflows`) —
|
|
108
112
|
without it, refresh still re-pins and tags, but you run release /
|
|
109
|
-
deploy manually.
|
|
113
|
+
deploy manually. (Same secret name tc39-mcp uses, so one PAT — or an
|
|
114
|
+
`xyzzylabs` org secret — can serve both repos.)
|
|
110
115
|
|
|
111
116
|
## License
|
|
112
117
|
|