feat(storage): replication (#11696)

Adds experimental session sync (`@earendil-works/pi-durable/sync`).

Devices upload and pull a session's commits through a remote, reading
them from the Chord store's outbox and applying them with `applyBatch`.
If two devices continue the same session, the one that uploads second
forks to a new session.

I took out the extra sequence indexes from the earlier version of this
branch, since the Chord outbox already persists every commit, so this no
longer touches storage.

---------

Co-authored-by: Armin Ronacher <armin.ronacher@active-4.com>
This commit is contained in:
Cristina Poncela Cubeiro 2026-11-05 12:03:16 +01:00 • committed by GitHub
parent d7a988d18d
commit e5f3b41506
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 2927 additions and 0 deletions

View file

@ -26,6 +26,7 @@
"@earendil-works/chord/react": ["./packages/chord/src/react/index.ts"],
"@earendil-works/chord/tui": ["./packages/chord/src/tui/index.ts"],
"@earendil-works/chord/tui/launcher": ["./packages/chord/src/node/tui/index.ts"],
"@earendil-works/chord/sync": ["./packages/chord/src/sync/index.ts"],
"@acme/app/*": ["./packages/chord/test/examples/49-plugin-api/app/*.ts"],
"@notes/app/*": ["./packages/chord/test/examples/53-app/app/*.ts"],
"@board/app/*": ["./packages/chord/test/examples/56-web/app/*.ts"],