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 along with who is on each one. binding: NOTES owns: [src/note-room.ts, src/room.ts, src/presence.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 }