Agent WASM · npm + hosted explainers

Ship the agent layer without confusing it with the guest.

@agent-wasm/* is the published browser-native Node/agent package line. wasm-vm is this repository's RISC-V Linux machine. They can sit in one product, but they are different artifacts, targets, and release streams.

Published browser packages

Start with the runtime, workspace, or UI.

This is a registry snapshot queried on 2026-08-30. These packages are published from the separate BLamy/agent-wasm repository, not from this wasm-vm checkout.

Published · 0.4.0

@agent-wasm/core

Node.js in the browser: a virtual filesystem, runtime/sandbox workers, package manager, dev-server bridges, Electron shims, and container/network helpers.

  • Install: npm install @agent-wasm/core@0.4.0
  • Root import plus /internal, /vite, and /next exports.
npm package ↗
Published · 0.1.0

@agent-wasm/sdk

Workspace and agent-lifecycle APIs over @agent-wasm/core: snapshots, agent sessions, adapters, workspace templates, and plugins.

  • Install with the core runtime.
  • Root import plus /auth and /plugins exports.
npm package ↗
Published · 0.1.0

@agent-wasm/react

React workbench, chat, and UI components for agent-wasm workspaces. It composes with the SDK and the framework-free chat domain package.

  • Install: npm install @agent-wasm/react@0.1.0 with the SDK, chat-core, React, and React DOM for the full workbench.
  • Import from the root, /workbench, /chat, or /ui.
npm package ↗

The npm metadata identifies the listed agent packages as MIT-licensed, except @agent-wasm/tailscale-connect, which is BSD-3-Clause. Re-check the package metadata before redistributing a dependency bundle.

Other published packages in the namespace
PackageVersionWhat it contains
@agent-wasm/chat-core0.1.0Framework-free chat domain types and session registry.
@agent-wasm/code0.1.0Claude Code transcript parsing and browser IDE bridge helpers.
@agent-wasm/vscode0.1.0VS Code-shaped shell and React integration APIs.
@agent-wasm/keychain0.1.0Browser credential vault, OAuth orchestration, and session persistence.
@agent-wasm/codex0.1.0Browser-hosted Codex sessions and WASM worker bridges.
@agent-wasm/tailscale-connect1.39.98-t02582083dTailscale Connect browser SDK fork; npm metadata identifies it as BSD-3-Clause.
Install · import · pin

A minimal browser-native agent.

Use a package manager and bundler for the published agent packages. Pin exact versions in the consuming lockfile; the package pages and repository links below are the provenance trail.

npm install @agent-wasm/core@0.4.0

import { createContainer } from "@agent-wasm/core";

const container = createContainer();
container.vfs.writeFileSync(
  "/index.js",
  "console.log('hello from the browser')",
);
await container.run("node index.js");
npm install @agent-wasm/core@0.4.0 @agent-wasm/sdk@0.1.0

import { createWorkspace } from "@agent-wasm/sdk";

const workspace = createWorkspace();
workspace.vfs.writeFileSync("/index.html", "<h1>hi</h1>");
await workspace.snapshots.save();

Release URL: the verified @agent-wasm/core@0.4.0 registry tarball is the package artifact. The registry metadata exposes bundler entry points and subpath exports; no direct browser CDN URL is claimed here, so do not turn a guessed CDN URL into a script tag.

Keep the boundaries honest

Guest agent ≠ host package.

The agent packages above run on the host side of a browser application. The file-transfer agent below runs inside the RISC-V Linux guest. The wasm-vm host module is a third artifact again.

Guest · Cargo · not npm

wasm-vm-file-agent

The guest-side WVFT v1 service from crates/file-agent. Current Cargo metadata reports version 0.0.0; tools/build-file-agent.sh targets riscv64gc-unknown-linux-musl and the rootfs build installs it as /usr/libexec/wasm-vm/wvft-agent.

  • Service endpoint: 10.0.2.2:10021
  • Guest roots: /var/lib/wasm-vm/transfer/inbox and outbox
  • Helper: /usr/bin/vm-download

There is no published npm package for this guest binary. It is delivered in the guest rootfs, not imported by the host UI.

Host · vendored wasm · not npm

wasm-vm-wasm

The wasm-bindgen boundary from crates/wasm, version 0.0.1. The demo imports WasmMachine and WasmLinux from the locally built module; a registry lookup does not find an npm release.

import init, { WasmMachine } from "./pkg/wasm_vm_wasm.js";

await init();
const machine = new WasmMachine(64);
machine.loadElf(elfBytes);
const result = machine.run(100_000);

This import assumes your site has vendored pkg/wasm_vm_wasm.js and its sibling wasm_vm_wasm_bg.wasm, as described in the current embedding guide.

Roadmap, not a release: @wasm-vm/sdk appears in the planned E6-T19 package and E6-T27 docs work, but no npm package or install URL exists today. Treat snippets that name it as a proposal, not as a current dependency.
VizEngine · hosted output

Let the docs explain themselves.

These cards embed the hosted Orly player, which uses the published @brett_lamy/viz-engine / Docstream stack. The fallback copy stays visible and links directly to the same explainer if an iframe, network, or player package is unavailable.

Hosted explainer

Linux in a Tab

How wasm-vm streams a disk, joins a tailnet, and freezes a machine.

Accessible fallback: five chapters cover touched blocks, the browser node, freezing and restoring, replay as a stream, and a readable cluster. Open Linux in a Tab directly ↗

Hosted explainer

The wasm-vm Proof Loop

Why a worker's claim becomes trustworthy only after a critic can replay and attack the evidence.

Accessible fallback: five chapters follow the claim, recorded run, critic attack, refutation/rework loop, and why replayable evidence beats a review summary. Open The wasm-vm Proof Loop directly ↗

Use the same URL in a Docstream document

For a React docs surface, the portable GitBook-style embed remains the integration point:

npm install @brett_lamy/viz-engine@0.2.1 @brett_lamy/docstream@0.3.7

import { GitbookStreamdown } from "@brett_lamy/docstream";

const markdown = `{% embed url="https://orly.brett-lamy.workers.dev/?bundle=wasm-vm-loop" /%}`;
<GitbookStreamdown markdown={markdown} />

Source and media note: the bundle names, titles, and hosted URLs come from BLamy/orly at commit 7a00a5d; the repository is MIT-licensed. Its README/manifests describe generated MP3 narration, but the inspected metadata does not declare a per-file audio license or attribution. This sidecar therefore copies no MP3 and adds no standalone audio element; any narration remains inside the hosted player and its own controls.