Preserve nested CRDT recovery and serialize compound editor submissions

This commit is contained in:
Timothy J. Aveni
2026-09-20 23:26:13 -07:00
parent 2056c1e352
commit 47a3fe9eae
5 changed files with 37 additions and 1 deletions
+9
View File
@@ -2,6 +2,15 @@ external atom Note id "compound:note";
type Content = record { text: string; tags: list<string>; };
type Edit = record { change: change<Content>; resolved: bool; };
package EditRuntime id "compound:runtime" revision "compound:runtime@1" {
operation batch id "compound:runtime:batch" : record { edits: list<Edit>; } -> unit
mode call execution transaction targets [browser, server] receiver atom Note requires {
state content id "compound:batch:content" : Content [edit];
state resolved id "compound:batch:resolved" : bool [write];
} accept using checkBatch;
operation checkBatch id "compound:runtime:check-batch" : record { edits: list<Edit>; } -> unit
mode call execution snapshot targets [server] receiver atom Note requires {
state allowed id "compound:batch:allowed" : bool [read];
};
operation update id "compound:runtime:update" : Edit -> unit
mode call execution transaction targets [browser, server] receiver atom Note requires {
state content id "compound:edit:content" : Content [edit];