wire-mesh-core 1.58.4 → 1.58.6

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.
Files changed (2) hide show
  1. package/README.md +14 -0
  2. package/package.json +3 -1
package/README.md CHANGED
@@ -18,6 +18,20 @@ The TypeScript implementation of wire-mesh's protocol, built ports/adapters: dom
18
18
 
19
19
  Every other frame family (management/exec, streaming, data-domain, discovery, coordinator election) is covered by schema validation only -- `conformance-check` proves the generated schemas decode and re-encode every golden vector byte-exactly, including these families, but no domain-level business logic (dispatch, session bookkeeping, PTY/proc lifecycle, oplog replication, coordinator term tracking) exists for them yet. This first pass deliberately scopes domain logic to transport + handshake + tokens (the families with real business rules worth pinning down before the others), because the conformance suite already covers every family's wire shape either way -- nothing here is unverified, only unimplemented. (The federation link protocol no longer exists in the spec at all: cross-scope sharing is ordinary capability-token delegation, and `src/domain/tokens.ts`'s verification chain is exactly the mechanism that governs it.)
20
20
 
21
+ ## Building from a fresh checkout
22
+
23
+ The threshold-signing adapter wraps a WebAssembly module built from the Rust crate `rust/crates/wire-mesh-threshold-wasm`. Its output, `wasm-dist/`, is gitignored, and core's `_typecheck`, `_lint`, `_test` and `_mutation` tasks depend on a `_build-wasm` turbo task that produces it, so a fresh checkout needs no manual step beyond having the toolchain:
24
+
25
+ - `rustup`, with the `stable` toolchain (the `wasm32-unknown-unknown` target is added by the build script).
26
+ - `wasm-bindgen-cli` at exactly the version `rust/Cargo.lock` pins for the `wasm-bindgen` crate. The script prints the matching `cargo install` command if the CLI is missing or on a different version.
27
+
28
+ ```sh
29
+ pnpm install
30
+ pnpm typecheck # builds wasm-dist first, then typechecks
31
+ ```
32
+
33
+ Turbo hashes the Rust sources as the inputs of `_build-wasm`, so the module is rebuilt only after a Rust change and restored from cache otherwise. `pnpm build-wasm` runs just that task.
34
+
21
35
  ## Regenerating the schema
22
36
 
23
37
  ```sh
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wire-mesh-core",
3
- "version": "1.58.4",
3
+ "version": "1.58.6",
4
4
  "dependencies": {
5
5
  "cbor2": "2.3.0",
6
6
  "cddl.js": "1.0.1",
@@ -224,6 +224,7 @@
224
224
  },
225
225
  "scripts": {
226
226
  "_build": "tsdown",
227
+ "_build-wasm": "./scripts/build-threshold-wasm.sh",
227
228
  "_conformance-check": "vitest run test/conformance.unit.test.ts",
228
229
  "_generate": "node generate.ts",
229
230
  "_lint": "eslint . --fix --cache --max-warnings 0",
@@ -231,6 +232,7 @@
231
232
  "_test": "vitest run",
232
233
  "_typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.node.json --noEmit",
233
234
  "build": "turbo run _build",
235
+ "build-wasm": "turbo run _build-wasm",
234
236
  "conformance-check": "turbo run _conformance-check",
235
237
  "generate": "turbo run _generate",
236
238
  "lint": "turbo run _lint",