symbol JavaScript id "target:org.quixos.execution.javascript@1"; external atom Note id "compound:note"; type Content = record { text: string; tags: list; }; type Edit = record { change: change; resolved: bool; }; package EditRuntime id "compound:runtime" revision "compound:runtime@1" { operation batch id "compound:runtime:batch" : record { edits: list; } -> unit mode call execution transaction targets [JavaScript, 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; } -> 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 [JavaScript, server] receiver atom Note requires { state content id "compound:edit:content" : Content [edit]; state resolved id "compound:edit:resolved" : bool [write]; } accept using check; operation check id "compound:runtime:check" : Edit -> unit mode call execution snapshot targets [server] receiver atom Note requires { state allowed id "compound:check:allowed" : bool [read]; }; }