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 DocumentFactory id "interface:reader:document-factory"
|
|
|
|
|
revision "interface:reader:document-factory@1" {
|
|
|
|
|
static operation create id "document:create" : DocumentSeed -> atom-ref<Document> {
|
|
|
|
|
call id "document:create:call"
|
2026-09-28 20:29:21 -07:00
|
|
|
execution transaction;
|
2026-09-19 22:33:20 -07:00
|
|
|
}
|
|
|
|
|
}
|