syntax = "proto3";
package angzarr;
option go_package = "github.com/angzarr/angzarr/proto/angzarr";
option java_package = "dev.angzarr";
option java_multiple_files = true;
option csharp_namespace = "Angzarr";
option ruby_package = "Angzarr";

import "angzarr/types.proto";
import "google/protobuf/empty.proto";

// EventQueryService: query interface for retrieving events
service EventQueryService {
  // Get a single EventBook (unary) - use for explicit queries with gRPC tooling
  rpc GetEventBook (Query) returns (EventBook);
  // Stream EventBooks matching query - use for bulk retrieval
  rpc GetEvents (Query) returns (stream EventBook);
  rpc Synchronize (stream Query) returns (stream EventBook);
  rpc GetAggregateRoots (google.protobuf.Empty) returns (stream AggregateRoot);
}
