2026-09-28 17:20:35 -07:00
|
|
|
// Required server support; a checked installed implementation may additionally predict locally.
|
|
|
|
|
interface EventStream<value Payload> id "interface:org.quixos.events:stream" revision "interface:org.quixos.events:stream@1" {
|
|
|
|
|
operation publish id "events:publish" : Payload -> record {publication:string;} {
|
2026-09-28 20:29:21 -07:00
|
|
|
call id "events:publish:call" execution transaction;
|
2026-09-28 17:20:35 -07:00
|
|
|
}
|
|
|
|
|
queryable value head id "events:head" : optional<uint64> {
|
2026-09-28 20:29:21 -07:00
|
|
|
get id "events:head:get" execution snapshot;
|
2026-09-28 17:20:35 -07:00
|
|
|
}
|
|
|
|
|
operation readPage id "events:read-page" : record {after:optional<string>;limit:uint32;}
|
|
|
|
|
-> record {entries:list<record {publication:string;position:uint64;payload:Payload;}>;next:optional<string>;asOfHead:optional<uint64>;} {
|
2026-09-28 20:29:21 -07:00
|
|
|
call id "events:read-page:call" execution snapshot;
|
2026-09-28 17:20:35 -07:00
|
|
|
}
|
|
|
|
|
}
|