2026-09-19 22:33:20 -07:00
|
|
|
// Shared record definitions, repeated explicitly in independently locked resources.
|
|
|
|
|
external atom Document id "atom:reader:document";
|
|
|
|
|
external atom Highlight id "atom:reader:highlight";
|
|
|
|
|
external atom Comment id "atom:reader:comment";
|
|
|
|
|
|
|
|
|
|
type SourceRange = record {
|
|
|
|
|
sourceRevision: string;
|
|
|
|
|
start: int32;
|
|
|
|
|
end: int32;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
type CommentContent = record {
|
|
|
|
|
text: string;
|
|
|
|
|
tags: list<string>;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
type DocumentSeed = record { sourceRevision: string; content: string; };
|
|
|
|
|
|
|
|
|
|
interface HighlightData id "interface:reader:highlight-data"
|
|
|
|
|
revision "interface:reader:highlight-data@1" {
|
|
|
|
|
queryable value range id "highlight:range" : SourceRange {
|
|
|
|
|
get id "highlight:range:get"
|
2026-09-28 20:29:21 -07:00
|
|
|
execution snapshot;
|
2026-09-19 22:33:20 -07:00
|
|
|
}
|
|
|
|
|
queryable value color id "highlight:color" : string {
|
|
|
|
|
get id "highlight:color:get"
|
2026-09-28 20:29:21 -07:00
|
|
|
execution snapshot;
|
2026-09-19 22:33:20 -07:00
|
|
|
set id "highlight:color:set"
|
2026-09-28 20:29:21 -07:00
|
|
|
execution transaction;
|
2026-09-19 22:33:20 -07:00
|
|
|
}
|
|
|
|
|
queryable portable value excerpt id "highlight:excerpt" : string {
|
|
|
|
|
get id "highlight:excerpt:get"
|
2026-09-28 20:29:21 -07:00
|
|
|
execution snapshot;
|
2026-09-19 22:33:20 -07:00
|
|
|
}
|
|
|
|
|
queryable relation comments id "highlight:comments" : many-unique atom Comment {
|
|
|
|
|
resolve id "highlight:comments:resolve"
|
2026-09-28 20:29:21 -07:00
|
|
|
execution snapshot;
|
2026-09-19 22:33:20 -07:00
|
|
|
}
|
|
|
|
|
}
|