type Summary = record { text: string; basedOn: string; }; interface DocumentData id "async:document-data" revision "async:document-data@1" { queryable value content id "async:content" : string { get id "async:content:get" execution snapshot; } queryable value summary id "async:summary" : Summary { get id "async:summary:get" execution snapshot; set id "async:summary:set" execution transaction; } queryable value pendingJob id "async:pending-job" : optional { get id "async:pending-job:get" execution snapshot; set id "async:pending-job:set" execution transaction; } operation recordSummary id "async:record-summary" : record { operationId: string; summary: Summary; } -> unit { call id "async:record-summary:call" execution transaction; } }