commit 4766eba54f949c7503a01f0e27ce11c0850e162f Author: Quixos Template Publisher Date: Sat Jan 1 00:00:00 2000 +0000 Export template source from be30143a326d5d7d7b0cbabea5bc5ac0301ef5b9:examples/local-first/interfaces/reading-document diff --git a/.quixos-template-source.json b/.quixos-template-source.json new file mode 100644 index 0000000..8f1cbc3 --- /dev/null +++ b/.quixos-template-source.json @@ -0,0 +1,4 @@ +{ + "monorepoCommit": "be30143a326d5d7d7b0cbabea5bc5ac0301ef5b9", + "sourcePath": "examples/local-first/interfaces/reading-document" +} diff --git a/interface.qx b/interface.qx new file mode 100644 index 0000000..dd80948 --- /dev/null +++ b/interface.qx @@ -0,0 +1,24 @@ +import interface ReadingOwner; +import interface ReadingReader; +external interface ReadingJob revision "interface:reading:job@1"; +external atom ReadingDocumentObject id "atom:reading:document"; +external atom ReadingJobObject id "atom:reading:job"; +external atom ReadingFeatureObject id "atom:reading:feature"; +type DocumentData = record {title:string;text:string;sourceRevision:string;source:string;url:string;attribution:string;}; +interface ReadingDocument id "interface:reading:document" revision "interface:reading:document@1" { + queryable relation reader id "reading:document:reader" : optional-one interface ReadingReader {resolve id "reading:document:reader:resolve" execution snapshot;connect id "reading:document:reader:connect" execution transaction;} + queryable relation canonical id "reading:document:canonical" : optional-one interface ReadingDocument {resolve id "reading:document:canonical:resolve" execution snapshot;} + queryable value adaptation id "reading:document:adaptation" : string {get id "reading:document:adaptation:get" execution snapshot;} + operation prepareVariant id "reading:document:prepare-adaptation" : record {createdAt:string;retry:bool;} -> optional> {call id "reading:document:prepare-adaptation:call" execution transaction;} + operation applyVariant id "reading:document:apply-adaptation" : record {sourceRevision:string;start:uint32;end:uint32;text:string;} -> unit {call id "reading:document:apply-adaptation:call" execution transaction;} + queryable value archived id "reading:document:archived" : bool {get id "reading:document:archived:get" execution snapshot;set id "reading:document:archived:set" execution transaction;} + queryable value data id "reading:document:data" : DocumentData {get id "reading:document:data:get" execution snapshot;} + queryable relation library id "reading:document:library" : exactly-one interface ReadingOwner {resolve id "reading:document:library:resolve" execution snapshot;} + queryable relation jobs id "reading:document:jobs" : many-unique interface ReadingJob {resolve id "reading:document:jobs:resolve" execution snapshot;} + queryable relation results id "reading:document:results" : many interface ReadingJob keyed "string" {resolve id "reading:document:results:resolve" execution snapshot;} + operation recordResult id "reading:document:record-result" : interface-ref -> unit {call id "reading:document:record-result:call" execution transaction;} + operation plan id "reading:document:plan" : record {feature:atom-ref;start:uint32;end:uint32;visibleStart:uint32;visibleEnd:uint32;kind:string;} -> list {call id "reading:document:plan:call" execution snapshot;} + operation generate id "reading:document:generate" : record {feature:atom-ref;start:uint32;end:uint32;createdAt:string;retry:bool;} -> atom-ref {call id "reading:document:generate:call" execution transaction;} + operation rewrite id "reading:document:rewrite" : record {difficulty:string;createdAt:string;} -> atom-ref {call id "reading:document:rewrite:call" execution transaction;} + operation remove id "reading:document:remove" : unit -> unit {call id "reading:document:remove:call" execution transaction;} +} diff --git a/quixos.lock b/quixos.lock new file mode 100644 index 0000000..eb6fabd --- /dev/null +++ b/quixos.lock @@ -0,0 +1,5 @@ +quixos-lock version 1 { + quixos source { repository "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git"; commit "be30143a326d5d7d7b0cbabea5bc5ac0301ef5b9"; } + interface ReadingOwner source { repository "https://repos.quixos.org/quixos-local-first-examples/interface-reading-owner.git"; commit "ca870ff6dc5ee7d8cc7f4ad1754e48fcf3f250cf"; } + interface ReadingReader source { repository "https://repos.quixos.org/quixos-local-first-examples/interface-reading-reader.git"; commit "2ae966b8b05ea05b05818c2ca3378bd8b3a112cf"; } +}