examples/live-notes Public
components: api: kind: worker description: The Worker. Routes /notes/:id to that note's room and serves the editor page as static assets. owns: [src/index.ts, src/routes.ts] talks_to: - { to: note-room, via: rpc } note-room: kind: durable-object description: One per note, picked by name. Orders every edit, keeps the note and its op log in SQLite, and holds the editors' WebSockets. binding: NOTES owns: [src/note-room.ts, src/room.ts] talks_to: - { to: ops, via: import } ops: kind: library description: Insert and delete operations, their transform, and the messages on the socket. The same code runs in the room and in the browser. owns: [src/ops.ts, src/protocol.ts] client: kind: library description: The editor page and its script, compiled by tsc into public/js. owns: [client/**, public/index.html] talks_to: - { to: ops, via: import }