2026-09-20 22:57:27 -07:00
|
|
|
type Content = record { text: string; tags: list<string>; };
|
|
|
|
|
type Edit = record { change: change<Content>; resolved: bool; };
|
|
|
|
|
interface NoteData id "compound:data" revision "compound:data@1" {
|
2026-09-20 23:07:09 -07:00
|
|
|
operation batch id "compound:batch" : record { edits: list<Edit>; } -> unit {
|
2026-09-28 20:29:21 -07:00
|
|
|
call id "compound:batch:call" execution transaction;
|
2026-09-20 23:07:09 -07:00
|
|
|
}
|
2026-09-20 22:57:27 -07:00
|
|
|
operation update id "compound:update" : Edit -> unit {
|
2026-09-28 20:29:21 -07:00
|
|
|
call id "compound:update:call" execution transaction;
|
2026-09-20 22:57:27 -07:00
|
|
|
}
|
|
|
|
|
queryable value content id "compound:content" : Content {
|
2026-09-28 20:29:21 -07:00
|
|
|
get id "compound:content:get" execution snapshot;
|
|
|
|
|
edit id "compound:content:edit" execution transaction;
|
2026-09-20 22:57:27 -07:00
|
|
|
}
|
|
|
|
|
queryable value resolved id "compound:resolved" : bool {
|
2026-09-28 20:29:21 -07:00
|
|
|
get id "compound:resolved:get" execution snapshot;
|
2026-09-20 22:57:27 -07:00
|
|
|
}
|
|
|
|
|
queryable value title id "compound:title" : string {
|
2026-09-28 20:29:21 -07:00
|
|
|
get id "compound:title:get" execution snapshot;
|
|
|
|
|
set id "compound:title:set" execution transaction;
|
2026-09-20 22:57:27 -07:00
|
|
|
}
|
|
|
|
|
}
|