Undo, history, and forks — built in
The document is the CRDT, so there's no editor state to keep in sync. Per-user undo, time travel, and branching come for free.
weaver is a TypeScript Notion-style block editor with first-class CRDT collaboration — for humans, and for agents. Loro under the hood. Local-first, OPFS-persisted, edge-native on Cloudflare. Server-enforced access control with cryptographic attribution on every op.
An agent is a peer, not an API client.
It holds its own capability token. It opens its own WebSocket. Its edits land as Loro ops with origin: agent-N. Cursor, presence, undo scope — same primitives as a human.
The CRDT is the document.
No parallel editor state. No bridge to keep in sync. History runs through Loro's peer-scoped UndoManager. Forks, snapshots, time travel — built in.
Every edit is cryptographically attributable.
Origin is server-rewritten to the authenticated subject. The audit log is hash-chained on R2. A regulator asks "who did this," there's a one-line answer.
Trust your own server. Scope your users' data.
weaver is for orgs that run their own sync — cooperative users on a trusted backend, not zero-trust insider defense. Access control is per-tier data scoping at the sync surface. Audit-grade attribution carries the compliance load.
Confidentiality is a sync surface, not a CSS class.
Tiered content lives in separate LoroDocs. Restricted streams literally never reach unauthorized peers. No op-level redaction; no fragile filter that one bug can break.
The core has no React, no DOM.
Headless by construction. React renders chrome. The editing surface is imperative DOM patched from Loro diff events. The pattern every serious editor arrives at the hard way.
The document is the CRDT, so there's no editor state to keep in sync. Per-user undo, time travel, and branching come for free.
The same Rust/WASM core — with native rich-text marks — runs in the browser and on Cloudflare's edge. No second implementation to drift.
An agent's output lands as real edits, with its own cursor, presence, and undo scope. You watch its work happen — and you can undo it.
Restricted tiers sync as separate documents, so privileged content never reaches a client that isn't cleared for it. Confidentiality by routing, not by hiding.
Each document is a single stateful edge worker that hibernates when idle. Live collaboration with effectively no servers to operate.
Edits are signed to the authenticated author and recorded in a tamper-evident log. When someone asks who changed what, there's a precise answer.